Вход Регистрация
Файл: WoWonder 1.2.1/Update Guide/v1.1/Script/assets/includes/general.php
Строк: 337
<?php

function Wo_LoadPage($page_url '') {
    global 
$wo;
    
$page         './themes/' $wo['config']['theme'] . '/layout/' $page_url '.phtml';
    
$page_content '';
    
ob_start();
    require(
$page);
    
$page_content ob_get_contents();
    
ob_end_clean();
    return 
$page_content;
}

function 
url_slug($str$options = array()) {
    
// Make sure string is in UTF-8 and strip invalid UTF-8 characters
    
$str      mb_convert_encoding((string) $str'UTF-8'mb_list_encodings());
    
$defaults = array(
        
'delimiter' => '-',
        
'limit' => null,
        
'lowercase' => true,
        
'replacements' => array(),
        
'transliterate' => false

    
);
    
// Merge options
    
$options  array_merge($defaults$options);
    
$char_map = array(
    
// Latin
    
'À' => 'A''Á' => 'A''Â' => 'A''Ã' => 'A''Ä' => 'A''Å' => 'A''Æ' => 'AE''Ç' => 'C''È' => 'E''É' => 'E''Ê' => 'E''Ë' => 'E''Ì' => 'I''Í' => 'I''Î' => 'I''Ï' => 'I''Ð' => 'D''Ñ' => 'N''Ò' => 'O''Ó' => 'O''Ô' => 'O''Õ' => 'O''Ö' => 'O''Ő' => 'O''Ø' => 'O''Ù' => 'U''Ú' => 'U''Û' => 'U''Ü' => 'U''Ű' => 'U''Ý' => 'Y''Þ' => 'TH''ß' => 'ss''à' => 'a''á' => 'a''â' => 'a''ã' => 'a''ä' => 'a''å' => 'a''æ' => 'ae''ç' => 'c''è' => 'e''é' => 'e''ê' => 'e''ë' => 'e''ì' => 'i''í' => 'i''î' => 'i''ï' => 'i''ð' => 'd''ñ' => 'n''ò' => 'o''ó' => 'o''ô' => 'o''õ' => 'o''ö' => 'o''ő' => 'o''ø' => 'o''ù' => 'u''ú' => 'u''û' => 'u''ü' => 'u''ű' => 'u''ý' => 'y''þ' => 'th''ÿ' => 'y',
    
// Latin symbols
    
'©' => '(c)',
    
// Greek
    
'Α' => 'A''Β' => 'B''Γ' => 'G''Δ' => 'D''Ε' => 'E''Ζ' => 'Z''Η' => 'H''Θ' => '8''Ι' => 'I''Κ' => 'K''Λ' => 'L''Μ' => 'M''Ν' => 'N''Ξ' => '3''Ο' => 'O''Π' => 'P''Ρ' => 'R''Σ' => 'S''Τ' => 'T''Υ' => 'Y''Φ' => 'F''Χ' => 'X''Ψ' => 'PS''Ω' => 'W''Ά' => 'A''Έ' => 'E''Ί' => 'I''Ό' => 'O''Ύ' => 'Y''Ή' => 'H''Ώ' => 'W''Ϊ' => 'I''Ϋ' => 'Y''α' => 'a''β' => 'b''γ' => 'g''δ' => 'd''ε' => 'e''ζ' => 'z''η' => 'h''θ' => '8''ι' => 'i''κ' => 'k''λ' => 'l''μ' => 'm''ν' => 'n''ξ' => '3''ο' => 'o''π' => 'p''ρ' => 'r''σ' => 's''τ' => 't''υ' => 'y''φ' => 'f''χ' => 'x''ψ' => 'ps''ω' => 'w''ά' => 'a''έ' => 'e''ί' => 'i''ό' => 'o''ύ' => 'y''ή' => 'h''ώ' => 'w''ς' => 's''ϊ' => 'i''ΰ' => 'y''ϋ' => 'y''ΐ' => 'i',
    
// Turkish
    
'Ş' => 'S''İ' => 'I''Ç' => 'C''Ü' => 'U''Ö' => 'O''Ğ' => 'G''ş' => 's''ı' => 'i''ç' => 'c''ü' => 'u''ö' => 'o''ğ' => 'g',
    
// Russian
    
'А' => 'A''Б' => 'B''В' => 'V''Г' => 'G''Д' => 'D''Е' => 'E''Ё' => 'Yo''Ж' => 'Zh''З' => 'Z''И' => 'I''Й' => 'J''К' => 'K''Л' => 'L''М' => 'M''Н' => 'N''О' => 'O''П' => 'P''Р' => 'R''С' => 'S''Т' => 'T''У' => 'U''Ф' => 'F''Х' => 'H''Ц' => 'C''Ч' => 'Ch''Ш' => 'Sh''Щ' => 'Sh''Ъ' => '''Ы' => 'Y''Ь' => '''Э' => 'E''Ю' => 'Yu''Я' => 'Ya''а' => 'a''б' => 'b''в' => 'v''г' => 'g''д' => 'd''е' => 'e''ё' => 'yo''ж' => 'zh''з' => 'z''и' => 'i''й' => 'j''к' => 'k''л' => 'l''м' => 'm''н' => 'n''о' => 'o''п' => 'p''р' => 'r''с' => 's''т' => 't''у' => 'u''ф' => 'f''х' => 'h''ц' => 'c''ч' => 'ch''ш' => 'sh''щ' => 'sh''ъ' => '''ы' => 'y''ь' => '''э' => 'e''ю' => 'yu''я' => 'ya',
    
// Ukrainian
    
'Є' => 'Ye''І' => 'I''Ї' => 'Yi''Ґ' => 'G''є' => 'ye''і' => 'i''ї' => 'yi''ґ' => 'g',
    
// Czech
    
'Č' => 'C''Ď' => 'D''Ě' => 'E''Ň' => 'N''Ř' => 'R''Š' => 'S''Ť' => 'T''Ů' => 'U''Ž' => 'Z''č' => 'c''ď' => 'd''ě' => 'e''ň' => 'n''ř' => 'r''š' => 's''ť' => 't''ů' => 'u''ž' => 'z',
    
// Polish
    
'Ą' => 'A''Ć' => 'C''Ę' => 'e''Ł' => 'L''Ń' => 'N''Ó' => 'o''Ś' => 'S''Ź' => 'Z''Ż' => 'Z''ą' => 'a''ć' => 'c''ę' => 'e''ł' => 'l''ń' => 'n''ó' => 'o''ś' => 's''ź' => 'z''ż' => 'z',
    
// Latvian
    
'Ā' => 'A''Č' => 'C''Ē' => 'E''Ģ' => 'G''Ī' => 'i''Ķ' => 'k''Ļ' => 'L''Ņ' => 'N''Š' => 'S''Ū' => 'u''Ž' => 'Z''ā' => 'a''č' => 'c''ē' => 'e''ģ' => 'g''ī' => 'i''ķ' => 'k''ļ' => 'l''ņ' => 'n''š' => 's''ū' => 'u''ž' => 'z');
    
// Make custom replacements
    
$str preg_replace(array_keys($options['replacements']), $options['replacements'], $str);
    
// Transliterate characters to ASCII
    
if($options['transliterate']) {
        
$str str_replace(array_keys($char_map), $char_map$str);
    }
    
// Replace non-alphanumeric characters with our delimiter
    
$str preg_replace('/[^p{L}p{Nd}]+/u'$options['delimiter'], $str);
    
// Remove duplicate delimiters
    
$str preg_replace('/(' preg_quote($options['delimiter'], '/') . '){2,}/''$1'$str);
    
// Truncate slug to max. characters
    
$str mb_substr($str0, ($options['limit'] ? $options['limit'] : mb_strlen($str'UTF-8')), 'UTF-8');
    
// Remove delimiter from ends
    
$str trim($str$options['delimiter']);
    return 
$options['lowercase'] ? mb_strtolower($str'UTF-8') : $str;
}

