JANUARY, '02' => FEBRUARY, '03' => MARCH, '04' => APRIL, '05' => MAY, '06' => JUNE, '07' => JULY, '08' => AUGUST, '09' => SEPTEMBER, '10' => OCTOBER, '11' => NOVEMBER, '12' =>DECEMBER); return ' '.$day.' '.$months[$month].', '.$year; } function part_string($str, $characters = 200){ return ($characters > mb_strlen($str, 'UTF-8')) ? $str : mb_substr($str, 0, $characters, 'UTF-8').'...'; } function set_link_class($selected_parameter, $record_id, $selected_class, $regular_class){ return $selected_parameter == $record_id ? $selected_class : $regular_class; } function check_4_image($table, $picfield, $idfield, $idvalue, $imagesdir, $is_thumb = false, $thumb_width = 100, $thumb_height = 75){ $picture = db_select_one_field($table, $picfield, " WHERE `$idfield` = $idvalue"); if($picture && $is_thumb) return URL.'site_parts/gd/thumbnail.php?directory='.$imagesdir.'&image='.$picture.'&width='.$thumb_width.'&height='.$thumb_height; else if($picture && !$is_thumb) return URL.'userfiles/'.$imagesdir.'/'.$picture; else return URL.'site_parts/gd/thumbnail.php?directory=noimage&image=noimage.jpg&width='.$thumb_width.'&height='.$thumb_height; } function check_table($table){ $res = mysql_query("SHOW TABLES"); if(!is_resource($res)) return false; while($cur_table = mysql_fetch_assoc($res)){ foreach($cur_table as $cur){ if($cur == $table) return true; } } return false; } function get_root_element($id, $table, $wanted_parent = 0){ $parent = db_select_one_field($table, 'category', "WHERE `id` = '$id'"); if($parent == $wanted_parent || $parent == 0) return $id; else{ return get_root_element($parent, $table, $wanted_parent); } } function is_child($parent, $child, $table, $par_field){ global $is_child_menu; $db_children = mysql_query("SELECT `id` FROM `$table` WHERE `$par_field` = $parent ") or die(mysql_error()); if(mysql_num_rows($db_children)){ while($cur_child = mysql_fetch_assoc($db_children)){ if($cur_child['id'] == $child){ $is_child_menu = true; } else{ is_child($cur_child['id'], $child, $table, $par_field); } } } return $is_child_menu; } function get_children($id, $table){ global $children; $db_child = mysql_query("SELECT `id` FROM `$table` WHERE `category` = $id "); if(mysql_num_rows($db_child)){ while($child = mysql_fetch_assoc($db_child)){ $children[] = $child['id']; get_children($child['id'], $table); } } return $children; } function return_menu($root, $get_parameter, $except_ids_array = false, $unique_id_name_part = 'main', $class = false, $show_all = false, $show_only_root_level = false, $seperator = false){ $selected_id = (int) $_GET[$get_parameter]; $db_menues = mysql_query("SELECT * FROM `menus` WHERE `category` = '$root' AND `active".LANG_SUFFIX."` = 1 ORDER BY `sort_id`") or die(mysql_error()); if(mysql_num_rows($db_menues)){ if($class){ $return .= wear_tags('ul','' , false, array('class' => $class), true, false); }else{ $return .= wear_tags('ul','' , false, false, true, false); } while($menu = mysql_fetch_assoc($db_menues)){ if($except_ids_array){ if(in_array($menu['id'], $except_ids_array)) continue; } $cls_i ++; $cls = ($cls_i % 2 == 0) ? 'a' : 'b'; if($seperator) $seperator_span = $cls_i == 1 ? wear_tags('span', $seperator, false, array('class' => 'first_separator')) : wear_tags('span', $seperator); $menu_link = $menu['page_name'.LANG_SUFFIX] ? URL.ROOT_DIR.$menu['page_name'.LANG_SUFFIX] : URL.ROOT_DIR.'index.php?'.$get_parameter.'='.$menu['id']; if($menu['page_name'.LANG_SUFFIX]){ $menu_link = $menu['mod_rewrite'] ? URL.ROOT_DIR.$menu['page_name'.LANG_SUFFIX].'/'.PAGE.'-1' : URL.ROOT_DIR.$menu['page_name'.LANG_SUFFIX]; }else{ $menu_link = $menu['mod_rewrite'] ? URL.ROOT_DIR.'index.php?'.$get_parameter.'='.$menu['id'].'&page=1' : URL.ROOT_DIR.'index.php?'.$get_parameter.'='.$menu['id']; } $menu_title = $menu['name'.LANG_SUFFIX]; //$menu_title = ($seperator && $cls_i != 1) ? $seperator.$menu['name'.LANG_SUFFIX] : $menu['name'.LANG_SUFFIX]; unset($GLOBALS['is_child_menu']); if($menu['id'] == $selected_id || is_child($menu['id'], $selected_id, 'menus', 'category') || $show_all){ $return .= wear_tags('li','' , false, array('class' => $cls, 'id' => 'selected'), true, false); $cur_menu_lin = wear_tags('a', $menu_title, false, array('href' => $menu_link, 'title' => $menu_title, 'class' => 'active', 'id' => 'nav_item_'.$unique_id_name_part.$menu['id'])); $return .= ($seperator) ? $seperator_span.$cur_menu_lin : $cur_menu_lin; //$return .= wear_tags('a', $menu_title, false, array('href' => $menu_link, 'title' => $menu_title, 'class' => 'active', 'id' => 'nav_item_'.$unique_id_name_part.$menu['id'])); if(!$show_only_root_level) $return .= return_menu($menu['id'], $get_parameter, $except_ids_array, $unique_id_name_part, $class, $show_all, $seperator); $return .= wear_tags('li','' , false, false, false, true); } else{ $li_a = wear_tags('a', $menu_title, false, array('href' => $menu_link, 'title' => $menu_title, 'id' => 'nav_item_'.$unique_id_name_part.$menu['id'])); $sep_stuff = ($seperator) ? $seperator_span.$li_a : $li_a; //$li_a = wear_tags('a', $menu_title, false, array('href' => $menu_link, 'title' => $menu_title, 'id' => 'nav_item_'.$unique_id_name_part.$menu['id'])); //$return .= wear_tags('li', $li_a); $return .= wear_tags('li', $sep_stuff); } } $return .= wear_tags('ul','' , false, false, false, true); } return $return; } function get_parents($id, $table){ global $parents; $db_parent = mysql_query("SELECT `category` FROM `$table` WHERE `id` = $id "); if(mysql_num_rows($db_parent)){ $parent = mysql_fetch_assoc($db_parent); $parents[] = $id; if($parent['category'] == 0) return $parents; else{ return get_parents($parent['category'], $table); } } } function bredcrumb($brc_cat, $table, $listid = 'bredcrumb'){ unset($GLOBALS['parents']); $parents = get_parents($brc_cat, $table); krsort($parents); $count = count($parents); foreach($parents as $cur){ unset($name); unset($db_name); $i++; $db_name = mysql_query("SELECT `name".LANG_SUFFIX."`, `page_name".LANG_SUFFIX."`, `mod_rewrite`, `id` FROM `$table` WHERE `id` = $cur ") or die(mysql_error()); $name = mysql_fetch_assoc($db_name); $class = $i == 1 ? 'first' : 'ordinary'; if($count == $i) $class = 'last'; $menu_link = $name['page_name'.LANG_SUFFIX] ? URL.ROOT_DIR.$name['page_name'.LANG_SUFFIX] : URL.ROOT_DIR.'index.php?'.$get_parameter.'='.$name['id']; if($name['page_name'.LANG_SUFFIX]){ $menu_link = $name['mod_rewrite'] ? URL.ROOT_DIR.$name['page_name'.LANG_SUFFIX].'/'.PAGE.'-1' : URL.ROOT_DIR.$name['page_name'.LANG_SUFFIX]; }else{ $menu_link = URL.ROOT_DIR.'index.php?'.$get_parameter.'='.$name['id']; } $a_class = $_GET['about'] == $cur ? 'active' : 'ordinary'; $cur_a = wear_tags('a', $name['name'.LANG_SUFFIX], false, array('href' => $menu_link, 'class' => $a_class)); $returned .= wear_tags('li', $cur_a, false, array('class' => $class)); } return wear_tags('ul', $returned, false, array('id' => $listid)); } function page_title($brc_cat, $table){ $db_key_descr = mysql_query("SELECT `keywords".LANG_SUFFIX."`, `htmltitle".LANG_SUFFIX."`, `page_descr".LANG_SUFFIX."` FROM `$table` WHERE `id` = $brc_cat "); $key_descr = mysql_fetch_assoc($db_key_descr); if(!$key_descr['htmltitle'.LANG_SUFFIX]){ $parents = get_parents($brc_cat, $table); krsort($parents); $count = count($parents); foreach($parents as $cur){ unset($name); unset($db_name); $i++; if($i > 1) $page_title .= ' - '; $page_title .= db_select_one_field($table, 'name'.LANG_SUFFIX, " WHERE `id` = $cur"); } if($_GET['page']){ $page = $_GET['page']; $page_title = $page_title.' ('.PAGE.' '.$page.')'; } }else $page_title = $key_descr['htmltitle'.LANG_SUFFIX]; $return['page_title'] = $page_title; $return['page_keywords'] = $key_descr['keywords'.LANG_SUFFIX]; $return['page_descrition'] = $key_descr['page_descr'.LANG_SUFFIX]; return $return; } function make_pages_simple($query, $get_param, $records_on_page, $slider){ $slider = $slider - 1; $return = array(); //query stuff $db_res = mysql_query($query) or die(mysql_error()); $number_of_dbrecords = mysql_num_rows($db_res); $page_to_go = (isset($_GET['page'])) ? $_GET['page'] : 1; $number_of_pages = ceil($number_of_dbrecords / $records_on_page); $limit_to = $records_on_page; $limit_from = (($page_to_go * $records_on_page) - $records_on_page); $return['query'] = "$query LIMIT $limit_from, $limit_to"; //bottom stuff if($number_of_pages > 1){ if($_GET['page'] > 1){ $prev_page = (int) ($_GET['page'] - 1); $pages .= wear_tags('a', FIRST, false, array('href' => $get_param.'1', 'id' => 'first', 'title' => FIRST)); $pages .= wear_tags('a', PREVIOUS, false, array('href' => $get_param.$prev_page, 'id' => 'previous', 'title' => PREVIOUS)); } //slider stuff if($number_of_pages > $slider){ $slider_half = round($slider/2); $previous_half = (($page_to_go - $slider_half) > 0) ? $page_to_go - $slider_half : 1; $next_half = (($page_to_go + $slider_half) > $number_of_pages) ? $number_of_pages : $page_to_go + $slider_half; if($previous_half == 1){ $show_from = 1; $show_to = $slider + 1; } else if($next_half == $number_of_pages){ $show_from = $number_of_pages - $slider; $show_to = $number_of_pages; } else{ $show_from = $previous_half; $show_to = $next_half; } } else{ $show_from = 1; $show_to = $number_of_pages; } for($i=$show_from;$i<=$show_to;$i++) { if($_GET['page'] == $i || (!$_GET['page'] && $i == 1) ){ $pages .= wear_tags('a', $i, false, array('href' => $get_param.$i, 'class' => 'active')); } else{ $pages .= wear_tags('a', $i, false, array('href' => $get_param.$i, 'class' => 'regular')); } } if($number_of_pages > 1 && $_GET['page'] < $number_of_pages){ $nextpage = (int) $_GET['page'] ? ($_GET['page'] + 1) : 2; $pages .= wear_tags('a', NEXT, false, array('href' => $get_param.$nextpage, 'id' => 'next', 'title' => NEXT)); $pages .= wear_tags('a', LAST, false, array('href' => $get_param.$number_of_pages, 'id' => 'last' , 'title' => NEXT)); } $pages = wear_tags('p', $pages, false, array('id' => 'pages')); $to_record = (($limit_from +$limit_to) > $number_of_dbrecords) ? $number_of_dbrecords : $limit_from +$limit_to ; $details .= RECORD.' '.($limit_from + 1).' '.TO.' '.$to_record.' '.FROM.' '.$number_of_dbrecords.' '.RECORDS.' '.IN.' '.$number_of_pages.' '.PAGES; $details = wear_tags('p', $details, false, array('id' => 'pages_details')); } $return['pages_content'] = $pages.$details; return $return; } function db_select_one_field($table, $field, $where_clause){ $db_res = mysql_query("SELECT `$field` FROM `$table` $where_clause ") or die(mysql_error()); if(mysql_num_rows($db_res)){ $res = mysql_fetch_assoc($db_res); mysql_free_result($db_res); return $res[$field]; } mysql_free_result($db_res); return false; } function send_mail($to_name, $to_email, $subject, $text_part, $html_part, $attachment = false){ require_once(PATH.'/site_parts/mail/mime.php'); require_once(PATH.'/site_parts/mail/smtp_class.php'); if(USE_PHP_MAIL){ list($message_id, $headers) = mime_mail(MAIL_FROM_NAME, MAIL_FROM_EMAIL, $to_name, $to_email, $subject, MAIL_RETURN, 'UTF-8', $text_part, $html_part, $attachment); mail($to_email, $subject, $text_part, $headers); } else{ set_time_limit(0); list($message_id, $message) = mime_mail(MAIL_FROM_NAME, MAIL_FROM_EMAIL, $to_name, $to_email, $subject, MAIL_RETURN, 'UTF-8', $text_part, $html_part, $attachment); $smtp = new smtp_send(); //$smtp->debug = true; $smtp->smtp = SMTP_SERVER; $smtp->mail_from = MAIL_FROM_EMAIL; $smtp->connect(); $smtp->hello_the_guy(); if(SMTP_USERNAME && SMTP_PASS){ $smtp->authnticate(SMTP_USERNAME, SMTP_PASS); } $smtp->mail_from(); $smtp->set_recipient($to_email); $smtp->open_data_stream(); $smtp->send_messg($message); $smtp->i_quit(); return count($smtp->errors) ? false : true; } } function get_extension($filename){ $parts = explode('.', $filename); return trim($parts[count($parts)-1]); } function encrypt_string($array){ //encrypt stuff require_once PATH.'/site_parts/encryption/protect_get.php'; $encrypted = new unique_get(); return $encrypted->add_stuff($array, ENCRYPT_STRING); } //The first one is the messages menu function sitemap($root, $not_shown = array(1)){ global $return; $db_menues = mysql_query("SELECT `id`, `name".LANG_SUFFIX."`, `page_name".LANG_SUFFIX."`, `mod_rewrite` FROM `menus` WHERE `category` = $root ORDER BY `sort_id`") or die(mysql_error()); if(mysql_num_rows($db_menues)){ while($menu = mysql_fetch_assoc($db_menues)){ if(in_array($menu['id'], $not_shown)) continue; if($menu['page_name'.LANG_SUFFIX]){ $href = $menu['mod_rewrite'] ? URL.ROOT_DIR.$menu['page_name'.LANG_SUFFIX].'/page-1' : URL.ROOT_DIR.$menu['page_name'.LANG_SUFFIX]; }else{ $href = URL.ROOT_DIR.'index.php?about='.$menu['id']; } $cur_return = wear_tags('a', $menu['name'.LANG_SUFFIX], $unpaired = false, array('href' => $href, 'title' => $menu['name'.LANG_SUFFIX])); $cur_return .= sitemap($menu['id'], $not_shown); $return_m .= wear_tags('li', $cur_return); } return wear_tags('ul', $return_m); } } function wear_tags($tag, $label, $unpaired = false, $attributes = false, $open_tag =true, $close_tag =true){ if($attributes){ foreach ($attributes as $cur_attribute_key => $cur_attribute_value){ $attributes_string .= " ".$cur_attribute_key."=\"$cur_attribute_value\""; } } if($unpaired){ return "\n".'<'.$tag.$attributes_string.' />'; }else{ if($open_tag && $close_tag){ return "\n".'<'.$tag.$attributes_string.'>'.$label.''; } elseif($open_tag){ return "\n".'<'.$tag.$attributes_string.'>'; } else{ return "\n".''; } } } function list_records($qry, $settings, $wrap = array('tag' => 'ul'), $records_wrap ='li'){ $db_all_records = mysql_query($qry); if(mysql_num_rows($db_all_records)){ while($curent_record = mysql_fetch_assoc($db_all_records)){ $i ++; $row = (($i % 2) == 0) ? 'a' : 'b'; unset($temp_return); foreach ($settings as $curent_nasted_tag){ unset($cur_return); $curent_nasted_tag = array_reverse($curent_nasted_tag); foreach($curent_nasted_tag as $curent_tag){ unset($attributes_string); if($curent_tag['attributes']){ foreach ($curent_tag['attributes'] as $cur_attribute){ unset($cur_attribute_value); if($cur_attribute['applied_function']){ if($cur_attribute['replacement']){ foreach ($cur_attribute['replacement'] as $cur_replacement_key => $cur_replacement_value){ $cur_attribute['applied_function'] = str_replace($cur_replacement_key, $curent_record[$cur_replacement_value], $cur_attribute['applied_function']); } } $attributes_string .= ' '.$cur_attribute['attribute'].'="'.eval('return '.$cur_attribute['applied_function'].';').'" '; } else{ $cur_attribute_value = $cur_attribute['value']; if($cur_attribute['replacement']){ foreach ($cur_attribute['replacement'] as $cur_replacement_key => $cur_replacement_value){ $cur_attribute_value = str_replace($cur_replacement_key, $curent_record[$cur_replacement_value], $cur_attribute_value); } } $attributes_string .= " ".$cur_attribute['attribute']."=\"$cur_attribute_value\""; } } } $opening_tag = $curent_tag['unpaired'] ? "<".$curent_tag['tag']."$attributes_string/>" : "<".$curent_tag['tag']."$attributes_string>"; $enclosing_tag = $curent_tag['unpaired'] ? "" : ""; if($curent_tag['table']){ $label = db_select_one_field($curent_tag['table'], $curent_tag['field'], " WHERE `".$curent_tag['parent_field']."` =".$curent_record[$curent_tag['label']]); $label = $curent_tag['applied_function'] ? eval('return '.$curent_tag['applied_function'].'("'.$label.'");') : $label; $cur_return = $opening_tag.$label.$cur_return.$enclosing_tag; } else{ if( $curent_tag['label_value'] == 'static'){ $label = $curent_tag['label']; } else{ $label = $curent_tag['applied_function'] ? eval('return '.$curent_tag['applied_function'].'("'.$curent_record[$curent_tag['label']].'");') : $curent_record[$curent_tag['label']]; } $cur_return = $opening_tag.$label.$cur_return.$enclosing_tag; } } $temp_return .= $cur_return; } $return .= $records_wrap ? "<".$records_wrap." class=\"$row\">".$temp_return."" : $temp_return; } if($wrap['attributes']){ foreach ($wrap['attributes'] as $attr_key => $attr_value){ $wrap_attributes_string .= " ".$attr_key."=\"".$attr_value."\" "; } } return "<".$wrap['tag']."$wrap_attributes_string> ".$return.""; } else{ $secret = array('message_code' => 14); $my_encrypted_data = encrypt_string($secret); header('Location: '.URL.ROOT_DIR.'messages/'.$my_encrypted_data); exit; } } function banner($file, $width, $height, $id, $dynamic_parameters = false){ $banner = wear_tags('param', '', true, array('name' => 'movie', 'value' => $file)); $banner .= wear_tags('param', '', true, array('name' => 'quality', 'value' => 'high')); $banner .= wear_tags('param', '', true, array('name' => 'wmode', 'value' => 'transparent')); $banner .= wear_tags('param', '', true, array('name' => 'play', 'value' => 'true')); $banner .= wear_tags('param', '', true, array('name' => 'allowscriptaccess', 'value' => 'always')); $banner .= wear_tags('param', '', true, array('name' => 'allownetworking', 'value' => 'external')); if($dynamic_parameters){ foreach($dynamic_parameters as $param_name => $param_value){ $banner .= wear_tags('param', '', true, array('name' => $param_name, 'value' => $param_value)); } } $object = wear_tags('object', $banner, false, array('width' => $width, 'height' => $height, 'data' => $file, 'type' => 'application/x-shockwave-flash')); return wear_tags('div', $object, false, array('id' => $id)); } function replace_article_parts_chars($nlet_cont){ $search = array(' & '); $replace = array('&'); return str_replace($search, $replace, $nlet_cont); } function return_article_parts($nid, $table = 'content_items', $parent_field = 'menu', $picsfolder = 'menu'){ $db_newsletter_items = mysql_query("SELECT * FROM `$table` WHERE `$parent_field` = $nid ORDER BY `sort_id`"); if(@mysql_num_rows($db_newsletter_items)){ while ($cur_nitem = mysql_fetch_assoc($db_newsletter_items)){ //dictionary $db_dict = mysql_query("SELECT * FROM `dictionary` WHERE `active` = 1"); if(@mysql_num_rows($db_dict)){ while ($word = mysql_fetch_assoc($db_dict)) { $cur_nitem['content'.LANG_SUFFIX] = str_replace($word['word'.LANG_SUFFIX], 'dict_'.$word['word'.LANG_SUFFIX].'_dict', $cur_nitem['content'.LANG_SUFFIX]); } } if($cur_nitem['template'] == 1){ $div_text = wear_tags('div', $cur_nitem['content'.LANG_SUFFIX], false, array('class' => 'content_text')); $img = wear_tags('img', '', true, array('src' => URL.'userfiles/'.$picsfolder.'/'.$cur_nitem['picture'], 'class' => 'left_floated', 'alt' => $cur_nitem['name'.LANG_SUFFIX])); $nlet_cont .= wear_tags('div', $img.$div_text, false, array('class' => 'content_item')); } if($cur_nitem['template'] == 2){ $div_text = wear_tags('div', $cur_nitem['content'.LANG_SUFFIX], false, array('class' => 'content_text')); $img = wear_tags('img', '', true, array('src' => URL.'userfiles/'.$picsfolder.'/'.$cur_nitem['picture'], 'class' => 'right_floated', 'alt' => $cur_nitem['name'.LANG_SUFFIX])); $nlet_cont .= wear_tags('div', $img.$div_text, false, array('class' => 'content_item')); } if($cur_nitem['template'] == 3){ $nlet_cont .= wear_tags('div', $cur_nitem['content'.LANG_SUFFIX], false, array('class' => 'content_text')); } if($cur_nitem['template'] == 6){ $div_text1 = wear_tags('div', $cur_nitem['content'.LANG_SUFFIX], false, array('class' => 'content_text')); $img1 = wear_tags('img', '', true, array('src' => URL.'userfiles/'.$picsfolder.'/'.$cur_nitem['picture'], 'alt' => $cur_nitem['name'.LANG_SUFFIX])); $div_text2 = wear_tags('div', $cur_nitem['content2'.LANG_SUFFIX], false, array('class' => 'content_text')); $img2 = wear_tags('img', '', true, array('src' => URL.'userfiles/'.$picsfolder.'/'.$cur_nitem['picture2'], 'alt' => $cur_nitem['name'.LANG_SUFFIX])); $div_text3 = wear_tags('div', $cur_nitem['content3'.LANG_SUFFIX], false, array('class' => 'content_text')); $img3 = wear_tags('img', '', true, array('src' => URL.'userfiles/'.$picsfolder.'/'.$cur_nitem['picture3'], 'alt' => $cur_nitem['name'.LANG_SUFFIX])); $first = wear_tags('li', $img1.$div_text1); $second = wear_tags('li', $img2.$div_text2); $third = wear_tags('li', $img3.$div_text3); $list = wear_tags('ul', $first.$second.$third, false, array('class' => 'threec_list')); $nlet_cont .= wear_tags('div', $list, false, array('class' => 'content_item')); } if($cur_nitem['template'] == 7){ $img = wear_tags('img', '', true, array('src' => URL.'userfiles/'.$picsfolder.'/'.$cur_nitem['picture'], 'alt' => $cur_nitem['name'.LANG_SUFFIX], 'class' => 'content_item_single_image')); if($cur_nitem['url']){ $img = wear_tags('a', $img, false, array('href' => $cur_nitem['url'], 'title' => $cur_nitem['name'])); } $single_imgs = wear_tags('div', $img, false, array('class' => 'single_image')); $nlet_cont .= wear_tags('div', $single_imgs, false, array('class' => 'content_item')); } if($cur_nitem['template'] == 8){ $img = wear_tags('img', '', true, array('src' => URL.'userfiles/'.$picsfolder.'/'.$cur_nitem['picture'], 'alt' => $cur_nitem['name'.LANG_SUFFIX], 'class' => 'content_item_two_images')); if($cur_nitem['url']){ $img = wear_tags('a', $img, false, array('href' => $cur_nitem['url'], 'title' => $cur_nitem['name'])); } $img2 = wear_tags('img', '', true, array('src' => URL.'userfiles/'.$picsfolder.'/'.$cur_nitem['picture2'], 'alt' => $cur_nitem['name'.LANG_SUFFIX], 'class' => 'content_item_two_images')); if($cur_nitem['url2']){ $img2 = wear_tags('a', $img2, false, array('href' => $cur_nitem['url2'], 'title' => $cur_nitem['name'])); } $two_imgs = wear_tags('div', $img.$img2, false, array('class' => 'two_floated_images')); $nlet_cont .= wear_tags('div', $two_imgs, false, array('class' => 'content_item')); } if($cur_nitem['template'] == 9){ $img = wear_tags('img', '', true, array('src' => URL.'userfiles/'.$picsfolder.'/'.$cur_nitem['picture'], 'alt' => $cur_nitem['name'.LANG_SUFFIX], 'class' => 'content_item_three_images')); if($cur_nitem['url']){ $img = wear_tags('a', $img, false, array('href' => $cur_nitem['url'], 'title' => $cur_nitem['name'])); } $img2 = wear_tags('img', '', true, array('src' => URL.'userfiles/'.$picsfolder.'/'.$cur_nitem['picture2'], 'alt' => $cur_nitem['name'.LANG_SUFFIX], 'class' => 'content_item_three_images')); if($cur_nitem['url2']){ $img2 = wear_tags('a', $img2, false, array('href' => $cur_nitem['url2'], 'title' => $cur_nitem['name'])); } $img3 = wear_tags('img', '', true, array('src' => URL.'userfiles/'.$picsfolder.'/'.$cur_nitem['picture3'], 'alt' => $cur_nitem['name'.LANG_SUFFIX], 'class' => 'content_item_three_images')); if($cur_nitem['url3']){ $img3 = wear_tags('a', $img3, false, array('href' => $cur_nitem['url3'], 'title' => $cur_nitem['name'])); } $nlet_cont .= wear_tags('div', $img.$img2.$img3, false, array('class' => 'content_item')); } if($cur_nitem['template'] == 10){ $nlet_cont .= wear_tags('div', $cur_nitem['content'], false, array('class' => 'content_item')); } if($cur_nitem['template'] == 11){ if($cur_nitem['type'] == 4) $cur_nitem['content'] = htmlspecialchars($cur_nitem['content']); $types = array(1 => 'php', 2 => 'css', 3 => 'js', 4 => 'xml', 5 => 'sql', 6 => 'shell'); $pre = wear_tags('pre', $cur_nitem['content'], false, array('class' => 'brush: '.$types[$cur_nitem['type']])); $nlet_cont .= wear_tags('div', $pre, false, array('class' => 'content_item')); } } $nlet_cont = replace_article_parts_chars($nlet_cont); return wear_tags('div', $nlet_cont, false, array('class' => 'multiple_parts_content')); } else{ return false; } } function make_dynamic_link($table, $field, $id, $static){ $name = db_select_one_field($table, $field, " WHERE `id` = ".$id); $name = replace_bad_characters($name); //$name = urlencode($name); return $static.$name.'-id'.$id; } function replace_bad_characters($name){ $name = preg_replace('#[\?\"\'\.:\(\);]+#', '', $name); $name = preg_replace('#[-_ &\+]+#', '-', $name); $name = trim($name); return strtolower_greek($name); } function strtolower_greek($name){ $alphabet = array( 'α' => 'Α', 'β' => 'Β', 'γ' => 'Γ', 'δ' => 'Δ', 'ε' => 'Ε', 'ζ' => 'Ζ', 'η' => 'Η', 'θ' => 'Θ', 'ι' => 'Ι', 'κ' => 'Κ', 'λ' => 'Λ', 'μ' => 'Μ', 'ν' => 'Ν', 'ξ' => 'Ξ', 'ο' => 'Ο', 'π' => 'Π', 'ρ' => 'Ρ', 'σ' => 'Σ', 'τ' => 'Τ', 'υ' => 'Υ', 'φ' => 'Φ', 'χ' => 'Χ', 'ψ' => 'Ψ', 'ω' => 'Ω'); foreach ($alphabet as $cur_letter_small => $cur_letter_big){ $name = str_replace($cur_letter_big, $cur_letter_small, $name); } $name = str_replace('σ-', 'ς-', $name); if(mb_substr($name, -1, 1, 'UTF-8') == "σ"){ return mb_substr($name, 0, -1, 'UTF-8').'ς'; } return strtolower($name); } function calculateValuesForSitemap(){ return array('period' => 'monthly', 'priority' => 0.5, 'updated' => db_select_special('menus', 'MAX(`updated`)', "")); } function bot_sitemap_get_link($menu_details, $lang_code, $lang_suffix, $page_number = 1){ $default_stuff = calculateValuesForSitemap(); $page_parameter = db_select_one_field('languages', 'page', " WHERE `code` = '".$lang_code."'"); $url = $menu_details['page_name'.$lang_suffix] ? URL.$lang_code.'/'.$menu_details['page_name'.$lang_suffix] : URL.$lang_code.'/'.'index.php?about='.$menu_details['id']; if($menu_details['page_name'.$lang_suffix]){ $url = $menu_details['mod_rewrite'] ? URL.$lang_code.'/'.$menu_details['page_name'.$lang_suffix].'/'.$page_parameter.'-'.$page_number : URL.$lang_code.'/'.$menu_details['page_name'.$lang_suffix]; }else{ $url = $menu_details['mod_rewrite'] ? URL.$lang_code.'/'.'index.php?about='.$menu_details['id'].'&page='.$page_number : URL.$lang_code.'/'.'index.php?about='.$menu_details['id']; } $cur_return = wear_tags('loc', $url); $cur_return .= $menu_details['updated'] ? wear_tags('lastmod', $menu_details['updated']) : wear_tags('lastmod', $default_stuff['updated']); $cur_return .= $menu_details['se_scan'] ? wear_tags('changefreq', $menu_details['se_scan']) : wear_tags('changefreq', $default_stuff['period']); $cur_return .= $menu_details['se_prior'] ? wear_tags('priority', $menu_details['se_prior']) : wear_tags('priority', $default_stuff['priority']); return wear_tags('url', $cur_return); } function bot_sitemap(){ $db_lang_result = mysql_query("SELECT `code`, `page` FROM `languages`"); if(mysql_num_rows($db_lang_result)){ $default_stuff = calculateValuesForSitemap(); while($curent_lang = mysql_fetch_assoc($db_lang_result)){ $lang_index++; $lang_code = $curent_lang['code']; $lang_suffix = $lang_index == 1 ? '' : '_'. $curent_lang['code']; $db_menues = mysql_query("SELECT `id` FROM `menus` WHERE `id` > 1") or die(mysql_error()); if(mysql_num_rows($db_menues)){ unset($return_m); while($menu = mysql_fetch_assoc($db_menues)){ //if($menu) //$url = $menu['page_name'] ? URL.$lang_code.'/'.$menu['page_name'] : URL.$lang_code.'/'.'?about='.$menu['id'] ; $menu_details = db_select_fields('menus', array('id', 'name'.$lang_suffix, 'page_name'.$lang_suffix, 'mod_rewrite', 'mod_rewrite_table', 'updated', 'se_scan', 'se_prior', 'active'.$lang_suffix, 'pages_number'), " WHERE `id` = ".$menu['id']); //if($menu_details['active'.$lang_suffix] != 1) continue; if(!$menu_details['name'.$lang_suffix]) continue; $return_m .= bot_sitemap_get_link($menu_details, $lang_code, $lang_suffix); if($menu_details['mod_rewrite']){ $default_pages_number = get_number_of_pages($menu_details['id']); if($menu_details['mod_rewrite_table'] == 'articles') $query = "SELECT * FROM `articles` WHERE `category` =".$menu_details['id']; else if($menu_details['mod_rewrite_table'] == 'news') $query = "SELECT * FROM `news` "; else if($menu_details['mod_rewrite_table'] == 'faq') $query = "SELECT * FROM `faq` "; else $query = "SELECT * FROM `".$menu_details['mod_rewrite_table']."` WHERE `category` =".$menu_details['id']; $db_res = mysql_query($query) or die(mysql_error()); $number_of_dbrecords = mysql_num_rows($db_res); $number_of_pages = ceil($number_of_dbrecords / $default_pages_number); if($number_of_pages){ for($i=2; $i <= $number_of_pages; $i++){ $return_m .= bot_sitemap_get_link($menu_details, $lang_code, $lang_suffix, $i); } } if($number_of_dbrecords){ while($cur_rec = mysql_fetch_assoc($db_res)){ $dyn_page_name = db_select_one_field('menus', 'page_name'.$lang_suffix, " WHERE `id` =".$menu_details['id']); if($dyn_page_name){ $url = make_dynamic_link($menu_details['mod_rewrite_table'], 'name'.$lang_suffix, $cur_rec['id'], URL.$lang_code.'/'.$dyn_page_name.'/'); }else $url = URL.$lang_code.'/index.php?about='.$menu_details['id'].'&id='.$cur_rec['id']; $cur_record_details = wear_tags('loc', $url); $cur_record_details .= $menu_details['updated'] ? wear_tags('lastmod', $menu_details['updated']) : wear_tags('lastmod', $default_stuff['updated']); $cur_record_details .= $menu_details['se_scan'] ? wear_tags('changefreq', $menu_details['se_scan']) : wear_tags('changefreq', $default_stuff['period']); $cur_record_details .= $menu_details['se_prior'] ? wear_tags('priority', $menu_details['se_prior']) : wear_tags('priority', $default_stuff['priority']); $return_m .= wear_tags('url', $cur_record_details); } } } } $return .= $return_m; } } } $urlset_attributes = array('xmlns' => 'http://www.sitemaps.org/schemas/sitemap/0.9'); return wear_tags('urlset', $return, false, $urlset_attributes); } function get_number_of_pages($menu_id){ $default_pages_number = db_select_one_field('menus', 'pages_number', " WHERE `id` = $menu_id"); if(!$default_pages_number) $default_pages_number = DEFAULT_PAGES_NUMBER; if(!$default_pages_number) $default_pages_number = 10; return $default_pages_number; } function return_random_banner($selected_category, $target_id, $banner_width, $banner_height, $id){ //Determine the banner group $banners_group = db_select_one_field('menus', 'banners', " WHERE `id` =".$selected_category); if(!$banners_group){ $root_of_the_selected = get_root_element($selected_category, 'menus'); if($root_of_the_selected != $selected_category){ //Banner group for the root $banners_group = db_select_one_field('menus', 'banners', " WHERE `id` =".$selected_category); } if(!$banners_group){ //Default banner group $banners_group = db_select_one_field('banner_groups', 'id', " ORDER BY `sort_id` LIMIT 1"); } } if($banners_group){ $banners = db_select_one_field('banner_groups', 'bt_'.$target_id, " WHERE `id` =".$banners_group); if($banners){ $banners_array = explode(';', $banners); if(count($banners_array)){ foreach ($banners_array as $cur_bann){ if($cur_bann){ $db_cur_bann_details = mysql_query("SELECT `banner".LANG_SUFFIX."` AS `banner_file` FROM `banners` WHERE `id` = $cur_bann"); $cur_bann_details = mysql_fetch_assoc($db_cur_bann_details); $cur_target_container[] = $cur_bann_details['banner_file']; } } } } } //$targets contains our banners: //print_r($targets[1]); $max_banners = count($cur_target_container); if($max_banners && $max_banners == 1){ $random_banner = 0; } else{ $random_banner = rand(0, $max_banners - 1); } return banner(URL.'userfiles/banners/'.$cur_target_container[$random_banner], $banner_width, $banner_height, $id); } function db_select_special($table, $stuff_to_select, $where_clause){ $db_res = mysql_query("SELECT $stuff_to_select FROM `$table` $where_clause ") or die(mysql_error()); if(mysql_num_rows($db_res)){ $res = mysql_fetch_assoc($db_res); mysql_free_result($db_res); return $res[$stuff_to_select]; } mysql_free_result($db_res); return false; } function array_to_db_string($children){ foreach ($children as $curent_child){ if($curent_child){ //$ret_string .= $ret_string ? ', `'.$curent_child.'`' : ' `'.$curent_child.'`'; $ret_string .= $ret_string ? ', '.$curent_child : $curent_child; } } return $ret_string; } function db_select_fields($table, $fields, $where_clause){ if(@is_array($fields)){ $fields_string = array_to_db_string($fields); }else if($fields == '*'){ $fields_string = '*'; }else return false; $db_res = mysql_query("SELECT $fields_string FROM `$table` $where_clause ") or die(mysql_error()); if(mysql_num_rows($db_res)){ $res = mysql_fetch_assoc($db_res); mysql_free_result($db_res); return $res; } mysql_free_result($db_res); return false; } function get_url_by_id($id){ $menu = db_select_fields('menus', array('id', 'page_name'.LANG_SUFFIX, 'mod_rewrite'), " WHERE `id` = '$id'"); $menu_link = $menu['page_name'.LANG_SUFFIX] ? URL.ROOT_DIR.$menu['page_name'.LANG_SUFFIX] : URL.ROOT_DIR.'index.php?about='.$menu['id']; if($menu['page_name'.LANG_SUFFIX]){ $menu_link = $menu['mod_rewrite'] ? URL.ROOT_DIR.$menu['page_name'.LANG_SUFFIX].'/'.PAGE.'-1' : URL.ROOT_DIR.$menu['page_name'.LANG_SUFFIX]; }else{ $menu_link = URL.ROOT_DIR.'index.php?about='.$menu['id']; } return $menu_link; } function browser_info($agent=null) { // Declare known browsers to look for $known = array('msie', 'firefox', 'safari', 'webkit', 'opera', 'netscape', 'konqueror', 'gecko'); // Clean up agent and build regex that matches phrases for known browsers // (e.g. "Firefox/2.0" or "MSIE 6.0" (This only matches the major and minor // version numbers. E.g. "2.0.0.6" is parsed as simply "2.0" $agent = strtolower($agent ? $agent : $_SERVER['HTTP_USER_AGENT']); $pattern = '#(?' . join('|', $known) . ')[/ ]+(?[0-9]+(?:\.[0-9]+)?)#'; // Find all phrases (or return empty array if none found) if (!preg_match_all($pattern, $agent, $matches)) return array(); // Since some UAs have more than one phrase (e.g Firefox has a Gecko phrase, // Opera 7,8 have a MSIE phrase), use the last one found (the right-most one // in the UA). That's usually the most correct. $i = count($matches['browser'])-1; return array($matches['browser'][$i] => $matches['version'][$i]); } function check_browser_compatibility($browser_details){ //We supprt: IE >= 7, FF >= 3.5, Safari >= 3.1, Opera >= 10, Chrome >= 4 if($browser_details['firefox'] && $browser_details['firefox'] < 3.5) return false; if($browser_details['msie'] && $browser_details['msie'] < 7.0) return false; if($browser_details['opera'] && $browser_details['opera'] < 9.80) return false; if($browser_details['safari'] && $browser_details['safari'] < 525.13) return false; return true; } function get_first_child($parent){ return db_select_one_field('menus', 'id', " WHERE `category` = $parent ORDER BY `sort_id`"); } function get_first_child_link($parent){ $childid = db_select_one_field('menus', 'id', " WHERE `category` = $parent ORDER BY `sort_id`"); return get_url_by_id($childid); } function cut_string($string){ $exploaded_string = explode(' ', $string); $count = floor(count($exploaded_string) / 2); if(count($exploaded_string) > 1){ for($i = 0; $i <= ($count - 1); $i++){ $first_part .= $i == 0 ? $exploaded_string[$i] : ' '.$exploaded_string[$i]; } for($i; $i <= count($exploaded_string); $i++){ $second_part .= ' '.$exploaded_string[$i]; } return array('first' => $first_part, 'second' => $second_part); }else return array('first' => $string, 'second' => ''); } function multiple_choices_to_string($options_string, $table, $field_name){ $options = explode(';', $options_string); foreach ($options as $cur_option){ if($cur_option){ $name = db_select_one_field($table, $field_name, " WHERE `id` = $cur_option"); $return_string .= $return_string ? ', '.$name : $name; } } return $return_string; } function get_languages(){ $db_lang = mysql_query("SELECT * FROM `languages`"); $languages_template = LANG == 'el' ? file_get_contents(PATH.'templates/languages/english.html') : file_get_contents(PATH.'templates/languages/greek.html'); if(mysql_num_rows($db_lang)){ while ($language = mysql_fetch_assoc($db_lang)){ $lang_suffix = $language['id'] == 1 ? '' : '_'.$language['code']; $menu = db_select_fields('menus', array('id', 'page_name'.$lang_suffix, 'mod_rewrite', 'mod_rewrite_table', 'mod_rewrite_field'), " WHERE `id` = '".SELECTED_MENU."'"); $menu_link = $menu['page_name'.$lang_suffix] ? URL.$language['code'].'/'.$menu['page_name'.$lang_suffix] : URL.$language['code'].'/index.php?about='.$menu['id']; if($tempurl = ignore_get_parameters(array('about'))){ if($_GET['page'] && $menu['mod_rewrite']){ $url = URL.$language['code'].'/'.$menu['page_name'.$lang_suffix].'/'.$language['page'].'-1'; } else if($_GET['id'] && $menu['mod_rewrite']){ $rec_id = (int) $_GET['id']; list($page_name, $rec_table, $rec_field) = array($menu['page_name'.$lang_suffix], $menu['mod_rewrite_table'], $menu['mod_rewrite_field']); $check_field = db_select_one_field($rec_table, $rec_field.$lang_suffix, " WHERE `id` = $rec_id "); if($check_field){ $url = make_dynamic_link($rec_table, $rec_field.$lang_suffix, $rec_id, URL.$language['code'].'/'.$page_name.'/'); }else{ $url = make_dynamic_link($rec_table, $rec_field, $rec_id, URL.$language['code'].'/'.$page_name.'/'); } }else{ $url = URL.$language['code'].'/index.php?about='.SELECTED_MENU.'&'.$tempurl; } }else{ $url = $menu['page_name'.$lang_suffix] ? URL.$language['code'].'/'.$menu['page_name'.$lang_suffix] : $url = URL.$language['code'].'/index.php?about='.$menu['id']; } $class = ($language['code'] == LANG) ? 'active' : 'regular'; $lang_a = wear_tags('a', $language['menu_name'], false, array('href' => $url, 'title' => $language['name'], 'class' => $class, 'id' => $language['code'])); $languages_template = str_replace('{'.$language['code'].'}', $lang_a, $languages_template); } } return $languages_template; } function ignore_get_parameters($ignored_parameters){ $exploaded_params = explode('&', $_SERVER['QUERY_STRING']); if(count($exploaded_params)){ foreach ($exploaded_params as $cur_param) { list($inner_key, $inner_value) = explode('=', $cur_param); if($inner_key && $inner_value && !in_array($inner_key, $ignored_parameters)){ $i++; $final_param .= ($i > 1) ? '&'.$inner_key.'='.$inner_value : $inner_key.'='.$inner_value; } } } return $final_param; } function file_size($size){ $filesizename = array(" Bytes", " KB", " MB", " GB", " TB", " PB", " EB", " ZB", " YB"); return $size ? round($size/pow(1024, ($i = floor(log($size, 1024)))), 2) . $filesizename[$i] : '0 Bytes'; } function str_2_float($str){ return floatval($str); } function encrypt($str){ return base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, md5(ENCRYPT_STRING), $str, MCRYPT_MODE_CBC, md5(md5(ENCRYPT_STRING)))); } function decrypt($str){ return trim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256, md5(ENCRYPT_STRING), base64_decode($str), MCRYPT_MODE_CBC, md5(md5(ENCRYPT_STRING)))); } function getIp(){ 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 $ip; } function get_language_stuff(){ $lang_id = (int) $_SESSION['lang_id'] ? $_SESSION['lang_id'] : 1; return db_select_fields('languages', '*', " WHERE `id` = $lang_id"); } function db_query($query, $connection){ $db_result = mysql_query($query, $connection) or die(mysql_error($connection)); if(@mysql_num_rows($db_result)){ $returned_array = array(); $current_array = array(); while ($curent_record = mysql_fetch_assoc($db_result)){ unset($current_array); foreach ($curent_record as $key => $value){ $current_array[$key] = $value; } $returned_array[] = $current_array; } return $returned_array; }else return false; } ?>