<?php
//Умная дата
function wudate($time=0) {
$param = 'j M Y в H:i';
$param2 = ' в H:i';
$nowt = time();
$minused = $nowt - $time;
if(intval($time)==0) { $time=time(); }
$MN = array("января", "февраля", "марта", "апреля", "мая", "июня", "июля", "августа", "сентября", "октября", "ноября", "декабря");
$MonthNames[]=$MN[date('n',$time)-1];
$MN=array("воскресенье", "понедельник", "вторник", "среда", "четверг", "пятница", "суббота");
$MonthNames[]=$MN[date('w',$time)];
$arr[]='M';
$arr[]='N';
if ($minused < 60) { return $minused.' '.wu_end($minused, array('секунду', 'секунды', 'секунд')).' назад'; }
elseif ($minused < 3600) { return round($minused/60).' '.wu_end(round($minused/60), array('минуту', 'минуты', 'минут')).' назад'; }
elseif ($minused < 86400) { return round($minused/3600).' '.wu_end(round($minused/3600), array('час', 'часа', 'часов')).' назад'; }
elseif ($minused < 172800) { return 'Вчера'.date(str_replace($arr,$MonthNames,$param2), $time);; }
else { return date(str_replace($arr,$MonthNames,$param), $time); }
}
//Нормальная дата
function wudatenorm($time=0) {
$param = 'j M Y в H:i';
if(intval($time)==0) { $time=time(); }
$MN = array("января", "февраля", "марта", "апреля", "мая", "июня", "июля", "августа", "сентября", "октября", "ноября", "декабря");
$MonthNames[]=$MN[date('n',$time)-1];
$MN=array("воскресенье", "понедельник", "вторник", "среда", "четверг", "пятница", "суббота");
$MonthNames[]=$MN[date('w',$time)];
$arr[]='M';
$arr[]='N';
return date(str_replace($arr,$MonthNames,$param), $time);
}
//Времени назад
function wudateago($date)
{
$stf = 0;
$cur_time = time();
$diff = $cur_time - $date;
$seconds = array( 'секунду', 'секунды', 'секунд' );
$minutes = array( 'минуту', 'минуты', 'минут' );
$hours = array( 'час', 'часа', 'часов' );
$days = array( 'день', 'дня', 'дней' );
$weeks = array( 'неделю', 'недели', 'недель' );
$months = array( 'месяц', 'месяца', 'месяцев' );
$years = array( 'год', 'года', 'лет' );
$decades = array( 'десятилетие', 'десятилетия', 'десятилетий' );
$phrase = array( $seconds, $minutes, $hours, $days, $weeks, $months, $years, $decades );
$length = array( 1, 60, 3600, 86400, 604800, 2630880, 31570560, 315705600 );
for ( $i = sizeof( $length ) - 1; ( $i >= 0 ) && ( ( $no = $diff / $length[ $i ] ) <= 1 ); $i -- ) {
;
}
if ( $i < 0 ) {
$i = 0;
}
$_time = $cur_time - ( $diff % $length[ $i ] );
$no = floor( $no );
$value = sprintf( "%d %s ", $no, wu_end( $no, $phrase[ $i ] ) );
if ( ( $stf == 1 ) && ( $i >= 1 ) && ( ( $cur_time - $_time ) > 0 ) ) {
$value .= time_ago( $_time );
}
return $value.' назад';
}
//Смайлы
function wu_smile($msg){
$text = preg_replace('/:smile_([1-9]|[1-6][0-9]|7[0-1]):/', '<i class="wu-smile wu-$1"></i>', $msg);
return $text;
}
//Очистка от непечатаемых символов
function wu_strip($string) {
$old_string = $string;
$string = preg_replace('/\x{FEFF}/u', '', $string);
$string = str_replace(' ',' ', $string);
$string = trim($string);
if ($string === $old_string) {
return $string;
} else {
return wu_strip($string);
}
}
//Формироваие размера файла
function wu_formatsize($file_size) {
if (!$file_size || $file_size < 1) return '0 ,';
$prefix = array('б', 'Кб', 'Мб', 'Гб', 'Тб');
$exp = floor(log($file_size, 1024)) | 0;
return round($file_size / (pow(1024, $exp)), 2) . ' ' . $prefix[$exp];
}
//Очистка url
function wu_clean_url($url) {
if ($url == '') return;
$url = str_replace("http://", "", $url);
$url = str_replace("https://", "", $url);
if (strtolower(substr($url, 0, 4)) == 'www.') $url = substr($url, 4);
$url = explode('/', $url);
$url = reset($url);
$url = explode(':', $url);
$url = reset($url);
return $url;
}
//Установка кукис
function wu_set_cookie($name, $value, $expires=false) {
if ($expires) {
$expires = time() + ($expires * 86400);
} else {
$expires = FALSE;
}
if (PHP_VERSION < 5.2) {
if (SITE) setcookie($name, $value, $expires, '/', "; HttpOnly");
else setcookie($name, $value, $expires, '/', SITE . "; HttpOnly");
} else {
setcookie($name, $value, $expires, '/', SITE, NULL, TRUE);
}
}
//Получение удалённого содержимого
function wu_get_contents($file) {
$data = false;
if (stripos($file, "http://") !== 0 AND stripos($file, "https://") !== 0) {
return false;
}
if (function_exists('curl_init')) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $file);
curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
@curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
curl_setopt($ch, CURLOPT_HEADER, 0);
$data = curl_exec($ch);
curl_close($ch);
if ($data !== false) return $data;
}
if (preg_match('/1|yes|on|true/i', ini_get('allow_url_fopen'))) {
$data = @file_get_contents($file);
if ($data !== false) return $data;
}
return false;
}
//Срочность
function wu_urgency($pr) {
switch ($pr) {
case '1': return 'Низкая'; break;
case '2': return 'Средняя'; break;
case '3': return 'Высокая'; break;
}
}
//Отправка сообщения зарегистрированному пользователю на E-mail
include('mail/wu_mail.php');
function wu_email_send_usr($usr, $theme, $msg, $type='notif') {
global $connect_db;
$usr = intval($usr);
$user_find = mysqli_fetch_assoc(mysqli_query($connect_db, "SELECT uid,log,mail,tomail FROM `".DB_PREFIX."_users` WHERE uid='$usr' LIMIT 1"));
if ($user_find['tomail'] == 1) {
$send_to = $user_find['mail'];
$send_to_name = $user_find['log'];
esend($send_to, $send_to_name, $theme, $msg, $type);
}
}