function 
Wo_SeoLink($query '') {
    global 
$wo$config;
    if (
$wo['config']['seoLink'] == 1) {
        
$query preg_replace(array(
            
'/^index.php?tab1=welcome&tab2=password_reset&user_id=([A-Za-z0-9_]+)$/i',
            
'/^index.php?tab1=([^/]+)&query=$/i',
            
'/^index.php?tab1=post&id=([A-Za-z0-9_]+)$/i',
            
'/^index.php?tab1=terms&page=contact-us$/i',
            
'/^index.php?tab1=([^/]+)&u=([A-Za-z0-9_]+)$/i',
            
'/^index.php?tab1=timeline&u=([A-Za-z0-9_]+)&type=([A-Za-z0-9_]+)$/i',
            
'/^index.php?tab1=messages&user=([A-Za-z0-9_]+)$/i',
            
'/^index.php?tab1=setting&user=([A-Za-z0-9_]+)$/i',
            
'/^index.php?tab1=([^/]+)&app_id=([A-Za-z0-9_]+)$/i',
            
'/^index.php?tab1=([^/]+)&hash=([^/]+)$/i',
            
'/^index.php?tab1=([^/]+)&tab2=([^/]+)$/i',
            
'/^index.php?tab1=([^/]+)&type=([^/]+)$/i',
            
'/^index.php?tab1=([^/]+)&p=([^/]+)$/i',
            
'/^index.php?tab1=page-setting&page=([^/]+)$/i',
            
'/^index.php?tab1=([^/]+)$/i'
        
), array(
            
$config['site_url'] . '/password-reset/$1',
            
$config['site_url'] . '/search/$2',
            
$config['site_url'] . '/post/$1',
            
$config['site_url'] . '/terms/contact-us',
            
$config['site_url'] . '/@$2',
            
$config['site_url'] . '/@$1/$2',
            
$config['site_url'] . '/messages/$1',
            
$config['site_url'] . '/setting/$1',
            
$config['site_url'] . '/$1/$2',
            
$config['site_url'] . '/$1/$2',
            
$config['site_url'] . '/$1/$2',
            
$config['site_url'] . '/$1/$2',
            
$config['site_url'] . '/p/$2',
            
$config['site_url'] . '/page-setting/$1',
            
$config['site_url'] . '/$1'
        
), $query);
    } else {
        
$query $config['site_url'] . '/' $query;
    }
    return 
$query;
}

