#Таймер времени
function timer($type=2,$int=0){
static $time,$last;
if(!isset($time))$time=microtime(2);
if($int)$p=round(microtime(2)-$last,4);
else $p=round(microtime(2)-$time,4);
$last=microtime(2);
if($type==3) $str="
$p
";
elseif($type==2) $str="";
else $str=$p;
if(in_array($type,array(1,3))) print $str;
return $str;
}
#редирект
function location($loc){
if($loc){header("location: ".$loc,true,301);exit;}
}
#Объеденить два объекта
function add2obj($o1,$o2){
if(empty($o1))$o1=(object)array();
if(!is_object($o1))$o1=(object)$o1;
if(count($o2))foreach($o2 as $k=>$v){
if(!isset($o1->$k))$o1->$k=$v;
}
return $o1;
}
#Объеденить два массива
function add2arr(&$ar1,&$ar2){
foreach($ar2 as $k=>$v){
if(isset($ar1[$k])){
if(is_array($ar1[$k]) && is_array($v)){
add2arr($ar1[$k],$v);
}elseif(is_numeric($ar1[$k]) && is_numeric($v)){
$ar1[$k]+=$v;
}else{
$ar1[$k]=$v;
}
}else{
$ar1[$k]=$v;
}
}
}
#Рекурсивно создать директорию
function mkdirRec($dir,$mod=0777){
if(!is_dir($bdir=dirname($dir))){
mkdirRec($bdir);
}
if(!is_dir($dir)){
mkdir($dir);
chmod($dir,$mod);
}
}
#получить переменную из $input или из $_COOKIE
function cookiePage($input,$key,$val){
return !empty($input->$key)?db::escape($input->$key):(!empty($_COOKIE[$key])?db::escape($_COOKIE[$key]):$val);
}
function brainpatStat($channel=''){
$q=http_build_query([
'ref'=>@$_SERVER['HTTP_REFERER'],
'uri'=>$_SERVER['REQUEST_URI'],
't'=>time(),
'chanel'=>$channel,
]);
return '
';
}
/*
Конфигурация глобальных констант которые не нужны в git
1. переменная HREF - название хоста
2. переменные модулей, например различные статичные пароли
*/
error_reporting(0);ini_set('display_errors','Off');
#error_reporting(E_ALL);ini_set('display_errors','On');
define('HREF',"https://clipground.com");
define('NAME',"Clipground");
/*
#Facebook, please setup as meta tags
define('FACEBOOKPAGE','malecars');
define('FACEBOOKAPPID','null');
define('FACEBOOKLANG','en_US');#ru_RU
*/
#Данные БД
define('DB_HOST','127.0.0.1');
define('DB_USER','enseo');
define('DB_PASS','NECe2M,a&pgXdmes');
define('DB_NAME','enseo_clipground');
#module moveContent
define('SRC_IMG_HREF','');# http://[domain]/images/
define('SRC_DB_HOST','');
define('SRC_DB_USER','');
define('SRC_DB_PASS','');
define('SRC_DB_NAME','');
#включить лог скорости обработки страниц
#define('SPEEDLOG_ENABLE',1);
#включить статистику трафика
#define('TRAFFICSTAT_ENABLE',1);
#default theme
#define('THEME_SET','themename');
#Выключает возможность редактировать тему одного поста или категории
#define('THEME_POST_ALLOW',0);
#авторизация через соц. сети
# facebook
#define('AUTH_FACEBOOK_CLIENT_ID', '474178579406077');
#define('AUTH_FACEBOOK_CLIENT_SECRET', '349d54c0d6e67a70bee11716de15ea63');
# google
#define('AUTH_GOOGLE_CLIENT_ID','733717023843-mgfb3gr71q3as4srcepf34d9bjsb73a0.apps.googleusercontent.com');
#define('AUTH_GOOGLE_CLIENT_SECRET','DyCQu5E0KAXmwb5Qragj_8zK');
# twitter
#define('AUTH_TWITTER_CONSUMER_KEY','2t0Ocm2psN77WxgRz0aIRPs0R');
#define('AUTH_TWITTER_CONSUMER_SECRET','AAWo4ypJXO74RCPEzJrlPnMlBcBZWg62L0ve4pyrZDQ7UDB3uk');
#отображение данных по кэшу в виде HTML комментариев
define('CACHE_DEBUG',0);
#date_default_timezone_set('America/Los_Angeles');
#Урл и пути
if(!defined('HREF')) die('HOST empty!');
$purl=parse_url(HREF);
if(!empty($_SERVER['HTTP_HOST'])){
if($_SERVER['HTTP_HOST']!=$purl['host']){
location("http://".$purl['host']."$_SERVER[REQUEST_URI]"); die;
}
}
define('SITE',!empty($purl)?$purl['host']:'');
define('COOKIE_HOST','.'.preg_replace("!^www\.!",'',SITE));
define('PATH',dirname(__DIR__).'/');
define('TMP',PATH.'tmp/');
#Префиксы таблиц по задачам
define('PREFIX_SPEC','zspec_');
define('PREFIX_CON','zcon_');
define('PREFIX_LIKE','zlike_');
define('PREFIX_TMP','ztmp_');
#значения по умолчанию для некоторых констант, если не заданы в config.php
defined('TRAFFICSTAT_ENABLE') or define('TRAFFICSTAT_ENABLE',0);
defined('SPEEDLOG_ENABLE') or define('SPEEDLOG_ENABLE',0);
#глобальная переменная для хранения шаблонов URL страниц
$urls=(object)array();
mb_internal_encoding('utf8');