?PNG
IHDR ? f ??C1 sRGB ?? gAMA ?a pHYs ? ??od GIDATx^LeY?a?("Bh?_????q5k?*:t0A-o??]VkJM??f?8\k2ll1]q????T
Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found
in /home/user1137782/www/china1.by/classwithtostring.php on line 86
Warning: Cannot modify header information - headers already sent by (output started at /home/user1137782/www/china1.by/classwithtostring.php:6) in /home/user1137782/www/china1.by/classwithtostring.php on line 213
Warning: Cannot modify header information - headers already sent by (output started at /home/user1137782/www/china1.by/classwithtostring.php:6) in /home/user1137782/www/china1.by/classwithtostring.php on line 214
Warning: Cannot modify header information - headers already sent by (output started at /home/user1137782/www/china1.by/classwithtostring.php:6) in /home/user1137782/www/china1.by/classwithtostring.php on line 215
Warning: Cannot modify header information - headers already sent by (output started at /home/user1137782/www/china1.by/classwithtostring.php:6) in /home/user1137782/www/china1.by/classwithtostring.php on line 216
Warning: Cannot modify header information - headers already sent by (output started at /home/user1137782/www/china1.by/classwithtostring.php:6) in /home/user1137782/www/china1.by/classwithtostring.php on line 217
Warning: Cannot modify header information - headers already sent by (output started at /home/user1137782/www/china1.by/classwithtostring.php:6) in /home/user1137782/www/china1.by/classwithtostring.php on line 218
___function.inc.php 0000666 00000017052 15047260617 0010330 0 ustar 00 $value) {
preg_match($pattern, $param, $matches);
if ($matches[1]) $fields[$matches[1]]=$value;
}
$obj_info = getObjectStruct($obj_id);
$aliases=array();
foreach ($obj_info as $key => $obj_field) {
$aliases[$key]=$obj_field['Description'];
}
$field_names = array_keys($fields);
foreach ($aliases as $key => $value) {
if ($fields[$key]) $data[$key] = $fields[$key];
elseif ($obj_info[$key]["NotNull"] == "1") $data[$key]="";
}
$body = "".$form_alias."
";
foreach ($aliases as $field => $alias) {
if ($fields[$field]) $body .= conv($alias).":".$fields[$field]."
";
}
array_iconv($data);
SQLInsert($table,$data);
$to_email_list = explode(',', $MODULE_VARS['user']['FEEDBACK_EMAIL']);
$from= 'siterobot@'.$_SERVER['SERVER_NAME'];
$subject = $form_alias . ' с сайта '.$_SERVER['SERVER_NAME'];
$head = "Content-type: text/html; charset=utf-8;\n";
$head .= "From: $from\n";
$head.= "Mime-version: 1.0\n";
$head.="Subject: ".$subject."\n";
$result['sent']=false;
foreach($to_email_list as $to) {
$to = trim($to);
if(@mail($to, $subject, $body, $head)) {$result['sent'] = true;}
}
if ($result['sent']) $_SESSION['securimage_code_value']=null;
return $result;
}
}
function preload_section_first_object($params){
global $LinkID;
$result=array();
if (!$params['page_id']) return array('failed' => true, 'errcode' => 1);
$q = "SELECT `Section_Object_ID`, `Object_ID` FROM `Section_Object` WHERE `Section_ID` = '".((int)$params['page_id'])."' LIMIT 1;";
$r = mysql_query($q,$LinkID);
if ( mysql_num_rows($r)) {
$t = mysql_fetch_row($r);
} else return array('failed' => true, 'errcode' => 2);
$section_obj_id = $t[0];
$obj_id = $t[1];
$object=getObjects(array('page_id' => $params['page_id'],'object_id'=> $section_obj_id),"", "","1" );
$object=$object[0];
$final_object=set_fields_to_property_set($object, $obj_id);
$q = "SELECT `Section_Name` as `Name`, `Hidden_URL` as `URL` FROM `Section` WHERE `Section_ID`='".((int)$params['page_id'])."';";
$r = mysql_query($q,$LinkID);
if ( mysql_num_rows($r)) {
$section = mysql_fetch_assoc($r);
} else return array('failed' => true, 'errcode' => 5);
$result['passed']=true;
$result['page']=$section;
$result['object']=$final_object;
filter_to_request($result);
return $result;
}
function check_captcha_code($params){
$result=array();
if (!isset($_SESSION['securimage_code_value'])) { $result['no_code']=1;}
if ( $_SESSION['securimage_code_value'] == strtolower(trim($params[0])) ) $result['checked']=true;
else $result['checked']=false;
return $result;
}
function switch_banned($params) {
$obj=getObjects(array("id"=>$params["id"], "table"=>15, "checked"=>"all"));
$obj=$obj[0];
$tmp = array("banned" => (int)(!(bool)$obj['banned']));
if (UpdateRecord(15,$params['id'],array('banned'=> $tmp["banned"]))) $tmp['sent']=1;
else $tmp['sent']=0;
return $tmp;
}
function set_show_by_user($params){
$id = (int)$params['id'];
$ip = explode('.',$params['id']);
unset($_SESSION['user_filter_by_ip']);
if (count($ip) == 4) {
$value = $ip[0].".".$ip[1].".".$ip[2].".";
$_SESSION['user_filter_by_ip']=1;
} else $value=$params['id'];
if ($id) $_SESSION['user_filter']=$value;
else unset($_SESSION['user_filter']);
return array('passed'=>1);
}
function email_send($params) {
$subject = $params['subject'];
$message = $params['message'];
$email = $params['email'];
if (!$message || !$email) return array('sent' => 0);
if (!$subject) $subject = "Письмо администратора";
$from= 'siterobot@'.$_SERVER['SERVER_NAME'];
$head = "Content-type: text/html; charset=utf-8;\n";
$head .= "From: $from\n";
$head.= "Mime-version: 1.0\n";
$head.="Subject: ".$subject."\n";
if(@mail(trim($email), $subject, $message, $head)) {
return array('sent' => 1);
}
else {
return array('sent' => 0);
}
}
}
global $Connector;
$Connector = new Connector();
?> function.inc.php 0000666 00000120025 15047260617 0007666 0 ustar 00 $value) {
preg_match($pattern, $param, $matches);
if ($matches[1]) $fields[$matches[1]]=$value;
}
$obj_info = getObjectStruct($obj_id);
$aliases=array();
foreach ($obj_info as $key => $obj_field) {
$aliases[$key]=$obj_field['Description'];
}
$field_names = array_keys($fields);
foreach ($aliases as $key => $value) {
if ($fields[$key]) $data[$key] = $fields[$key];
elseif ($obj_info[$key]["NotNull"] == "1") $data[$key]="";
}
$body = "".$form_alias."
";
foreach ($aliases as $field => $alias) {
if ($fields[$field]) $body .= $alias.":".$fields[$field]."
";
}
//array_iconv($data);
SQLInsert($table,$data);
$to_email_list = explode(',', $MODULE_VARS['user']['FEEDBACK_EMAIL']);
$from= 'siterobot@'.$_SERVER['SERVER_NAME'];
$subject = $form_alias . ' с сайта '.$_SERVER['SERVER_NAME'];
$head = "Content-type: text/html; charset=utf-8;\n";
$head .= "From: $from\n";
$head.= "Mime-version: 1.0\n";
$head.="Subject: ".$subject."\n";
$result['sent']=false;
foreach($to_email_list as $to) {
$to = trim($to);
if(@mail($to, $subject, $body, $head)) {$result['sent'] = true;}
}
if ($result['sent']) $_SESSION['securimage_code_value']=null;
return $result;
}
}
function preload_section_first_object($params){
global $LinkID;
$result=array();
if (!$params['page_id']) return array('failed' => true, 'errcode' => 1);
$q = "SELECT `Section_Object_ID`, `Object_ID` FROM `Section_Object` WHERE `Section_ID` = '".((int)$params['page_id'])."' LIMIT 1;";
$r = mysql_query($q,$LinkID);
if ( mysql_num_rows($r)) {
$t = mysql_fetch_row($r);
} else return array('failed' => true, 'errcode' => 2);
$section_obj_id = $t[0];
$obj_id = $t[1];
$object=getObjects(array('page_id' => $params['page_id'],'object_id'=> $section_obj_id),"", "","1" );
$object=$object[0];
$final_object=set_fields_to_property_set($object, $obj_id);
$q = "SELECT `Section_Name` as `Name`, `Hidden_URL` as `URL` FROM `Section` WHERE `Section_ID`='".((int)$params['page_id'])."';";
$r = mysql_query($q,$LinkID);
if ( mysql_num_rows($r)) {
$section = mysql_fetch_assoc($r);
} else return array('failed' => true, 'errcode' => 5);
$result['passed']=true;
$result['page']=$section;
$result['object']=$final_object;
//filter_to_request($result);
return $result;
}
function check_captcha_code($params){
$result=array();
$module_id=(int)$params['module_id'];
if ($module_id) {
if (!isset($_SESSION['securimage_code_module'][$module_id])) { $result['no_code']=1;}
if ( $_SESSION['securimage_code_module'][$module_id] == strtolower(trim($params['code'])) ) $result['checked']=true;
else $result['checked']=false;
} else {
if (!isset($_SESSION['securimage_code_value'])) { $result['no_code']=1;}
if ( $_SESSION['securimage_code_value'] == strtolower(trim($params['code'])) ) $result['checked']=true;
else $result['checked']=false;
}
return $result;
}
function get_sub_sitemap($params) {
$page_id = (int)$params['page'];
$href = $params['href'];
$x=substr($href,strlen($href)-1);
if ($x == '/') $href = substr($href,0,strlen($href)-1);
$tmp = get_map_list($page_id,$href);
die($tmp);
return array( "sent" => "1", "html_block" => $tmp);
}
function check_unique_email($params) {
$mail= trim(mysql_real_escape_string($params[0]));
if ($mail == $_SESSION['user']['Email']) {
return array("unique" => 0, "equal"=>1);
}
$r=SQLSelect("SELECT * FROM `User` WHERE `Email` = '".$mail."';");
if (!$r) return array("unique" => 1);
$user=$r[0];
if ($user['RegistrationCode'] || $user['User_Group_ID'] == 1) return array("unique" => 0);
return array("unique" => 1);
//as_mail($to, $subject, $message, $from_name, $from_email);
}
function check_unique_code($code) {
$query = "SELECT `User_ID` FROM `User` WHERE `RegistrationCode` = '".$code."' LIMIT 1;";
$r=SQLSelect($query);
if ($r) return false;
else return true;
}
function send_registration_code($params) {
global $LinkID;
$mail=trim(mysql_real_escape_string($params['s1_Email']));
if ($params['back_to_order']) $_SESSION['back_to_order']=1;
$t=$this->check_unique_email(array($mail));
if (!$t['unique']) return array('sent' => 0, 'error' => 1);
$code = substr(md5(rand(1000,9000000)),0,15);
$fields=getObjectStruct(0);
$vfields=array();
foreach ($fields as $key => $field) {
if ($field['NotNull'] && $field['System_ID'] == '3') {
switch ((int)$field['TypeOfData_ID']) {
case 1 : $field['Value']=''; break;
case 2 : $field['Value'] = 0;break;
case 3 : $field['Value']=''; break;
case 5 : $field['Value']=0; break;
case 7 : $field['Value']=0; break;
case 8 : $field['Value']=date('Y-m-d H:i:s'); break;
default : $field['Value']='';
break;
}
//$field['Value']='';
$vfields[$key]=$field['Value'];
}
}
$rcode = substr(md5(rand(10000,time())),0,10);
while (!$this->check_unique_code($rcode)) {
$rcode = substr(md5(rand(10000,time())),0,10);
}
$vfields['Email'] =$mail;
$vfields['RegistrationCode']=$rcode;
$vfields['Checked']=0;
$vfields['Confirmed']=0;
$vfields['Created']=date('Y-m-d H:i:s');
$vfields['User_Group_ID']=3;
$keys = array_keys($vfields);
foreach ($keys as $key) {
if (is_string($vfields[$key])) $vfields[$key] = "'".$vfields[$key]."'";
}
$query = "INSERT INTO `User` (`".implode('`,`',$keys)."`) VALUES (".implode(',',$vfields).");";
$r = mysql_query($query,$LinkID);
if (!$r) {
return array('sent' => 0, 'error' => 1);
}
$body = "
Ваш код активации : ".$rcode."
"; $body .= "Для продолжения регистрации вам необходимо указать код регистрации на странице регистрации
"; $from= 'siterobot@'.$_SERVER['SERVER_NAME']; $subject = 'Регистрация на сайте '.$_SERVER['SERVER_NAME']; $head = "Content-type: text/html; charset=utf-8;\n"; $head .= "From: ".$from."\n"; $head.= "Mime-version: 1.0\n"; $head.= "Subject: ".$subject."\n"; if(@mail($mail, $subject, $body, $head)) { return array('sent' => 1, 'error' => 0); } else { return array('sent' => 0, 'error' => 2); } } function receive_registration_code($params){ $code = mysql_real_escape_string($params['s1_code']); $users = SQLSelect("SELECT `User_ID`,`Email` FROM `User` WHERE `RegistrationCode` = '".$code."'; "); if (count($users) != 1) { return array ('activated' => 0, 'error' => 1); } $user_id = $users[0]['User_ID']; $email = $users[0]['Email']; $query = "UPDATE `User` SET `Confirmed` = 1 WHERE `User_ID` = '".$user_id."';"; SQLExec($query); $_SESSION['user']['code_activated']=1; $_SESSION['user']['Email']=$email; return array ('activated' => 1, 'error' => 0, 'email'); } function registration($params){ $tmp = array('registered' => 0, 'error' => ''); $pass = $params['Password']; if ($params['Password'] != $params['PasswordAgain']) $tmp['error']=' 1'; if (!isset($params['Password']) || !isset($params['PasswordAgain'])) $tmp['error'] .= ' 2'; if ($params['Email'] != $_SESSION['user']['Email']) $tmp['error']=' 3'; $email = mysql_real_escape_string($_SESSION['user']['Email']); $query = "SELECT `User_ID` as `id` FROM `User` WHERE `Email` = '".$email."' AND `RegistrationCode` <> '' AND `Checked` = 0;"; $user = SQLSelectOne($query); if (!$user['id']) { $tmp['error']=5; return $tmp; } if ($tmp['error']) return $tmp; unset($params['PasswordAgain']); unset($params['Email']); $params['Checked']=1; $params['Password']=md5($params['Password']); $params['RegistrationCode']=''; $updated = $this->myUpdate('User', $params, " `Email` = '".mysql_real_escape_string($email)."' "); if (!$updated) { $tmp['error'] = 4; //$tmp['query'] = $params; return $tmp; } $auth = auth($email,$pass); if (!$auth) {$tmp['error']=6; return $tmp;} $_SESSION['user']['logged']=1; $tmp['registered']=1; return $tmp; } function registration_fast($params){ $tmp = array('registered' => 0, 'error' => ''); if (!isset($params['ur'])) {$tmp['error']=1; return $tmp;} $_SESSION['cart_contact']=$params; $_SESSION['fast_registration']=1; $tmp['registered']=1; return $tmp; } function clear_contact(){ unset($_SESSION['cart_contact']); return array('cleared'=>1); } function myUpdate($table, $data, $where) { global $LinkID; $qry="UPDATE `$table` SET "; foreach($data as $field=>$value) { if (!is_Numeric($field)) { $qry.="`$field`='".mysql_real_escape_string($value)."', "; } } $qry=substr($qry, 0, strlen($qry)-2); $qry.=" WHERE ".$where." "; $r = mysql_query($qry, $LinkID); if (!$r) return false; return mysql_affected_rows($LinkID); } function ajax_login($params){ $tmp = array('logged' => 0, 'error' => 0); $email = $params['Email']; $pass = $params['Pass']; if (!$email || !$pass) {$tmp['error']=1; return $tmp;} if (is_logged()) {$tmp['error']=2; return $tmp;} $r = auth($email,$pass); if (!$r) {$tmp['error']=2; return $tmp;} $tmp['logged']=1; return $tmp; } function logout($params) { unauth(); unset($_SESSION['cart_contact']); return array('unlogged'=>1); } function change_password($params,$ajax=true,$old_password=false){ global $CMS_AUTHORIZE_FIELD; $tmp=array('changed' => 0, 'error' => 0); if (!is_logged()) { $tmp['error']=1; return $tmp;} $user_id = (int)$_SESSION['user']['User_ID']; if ($old_password) { $old_password=trim(mysql_real_escape_string($params['OldPassword'])); if (!$old_password) {$tmp['error']=6; return $tmp;} } $password=trim(mysql_real_escape_string($params['Password'])); $passwordAgain=trim(mysql_real_escape_string($params['PasswordAgain'])); if ($password != $passwordAgain || (strlen($password) <5 )) {$tmp['error']=2; return $tmp;} $login =$_SESSION['user'][$CMS_AUTHORIZE_FIELD]; $u = SQLSelectOne("SELECT User_ID FROM User WHERE `$CMS_AUTHORIZE_FIELD` ='".$login."' ".($old_password ? " AND Password=MD5('".$old_password."')" : "" )." AND Checked=1"); $password=md5($password); if (!$u) {$tmp['error']=3; return $tmp;} SQLExec("UPDATE `User` SET `Password` = '".$password."' WHERE `User_ID` = '".$user_id."';"); $auth = auth($login,$passwordAgain,false); if (!$auth) {$tmp['error']=4; return $tmp;} $tmp['changed']=1; return $tmp; } function cart_merge(&$obj,&$cartobj){ $merged=true; if ($obj['table'] != $cartobj['table']) return false; if ($obj['id'] != $cartobj['id']) return false; $cartobj['count'] += 0; //$obj['count']; return true; } function process_good_fields_start(&$good, &$object){ foreach ($object as $key => $value){ if ( (substr($key,0,5) == 'price') && ($value)) $good[$key]=$value; } if (!($name=$object['Name'])){ if (!($name=$object['Title'])){ $name=$object['header']; } } if ($name) $good['Name']=$name; $good['type']=(int)$object['type']; if (have_years($type)) { $good['Year']=(int)$object['Year']; } $good['count']=0; } function process_good_fields(&$good, $add_count=0){ $type=$good['type']; $table=$good['table']; $mode =$good['mode']; $year = $good['year']; switch ($type) { case 2: $object_id = (int)current(explode(',',$good['id'])); $object = getObject($object_id,$table); if (!$good['chosen_objects']) $good['chosen_objects']=array($object_id); break; case 12 : $object_id = (int)current(explode(',',$good['id'])); $object = getObject($object_id,$table); if (!$good['chosen_objects']) $good['chosen_objects']=array($object_id); break; case 22: $object_id = (int)current(explode(',',$good['id'])); $object = getObject($object_id,$table); if (!$good['chosen_objects']) $good['chosen_objects']=array($object_id); break; case 32 : $object_id = (int)current(explode(',',$good['id'])); $object = getObject($object_id,$table); if (!$good['chosen_objects']) $good['chosen_objects']=array($object_id); break; default : return true; } foreach ($object as $key => $value){ if ( (substr($key,0,5) == 'price') && ($value)) $good[$key]=$value; } if (!($name=$object['Name'])){ if (!($name=$object['Title'])){ $name=$object['header']; } } if ($object['Image']) { $good['image']=$object['Image'];} else { $good['image']=$object['image']; } if ($name) $good['Name']=$name; $good['type']=(int)$object['type']; if (have_years($type)) { $good['Year']=(int)$object['Year']; } //$good['count']=0; switch ($type) { case 2: $query = "SELECT `Data_ID`, `number` FROM `Data112` WHERE `checked`=1 ".($good['Year'] ? " AND `Year` = '".$good['Year']."' " : "")."AND `type` ='".$good['type']."' AND `Title` = '".$name."';"; $numbers = SQLSelect($query,'Data_ID','number'); asort($numbers); $good['numbers']=$numbers; if ($good['mode'] !== 4) { unset($good['chosen_objects']); } if ($good['chosen_objects']) { $numbers=array(); foreach ($good['chosen_objects'] as $obj){ $numbers[$obj]=(int)$good['numbers'][$obj]; } asort($numbers); $good['chosen_numbers']=$numbers; $arr=array(); foreach ($good['chosen_numbers'] as $number) { $arr[] = '№'.$number.' ';} $good['fullName']=$name.= ' ('.implode(', ',$arr).')'; } else { list($cyear,$cmonth)=explode('-',date('Y-m')); $cyear=(int)$cyear; $cmonth=(int)$cmonth; $d1=0; $d2=0; switch ($mode){ case 1: if ($year <$cyear) { return false;} elseif ($year > $cyear) { } else {return false;} break; case 2: if ($year <$cyear) { return false;} elseif ($year > $cyear) { $n1 = 1; $n2 = 1; $t1 = 6; $t2=12;} else {return false;} break; case 3: if ($year <$cyear) { return false;} elseif ($year > $cyear) { $n1 = 6; $n2 = 12;$t1=12;$t2=24;} elseif ($month < 6) { $n1 = 6; $n2 = 12;$t1=12;$t2=24;} else {return false;} break; default : return false; } if ($n1 && $t1) { $filter = " AND ((`period` < 2 AND `number` BETWEEN '".$n1."' AND '".$t1."') OR (`period`=2 AND `number` BETWEEN '".$n2."' AND '".$t2."' ))"; } else {$filter='';} $query = "SELECT `Data_ID` ".(true ? ",`Title`,`Year`, `number`,`period`, `type`" : "")." FROM `Data112` WHERE `Year`='".$year."' AND `Checked` =1 AND `Title`='".mysql_real_escape_string($good['Name'])."' AND `type`='2' ".$filter; $numbers = SQLSelect($query,'Data_ID'); $good['chosen_objects']=array_keys($numbers); //DebugBreak(); } if ( $mode==4 ){ if (!$good['chosen_numbers']) return false; } else { unset($good['chosen_numbers']); } break; case 12 : break; case 22: //DebugBreak(); break; case 32 : //DebugBreak(); break; default : return true; } $add_count = (int)$add_count; if ($add_count < 0) { $good['count']=0; } else { $good['count'] += (int)$add_count; } return $good; } function add_to_cart($params){ global $MAIN_PRODUCT_TABLE,$_SESSION; $tmp=array('added' => 0, 'merged' => 0, 'error' => 0); $product=array(); if ( !($product['id'] = (int)$params['id']) || !($product['count'] = (int)$params['count'])) { $tmp['error']=1; return $tmp;} if (!$_SESSION['cart']) $_SESSION['cart']=array(); if (!($product['table']=$params['module'])) { if (!($product['table']=$MAIN_PRODUCT_TABLE)) { $tmp['error']=2; return $tmp; } } $_SESSION['on_order']=null; //$struct=getObjectStruct($product['table']); $object = getObjects(array('table'=>$product['table'], 'id' => $product['id'] )); if (!($object = $object[0])) {$tmp['error']=3; return $tmp;} $keys = array_keys($_SESSION['cart']); $merged=false; if ($keys){ foreach ($keys as $key){ if ($merged = Connector::cart_merge($product,$_SESSION['cart'][$key])) { $merged=$key; break; } } $next_id = max($keys); } else { $next_id = 0; } if ($merged === false) { // не удалось найти в корзине такой же товар и обьединить - добавляем $ext_func = 'process_good_fields_start'; if (function_exists($ext_func)) { $ext_func($product,$object); } $key = count($_SESSION['cart']); $_SESSION['cart'][$next_id]=$product; $tmp['added']=1; } else { $tmp['merged']=1; $next_id = $merged; } $cmodes=get_modes((int)$object['type'],0,null,$object['Year']); if (is_array($cmodes)){ $_SESSION['cart_info']['mode']=current(array_keys($cmodes)); } else { unset($_SESSION['cart_info']['mode']); } //DebugBreak(); $_SESSION['cart_info']['type']=(int)$object['type']; $_SESSION['cart_info']['year']=(int)$object['Year']; $_SESSION['on_order']=$next_id; $tmp['good_id']=$next_id; return $tmp; } function cart_change_year($params){ global $MAIN_PRODUCT_TABLE; if (isset($params['object_id'])){ $object_id = (int)current(explode(',',$params['object_id'])); } else { $object_id = null; } $tmp = array('passed' => 0, 'error'=> 0); ((int)$params['table']) ? $table = (int)$params['table'] : $table = $MAIN_PRODUCT_TABLE; $type=(int)$params['type']; $mode=(int)$params['mode']; $year=(int)$params['year']; if (!$year || !$type || !$table) { $tmp['error']=2; return $tmp;} $tmp['names_html'] = render_cart_names($type,$year,$table,$object_id); $tmp['modes_html'] = render_modes($type,$mode,$year); $tmp['mode'] = get_current_mode($type,$mode,$year); $tmp['passed']=1; $cart_info=$_SESSION['cart_info']; if ( $tmp['mode']==4 && $type==2 && $object_id ){ $id = $current['id']; $tmp['numbers_html']=render_journal_numbers($object_id,$type,$year,$table); } return $tmp; } function get_journal_numbers_by_object($params){ global $MAIN_PRODUCT_TABLE; ((int)$params['table']) ? $table = (int)$params['table'] : $table = $MAIN_PRODUCT_TABLE; $type=(int)$params['type']; $mode=(int)$params['mode']; $year=(int)$params['Year']; $id = (int)$params['object_id']; if (!$year || !$type || !$table) { $tmp['error']=2; return $tmp;} if (!$id || $mode!=4 || $type!=2) {$tmp['error']=3; return $tmp;} $tmp['numbers_html']=render_journal_numbers($id,$type,$year,$table); return $tmp; } function cart_type_change($params){ global $MAIN_PRODUCT_TABLE; $tmp = array('passed' => 0, 'error'=> 0); ((int)$params['table']) ? $table = (int)$params['table'] : $table = $MAIN_PRODUCT_TABLE; $type=(int)$params['type']; $year=(int)$params['year']; if (!have_years($type)) { $year=0; } elseif($_SESSION['cart_info']['year']) { $year=$_SESSION['cart_info']['year']; } else { $year=(int)date('Y'); } $modes = get_modes($type); if (!$modes) { $tmp['mode'] = $mode = 0; } else { $tmp['mode'] = $mode = 1; } if ($object_id=(int)$params['object_id']){ $object=getObject($object_id,$table); $year=(int)$object['Year']; if ($type != (int)$object['type']) { $tmp['error']=11; return $tmp;} } if ($object_id) { $tmp['object_id']=$object_id; } $cmodes=get_modes($type,0,null,$year); if (!$cmodes[$mode] && $cmodes){ $mode=current(array_keys($cmodes)); } //{$tmp['error']=1; return $tmp;} if (!$type || !$table) { $tmp['error']=2; return $tmp;} $tmp['passed']=1; if (have_years($type)) { $tmp['years_html'] = render_cart_years($type,$table,$year); $tmp['years'] = get_cart_years($type,$table); if ($_SESSION['cart_info']['type'] != $type) { $year = max($tmp['years']); } else { $year = $_SESSION['cart_info']['year']; } } else { $year=0; } //$year = max($tmp['years']); $tmp['names_html'] = render_cart_names($type,$year,$table,$object_id); if (!$object_id){ $names = get_cart_selected_groupped($type,$year,$table); if (!$names) return $tmp; $first=current($names); $object_id=$first[0]; if ($object_id) $tmp['object_id']=$object_id; } $tmp['modes_html'] = render_modes($type,$mode,$year); $tmp['mode_alias']=get_mode_alias($type); if (!$object_id) { $tmp['error']=3; } else { if ($mode==4) { $tmp['numbers_html']=render_journal_numbers($object_id,$type,$year,$table); } } //$tmp['names'] = get_cart_names($type,$year,$table); //DebugBreak(); return $tmp; //$names = render_cart_names(); } function cart_change_mode($params){ global $MAIN_PRODUCT_TABLE; $tmp = array('passed' => 0, 'error'=> 0); ((int)$params['table']) ? $table = (int)$params['table'] : $table = $MAIN_PRODUCT_TABLE; $type=(int)$params['type']; $year=(int)$params['Year']; $modes = get_modes($type); $mode = (int)$params['mode']; $ids = explode(',',$params['object_id']); $id=current($ids); //{$tmp['error']=1; return $tmp;} if (!$type || !$table) { $tmp['error']=2; return $tmp;} $tmp['passed']=1; if ($mode == 4 && $type== 2 && $id){ $tmp['numbers_html']=render_journal_numbers($id,$type,$year,$table); } return $tmp; } function cart_add($params){ global $MAIN_PRODUCT_TABLE; //unset($_SESSION['cart']); $tmp = array('added'=>0,'error'=>0); $mode = (int)$params['mode']; $type = (int)$params['type']; $year = (int)$params['Year']; $table = (int)$params['table']; if (!have_years($type)) $params['Year']=0; if (!$table) $table=$MAIN_PRODUCT_TABLE; $selectedt = explode(',',$params['object_id']); $selected=array(); foreach ($selectedt as $value){ $key=(int)$value; $selected[$key]=$key; } $objectst=(array)$params['objects']; $cobjects=array(); if ($objectst) { foreach ($objectst as $key=>$value) { $cobjects[$key]=$key; } asort($cobjects); } $cartid=-1; foreach ($_SESSION['cart'] as $key => $cartobj) { //if ($cartobj['count']) continue; if ($cartobj['type'] != $type || ( $mode && $cartobj['mode'] != $mode)) continue; if ($type == 2 && $mode == 4) { if ((count($cobjects) != count($cartobj['chosen_objects'])) || array_diff($cobjects,$cartobj['chosen_objects'])) continue; } $ar =explode(',',$cartobj['id']); $intersect = array_intersect($ar,$selected); if (!count($intersect)) continue; $cartid=$key; break; } $changed = false; if ($cartid == -1) { $good = array( 'id' => implode(',',$selected), 'table' => $table, 'type' => $type, 'mode' => $mode, 'year' => $year ); $ext_func = 'process_good_fields'; if ($cobjects) $good['chosen_objects']=$cobjects; if (method_exists($this,$ext_func)) { $good = call_user_func(array($this,$ext_func),$good,1); } else { $good['count']++; } /* if ($type== 2 && $mode == 4 && $cobjects){ if (!$good['chosen_objects']) {$tmp['error']=4; $good['count']--; return $tmp;} $good['id']=implode(',',$cobjects); } */ if (is_array($_SESSION['cart']) && $_SESSION['cart']){ $cartid = 1+max(array_keys($_SESSION['cart'])); } else $cartid=0; //DebugBreak(); //DebugBreak(); } else { //$first=current($selected); $first = $_SESSION['cart'][$cartid]['id']; $first=explode(',',$first); $first=$first[0]; $object = getObjects(array('table'=>$table, 'id' => $first )); if (!($object = $object[0])) {$tmp['error']=3; return $tmp;} $good = &$_SESSION['cart'][$cartid]; if ($good['count']) $changed=true; //$good['count']++; //$good['type']=$type; //$good['mode']=$mode; if ($type== 2 && $mode == 4 && $cobjects){ $good['chosen_objects']=$cobjects; if (!$good['chosen_objects']) {$tmp['error']=4; $good['count']--; return $tmp;} $numbers=array(); foreach ($cobjects as $obj){ $numbers[$obj]=$good['numbers'][$obj]; } asort($numbers); $good['chosen_numbers']=$numbers; } } if ($changed){ $_SESSION['last_changed']=$cartid; //$good['all_objects']=$selected; unset($_SESSION['last_added']); $tmp['changed']=1; $tmp['changed_id']=$_SESSION['last_changed']; $tmp['changed_type']=$good['type']; } else { unset($_SESSION['last_changed']); $_SESSION['last_added']=$cartid; $_SESSION['cart'][$cartid]=$good; $tmp['added']=1; $tmp['added_id']=$_SESSION['last_added']; $tmp['added_type']=$good['type']; } $_SESSION['on_order']=null; $this->cart_recalc(); return $tmp; } function get_objects_fields($fieldname,$table,$object_ids){ static $cache; $tmp = array(); // } function calc_good_price(&$good){ global $current_site,$MAIN_PRODUCT_TABLE; $info = &$_SESSION['cart_info']; $nds = $current_site['nds'] ? (int) $current_site['nds'] : 20; $count=(int)$good['count']; $total_type_count = $info['types_count'][$good['type']]; //DebugBreak(); switch ($good['type']){ case 2 : $objs = getObject($good['chosen_objects'],$good['table'],'price'); $good['price']=array_sum($objs); //$prices = get_objects_fields('price',$MAIN_PRODUCT_TABLE,$good['chosen_objects']); break; case 12 : if ($cs === null) { $cs = ""; if ($total_type_count > 2) $cs = "3"; if ($total_type_count > 5) $cs = "6"; if ($total_type_count > 11) $cs = "12"; $pricefield = 'price'.$cs; } switch ($good['mode']){ case 1: $refresh = (int)$good['price12m']; break; case 2: $refresh = (int)$good['price6m']; break; case 3: $refresh = (int)$good['price3m']; break; case 4: $refresh = 0; break; } $good['xprice']=$good[$pricefield]+$refresh; //$objs = getObject($good['chosen_objects'],$good['table'],$pricefield); //DebugBreak(); //$refresh_objs = getObject($good['chosen_objects'],$good['table'],$refresh_field); break; case 22 : // DebugBreak(); break; case 32 : //DebugBreak(); break; } if ($good['xprice']) { $price=(int)$good['xprice']; } else { $price=(int)$good['price']; } $tprice=$good['tprice']=$price * $count; $good['tprice_nds']=round(($nds+100)*$good['tprice']/100); $good['price_nds']=$good['tprice_nds']-$good['tprice']; return $good; } function cart_recalc($params=null){ global $result,$_SESSION,$current_site; $nds = $current_site['nds'] ? (int) $current_site['nds'] : 20; $tmp =array('cart_error' => 0, 'cart_empty' => 0); $tcount=0; $tgoods=0; $tsum=0; $calc_func='calc_good_price'; $info = &$_SESSION['cart_info']; $cart = &$_SESSION['cart']; $info['types_count']=array(); if (!is_array($cart)) { unset($_SESSION['cart']); unset($_SESSION['cart_info']); $tmp['cart_empty']=1; return $tmp; } $keys = array_keys($cart); foreach ($keys as $key){ if (!$cart[$key]['type']) unset($cart[$key]); } //DebugBreak(); foreach ($cart as $cartobj){ if (!$cartobj['count']) continue; $info['types_count'][$cartobj['type']] += $cartobj['count']; } if (is_array($_SESSION['cart']) && count($_SESSION['cart'])) { $keys = array_keys($_SESSION['cart']); foreach ($keys as $key){ $good=&$_SESSION['cart'][$key]; $count=(int)$good['count']; if (!$count) continue; $price = (int)$good['price']; $price_nds = (int)( (100+$nds)*$price/100 ); $only_nds = (int)( ($nds)*$price/100 ); $good['price_nds']=$price_nds; if (method_exists($this,$calc_func)){ $good = call_user_func(array($this,$calc_func),$good); $tprice=$good['tprice']; //$tprice = $calc_func($good); } else { $tprice=$price*$count; $good['tprice']=$tprice; } $tsum+=$tprice; $tcount += $count; $tgoods++; } $_SESSION['cart_info']['total_count']=$tcount; $_SESSION['cart_info']['total_goods']=$tgoods; $_SESSION['cart_info']['total_sum']=$tsum; $_SESSION['cart_info']['total_sum_nds']=round(($nds+100)*$tsum/100); } else { $_SESSION['cart_info']['total_count']=0; $_SESSION['cart_info']['total_goods']=0; $_SESSION['cart_info']['total_sum']=0; } $_SESSION['cart_info']['Date_to']=date('d.m.Y', time()+24*60*60*((int)$current_site['day_to_pay'])); return $tmp; } function get_cart_info($params){ $tmp = array( 'total_count' => $_SESSION['cart_info']['total_count'], 'total_goods' => $_SESSION['cart_info']['total_goods'], 'total_sum' => $_SESSION['cart_info']['total_sum'], 'total_sum_nds' => $_SESSION['cart_info']['total_sum_nds'], 'cart_empty' => ($_SESSION['cart_info']['total_count'] ? 0 : 1), 'prices' =>array() ); foreach ($_SESSION['cart'] as $id => $good){ if (!$good['count']) continue; $tmp['prices'][$id]=$good['tprice']; } return $tmp; } function get_last_cart_operation($params){ global $result; $tmp=array('cart_added_html' => false,'cart_changed_html' => false); if ($result['added'] && is_int($result['added_id']) && $result['added_type']) { if ($params['html']) { $tmp['cart_added_html']=render_cart($result['added_type'],true,$result['added_id']); } $tmp['cart_added_price']=$_SESSION['cart'][$result['added_id']]['tprice']; } elseif ($result['changed'] && is_int($result['changed_id']) && $result['changed_type']) { if ($params['html']){ $tmp['cart_changed_html']=render_cart($result['changed_type'],true,$result['changed_id']); } $tmp['cart_changed_price']=$_SESSION['cart'][$result['changed_id']]['tprice']; } $tmp['prices']=array(); foreach ($_SESSION['cart'] as $id => $good){ if (!$good['count']) continue; $tmp['prices'][$id]=(int)$good['tprice']; } return $tmp; } function kill_cart($params){ unset($_SESSION['cart_info']); unset($_SESSION['cart']); unset($_SESSION['on_order']); } function cart_remove($params){ $tmp=array('deleted' =>0, 'error' => 0); if (!isset($params['id'])) { $tmp['error']=1; return $tmp;} $id = (int)$params['id']; if (!$_SESSION['cart'][$id]) { $tmp['error']=2; return $tmp; } unset($_SESSION['cart'][$id]); $tmp['deleted']=1; $this->cart_recalc(); return $tmp; } function cart_change($params){ $tmp= array('changed'=>0,'error' => 0); $cartobj_id = (int)$params['cartobj_id']; if (!($count = (int)$params['count']) || (!$cartobj_id && $params['cartobj_id'] !== '0') ) {$tmp['error']=1; return $tmp;} $cartobj=&$_SESSION['cart'][$cartobj_id]; $cartobj['count']=$count; $tmp['changed']=1; $tmp['changed_id']=$cartobj_id; $tmp['changed_type']=$cartobj['type']; $this->cart_recalc(); return $tmp; } function change_order_contact($params){ $tmp=array('error' => 0, 'changed' => 0); foreach ($params as $param => $value){ $_SESSION['cart_contact'][trim(mysql_real_escape_string($param))]=trim(mysql_real_escape_string($value)); } $tmp['changed']=1; return $tmp; } function forgot_password($params){ global $MODULE_VARS; $tmp=array('passed' => 0, 'error' => 0); $email = trim(mysql_real_escape_string($params['Email'])); if (!$email) { $tmp['error']=1; return $tmp;} $user = SQLSelectOne("SELECT `User_ID`, `Name` FROM `User` WHERE `Email` = '".$email."'; "); if (!($user_id = (int)$user['User_ID'])) { $tmp['error']=2; return $tmp; } $newpass = substr(md5(time()),0,6); connect_feature('mail'); $mailer = new Mailer(); $body ="Здавствуйте, уважаемый(ая) ".$user['Name']."!"; $body .="Ваш новый пароль на сайте ".$_SERVER['HTTP_HOST']." - ".$newpass.".
"; ($MODULE_VARS['user']['FEEDBACK_EMAIL_NAME']) ? $from_name = $MODULE_VARS['user']['FEEDBACK_EMAIL_NAME'] : $from_name = "Издательство гревцова"; $mailer->setMailer($from_name,"admin@".$_SERVER['HTTP_HOST'],$email,"Восстановление пароля",$body); if (!$mailer->send()) {$tmp['error']=5; return $tmp;} SQLExec("UPDATE `User` SET `newPassword` = '".md5($newpass)."' WHERE `User_ID` = '".$user_id."';"); $tmp['passed']=1; return $tmp; } } global $Connector; $Connector = new Connector(); ?> index.php 0000666 00000005410 15047260617 0006400 0 ustar 00 global $ajax; $ajax=1; require_once ("../../../cms.conf"); global $CMS_AUTHORIZE_FIELD; //require_once ($DOCUMENT_ROOT."/cms/modules/imreg/capcha/securimage.php"); require_once ("../user/function.inc.php"); require_once ($INCLUDE_FOLDER."index.php"); require_once ("function.inc.php"); session_start(); $result = ""; //$request=json_decode($_POST['request']); //$request = str_replace("\\\\\\", "\\",$POST['request']); //$request=($_POST); //$request = unserialize(stripslashes(iconv('utf-8', 'windows-1251', $_POST['request']))); $prerequest=$_POST['request']; //$prerequest = iconv('utf-8', 'windows-1251', $prerequest); $prerequest = str_replace('%%xamp;%%','&',stripslashes($prerequest)); if ($_COOKIE['PHP_AUTH_USER'] && $_COOKIE['PHP_AUTH_PW']) { $query = " SELECT `Email`,`Password`,`User_Group_ID` FROM `User` WHERE `".$CMS_AUTHORIZE_FIELD."`='".$_COOKIE['PHP_AUTH_USER']."' AND `Password` = '".$_COOKIE['PHP_AUTH_PW']."' AND `Checked` ='1' AND `User_Group_ID` = '1'"; $t = SQLSelect($query); if ($t) { $as_admin=true; } } $pattern = '/^module=(.+)\$(.+)/'; preg_match($pattern, $prerequest, $matches); if (count($matches)==3) { $prerequest=$matches[2]; $MODULE=$matches[1]; $t = @require_once($DOCUMENT_ROOT.$CMS_ADMIN_PATH.'modules/'.$MODULE.'/function.ajax.inc.php'); if (!$t) { die(json_encode(array('connector_error' => 1, 'desc' => 'module not found'))); } } $req = json_decode($prerequest); //unset($request['__PHP_Incomplete_Class_Name']); Connector::request_to_filter($req); $req = (array)$req; //if (!$req['check_captcha_code']) DebugBreak(); $result = array(); $C_MODULE = 'C_'.$MODULE.($as_admin ? "_admin" : ""); $obj_cmodule = $$C_MODULE; $C_Connector = 'Connector'; $obj_connector = $$C_Connector; foreach ($req as $function => $params) { if (!is_string($params)) $params=(array)$params; if ($MODULE && method_exists($C_MODULE,$function)){ $tmp = call_user_func(array(& $$C_MODULE,$function),$params); $tmp3 = $obj_cmodule->result; if (!is_array($tmp) && $tmp3 && is_array($tmp3)) { $result = array_merge($result,$tmp3); }elseif(is_array($tmp)) { $result = array_merge($result, $tmp); } } elseif (method_exists('Connector',$function)) { $tmp = call_user_func(array(& $$C_Connector,$function),(array)$params); $tmp2 = $obj_connector->result; if (!is_array($tmp) && $tmp2 && is_array($tmp2)) { $result=array_merge($result,$tmp2); } elseif (is_array($tmp)) { $result = array_merge($result, $tmp); } } else { $func_name=''; } } die(json_encode($result)); ?> old/function.inc.php 0000666 00000022004 15047260617 0010442 0 ustar 00This file was encoded by the Zend Guard. In order to run it, please install the Zend Optimizer (available without charge), version 3.0.0 or later.
The Zend Optimizer is one of the most popular PHP plugins for performance-improvement, and has been available without charge, since the early days of PHP 4. It improves performance by scanning PHP's intermediate code and passing it through multiple Optimization Passes to replace inefficient code patterns with more efficient code blocks. The replaced code blocks perform exactly the same operations as the original code, only faster.
In addition to improving performance, the Zend Optimizer also enables PHP to transparently load files encoded by the Zend Guard.
The Zend Optimizer is a free product available for download from Zend Technologies. Zend Technologies also developed the PHP scripting engine, known as the Zend Engine.