function 
Wo_IsLogged() {
    if (isset(
$_SESSION['user_id']) || isset($_COOKIE['user_id'])) {
        return 
true;
    } else {
        return 
false;
    }
}
function 
Wo_Redirect($url) {
    return 
header("Location: {$url}");
}
function 
Wo_Link($string) {
    global 
$site_url;
    return 
$site_url '/' $string;
}
function 
Wo_Sql_Result($res$row 0$col 0) {
    
$numrows mysqli_num_rows($res);
    if (
$numrows && $row <= ($numrows 1) && $row >= 0) {
        
mysqli_data_seek($res$row);
        
$resrow = (is_numeric($col)) ? mysqli_fetch_row($res) : mysqli_fetch_assoc($res);
        if (isset(
$resrow[$col])) {
            return 
$resrow[$col];
        }
    }
    return 
false;
}
function 
Wo_Secure($string$censored_words 1) {
    global 
$sqlConnect;
    
$string trim($string);
    
$string mysqli_real_escape_string($sqlConnect$string);
    
$string htmlspecialchars($stringENT_QUOTES);
    
$string str_replace('\r\n''<br>'$string);
    
$string str_replace('\r''<br>'$string);
    
$string str_replace('\n\n''<br>'$string);
    
$string str_replace('\n''<br>'$string);
    
$string str_replace('\n''<br>'$string);
    
$string stripslashes($string);
    
$string str_replace('&amp;#''&#'$string);
    if (
$censored_words == 1) {
        global 
$config;
        
$censored_words = @explode(","$config['censored_words']);
            foreach (
$censored_words as $censored_word) {
               
$censored_word trim($censored_word);
               
$string str_replace($censored_word'****'$string);
            }
    }
    return 
$string;
}
function 
Wo_Decode($string) {
    return 
htmlspecialchars_decode($string);
}
function 
Wo_GenerateKey($minlength 20$maxlength 20$uselower true$useupper true$usenumbers true$usespecial false) {
    
$charset '';
    if (
$uselower) {
        
$charset .= "abcdefghijklmnopqrstuvwxyz";
    }
    if (
$useupper) {
        
$charset .= "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    }
    if (
$usenumbers) {
        
$charset .= "123456789";
    }
    if (
$usespecial) {
        
$charset .= "~@#$%^*()_+-={}|][";
    }
    if (
$minlength $maxlength) {
        
$length mt_rand($maxlength$minlength);
    } else {
        
$length mt_rand($minlength$maxlength);
    }
    
$key '';
    for (
$i 0$i $length$i++) {
        
$key .= $charset[(mt_rand(0strlen($charset) - 1))];
    }
    return 
$key;
}
function 
Wo_Resize_Crop_Image($max_width$max_height$source_file$dst_dir$quality 80) {
    
$imgsize = @getimagesize($source_file);
    
$width   $imgsize[0];
    
$height  $imgsize[1];
    
$mime    $imgsize['mime'];
    switch (
$mime) {
        case 
'image/gif':
            
$image_create "imagecreatefromgif";
            
$image        "imagegif";
            break;
        case 
'image/png':
            
$image_create "imagecreatefrompng";
            
$image        "imagepng";
            
$quality      7;
            break;
        case 
'image/jpeg':
            
$image_create "imagecreatefromjpeg";
            
$image        "imagejpeg";
            
$quality      80;
            break;
        default:
            return 
false;
            break;
    }
    
$dst_img    = @imagecreatetruecolor($max_width$max_height);
    
$src_img    $image_create($source_file);
    
$width_new  $height $max_width $max_height;
    
$height_new $width $max_height $max_width;
    if (
$width_new $width) {
        
$h_point = (($height $height_new) / 2);
        @
imagecopyresampled($dst_img$src_img000$h_point$max_width$max_height$width$height_new);
    } else {
        
$w_point = (($width $width_new) / 2);
        @
imagecopyresampled($dst_img$src_img00$w_point0$max_width$max_height$width_new$height);
    }
    
$image($dst_img$dst_dir$quality);
    if (
$dst_img)
        @
imagedestroy($dst_img);
    if (
$src_img)
        @
imagedestroy($src_img);
}
function 
Wo_Time_Elapsed_String($ptime) {
    global 
$wo;
    
$etime time() - $ptime;
    if (
$etime 1) {
        return 
'0 seconds';
    }
    
$a        = array(
        
365 24 60 60 => $wo['lang']['year'],
        
30 24 60 60 => $wo['lang']['month'],
        
24 60 60 => $wo['lang']['day'],
        
60 60 => $wo['lang']['hour'],
        
60 => $wo['lang']['minute'],
        
=> $wo['lang']['second']
    );
    
$a_plural = array(
        
$wo['lang']['year'] => $wo['lang']['years'],
        
$wo['lang']['month'] => $wo['lang']['months'],
        
$wo['lang']['day'] => $wo['lang']['days'],
        
$wo['lang']['hour'] => $wo['lang']['hours'],
        
$wo['lang']['minute'] => $wo['lang']['minutes'],
        
$wo['lang']['second'] => $wo['lang']['seconds']
    );
    foreach (
$a as $secs => $str) {
        
$d $etime $secs;
        if (
$d >= 1) {
            
$r round($d);
            if (
$wo['language_type'] == 'rtl') {
                
$time_ago $wo['lang']['time_ago'] . ' ' $r ' ' . ($r $a_plural[$str] : $str);
            } else {
                
$time_ago $r ' ' . ($r $a_plural[$str] : $str) . ' ' $wo['lang']['time_ago'];
            }
            return 
$time_ago;
        }
    }
}
function 
Wo_FolderSize($dir) {
    
$count_size 0;
    
$count      0;
    
$dir_array  scandir($dir);
    foreach (
$dir_array as $key => $filename) {
        if (
$filename != ".." && $filename != "." && $filename != ".htaccess") {
            if (
is_dir($dir "/" $filename)) {
                
$new_foldersize Wo_FolderSize($dir "/" $filename);
                
$count_size     $count_size $new_foldersize;
            } else if (
is_file($dir "/" $filename)) {
                
$count_size $count_size filesize($dir "/" $filename);
                
$count++;
            }
        }
    }
    return 
$count_size;
}
function 
Wo_SizeFormat($bytes) {
    
$kb 1024;
    
$mb $kb 1024;
    
$gb $mb 1024;
    
$tb $gb 1024;
    if ((
$bytes >= 0) && ($bytes $kb)) {
        return 
$bytes ' B';
    } elseif ((
$bytes >= $kb) && ($bytes $mb)) {
        return 
ceil($bytes $kb) . ' KB';
    } elseif ((
$bytes >= $mb) && ($bytes $gb)) {
        return 
ceil($bytes $mb) . ' MB';
    } elseif ((
$bytes >= $gb) && ($bytes $tb)) {
        return 
ceil($bytes $gb) . ' GB';
    } elseif (
$bytes >= $tb) {
        return 
ceil($bytes $tb) . ' TB';
    } else {
        return 
$bytes ' B';
    }
}
function 
Wo_ClearCache() {
    
$path 'cache';
    if (
$handle opendir($path)) {
        while (
false !== ($file readdir($handle))) {
            if (
strripos($file'.tmp') !== false) {
                @
unlink($path '/' $file);
            }
        }
    }
}
function 
Wo_GetThemes() {
    global 
$wo;
    
$themes glob('themes/*'GLOB_ONLYDIR);
    return 
$themes;
}
function 
Wo_ReturnBytes($val) {
    
$val  trim($val);
    
$last strtolower($val[strlen($val) - 1]);
    switch (
$last) {
        case 
'g':
            
$val *= 1024;
        case 
'm':
            
$val *= 1024;
        case 
'k':
            
$val *= 1024;
    }
    return 
$val;
}
function 
Wo_MaxFileUpload() {
    
//select maximum upload size
    
$max_upload   Wo_ReturnBytes(ini_get('upload_max_filesize'));
    
//select post limit
    
$max_post     Wo_ReturnBytes(ini_get('post_max_size'));
    
//select memory limit
    
$memory_limit Wo_ReturnBytes(ini_get('memory_limit'));
    
// return the smallest of them, this defines the real limit
    
return min($max_upload$max_post$memory_limit);
}
function 
Wo_CompressImage($source_url$destination_url$quality) {
    
$info getimagesize($source_url);
    if (
$info['mime'] == 'image/jpeg')
        
$image = @imagecreatefromjpeg($source_url);
    elseif (
$info['mime'] == 'image/gif')
        
$image = @imagecreatefromgif($source_url);
    elseif (
$info['mime'] == 'image/png')
        
$image = @imagecreatefrompng($source_url);
    
//save file
    
@imagejpeg($image$destination_url$quality);
}
?>
Онлайн: 2
Реклама