function convert_prefix_www($site) {
if (!empty($site) && $site != "нет данных") {
if (substr($site,0,7) != "http://") {
$site = "http://".$site;
}
}
/*
if (substr($site,0,3) == "www") {
$site = "http://".$site;
}
*/
return $site;
}
function words_substr($in_str, $cnt_chars) {
$flag_big = false;
$str_word = "";
$page_word = array();
$page_word = explode(" ", $in_str);
if (sizeof($page_word)) {
foreach($page_word as $num => $p_w) {
$len = strlen($str_word)+strlen($p_w);
//$str_word .= " ".strlen($p_w)." ".$cnt_chars;
if ($len <= $cnt_chars) {
$str_word .= " ".$p_w;
} else {
$flag_big = true;
break;
}
}
}
if ($flag_big) {
$str_word .= "...";
}
return trim($str_word);
}
function get_r_date($ts=0, $lang='ru') {
if ($lang == 'en') {
$mon_arr = array(1 => "January ", 2 => "February ", 3 => "March ", 4 => "April ", 5 => "May ", 6 => "June ", 7 => "July ", 8 => "August ", 9 => "September ", 10 => "October ", 11 => "November ", 12 => "December");
} else {
$mon_arr = array(1 => "января", 2 => "февраля", 3 => "марта", 4 => "апреля", 5 => "мая", 6 => "июня", 7 => "июля", 8 => "августа", 9 => "сентября", 10 => "октября", 11 => "ноября", 12 => "декабря");
}
$s = date("j", $ts)." ".$mon_arr[date("n", $ts)]." ".date("Y", $ts);
return $s;
}
function get_r_date_min($ts=0, $lang='ru') {
if ($lang == 'en') {
$mon_arr = array(1 => "January ", 2 => "February ", 3 => "March ", 4 => "April ", 5 => "May ", 6 => "June ", 7 => "July ", 8 => "August ", 9 => "September ", 10 => "October ", 11 => "November ", 12 => "December");
} else {
$mon_arr = array(1 => "Январь", 2 => "Февраль", 3 => "Март", 4 => "Апрель", 5 => "Май", 6 => "Июнь", 7 => "Июль", 8 => "Август", 9 => "Сентябрь", 10 => "Октябрь", 11 => "Ноябрь", 12 => "Декабрь");
}
$s = $mon_arr[date("n", $ts)]." ".date("Y", $ts);
return $s;
}
function get_date_small($ts=0) {
if (date("j", $ts) < 10) {
$s = "0".date("j", $ts).".".date("m", $ts);
} else {
$s = date("j", $ts).".".date("m", $ts);
}
return $s;
}
function get_r_date_time($ts=0) {
$mon_arr = array(1 => "января", 2 => "февраля", 3 => "марта", 4 => "апреля", 5 => "мая", 6 => "июня", 7 => "июля", 8 => "августа", 9 => "сентября", 10 => "октября", 11 => "ноября", 12 => "декабря");
//$mon_arr = array(1 => "Января", 2 => "Февраля", 3 => "Марта", 4 => "Апреля", 5 => "Мая", 6 => "Июня", 7 => "Июля", 8 => "Августа", 9 => "Сентября", 10 => "Октября", 11 => "Ноября", 12 => "Декабря");
//$s = date("j", $ts)." ".$mon_arr[date("n", $ts)]." ".date("Y", $ts)." ".date("H", $ts).":".date("i", $ts);
$s = date("j", $ts)." ".$mon_arr[date("n", $ts)].", ".date("H", $ts).":".date("i", $ts);
return $s;
}
function get_r_time($ts=0) {
$s = date("H", $ts).":".date("i", $ts);
return $s;
}
function get_time($ts=0) {
$s = date("H", $ts).":".date("i", $ts);
return $s;
}
function get_ext_file($file_name) {
$pos_dot = strrpos($file_name, ".");
$ext = substr($file_name, $pos_dot+1);
return $ext;
}
function get_lang_date_time($ts = 0, $lang = 'ru') {
if ($lang == 'en') {
$mon_arr = array(1 => "January ", 2 => "February ", 3 => "March ", 4 => "April ", 5 => "May ", 6 => "June ", 7 => "July ", 8 => "August ", 9 => "September ", 10 => "October ", 11 => "November ", 12 => "December");
} else if ($lang == 'kz') {
$mon_arr = array(1 => "қаңтар ", 2 => "ақпан ", 3 => "наурыз ", 4 => "сәуір ", 5 => "мамыр ", 6 => "маусым ", 7 => "шілде ", 8 => "тамыз ", 9 => "қыркүйек ", 10 => "қазан ", 11 => "қараша ", 12 => "желтоқсан");
} else {
$mon_arr = array(1 => "января", 2 => "февраля", 3 => "марта", 4 => "апреля", 5 => "мая", 6 => "июня", 7 => "июля", 8 => "августа", 9 => "сентября", 10 => "октября", 11 => "ноября", 12 => "декабря");
}
$s = date("j", $ts)." ".$mon_arr[date("n", $ts)]." ".date("Y", $ts).", ".date("H", $ts).":".date("i", $ts);;
return $s;
}
function get_name_not_ext($file_name) {
$path_parts = pathinfo($file_name);
$pos_dot = strrpos($path_parts["basename"], ".");
$name = substr($file_name, 0, $pos_dot);
return $name;
}
function my_resize($in_file, $new_name, $ext, $max_size) {
$error_code = 1;
$size = getimagesize($in_file);
$in_width = $size[0];
$in_height = $size[1];
if (!$in_width || !$in_height) {
return $error_code;
}
//echo(" Orig size:".$in_width."x".$in_height."");
if ($in_width > $max_size || $in_height > $max_size) {
if ($in_width > $in_height) {
$new_width = $max_size;
$new_height = ($new_width / $in_width) * $in_height;
} else {
$new_height = $max_size;
$new_width = ($new_height / $in_height) * $in_width;
}
} else {
//echo $in_file.">>>".$new_name;
copy($in_file, $new_name);
return 0;
/*
$new_width = $in_width;
$new_height = $in_height;
*/
}
switch($ext) {
case 'gif':
$im1 = imagecreatefromgif($in_file);
break;
case 'jpg':
$im1 = imagecreatefromjpeg($in_file);
break;
case 'png':
$im1 = imagecreatefrompng($in_file);
break;
}
//imagegif($im1,$new_name);
//$im1 = @imagecreatefromstring($in_file);
$im2 = @imagecreatetruecolor($new_width, $new_height);
if (!$im1 || !$im2) {
return $error_code;
}
$res = imagecopyresampled($im2, $im1, '0', '0', '0', '0', $new_width, $new_height, $in_width, $in_height);
if (!$res) {
return $error_code;
}
switch($ext) {
case 'gif':
imagegif($im2,$new_name);
break;
case 'jpg':
imagejpeg($im2,$new_name);
break;
case 'png':
imagepng($im2,$new_name);
break;
}
}
function my_resize_width($in_file, $new_name, $ext, $max_size, $corner_radius = false) {
$error_code = 1;
$size = getimagesize($in_file);
$in_width = $size[0];
$in_height = $size[1];
if (!$in_width || !$in_height) {
return $error_code;
}
//echo(" Orig size:".$in_width."x".$in_height."");
if ($in_width > $max_size) {
$new_width = $max_size;
$new_height = ($new_width / $in_width) * $in_height;
} else {
//echo $in_file.">>>".$new_name;
copy($in_file, $new_name);
return 0;
/*
$new_width = $in_width;
$new_height = $in_height;
*/
}
switch($ext) {
case 'gif':
$im1 = imagecreatefromgif($in_file);
break;
case 'jpg':
$im1 = imagecreatefromjpeg($in_file);
break;
case 'png':
$im1 = imagecreatefrompng($in_file);
break;
}
//imagegif($im1,$new_name);
//$im1 = @imagecreatefromstring($in_file);
if ($corner_radius) {
$endsize = $corner_radius;
$startsize = $endsize*3-1;
$arcsize = $startsize*2+1;
}
$im2 = @imagecreatetruecolor($new_width, $new_height);
if (!$im1 || !$im2) {
return $error_code;
}
$res = imagecopyresampled($im2, $im1, '0', '0', '0', '0', $new_width, $new_height, $in_width, $in_height);
if (!$res) {
return $error_code;
}
switch($ext) {
case 'gif':
imagegif($im2,$new_name);
break;
case 'jpg':
imagejpeg($im2,$new_name,85);
break;
case 'png':
imagepng($im2,$new_name);
break;
}
}
function my_resize_height($in_file, $new_name, $ext, $max_size, $corner_radius = false) {
$error_code = 1;
$size = getimagesize($in_file);
$in_width = $size[0];
$in_height = $size[1];
if (!$in_width || !$in_height) {
return $error_code;
}
//echo(" Orig size:".$in_width."x".$in_height."");
if ($in_height > $max_size) {
$new_height = $max_size;
$new_width = ($new_height / $in_height) * $in_width;
} else {
//echo $in_file.">>>".$new_name;
copy($in_file, $new_name);
return 0;
/*
$new_width = $in_width;
$new_height = $in_height;
*/
}
switch($ext) {
case 'gif':
$im1 = imagecreatefromgif($in_file);
break;
case 'jpg':
$im1 = imagecreatefromjpeg($in_file);
break;
case 'png':
$im1 = imagecreatefrompng($in_file);
break;
}
//imagegif($im1,$new_name);
//$im1 = @imagecreatefromstring($in_file);
if ($corner_radius) {
$endsize = $corner_radius;
$startsize = $endsize*3-1;
$arcsize = $startsize*2+1;
}
$im2 = @imagecreatetruecolor($new_width, $new_height);
if (!$im1 || !$im2) {
return $error_code;
}
$res = imagecopyresampled($im2, $im1, '0', '0', '0', '0', $new_width, $new_height, $in_width, $in_height);
if (!$res) {
return $error_code;
}
switch($ext) {
case 'gif':
imagegif($im2,$new_name);
break;
case 'jpg':
imagejpeg($im2,$new_name,85);
break;
case 'png':
imagepng($im2,$new_name);
break;
}
}
//Специальный ресайз, стреч по max_size_w и обрезает снизу по max_size_h
function my_resize_special($in_file, $new_name, $ext, $max_size_w, $max_size_h) {
$error_code = 1;
$size = getimagesize($in_file);
$in_width = $size[0];
$in_height = $size[1];
if (!$in_width || !$in_height) {
return $error_code;
}
//echo(" Orig size:".$in_width."x".$in_height."");
if ($in_width == $max_size_w && $in_height == $max_size_h) {
copy($in_file, $new_name);
return 0;
} else {
$new_width = $max_size_w;
$new_height = ($new_width / $in_width) * $in_height;
}
switch($ext) {
case 'gif':
$im1 = imagecreatefromgif($in_file);
break;
case 'jpg':
$im1 = imagecreatefromjpeg($in_file);
break;
case 'png':
$im1 = imagecreatefrompng($in_file);
break;
}
$im2 = @imagecreatetruecolor($new_width, $new_height);
$im3 = @imagecreatetruecolor($max_size_w, $max_size_h);
if (!$im1 || !$im2 || !$im3) {
return $error_code;
}
//Стречем сделаем нужный п ширине
$res = imagecopyresampled($im2, $im1, '0', '0', '0', '0', $new_width, $new_height, $in_width, $in_height);
if (!$res) {
return $error_code;
}
//Скопируем нужный верхний кусочек картинки отбросив нижнюю часть
$res = imagecopy($im3, $im2, 0, 0, 0, 0, $max_size_w, $max_size_h);
if (!$res) {
return $error_code;
}
$handle = fopen($new_name, 'w');
fclose($handle);
switch($ext) {
case 'gif':
imagegif($im3,$new_name);
break;
case 'jpg':
imagejpeg($im3,$new_name,85);
break;
case 'png':
imagepng($im3,$new_name);
break;
}
}
function check_input_email($email = '') {
$mes = "";
if ($email != "") {
if (!preg_match ("/(\S+)\@(\S+)\.(\S+)/",$email)) {
$mes .= "Неверный синтаксис email.";
} elseif (strchr ($email,"'") || strchr ($email,'"') || strchr ($email,"/") || strchr ($email,"&") || strchr ($email,",") || strchr ($email,";") || strchr ($email,"\\")) {
$mes .= "Запрещенный символ в строке E-mail.";
}
} else {
$mes .= "E-mail отсутствует.";
}
return $mes;
}
function is_parsed($body) {
$tree_xml = "".stripslashes($body)." ";
$xsl_file = str_replace("//", "/", $_SERVER["DOCUMENT_ROOT"]."/_symp/_xslt/_adm/head_adm.xsl");
$xsl = new DOMDocument;
$xsl->load($xsl_file);
// Load the XML source
//set_error_handler('HandleXmlError');
$xml = new DOMDocument;
$res = $xml->loadXML($tree_xml);
if (!$res) {
return false;
}
restore_error_handler();
// Configure the transformer
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl); // attach the xsl rules
$valid_html = $proc->transformToXML($xml);
if ($valid_html === false) {
return false;
} else {
return true;
}
}
/*
function HandleXmlError($errno, $errstr, $errfile, $errline) {
if ($errno==E_WARNING && (substr_count($errstr,"DOMDocument::loadXML()")>0)) {
return true;
} else {
return false;
}
}
function is_parsed($body) {
$xml = "".stripslashes($body)." ";
$xslt = "/_symp/_xslt/_adm/head_adm.xsl";
$xslt = str_replace("//", "/", $_SERVER["DOCUMENT_ROOT"] . $xslt);
$xslt_filename = basename($xslt);
$xslt_basedir = "file://".dirname($xslt)."/";
$xh = xslt_create();
xslt_set_base($xh, $xslt_basedir); // XSL Path
$arguments = array("/_xml" => $xml);
$valid_html = @xslt_process($xh, "arg:/_xml", $xslt_basedir."/".$xslt_filename, NULL, $arguments);
if ($valid_html) {
return true;
} else {
return false;
}
}
*/
/*
function mailer($to, $subject, $message) {
$message = str_replace('№', 'No', $message);
$message = str_replace('«', '«', $message);
$message = str_replace('»', '»', $message);
$message = '
'.convert_cyr_string($message,"w","k").'
';
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=KOI8-R\r\n";
$headers .= "From: ".P_HEAD_MAIL." <".P_HEAD_MAIL.">\r\n";
//print $message;
return @mail($to, convert_cyr_string($subject,"w","k"), $message, $headers);
}
*/
function mailer($to, $subject, $message) {
$message = '
'.$message.'
';
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=utf-8\r\n";
$headers .= "From: ".P_HEAD_MAIL." <".P_HEAD_MAIL.">\r\n";
//print wordwrap($message, 76, "\r\n", 0);
return @mail($to, $subject, wordwrap($message, 76, "\r\n", 0), $headers);
}
function mailer_no_wordwrap($to, $subject, $message) {
$message = '
'.$message.'
';
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=utf-8\r\n";
$headers .= "From: ".P_HEAD_MAIL." <".P_HEAD_MAIL.">\r\n";
//print wordwrap($message, 76, "\r\n", 0);
return @mail($to, $subject, $message, $headers);
}
/*
function my_chunk_split($in_str) {
$size = 75;
$out_str = "";
$start_pos = 0;
$stop_pos = 0;
while ($start_pos <= strlen($in_str)) {
$temp_str = "";
$new_size = $size;
$temp_str = substr($in_str, $start_pos, $new_size);
$space_pos = strrpos($temp_str, " ");
if ($space_num !== false) {
$new_size = $space_pos;
$temp_str = substr($in_str, $start_pos, $new_size);
}
$out_str .= $temp_str."\r\n";
$start_pos = $new_size + 1;
}
return $out_str;
}
*/
function get_x_ip() {
if (getenv('HTTP_X_FORWARDED_FOR')) {
$str_ip = getenv('HTTP_X_FORWARDED_FOR');
} else if (getenv('HTTP_X_FORWARDED')) {
$str_ip = getenv('HTTP_X_FORWARDED');
} else if (getenv('HTTP_FORWARDED_FOR')) {
$str_ip = getenv('HTTP_FORWARDED_FOR');
} else if (getenv('HTTP_FORWARDED')) {
$str_ip = getenv('HTTP_FORWARDED');
} else {
$str_ip = "";
}
return $str_ip;
}
function select_url($text, $class = '') {
$lower_text = strtolower($text);
$orign_text = $text;
if ($class){
$css = ' class="'.$css.'"';
} else {
$css = '';
}
$sfind[] = 'http://';
$sfind[] = 'ftp://';
$spec = "href=";
$efind[] = "\n";
$efind[] = "\t";
$efind[] = "\r";
$efind[] = "<"; //tag
$efind[] = " ";
$flag_find = 1;
$last_p2 = 0;
while ($flag_find == 1){
//найдем первый символ
$p1 = strlen($lower_text);
$pos = 0;
foreach($sfind as $value){
$plus_next = 0;
do {
$back = false;
$pos = strpos($lower_text, $value, $last_p2 + $plus_next);
if ($pos !== false && $pos <= $p1){
$sback = substr($lower_text, $pos-strlen($spec)-2, strlen($spec)+2);
//echo 'sback = "'.$sback.'" ';
$back = strpos($sback, $spec);
//echo 'back = '.$back.' ';
if ($back === false){
$p1 = $pos;
}
}
// echo 'back = '.$back.' ';
$plus_next = $pos - $last_p2 + 1;
} while($back !== false);
}
//echo 'p1 = '.$p1.' ';
//найдем последний символ
$p2 = strlen($lower_text);
$pos = 0;
foreach($efind as $value){
$pos = strpos($lower_text, $value, $p1);
if ($pos !== false && $pos <= $p2)
{
$p2 = $pos;
}
}
//echo 'p2 = '.$p2.' ';
if ($p1 == strlen($lower_text)){
$flag_find = 0;
} else {
$one_flag = 1;
if ($p2 == 0 || $p2 === false){
$p2 = strlen($lower_text);
}
$out_text .= substr($orign_text, $last_p2, $p1-$last_p2);
$href = substr($orign_text, $p1, $p2-$p1);
// echo 'href - '.$href.' ';
$out_text .= ''.trim($href).' ';
//$in_text = substr($in_text, $p2);
//echo $in_text.' ';
$flag_find = 1;
$last_p2 = $p2;
}
}
if ($one_flag)
{
$out_text .= substr($orign_text, $last_p2);
} else {
$out_text = $text;
}
return trim($out_text);
}
function cyr_to_en($str) {
$in_str = strtolower($str);
$in_str = str_replace("а", "a", $in_str);
$in_str = str_replace("б", "b", $in_str);
$in_str = str_replace("в", "v", $in_str);
$in_str = str_replace("г", "g", $in_str);
$in_str = str_replace("д", "d", $in_str);
$in_str = str_replace("е", "e", $in_str);
$in_str = str_replace("ё", "io", $in_str);
$in_str = str_replace("ж", "j", $in_str);
$in_str = str_replace("з", "z", $in_str);
$in_str = str_replace("и", "i", $in_str);
$in_str = str_replace("й", "ii", $in_str);
$in_str = str_replace("к", "k", $in_str);
$in_str = str_replace("л", "l", $in_str);
$in_str = str_replace("м", "m", $in_str);
$in_str = str_replace("н", "n", $in_str);
$in_str = str_replace("о", "o", $in_str);
$in_str = str_replace("п", "p", $in_str);
$in_str = str_replace("р", "r", $in_str);
$in_str = str_replace("с", "s", $in_str);
$in_str = str_replace("т", "t", $in_str);
$in_str = str_replace("у", "u", $in_str);
$in_str = str_replace("ф", "f", $in_str);
$in_str = str_replace("х", "h", $in_str);
$in_str = str_replace("ц", "c", $in_str);
$in_str = str_replace("ч", "ch", $in_str);
$in_str = str_replace("ш", "sh", $in_str);
$in_str = str_replace("щ", "sh", $in_str);
$in_str = str_replace("ъ", "", $in_str);
$in_str = str_replace("ы", "i", $in_str);
$in_str = str_replace("ь", "", $in_str);
$in_str = str_replace("э", "e", $in_str);
$in_str = str_replace("ю", "ju", $in_str);
$in_str = str_replace("я", "ja", $in_str);
return $in_str;
}
function str2mail($str) {
return '=?utf-8?B?'.base64_encode($str).'?=';
}
function replace_links($text) {
$text = ereg_replace("[a-zA-Z]+://([.]?[a-zA-Z0-9_/-])*", "\\0 ", $text);
$text = ereg_replace("(^| )(www([.]?[a-zA-Z0-9_/-])*)", "\\1\\2 ", $text);
return $text;
}
function cyr_count($in_number, $cyr_type1, $cyr_type2, $cyr_type3) {
if (intval(substr($in_number,-2,2)) >= 10 && intval(substr($in_number,-2,2)) <= 14) {
$cnt_des = 0;
} else {
$cnt_des = intval(substr($in_number,-1,1));
}
switch ($cnt_des) {
case 1:
$cnt_str = $cyr_type1;
break;
case 2:
case 3:
case 4:
$cnt_str = $cyr_type2;
break;
case 5:
case 6:
case 7:
case 8:
case 9:
case 0:
$cnt_str = $cyr_type3;
break;
default:
$cnt_str = "";
}
return $cnt_str;
}
function date_i18n($format, $timestamp, $sel_lang = 'en') {
$translation_ru = array(
"am" => "дп",
"pm" => "пп",
"AM" => "ДП",
"PM" => "ПП",
"Monday" => "Понедельник",
"Mon" => "Пн",
"Tuesday" => "Вторник",
"Tue" => "Вт",
"Wednesday" => "Среда",
"Wed" => "Ср",
"Thursday" => "Четверг",
"Thu" => "Чт",
"Friday" => "Пятница",
"Fri" => "Пт",
"Saturday" => "Суббота",
"Sat" => "Сб",
"Sunday" => "Воскресенье",
"Sun" => "Вс",
"January" => "Январь",
"Jan" => "янв",
"February" => "Февраль",
"Feb" => "фев",
"March" => "Март",
"Mar" => "мар",
"April" => "Апрель",
"Apr" => "апр",
"May" => "Май",
"May" => "Май",
"June" => "Июнь",
"Jun" => "июн",
"July" => "Июль",
"Jul" => "июл",
"August" => "Август",
"Aug" => "авг",
"September" => "Сентябрь",
"Sep" => "сен",
"October" => "Октябрь",
"Oct" => "окт",
"November" => "Ноябрь",
"Nov" => "ноя",
"December" => "Декабрь",
"Dec" => "дек",
"st" => "ое",
"nd" => "ое",
"rd" => "е",
"th" => "ое",
);
$translation_kz = array(
"am" => "тд",
"pm" => "тк",
"AM" => "ТД",
"PM" => "ТК",
"Monday" => "Дүйсенбі",
"Mon" => "Дс",
"Tuesday" => "Бейсенбі",
"Tue" => "Бс",
"Wednesday" => "Сәрсенбі",
"Wed" => "Ср",
"Thursday" => "Сейсенбі",
"Thu" => "Сс",
"Friday" => "Жұма",
"Fri" => "Жм",
"Saturday" => "Сенбі",
"Sat" => "Сн",
"Sunday" => "Жексенбі",
"Sun" => "Жк",
"January" => "қаңтар",
"Jan" => "қаң",
"February" => "ақпан",
"Feb" => "ақп",
"March" => "наурыз",
"Mar" => "нау",
"April" => "сәуір",
"Apr" => "сәу",
"May" => "мамыр",
"May" => "мамыр",
"June" => "маусым",
"Jun" => "мау",
"July" => "шілде",
"Jul" => "шіл",
"August" => "тамыз",
"Aug" => "там",
"September" => "қыркүйек",
"Sep" => "қырк",
"October" => "қазан",
"Oct" => "қаз",
"November" => "қараша",
"Nov" => "қар",
"December" => "желтоқсан",
"Dec" => "желт",
"st" => "ші",
"nd" => "ші",
"rd" => "ші",
"th" => "ші",
);
switch ($sel_lang) {
default:
return date($format, $timestamp);
break;
case 'ru':
case 'Ru':
case 'RU':
case 'rus':
case 'Rus':
case 'RUS':
return strtr(date($format, $timestamp), $translation_ru);
break;
case 'kz':
case 'Kz':
case 'Kz':
case 'kaz':
case 'Kaz':
case 'KAZ':
return strtr(date($format, $timestamp), $translation_kz);
break;
}
} // date_i18n
function date_i18n_2($format, $timestamp, $sel_lang = 'en') {
$translation_ru = array(
"am" => "дп",
"pm" => "пп",
"AM" => "ДП",
"PM" => "ПП",
"Monday" => "Понедельник",
"Mon" => "Пн",
"Tuesday" => "Вторник",
"Tue" => "Вт",
"Wednesday" => "Среда",
"Wed" => "Ср",
"Thursday" => "Четверг",
"Thu" => "Чт",
"Friday" => "Пятница",
"Fri" => "Пт",
"Saturday" => "Суббота",
"Sat" => "Сб",
"Sunday" => "Воскресенье",
"Sun" => "Вс",
"January" => "Января",
"Jan" => "янв",
"February" => "Февраля",
"Feb" => "фев",
"March" => "Марта",
"Mar" => "мар",
"April" => "Апреля",
"Apr" => "апр",
"May" => "Май",
"May" => "Май",
"June" => "Июня",
"Jun" => "июн",
"July" => "Июля",
"Jul" => "июл",
"August" => "Августа",
"Aug" => "авг",
"September" => "Сентября",
"Sep" => "сен",
"October" => "Октября",
"Oct" => "окт",
"November" => "Ноября",
"Nov" => "ноя",
"December" => "Декабря",
"Dec" => "дек",
"st" => "ое",
"nd" => "ое",
"rd" => "е",
"th" => "ое",
);
$translation_kz = array(
"am" => "тд",
"pm" => "тк",
"AM" => "ТД",
"PM" => "ТК",
"Monday" => "Дүйсенбі",
"Mon" => "Дс",
"Tuesday" => "Бейсенбі",
"Tue" => "Бс",
"Wednesday" => "Сәрсенбі",
"Wed" => "Ср",
"Thursday" => "Сейсенбі",
"Thu" => "Сс",
"Friday" => "Жұма",
"Fri" => "Жм",
"Saturday" => "Сенбі",
"Sat" => "Сн",
"Sunday" => "Жексенбі",
"Sun" => "Жк",
"January" => "қаңтар",
"Jan" => "қаң",
"February" => "ақпан",
"Feb" => "ақп",
"March" => "наурыз",
"Mar" => "нау",
"April" => "сәуір",
"Apr" => "сәу",
"May" => "мамыр",
"May" => "мамыр",
"June" => "маусым",
"Jun" => "мау",
"July" => "шілде",
"Jul" => "шіл",
"August" => "тамыз",
"Aug" => "там",
"September" => "қыркүйек",
"Sep" => "қырк",
"October" => "қазан",
"Oct" => "қаз",
"November" => "қараша",
"Nov" => "қар",
"December" => "желтоқсан",
"Dec" => "желт",
"st" => "ші",
"nd" => "ші",
"rd" => "ші",
"th" => "ші",
);
switch ($sel_lang) {
default:
return date($format, $timestamp);
break;
case 'ru':
case 'Ru':
case 'RU':
case 'rus':
case 'Rus':
case 'RUS':
return strtr(date($format, $timestamp), $translation_ru);
break;
case 'kz':
case 'Kz':
case 'Kz':
case 'kaz':
case 'Kaz':
case 'KAZ':
return strtr(date($format, $timestamp), $translation_kz);
break;
}
} // date_i18n_2
/**
* Получает инфоблоки по $const_name и возвращает в массив. Если такой константы нет, возвращает массив с одним пустым полем или с $tmp_str
* @param string $const_name Имя константы
* @param string $lang Язык блока
* @param string $tmp_str Строка, если константы нет. По умолчанию ""
* @param int $shuffle Перемешивать ли массив. По умолчанию 1
* @return array Массив со значениями
* */
function shuffle_blocks($const_name, $lang="ru", $tmp_str = "", $shuffle = 1) {
$array = array();
$infoSQL = "SELECT * FROM info_block WHERE const_name LIKE '{$const_name}' and lang = '{$lang}' and flag_delete = '0'";
$info_qRS = mysql_query($infoSQL);
if( mysql_num_rows($info_qRS) ) {
while($info_row = mysql_fetch_object($info_qRS)) {
$array[] = $info_row;
}
} else {
$array[] = $tmp_str;
}
if( $shuffle == 1 ) shuffle($array);
return $array;
}
?>
function code_password($password) {
$key = 0x32C32D1E;
return main_crypt($flag="encrypt", substr($password, 0, 20), $key);
}
function encode_password($password) {
$key = 0x32C32D1E;
return main_crypt($flag = "decrypt", $password, $key);
}
function main_crypt($flag = "encrypt", $password, $in_key) {
$key2 = 0x16FAF392;
$base = array(
0xD1310BA6, 0x98DFB5AC, 0x2FFD72DB, 0xD01ADFB7,
0x38E1AFED, 0x6A267E96, 0xBA7C9045, 0xF12C7F99,
0x24A19947, 0xB3916CF7, 0x0821F2E2, 0x858EFC16,
0x636920D8, 0x71574E69, 0xA458FEA3, 0xF4933D7E,
0x0D95748F, 0x728EB658, 0x718BCD58, 0x82154AEE,
0x7B54A41D, 0xC25A59B5, 0x9C30D539, 0x2AF26013,
0xC5D1B023, 0x286085F0, 0xCA417918, 0xB8DB38EF,
0x8E79DCB0, 0x603A180E, 0x6C9E0E8B, 0x101E8A3E);
//$key2 = ~$key2;
$i_l = ($in_key ^ $key2);
$i_r = ($in_key ^ (~$key2));
foreach($base as $k => $h) {
if ($k < 16) {
$base[$k] = ($h ^ $i_l) >> ($k % 2);
} else {
$base[$k] = ($h ^ $i_r) >> ($k % 4);
}
}
if ($flag == "encrypt") {
$arr_password = array();
for ($i = 0; $i < strlen($password); $i+=4) {
$b4 = ord($password[$i+3]) << 24;
$b3 = ord($password[$i+2]) << 16;
$b2 = ord($password[$i+1]) << 8;
$b1 = ord($password[$i]);
$arr_password[] = $b1 | $b2 | $b3 | $b4;
}
$c = 0;
$arr_res = array();
foreach($arr_password as $v) {
$arr_res[] = $v ^ $base[$c];
$c++;
if ($c == 31) $c = 0;
}
return base64_encode(serialize($arr_res));
} else if ($flag == "decrypt") {
$arr_password = unserialize(base64_decode($password));
$c = 0;
if (is_array($arr_password)) {
foreach($arr_password as $v) {
$two_chars = $v ^ $base[$c];
$res .= chr($two_chars & 0x000000FF);
if ($d = ($two_chars >> 8 & 0x000000FF)) $res .= chr($d);
if ($d = ($two_chars >> 16 & 0x000000FF)) $res .= chr($d);
if ($d = ($two_chars >> 24 & 0x000000FF)) $res .= chr($d);
$c++;
if ($c == 31) $c = 0;
}
}
return $res;
}
}
function code_password2($password) {
$key = 0x401ADFB7;
return main_crypt($flag="encrypt", substr($password, 0, 20), $key);
}
function encode_password2($password) {
$key = 0x401ADFB7;
return main_crypt($flag = "decrypt", $password, $key);
}
?>
function rubricator_is_access($rubricator_id) {
$SQL = "select flag_access from rubricator where rubricator_id='".intval($rubricator_id)."'";
$qRS = mysql_query($SQL) or die('Error: '.$SQL.' '.mysql_error());
if (mysql_num_rows($qRS)) {
$row = mysql_fetch_object($qRS);
return $row->flag_access;
} else {
return 0;
}
}
function rubricator_is_user_access($rubricator_id) {
$SQL = "select flag_user_access from rubricator where rubricator_id='".intval($rubricator_id)."'";
$qRS = mysql_query($SQL) or die('Error: '.$SQL.' '.mysql_error());
if (mysql_num_rows($qRS)) {
$row = mysql_fetch_object($qRS);
return $row->flag_user_access;
} else {
return 0;
}
}
?>
/*
remotetypograf.php
PHP-implementation of ArtLebedevStudio.RemoteTypograf class (web-service client)
Copyright (c) Art. Lebedev Studio | http://www.artlebedev.ru/
Typograf homepage: http://typograf.artlebedev.ru/
Web-service address: http://typograf.artlebedev.ru/webservices/typograf.asmx
WSDL-description: http://typograf.artlebedev.ru/webservices/typograf.asmx?WSDL
Default charset: UTF-8
Version: 1.0 (August 30, 2005)
Author: Andrew Shitov (ash@design.ru)
Example:
include "remotetypograf.php";
$remoteTypograf = new RemoteTypograf();
// $remoteTypograf = new RemoteTypograf ('Windows-1251');
print $remoteTypograf->processText ('"Вы все еще кое-как верстаете в "Ворде"? - Тогда мы идем к вам!"');
*/
class RemoteTypograf
{
var $_entityType = 4;
var $_useBr = 1;
var $_useP = 1;
var $_maxNobr = 3;
var $_encoding = 'UTF-8';
function RemoteTypograf ($encoding)
{
if ($encoding) $this->_encoding = $encoding;
}
function htmlEntities()
{
$this->_entityType = 1;
}
function xmlEntities()
{
$this->_entityType = 2;
}
function mixedEntities()
{
$this->_entityType = 4;
}
function noEntities()
{
$this->_entityType = 3;
}
function br ($value)
{
$this->_useBr = $value ? 1 : 0;
}
function p ($value)
{
$this->_useP = $value ? 1 : 0;
}
function nobr ($value)
{
$this->_maxNobr = $value ? $value : 0;
}
function processText ($text)
{
$original_text = $text;
$text = str_replace ('&', '&', $text);
$text = str_replace ('<', '<', $text);
$text = str_replace ('>', '>', $text);
$SOAPBody = '_encoding . '"?>
' . $text . '
' . $this->_entityType . '
' . $this->_useBr . '
' . $this->_useP . '
' . $this->_maxNobr . '
';
$host = 'typograf.artlebedev.ru';
$SOAPRequest = 'POST /webservices/typograf.asmx HTTP/1.1
Host: typograf.artlebedev.ru
Content-Type: text/xml
Content-Length: ' . strlen ($SOAPBody). '
SOAPAction: "http://typograf.artlebedev.ru/webservices/ProcessText"
'.
$SOAPBody;
$remoteTypograf = @fsockopen ($host, 80, $errno, $errstr, 30);
if (!$remoteTypograf) {
echo "Типограф: $errstr ($errno)"." \n";
return $original_text;
} else {
fwrite ($remoteTypograf, $SOAPRequest);
$typografResponse = '';
while (!feof ($remoteTypograf))
{
$typografResponse .= fread ($remoteTypograf, 8192);
}
fclose ($remoteTypograf);
$startsAt = strpos ($typografResponse, '') + 19;
$endsAt = strpos ($typografResponse, ' ');
$typografResponse = substr ($typografResponse, $startsAt, $endsAt - $startsAt - 1);
$typografResponse = str_replace ('&', '&', $typografResponse);
$typografResponse = str_replace ('<', '<', $typografResponse);
$typografResponse = str_replace ('>', '>', $typografResponse);
return $typografResponse;
}
}
}
?>
function pack_doc($in_page, $level_pack = 3) {
if (headers_sent() || connection_aborted()){
return $in_page;
}
if ($compress_page = gzencode($in_page, $level_pack)) {
header("Content-Encoding: gzip");
$out_page = $compress_page;
return $out_page;
} else {
return $in_page;
}
}
?>
define("LOD_QUERIES","alod__queries");
define("LOD_QUERIES_IPS","alod__queries_ips");
define("LOD_COMPANYS","alod__companies");
define("LOD_GOODS","alod__goods");
define("LOD_CATALOG","alod__catalog");
define("LOD_CITY","alod__citys");
// general functions
function declOfNum($number, $titles)
{
$cases = array (2, 0, 1, 1, 1, 2);
return $number." ".$titles[ ($number%100>4 && $number%100<20)? 2 : $cases[min($number%10, 5)] ];
}
function getCatalogs($kws) {
if (count($kws)>0) {
$sql = "SELECT id FROM ".LOD_CATALOG." WHERE name IN (";
for ($i=0; $iid;
}
return $cats;
}
}
return false;
}
function getIp() {
$ip=0;
if (!empty($_SERVER['HTTP_CLIENT_IP'])) { //check ip from share internet
$ip=$_SERVER['HTTP_CLIENT_IP'];
}
elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) { //to check ip is pass from proxy
$ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
} else {
$ip=$_SERVER['REMOTE_ADDR'];
}
return ip2long($ip);
}
function saveQuery($city, $cats, $q, $nq, $res) {
$fq = "'".addslashes($q)."'";
$fnq = "'".addslashes($nq)."'";
$catsStr = "'".implode($cats,',')."'";
$sql = 'SELECT query FROM '.LOD_QUERIES.' WHERE cityId = '.$city.' AND cats = '.$catsStr.' AND query = '.$fq;
$msql = mq($sql);
if (mnr($msql)) {
$sql = 'UPDATE '.LOD_QUERIES.' SET nquery = '.$fnq.', qres = '.$res.', qcnt = qcnt+1 WHERE cityId = '.$city.' AND cats = '.$catsStr.' AND query = '.$fq;
mq($sql);
} else {
$sql = 'INSERT INTO '.LOD_QUERIES.' (cityId, cats, query, nquery, qres) VALUES ('.$city.', '.$catsStr.', '.$fq.', '.$fnq.', '.$res.')';
mq($sql);
}
$sql = 'INSERT INTO '.LOD_QUERIES_IPS.' (ip, cityId, cats, query, nquery, qres) VALUES ('.getIp().','.$city.', '.$catsStr.', '.$fq.', '.$fnq.', '.$res.')';
mq($sql);
}
function getResult($id, $q, $sx, $i) {
$sql = "SELECT ".LOD_COMPANYS.".name as comp, ".LOD_COMPANYS.".mcu, ".LOD_GOODS.".name, ".LOD_GOODS.".price, ".LOD_GOODS.".priceOpt, ".LOD_CITY.".name as city_name FROM ".LOD_CITY.", ".LOD_GOODS." left join ".LOD_COMPANYS." on ".LOD_COMPANYS.".id = ".LOD_GOODS.".companyId WHERE ".LOD_GOODS.".id = ".$id." and ".LOD_COMPANYS.".city = ".LOD_CITY.".id";
$obj = mfo(mq($sql));
$txt = $obj->name;
$ex = $sx->BuildExcerpts(array($txt), $i, $q, array());
$ex[0] = $ex[0];
$ex[1] = $obj->comp;
$ex[2] = $obj->price;
$ex[3] = $obj->priceOpt;
$ex[4] = $obj->mcu;
$ex[5] = $obj->city_name;
return $ex;
}
function getResults($ids, $q, $sx, $index) {
$inq = "(";
for ($i=0; $iid] = $obj;
// $txts[] = $obj->name;
$txts[] = $obj->name;
}
$exts = $sx->BuildExcerpts($txts, $index, $q, array());
$i = 0;
foreach ($objs as $obj) {
// $obj->name = $exts[$i++];
$obj->name = $exts[$i++];
}
return $objs;
}
function mnr($mysql_result) {
if ($mysql_result) return mysql_num_rows($mysql_result);
else return 0;
}
function mq($sql) {
return mysql_query($sql);
}
function mfo($mysql_result) {
if ($mysql_result) {
return mysql_fetch_object($mysql_result);
}
}
function mf($mysql_result) {
return mysql_fetch_array($mysql_result);
}
function vd($vr) { // Выдает свойства объекта
echo '';
var_dump($vr);
echo ' ';
}
function gvd($vr) { // Выдает свойства объекта
ob_start();
echo '';
var_dump($vr);
echo ' ';
$retVal .= ob_get_contents();
ob_end_clean();
return $retVal;
}
function gv($var, $htmlspecicalchars = false) {
$var = $_GET[$var] ? $_GET[$var] : ($_POST[$var] ? $_POST[$var] : NULL);
if ($htmlspecicalchars)
$var = htmlspecialchars($var);
return $var;
}
function gen_sid() {
srand((double) microtime( ) * 1000000);
return substr(uniqid(rand( )).uniqid(rand( )), 0, 36);
}
function ads($data) { // Ставит у объектов, массивов или просто строк слешу перед апострофами
if (is_array($data) || is_object($data)) {
foreach($data as $k=>$v) {
$result[$k] = addslashes($v);
}
}
else {
$result = addslashes($data);
}
return $result;
}
function daysBetween($date1, $date2) { // Показывает количество дней прошедших по этим датам
$result = false;
if ($date1 && $date2) {
$d1 = explode("-", $date1);
$d2 = explode("-", $date2);
$year1 = $d1[0];
$month1 = $d1[1];
$day1 = $d1[2];
$year2 = $d2[0];
$month2 = $d2[1];
$day2 = $d2[2];
$deadline1 = mktime(0, 0, 0, $month1, $day1, $year1, 0);
$deadline2 = mktime(0, 0, 0, $month2, $day2, $year2, 0);
$result = round( ($deadline2 - $deadline1) / (60 * 60 * 24) );
}
return $result;
}
function hoursBetween($date1, $date2) { // Показывает количество часов прошедших по этим датам
$result = false;
if ($date1 && $date2) {
$d1 = explode("-", $date1);
$d2 = explode("-", $date2);
$h1 = explode(" ", $d1[2]);
$h2 = explode(" ", $d2[2]);
$d1[2] = $h1[0];
$d2[2] = $h2[0];
$h1 = explode(":", $h1[1]);
$h2 = explode(":", $h2[1]);
$year1 = $d1[0];
$month1 = $d1[1];
$day1 = $d1[2];
$hour1 = $h1[0];
$min1 = $h1[1];
$sec1 = $h1[2];
$year2 = $d2[0];
$month2 = $d2[1];
$day2 = $d2[2];
$hour2 = $h2[0];
$min2 = $h2[1];
$sec2 = $h2[2];
$deadline1 = mktime($hour1, $min1, $sec1, $month1, $day1, $year1);
$deadline2 = mktime($hour2, $min2, $sec2, $month2, $day2, $year2);
$result = round(($deadline2 - $deadline1) / (60 * 60));
}
return $result;
}
function check_email($email) { // Проверка email адреса
if (eregi('^([a-z0-9_]|\\-|\\.)+'.'@'.'(([a-z0-9_]|\\-)+\\.)+'.'[a-z0-9]{2,4}$', $email)) {
return true;
}
else {
return false;
}
}
function check_url($url) { // Проверка url
if (eregi('^(([a-z0-9_]|\\-)+\\.)+'.'[a-z0-9]{2,4}$', $url)) {
return true;
}
else {
return false;
}
}
function check_broser($braus) { // Выдает тип браузера
if (eregi("Opera", $braus))
{$broser = "Opera";}
else
if (eregi("MSIE", $braus))
{$broser = "Explorer";}
else
if (eregi("Mozilla", $braus))
$broser = "Netscape";
if($broser == '')
$broser = 'Robot';
return $broser;
}
?>
Processing.kz - Қауіпсіз сатып алу бойынша ұсыныстар
Қауіпсіз сатылым бойынша ұсыныстар Қауіпсіз сатып алу бойынша ұсыныстар Кейінгі жылдарда электрондық коммерция кең ауқымдылыққа ие болды. Ыңғайлы, пайдалы және оңай болғандықтан интернет-дүкеннен сатып алу жылдан-жылға бүкіл әлемде кең тарап сенімділікке жетті. Компьютер мен Интернетке шығатын желі болса болғаны, тауарлардың ассортименті мен қызметі шектеүсіз – антикварлық жиһаздан бастап кеңсе тауарларына дейін, тұрмыстық техникадан азық-түлікке дейін, кітаптардан бастап бүкіл әлемге туристік жолдамаларға дейін. Интернет-дүкендердегі жеңілдіктердің басқа дүкендерге қарағанда жиірек болатынын айтпағанның өзінде, көтере сату кезеңінің өзінде де кезек болмайды. Интернетте төлем тәсілдерінің көп түрлері бар. Бүкіл әлем бойынша алыстан төлеудің ең танымал және қолайлы түрінің бірі банктік карточканың көмегімен төлеу болып қалады. Интернет-дүкен алаяқтардың көздеген нысанасы екенін де ұмытпау керек. Интернетте қорықпай төлем жүргізу үшін алаяқтармен күресте технологияның кең шоғырлары қолданылады. Банктік карточкалармен операциялар жүргізуде Қауіпсіздікті жүзеге асыру үшін операция жүргізетін төлемдік шлюз бүгінгі таңда ең сенімді технология – 3-D Seсure ұстанады. Ал төлемдік шлюздің серверімен қауіпсіз қосылу үшін 128 биттік шифрленген TLS/SSL және 2048 биттік кілтпен шифрленген сертификатпен жүзеге асырылады.Интернет-дүкенде картамен төлем жасау қауіпсіз екендігін қалай білуге болады?
Төменде төлем кезінде көңіл аударатын өлшемдер тізімі келтірілген:
Анықтамалық ақпарат алу үшін заңды және нақты мекен жайы, телефоны, электронды поштасы сайтта көрсетілуі керек. Интернет-дүкеннің банктік реквизиттері. Интернет-дүкеннің беттерінде көрсетілген Verified by Visa немесе MasterCard SeсureCode логотиптері,оның «қауіпсіз төлем жүйесіне» қатысушы екенін көрсетеді. Сол себепті Visa және MasterCard банктік карталарының иелері өздерінің сатып алған заттары үшін еш қорықпай онлайн төлей алады. Процедураларды және төлем мерзімдерін, жеткізу және қате жіберген жағдайда төлемді қайтару жағдайларын сипаттау. Интернетте транзакция аяқталғанға дейін, тауарды жеткізу және қайтару тәртіптерін оқыңдар. Тауарды қайтаруға бола ма және қайтарылған тауар шығындарын кім көтеретінін біліңдер. Әдетте, толық ережелері мен жағдайлары дүкеннің веб-сайтында жарияланады. Егер олар жоқ болса, мүмкін сізге ол дүкеннен сатып алмағаныңыз жөн шығар. Интернет-дүкен туралы сын-пікірлерді оқыған артық болмайды Егер бұл сіз ойдағыдай тауар сатып алған интернет-дүкен болса, браузердің адрестік жолына, сайт адресіне артық әріп қойылмауына, «о» әрпі «0» санына ауыстырылмауына мұқият назар аударыңыз. Біздің компания ешбір жағдайда сізден картаның PIN-кодын сұрамайды, тек CVV2/CVC2 коды (сіздің картаңыздың сыртқы жағында басылған) сұрайды , ешбір жағдайда оны басқа адамдарға, оның ішінде банктің демеу қызметіне немесе біздің компания мыз ға айтпаңыз. Егер сіздің картаңыз Verified by Visa немесе MasterCard SeсureCode бағдарламасына қатысса, өзіңіздің интернет-пароліңізді құпия ұстаңыз. Ешқашан және ешкімге өз пароліңізді айтпаңыз. Егер сіз ұнатқан интернет-дүкеннің бетінде тауарды/қызметті таңдап алған болсаңыз және барлық жоғарыда айтылған өлшемдермен қанағаттансаңыз, келесі қадамыңыз төлемді дәлелдеуге көшеді.
Тамаша сатып алулар ды тілейміз!
MasterCard банктік карталарының иелері өздерінің саты п алған заттары үшін еш қорықпай онлайн төлей алады.