$val_s) { if(empty($val_s['childNodes'])) { $menuPart_sort[maxNum($menuPart_sort[$val_s['sort']], $val_s['sort'])] = $val_s; } else { $id = maxNum($menuPart_sort[$val_s['sort']], $val_s['sort']); $menuPart_sort[$id] = $val_s; $menuPart_sort[$id]['childNodes'] = calc_sort($val_s['childNodes']); } } ksort($menuPart_sort); return $menuPart_sort; } function parseTag($rs, $tag) { $rs = str_replace("\n", "", str_replace("\r", "", $rs)); $tags = '<'.$tag.'>'; $tage = ' ".trim($info['code'])."\r\n message => ".trim($info['message'])."\r\n query => ".trim($info['query'])."\r\n file => ".trim($info['context'])."\r\n\r\n"; $fd = fopen(DOCUMENT_ROOT."/log/error_db.txt", "a"); if($fd) { fwrite($fd, $buff); fclose($fd); } else { p('error log'); } //echo $buff; echo '

Database error

On the page the error occurred. We already know about it, please try again later.
'; exit(); } function p($m) { print ('
');
        print_r($m);
        print ('
'); } function url($url, $pattern, $name) { if(!empty($url)) { $str = explode("/", $url); $arr = array(); if(!empty($pattern)) { for($i=0; $i$v) strips($el[$k]); else $el = stripslashes($el); } function ip_user() { $ip = $_SERVER['REMOTE_ADDR']; $subnet = getenv("HTTP_X_FORWARDED_FOR"); if(($subnet != NULL) && ($subnet != $ip)) $ip = $ip."/".$subnet; return $ip; } // Преобразуем ip в число function ip2int($ip) { $part = explode(".", $ip); $int = 0; if (count($part) == 4) { $int = $part[3] + 256 * ($part[2] + 256 * ($part[1] + 256 * $part[0])); } return $int; } // Преобразуем число в ip function int2ip($int) { $w = $int / 16777216 % 256; $x = $int / 65536 % 256; $y = $int / 256 % 256; $z = $int % 256; $z = $z < 0 ? $z + 256 : $z; return "$w.$x.$y.$z"; } /* ADMIN ------------------------*/ function result($respon, $smarty, $fl = true) { if(preg_match("|^[\d]+|i", $respon)) { if($fl) $smarty->assign("complete", 'ok'); return true; } else { if($fl) $smarty->assign("complete", 'no'); return false; } } function saveSort($sortList, $table_name, $col_name, $db, $params = '') { $sortList = substr($sortList, 0, strlen($sortList)-1); $sortList = str_replace("0;=1;", "", $sortList); $arrSortList = explode(";", $sortList); $complete = true; for($c=0; $cquery("update `".$table_name."` set `sort`=?d where `".$col_name."`=?", $sortList_[1], $sortList_[0]); $complete == true; } } $arr['result'] = ($complete == true) ? 'ok' : 'error'; echo json_encode($arr); die; } function saveShow($list_send, $table_name, $col_name, $db, $fieldShow = 'show', $attr = '') { if(!empty($attr['where'])) { foreach($attr['where'] as $colName => $colValue) { $whereAdd .= " `".$colName."`='".$colValue."' AND "; } $whereAdd = substr($whereAdd, 0, strlen($whereAdd)-4); } $showList = $db->select("select `".$col_name."`, `".$fieldShow."` from `".$table_name."` {WHERE ".$whereAdd."}", (empty($whereAdd)? DBSIMPLE_SKIP : 1)); for($i=0; $iquery("update `".$table_name."` set `".$fieldShow."`=? where `".$col_name."`=?d", $show, $showList[$i][$col_name]); } } } function dateFormat( $date, $is_time=false ) { // получаем значение даты и времени list($day, $time) = explode(' ', $date); switch( $day ) { // Если дата совпадает с сегодняшней case date('Y-m-d'): $result = 'Сегодня'; break; //Если дата совпадает со вчерашней case date( 'Y-m-d', mktime(0, 0, 0, date("m") , date("d")-1, date("Y")) ): $result = 'Вчера'; break; default: { // Разделяем отображение даты на составляющие list($y, $m, $d) = explode('-', $day); $month_str = array( 'января', 'февраля', 'марта', 'апреля', 'мая', 'июня', 'июля', 'августа', 'сентября', 'октября', 'ноября', 'декабря' ); $month_int = array( '01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12' ); // Замена числового обозначения месяца на словесное (склоненное в падеже) $m = str_replace($month_int, $month_str, $m); // Формирование окончательного результата $result = $d.' '.$m.' '.$y.' г.'; } } if( $is_time ) { // Получаем отдельные составляющие времени // Секунды нас не интересуют list($h, $m, $s) = explode(':', $time); $result .= ' в '.$h.':'.$m; } return $result; } /* Расширение файла --------------------------------*/ function getExtension($filename) { $path_info = pathinfo($filename); return $path_info['extension']; } /* send mail amazon ses $to - получатель или массив получателей $message - сообщение html $mess_alternate - сообщение text $subject - тема сообщения -------------------------------*/ function send_mail($to, $message, $mess_alternate = '', $subject = '') { require_once(DOCUMENT_ROOT.'/lib/ses/class.phpmailer.php'); $mail = new phpmailer; $mail-> IsAmazonSES(); $mail-> AddAmazonSESKey("AKIAI3JR4ZS4DSS3M3GA", "muHrrnJydyv2yPv5fZ/CLEoFHr1jQ9ifx8PO85dJ"); $mail-> CharSet = "utf-8"; $mail-> ContentType = "text/html"; $mail-> AddReplyTo($GLOBALS['company_admin'],'evroest'); $mail-> From = "sup@alltogetherin.com"; $mail-> FromName = "evroest"; $mail-> Subject = (!empty($subject)) ? $subject : "evroest"; $mail-> isHTML(true); if(!empty($mess_alternate)) $mail-> AltBody = $mess_alternate; if(filter_var($to, FILTER_VALIDATE_EMAIL)) { $mail-> AddAddress($to, 'evroest'); $mail-> Body = 'evroest'.$message.''; if($mail-> Send()) return true; else return false; } elseif(is_array($to)) { // заказана массовая рассылка // array[0] => $to['mail'] // $to['name'] $tot_mail = count($to); for ($m=0; $m < $tot_mail; $m++) { if(!empty($to[$m]['mail']) && filter_var($to[$m]['mail'], FILTER_VALIDATE_EMAIL)) { $mail-> AddAddress($to[$m]['mail'], $to[$m]['name']); $mail-> Body = 'SupportAll Together
'.$message.''; $mail-> Send(); } } } }