Вход Регистрация
Файл: engine/main/Simple.php
Строк: 158
<?php

/*
 * Абстрактный класс наиболее использующихся функций 
 * Лучше не трогать!!!
 */

class Simple{
    
    static public function 
openDB(){
        
//Подключение БД mysqli
 
return new mysqli(DB_HOST,DB_USER,DB_PASSWORD,DB_DATABASE);

  }
  
   
/**
    * Метод обработки данных перед добавлением в БД
    */
   
public static function ClearDataDB($clear){
     
$connect self::openDB(); 
     return 
$connect->real_escape_string($clear);  
   }
  
  
/**
   * Обработка всех данных
   */ 
   
public static function ClearData($data,$flag){
     switch(
$flag){
         case 
's':
             
$data trim(strip_tags($data));
         break; 
        case 
'i':
            
$data = (int)$data;
        break;    
     }  
     return 
$data;
   }
   
/**
    * Метод шифрования всех паролей и строк
    */
   
public static function HashPassword($password){
       return 
md5(md5($password));
   }
  
   public static function 
redirect($url$message false){

    if (
$message){
         
$_SESSION['message'] = $message
    }

    
header('Location: '.$url);
    exit();
}

    
    
/**
    * Получение длины строки для utf-8
    */
    
public static function strlen($str) {
        return 
strlen(self::wtext($str));
    }

    
/**
    * substr для utf-8
    * @param string $string, int $start [int $lenght]
    */
    
public static function substr($string$start$lenght NULL) {
        return 
self::utext(substr(self::wtext($string), $start$lenght));
    }

        
    
/**
    * Конвертирование строки в windows-1251
    */
    
public static function wtext($text){
        return 
iconv('utf-8''windows-1251'$text);
    }

    
/**
    * Конвертирование строки в utf-8
    */
    
public static function utext($text){
        return 
iconv('windows-1251''utf-8'$text);
    }

    
/**
    * Генерация случайной строки
    */
    
public static function get_unique_code($length 0) {
        
$code md5(uniqid(rand(), true));
        if (
$length != 0) return substr($code0$length);
        else return 
$code;
    }
        
        
// ------------------ Функция определения браузера --------------------//
static public function get_user_agent() {
    if (isset(
$_SERVER['HTTP_USER_AGENT'])) {
        
$agent self::ClearData($_SERVER['HTTP_USER_AGENT'], 's');

        if (
stripos($agent'Avant Browser') !== false) {
            return 
'Avant Browser';
        } elseif (
stripos($agent'Acoo Browser') !== false) {
            return 
'Acoo Browser';
        } elseif (
stripos($agent'MyIE2') !== false) {
            return 
'MyIE2';
        } elseif (
preg_match('|Iron/([0-9a-z.]*)|i'$agent$pocket)) {
            return 
'SRWare Iron '.self::subtok($pocket[1], '.'02);
        } elseif (
preg_match('|Chrome/([0-9a-z.]*)|i'$agent$pocket)) {
            return 
'Chrome '.self::subtok($pocket[1], '.'03);
        } elseif (
preg_match('#(Maxthon|NetCaptor)( [0-9a-z.]*)?#i'$agent$pocket)) {
            return 
$pocket[1] . $pocket[2];
        } elseif (
stripos($agent'Safari') !== false && preg_match('|Version/([0-9]{1,2}.[0-9]{1,2})|i'$agent$pocket)) {
            return 
'Safari '.self::subtok($pocket[1], '.'03);
        } elseif (
preg_match('#(NetFront|K-Meleon|Netscape|Galeon|Epiphany|Konqueror|Safari|Opera Mini|Opera Mobile)/([0-9a-z.]*)#i'$agent$pocket)) {
            return 
$pocket[1].' '.self::subtok($pocket[2], '.'02);
        } elseif (
stripos($agent'Opera') !== false && preg_match('|Version/([0-9]{1,2}.[0-9]{1,2})|i'$agent$pocket)) {
            return 
'Opera '.$pocket[1];
        } elseif (
preg_match('|Opera[/ ]([0-9a-z.]*)|i'$agent$pocket)) {
            return 
'Opera '.self::subtok($pocket[1], '.'02);
        } elseif (
preg_match('|Orca/([ 0-9a-z.]*)|i'$agent$pocket)) {
            return 
'Orca '.self::subtok($pocket[1], '.'02);
        } elseif (
preg_match('#(SeaMonkey|Firefox|GranParadiso|Minefield|Shiretoko)/([0-9a-z.]*)#i'$agent$pocket)) {
            return 
$pocket[1].' '.self::subtok($pocket[2], '.'03);
        } elseif (
preg_match('|rv:([0-9a-z.]*)|i'$agent$pocket) && strpos($agent'Mozilla/') !== false) {
            return 
'Mozilla '.self::subtok($pocket[1], '.'02);
        } elseif (
preg_match('|Lynx/([0-9a-z.]*)|i'$agent$pocket)) {
            return 
'Lynx '.self::subtok($pocket[1], '.'02);
        } elseif (
preg_match('|MSIE ([0-9a-z.]*)|i'$agent$pocket)) {
            return 
'IE '.self::subtok($pocket[1], '.'02);
        } else {
            
$agent preg_replace('|http://|i'''$agent);
            
$agent strtok($agent'( ');
            
$agent substr($agent022);
            
$agent self::subtok($agent'.'02);

            if (!empty(
$agent)) {
                return 
$agent;
            } 
        } 
    } 
    return 
'Unknown';
}

// ----------------------- Функция обрезки строки с условием -------------------------//
static function subtok($string$chr$pos$len null) {
    return 
implode($chrarray_slice(explode($chr$string), $pos$len));
}

// -----------------Определение ip---------------- //
static public function get_ip(){
    return 
self::ClearData($_SERVER['REMOTE_ADDR'], 's');
}

// --------------Показ доступа к модулю-------------//
//0 - Доступ всем
//1 - Доступ только зарегистрированным
//2 - Доступ только незарегитрированным
 
public static function dostup($name){
  if(
file_exists($_SERVER['DOCUMENT_ROOT'].'/mods/'.$name)  && file_exists($_SERVER['DOCUMENT_ROOT'].'/mods/'.$name.'/main.php')){
  return 
true;}
  else{
  return 
false;}
 }

static public function 
setting($value){
    
$db self::openDB();
    
$db->query("SET NAMES utf8");
    
$res $db->query("SELECT * FROM `settings` WHERE `id` = '1'");
    
$row $res->fetch_assoc();
    
    return 
$row[$value];
}


}
?>
Онлайн: 1
Реклама