<?php
###############################
### WCore v5.0 Beta
### PHP 7.2.x
### Powered by pimnik98
### Modded by DimaOni
###############################
# Запуск сессии
session_start();
ob_start();
### Loading libs
#### Loading to Config...
require_once 'config.php';
if (wcore_debug == 1){error_reporting(E_ALL | E_STRICT); ini_set('display_errors', 'On');}
### Loading to MySQLi...
@$mysqli = mysqli_connect(mysqli_host,mysqli_login,mysqli_ps,mysqli_db);
if (!$mysqli) {
printf("Невозможно подключиться к базе данных. <br>Код ошибки: %s\n", mysqli_connect_error());
exit;
}
### Loading function...
function go($url){header("Location: ".$url);exit();}
function _csrf(){return $_SESSION['csrf_token'] = substr( str_shuffle( 'qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM' ), 0, 16 );}
function antixs($data){global $mysqli;return trim(htmlspecialchars(mysqli_real_escape_string($mysqli,$data)));}
/**
* Счетчик обратного отсчета
*
* @param mixed $date
* @return
*/
function downcounter($date,$stat=true){
$check_time = strtotime($date) - time();
if($check_time <= 0){
$false = true;
} else {
$false = false;
}
$days = floor($check_time/86400);
$hours = floor(($check_time%86400)/3600);
$minutes = floor(($check_time%3600)/60);
$seconds = $check_time%60;
$str = '';
if($days > 0) $str .= declension($days,array('день','дня','дней')).' ';
if($hours > 0) $str .= declension($hours,array('час','часа','часов')).' ';
if($minutes > 0) $str .= declension($minutes,array('минута','минуты','минут')).' ';
if($seconds > 0) $str .= declension($seconds,array('секунда','секунды','секунд'));
return $false == false?($stat == true?$str:$days.'д.'):$days.'д.';
}
/**
* Функция склонения слов
*
* @param mixed $digit
* @param mixed $expr
* @param bool $onlyword
* @return
*/
function declension($digit,$expr,$onlyword=false){
if(!is_array($expr)) $expr = array_filter(explode(' ', $expr));
if(empty($expr[2])) $expr[2]=$expr[1];
$i=preg_replace('/[^0-9]+/s','',$digit)%100;
if($onlyword) $digit='';
if($i>=5 && $i<=20) $res=$digit.' '.$expr[2];
else
{
$i%=10;
if($i==1) $res=$digit.' '.$expr[0];
elseif($i>=2 && $i<=4) $res=$digit.' '.$expr[1];
else $res=$digit.' '.$expr[2];
}
return trim($res);
}
function cunter_day_unix($data,$stat=true){
return downcounter(date("Y-m-d H:i:s",$data),$stat);
}
mysqli_query($mysqli,"SET NAMES 'utf8'");
if (isset($_COOKIE['login']) && isset($_COOKIE['password'])) {
$sql_user_2 = mysqli_query($mysqli,"SELECT * FROM `users` WHERE `login` = '".$_COOKIE['login']."' AND `password` = '".$_COOKIE['password']."' ");
if (mysqli_num_rows($sql_user_2) != 0) {
$ank = mysqli_fetch_assoc($sql_user_2);
} else {
go('/exit.php');
}
}else {
$ank = NULL;
}
function msg_err($type,$message){echo '<div class="notify '.$type.'">'.$message.'</div>';}
function iank($pp=NULL){
global $ank,$lang,$thecfg,$twig;
if (!isset($ank) || empty($ank)){$_SESSION['error'] = $ed . 'Необходимо войти в аккаунт для просмотра этой части кода' . $_ed;go('/auth.php');exit();}
if (isset($pp) && $ank->prv < $pp){go('/');}
}
function bbcode($msg) {
$bb = array('~\[url=(.*?)?\](.*?)\[\/url\]~si' => '<a href="$1" target="_blank">$2</a>',
'/\[b\](.+)\[\/b\]/isU' => '<b>$1</b>',
'/\[u\](.+)\[\/u\]/isU' => '<span style="text-decoration:underline;">$1</span>',
'/\[s\](.+)\[\/s\]/isU' => '<s>$1</s>',
'/\[i\](.+)\[\/i\]/isU' => '<i>$1</i>',
'/\[color=(.+)\](.+)\[\/color\]/isU' => '<span style="color:$1;">$2</span>',
'/\[quote\](.+)\[\/quote\]/isU' => '<div class="quote">$1</div>');
$msg = preg_replace(array_keys($bb), array_values($bb), $msg);
return $msg;
}
function output($msg) {
$msg = bbcode($msg);
$msg = preg_replace('/\\r\\n/si', '<br/>', $msg);
return $msg;
}
function ptime($time = NULL){
ini_set('date.timezone', wcore_timezone);
if ($time == NULL) $time = time(); $settime = 1;
$full_time = date('d.m.Y / H:i', $time);
$date = date('d.m.Y', $time);
$timep = date('H:i', $time);
if ($date == date('d.m.Y')) $full_time = date('Сегодня H:i', $time);
if ($date == date('d.m.Y', time()-60*60*24)) $full_time = date('Вчера, H:i', $time);
if ($settime == 1 && $date == date('d.m.Y')) $full_time = date('Сегодня, H:i', $time);
return $full_time;
}
function security($string){
$pass = md5(md5($string));
$count_1 = strlen($pass);
$return = NULL;
for($i = 1; $i <= $count_1; $i++) {
$n = ($i == 1 ? 0 : $i-1);
$return .= md5(md5(substr($pass, $n, $i)));
}
return md5($return);
}
function page($k_page = 1) {
$page = 1;
if (isset($_GET['page'])) {
if ($_GET['page'] == 'end') $page = intval($k_page);
elseif (is_numeric($_GET['page'])) $page = intval($_GET['page']);
}
if ($page < 1) $page = 1;
if ($page > $k_page) $page = $k_page;
return $page;
}
function k_page($k_post = 0, $k_p_str = 10) {
if ($k_post != 0) {
$v_pages = ceil($k_post/$k_p_str);
return $v_pages;
} else {
return 1;
}
}
function str($link = '?', $k_page = 1, $page = 1) {
if ($page < 1) $page = 1;
echo '<div class=menu>';
if ($page > 1) echo '<a href="'. $link .'page='. ($page - 1) .' "aria-label="Назад"><span aria-hidden="true">«</span></a> ';
if ($page != 1) echo '<a href="'. $link .'page=1">1</a></li>';
else echo '<a href="#">1</a>';
for ($ot = -3; $ot <= 3; $ot++) {
if ($page + $ot > 1 && $page + $ot < $k_page) {
if ($ot == -3 && $page + $ot > 3) echo " ..";
if ($ot != 0) echo ' <a href="'. $link .'page='. ($page + $ot) .'">'. ($page + $ot) .'</a>';
else echo '<a href="#">'. ($page + $ot) .'</a>';
}
}
if ($page != $k_page) echo '<a href="'. $link .'page=end">'. $k_page .'</a> ';
elseif ($k_page > 1) echo ' <a href="#">'. $k_page .'</a> ';
if ($page < $k_page) echo ' <a href="'. $link .'page='. ($page + 1) .'"aria-label="Далее"><span aria-hidden="true">»</span></a>';
echo '</div>';
}
function generate_password($number){
$arr = array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','r','s', 't','u','v','x','y','z', 'A','B','C','D','E','F','G','H','I','J','K','L', 'M','N','O','P','R','S', 'T','U','V','X','Y','Z','1','2','3','4','5','6','7','8','9','0');
$pass = "";
for($i = 0; $i < $number; $i++)
{$index = rand(0, count($arr) - 1);
$pass .= $arr[$index];}
return $pass;
}
function acc($id){
global $mysqli;
$_tmp_d = mysqli_query($mysqli,"SELECT * FROM `users` WHERE `id` = '$id' LIMIT 1");
$_tmp_c=mysqli_num_rows($_tmp_d);
if ($_tmp_c != 0){
$anks = mysqli_fetch_array($_tmp_d);
return array('id'=>$id,'login'=>$anks['login']);
} else {
return array('id'=>$id,'login'=>'Удален');
}
}
function wcore_mmenu(){
global $mysqli;
$_tmp_mmenu = mysqli_query($mysqli,"SELECT * FROM `wcore_mmenu` ORDER BY `id`") or die("Ошибка запроса: ".mysqli_error($mysqli));
$_tmp_mmenu_list = array();
while ($mm = mysqli_fetch_assoc($_tmp_mmenu)){
$_tmp_mmenu_list[] = array(
'link'=>$mm['link'],
'icon'=>$mm['icon'],
'name'=>$mm['name'],
'count'=>(!empty($mm['count_table'])?mysqli_num_rows(mysqli_query($mysqli,"SELECT * FROM ".$mm['count_table'])):'n/a'),
);
}
return $_tmp_mmenu_list;
}
function _mc($who,$where=NULL){global $mysqli;$_mc = mysqli_fetch_array(mysqli_query($mysqli,"SELECT COUNT(*)FROM `$who` ".(isset($where) ? $where:null)." "), MYSQLI_NUM);return $_mc[0];}