DOES NOT work $ext_indexing_dir = '../Help/'; $ext_indexing_fname = 'Index_Frame_Left.htm'; // for FL studio use only // ------------------------------------------------------- function get_sitemap_list($pageid='') // getting site pages list from sitemap.php { global $sitemap_fname, $max_line_chars; $page = array(); if (file_exists($sitemap_fname)) { $fp = fopen($sitemap_fname, 'rb' ); $fsize = filesize($sitemap_fname); if ($fsize > 0) { while ($data = fgetcsv($fp, $max_line_chars, '|')) { if(strpos($data[0], '*/ ?>')===false && strpos($data[0], '')!==false) { $page [] = $data; } } else { if(strpos($data_str, ''.$pageid)!==false) { $page = $data; } } } } fclose($fp); } } if(empty($page)) { echo "ERROR"; } return $page; } function un_esc($s) { return str_replace( array('\\\\', '\\\'', '\"'), array( '\\', '\'', '"' ), $s); } function esc($s) { return (get_magic_quotes_gpc() ? $s : str_replace( array( '\\', '\'', '"'), array('\\\\', '\\\'', '\"'), $s)); } function GFS($src,$start,$stop) { if ($start == '') $res = $src; else if (strpos($src,$start) === false) { $res = ''; return $res; } else $res = substr($src,strpos($src,$start) + strlen($start)); if (($stop != '') && (strpos($res,$stop) !== false)) $res = substr($res,0,strpos($res,$stop)); return $res; } function GFSAbi($src,$start,$stop) { $res2 = GFS($src,$start,$stop); return $start.$res2.$stop; } function GPC($content) { if(strpos($content,'')!==false) { $content = GFS($content,'',''); } elseif(strpos($content,'')!==false) $pattern = substr($content, strpos($content,'')-strpos($content,'')-strpos($content,'')+1); $content = GFS($content, $body_start_tag,''); } else { if(strpos($content,'')!==false) $pattern = substr($content, strpos($content,'')-strpos($content,'')-strpos($content,'')+1); $content = GFS($content, $body_start_tag, ''); } return $content; } function open_page($fname) { $fp = fopen($fname, "r"); $content = fread($fp, filesize($fname)); fclose($fp); $content = GPC($content); return $content; } function GT($html_output,$search_string ='') { global $sitemap_fname, $max_line_chars, $internal_use; $content = ''; $fname_buffer = ''; $search_part = ''; if(isset($_POST['id']) || isset($_GET['id'])) { $id = (isset($_POST['id'])? $_POST['id']: $_GET['id']); } if (file_exists($sitemap_fname)) { $fp = fopen($sitemap_fname, 'r' ); $fsize = filesize($sitemap_fname); if ($fsize > 0) { while ($data = fgetcsv($fp, $max_line_chars, '|')) { if(isset($id)) { if(isset($data[10]) && $data[10]==''.$id) { if(in_array($data[4], array( '136', '137', '138', '143', '144', '20'))) // Special PHP pages { $f_dir = ($data[4]=='20' ?'../'.GFS($data[1],'../','/').'/':'../documents/'); if (($data[15] == '0') &&($data[3] == '1')) // FRAMES and SUBPAGE { $fname_buffer=($data[6]=='TRUE'?$f_dir.'SUB_'.$id.'.php':$f_dir.'SUB_'.$id.'.html'); } else { $fname_buffer = ($data[6]=='TRUE'?$f_dir.$id.'.php':$f_dir.$id.'.html'); } } elseif(in_array($data[4], array('21', '130', '140'))) // shop and lister pages { $f_dir = '../'.GFS($data[1],'../','/').'/'; if (($data[15] == '0') &&($data[3] == '1')) // FRAMES and SUBPAGE { $fname_buffer = $f_dir.'SUB_'.$id.'.html'; } else { $fname_buffer = $f_dir.$id.'.html'; } } else { $fname_buffer = $data[1]; } $page_info = $data; break; } } else { if(isset($data[1]) && strpos($data[1], '.html')!==false && strpos($data[1], 'http://')===false) { $fname_buffer = $data[1]; $page_info = $data; break; } } } if(isset($id) && $fname_buffer == '') { $id = $id-1; while ($fname_buffer == '' && $id>0) { fseek($fp, 0); while ($data = fgetcsv($fp, $max_line_chars, '|')) { if(isset($data[10]) && $data[10]==''.$id) { if(in_array($data[4], array( '136', '137', '138', '143', '144', '20'))) // Special PHP pages { $f_dir = ($data[4]=='20' ?'../'.GFS($data[1],'../','/').'/':'../documents/'); if (($data[15] == '0') &&($data[3] == '1')) // FRAMES and SUBPAGE { $fname_buffer=($data[6]=='TRUE'? $f_dir.'SUB_'.$id.'.php':$f_dir.'SUB_'.$id.'.html'); } else { $fname_buffer = ($data[6]=='TRUE'? $f_dir.$id.'.php':$f_dir.$id.'.html'); } $page_info = $data; break; } elseif(in_array($data[4], array('21', '130', '140'))) // shop and lister pages { $f_dir = '../'.GFS($data[1],'../','/').'/'; if (($data[15] == '0') &&($data[3] == '1')) // FRAMES and SUBPAGE { $fname_buffer = $f_dir.'SUB_'.$id.'.html'; } else { $fname_buffer = $f_dir.$id.'.html'; } $page_info = $data; break; } elseif(isset($data[1]) && strpos($data[1], '.html')!==false && strpos($data[1], 'http://')===false) { $fname_buffer = $data[1]; $page_info = $data; break; } } } $id = $id-1; } } if($fname_buffer == '') { fseek($fp, 0); while ($data = fgetcsv($fp, $max_line_chars, '|')) { if(isset($data[1]) && strpos($data[1], '.html')!==false && strpos($data[1], 'http://')===false) { $fname_buffer = $data[1]; $page_info = $data; break; } } } } fclose($fp); } $fp = fopen($fname_buffer, "r"); $content = fread($fp, filesize($fname_buffer)); fclose($fp); if(isset($id)) { //$page_info = get_sitemap_list($id); $content = str_replace(GFS($content,'charset=','"'), $page_info[17], $content); if(strpos($content, '')!==false ) { $search_part = '
'.GFS($content,'',''); $search_part = str_replace('name="string"', 'name="string" value="'.str_replace(array('\\"', '"'), array('"', '"'), un_esc($search_string)).'"', $search_part); } } $pattern = GPC($content); if($search_part!='') $html_output = $search_part.$html_output; if($internal_use==true) { $html_output = '

Search Result

'.$html_output.'

'; $content = str_replace($pattern, $html_output, $content); } else { $content = str_replace($pattern, $html_output, $content); } $content = str_replace(GFS($content, '',''),'', $content); return $content; } function remove_html_tags($html) { $m = GFSAbi($html, ''); $result = str_replace($m, '', $html); $m = GFSAbi($result, ''); $result = str_replace($m, '', $result); $m = GFSAbi($result, ''); $result = str_replace($m, '', $result); $search_h=array ("']*?>.*?'si","'.*?'si","']*?>.*?'si","'<[/!]*?[^<>]*?>'si","'\n'","'\r\n'","'&(quot|#34);'i","'&(amp|#38);'i","'&(lt|#60);'i","'&(gt|#62);'i","'&(nbsp|#160);'i","'&(iexcl|#161);'i","'&(cent|#162);'i","'&(pound|#163);'i","'&(copy|#169);'i","'&#(d+);'e", "'.*?'si",); $replace_h=array ("","",""," ","","","\"","&","<",">"," ",chr(161),chr(162),chr(163),chr(169),"chr(\1)",""); $result = preg_replace($search_h,$replace_h,$result); return esc($result); } function remove_macros($content, $id, $fields = array()) { if($id=='136') //calendar { $result = preg_replace(array ("'%CALENDAR_OBJECT\(.*?\)%'si","'%CALENDAR_EVENTS\(.*?\)%'si", "'%CALENDAR_.*?%'si"), array ('','',''),$content); } elseif($id=='137') //blog { $result = preg_replace(array ("'%BLOG_OBJECT\(.*?\)%'si","'%BLOG_ARCHIVE\(.*?\)%'si","'%BLOG_RECENT_COMMENTS\(.*?\)%'si","'%BLOG_RECENT_ENTRIES\(.*?\)%'si","'%BLOG_CATEGORY_FILTER\(.*?\)%'si", "'%BLOG_.*?%'si"), array ('','','','','',''), $content); } elseif($id=='138') //photoblog { $result = preg_replace(array ("'%BLOG_OBJECT\(.*?\)%'si","'%BLOG_EXIF_INFO\(.*?\)%'si","'%ARCHIVE_.*?%'si","'%BLOG_.*?%'si", "'%PERIOD_.*?%'si", "'%CATEGORY_.*?%'si"), array ('','','','','',''), $content); } elseif($id=='143') //podcast { $result = preg_replace(array ("'%PODCAST_OBJECT\(.*?\)%'si","'%PODCAST_ARCHIVE\(.*?\)%'si","'%PODCAST_RECENT_COMMENTS\(.*?\)%'si","'%PODCAST_RECENT_EPISODES\(.*?\)%'si","'%PODCAST_CATEGORY_FILTER\(.*?\)%'si","'%PODCAST_OBJECT\(.*?\)%'si","'%PODCAST_.*?%'si"), array ('','','','','','',''),$content); } elseif($id=='144') //guestbook { $content = preg_replace(array ("'%GUESTBOOK_OBJECT\(.*?\)%'si","'%GUESTBOOK_ARCHIVE\(.*?\)%'si","'%GUESTBOOK_ARCHIVE_VER\(.*?\)%'si", "'%GUESTBOOK_.*?%'si"), array ('','','',''), $content); $result = str_replace(array ('%HOME_LINK%','%HOME_URL%'), array ('',''), $content); } elseif(in_array($id, array('21', '130', '140'))) //lister { $a = array_fill(0, 17, ''); $content = preg_replace(array ("'%HASH\(.*?\)%'si","'%ITEMS\(.*?\)%'si","'%SCALE\(.*?\)%'si","'%SHOP_ITEM_DOWNLOAD_LINK\(.*?\)%'si","'%SHOP_CATEGORYCOMBO\(.*?\)%'si","'%SHOP_PREVIOUS\(.*?\)%'si","'%SHOP_NEXT\(.*?\)%'si","'%LISTER_CATEGORYCOMBO\(.*?\)%'si","'%LISTER_PREVIOUS\(.*?\)%'si","'%LISTER_NEXT\(.*?\)%'si","'.*?'si","'.*?'si","''si","'.*?'si", "'.*?'si","'.*?'si", "'.*?'si","'%SHOP_.*?%'si","'%LISTER_.*?%'si", "'%SLIDESHOWCAPTION_.*?%'si"), $a, $content); $content = str_replace(array ('%ERRORS%','%IDEAL_VALID%','%QUANTITY%','%LINETOTAL%','%LINETOTAL%','%URL=Detailpage%','%CATEGORY_COUNT%','%SEARCHSTRING%'), array ('','','','','','','',''), $content); $a = array_fill(0, 40, ''); $result = str_replace(array ('','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','',''), $a, $content); if(!empty($fields)) { foreach($fields as $k=>$v) $result = str_replace('%'.$v.'%','', $result); } } $result = str_replace('%LINK_TO_ADMIN%','',$result); return $result; } function nav_bar($page, $search_string, $num_of_results, $n_pages, $l_page, $l_results, $l_from, $l_search, $id) { $body_section = ''.$l_page.' '; for($i=1; $i<=$n_pages; $i++) { if($i==$page) { $body_section .= "$i"; } else { $body_section .= ' '.($i)." "; } } $body_section .= "

"; return $body_section; } function cut_content($haystack, $needle_pos, $key_words_s, $FoundString) { if(strlen($haystack)>100) { $x = 0; $y = 50; while($needle_pos-$x>0 && substr($haystack, $needle_pos-$x-1, 1)!='.'&& substr($haystack, $needle_pos-$x-1, 1)!='!' && substr($haystack, $needle_pos-$x-1, 1)!='?') $x += 1; // $needle_pos+$y>strlen($haystack) || while( substr($haystack, $needle_pos+$y, 1)!=' ' && $needle_pos+$y>$needle_pos) $y -= 1; //// $res_block = substr($haystack, $needle_pos-$x, $x + $y); } else { $res_block = $haystack; } $res_block = preg_replace('/\b('.$key_words_s.')\b/i', ' \0 ', $res_block); $res_block = preg_replace('/\b('.$key_words_s.')\W/i', ' \0 ', $res_block); $res_block = preg_replace('/\W('.$key_words_s.')\b/i', ' \0 ', $res_block); $res_block = preg_replace('/\W('.$key_words_s.')\W/i', ' \0 ', $res_block); $res_block = $res_block.(strlen($haystack)>100? " ... ":" "); return $res_block; } function preg_pos($sPattern, $sSubject, &$FoundString, $iOffset = 0) { $FoundString = NULL; if (@preg_match($sPattern, $sSubject, $aMatches, PREG_OFFSET_CAPTURE, $iOffset) > 0) // { $FoundString = $aMatches[0][0]; return $aMatches[0][1]; } else { return false; } } function db_search($search_string, $pages_list, $language) { global $proj_languages_array, $max_line_chars; global $internal_use, $alternative_db_folder; $result_pages = array(); $search_db_fname = array(); $search_in_all = true; $fl = true; foreach($proj_languages_array as $k=>$v) // check for auto reindex { $fsize = filesize('../documents/search_db_'.($k+1).'.ezg.php'); if($fsize>0) { $fl = false; break; } } if($fl == true) { reindex(true); } if(isset($_POST['sa'])) { $search_in_all = $_POST['sa']; } elseif(isset($_GET['sa'])) { $search_in_all = $_GET['sa']; } if(strpos($search_string, '"')!==false && strpos($search_string, '"')==0 && strrpos($search_string, '"')==strlen($search_string)-1 || strpos($search_string, '\"')!==false && strpos($search_string, '\"')==0 && strrpos($search_string, '\"')==strlen($search_string)-2) { $key_words = array(substr($search_string, 1, strlen($search_string)-2)); } else { $key_words = (strpos($search_string, ' ')!==false? explode(' ', $search_string): array($search_string)); } $key_words_trimmed = array(); foreach($key_words as $k=>$v) if($v!='') $key_words_trimmed [] = trim($v); $key_words_s = implode('|', $key_words_trimmed); //--------------- if($search_in_all == true) { foreach($proj_languages_array as $k=>$v) { $search_db_fname [] = '../documents/search_db_'.($k+1).'.ezg.php'; } } else { $search_db_fname [] = '../documents/search_db_'.$language.'.ezg.php'; } if($internal_use==true) // fl only { $search_db_fname [] = '../../'.$alternative_db_folder.'/documents/search_db_1.ezg.php'; } foreach($search_db_fname as $k=>$file) { if (file_exists($file)) { $fp = fopen($file, 'r' ); $fsize = filesize($file); if ($fsize > 0) { $content = fread($fp, $fsize); fclose($fp); foreach($pages_list as $k=>$v) { $db_content = ''; $FoundString = ''; $flag = false; $page_id = str_replace('', '', $v[10]); if(strpos($content, '')!==false) { $page_info = GFS($content, '', ''); $page_title = GFS($page_info, '', ''); $page_url = GFS($page_info, '', ''); if($internal_use==true && (strpos('/flstudio7/', $file)!==false || strpos('/fl7order/', $file)!==false)) // fl only { if(strpos('/flstudio7/', $file)!==false) $page_url = str_replace('../', '../../flstudio7/', $page_url); elseif(strpos('/fl7order/', $file)!==false) $page_url = str_replace('../', '../../fl7order/', $page_url); } $page_content = GFS($page_info, '', ''); $page_content = un_esc($page_content); $db_content = GFS($page_info, '', ''); if($db_content != '') { $haystack = un_esc(urldecode($db_content)); $needle_pos = preg_pos('/\W('.$key_words_s.')\W/i', $haystack, $FoundString); //$FoundString?? while($needle_pos!==false) { $page_url_fixed = $page_url; $entry_id = GFS(substr($haystack, $needle_pos),''); $entry_data = GFS($haystack, '',''); $res_content = $entry_data; if($v[4]=='136') { $page_url_fixed .= '?event_id='.$entry_id; } elseif($v[4]=='137') { $page_url_fixed .= '?action=frontpage&entry_id='.$entry_id.'&comments=comments'; } elseif($v[4]=='138') { $page_url_fixed .= '?action=frontpage&photo_id='.$entry_id.'&comments=comments'; } elseif($v[4]=='143') { $page_url_fixed .= '&action=frontpage&entry_id='.$entry_id.'&comments=comments'; } elseif($v[4]=='144') { $page_url_fixed .= '?action=frontpage&entry_id='.$entry_id.'&comments=comments'; } elseif(in_array($v[4], array('21', '130', '140'))) { $page_url_fixed = str_replace('?action=list', '?cat='.$entry_id, $page_url_fixed); } if(!array_key_exists("$page_url_fixed" , $result_pages)) { $fixed_pos = preg_pos('/\W('.$key_words_s.')\W/i', $res_content, $FoundString); $res_content = cut_content($res_content, $fixed_pos, $key_words_s, $FoundString); $result_pages ["$page_url_fixed"] = array($page_title, $page_url_fixed, $res_content, $page_id); if($flag != true) $flag = true; } $haystack = str_replace(''.$entry_data.'', '', $haystack); $needle_pos = preg_pos('/\W('.$key_words_s.')\W/i', $haystack, $FoundString); } } if($flag==false) { $needle_pos = preg_pos('/\W('.$key_words_s.')\W/i', $page_content, $FoundString); if($needle_pos!==false) { if(!array_key_exists("$page_url" , $result_pages)) { $result_pages ["$page_url"] = array($page_title, $page_url, cut_content($page_content, $needle_pos, $key_words_s, $FoundString), $page_id); } } } } } if($internal_use==true && strpos($content, '')!==false) //FL studio only { $ext_content = GFS($content, '', ''); while(strpos($ext_content,'', ''); $page_url = GFS($page_info, '', ''); $page_content = GFS($page_info, '', ''); $page_content = un_esc($page_content); $needle_pos = preg_pos('/\W('.$key_words_s.')\W/i', $page_content, $FoundString); if($needle_pos!==false) { if(!array_key_exists("$page_url" , $result_pages)) { $result_pages ["$page_url"] = array($page_title, $page_url, cut_content($page_content, $needle_pos, $key_words_s, $FoundString), $page_url); } } $ext_content = substr($ext_content, strpos($ext_content, '$v) { if(strpos($v[10], ''.$id)!==false) { $page_info = $v; break; } } if($page_info!='') $language = array_search ($page_info[16], $proj_languages_array)+1; } if(isset($_POST['mr']) && !empty($_POST['mr'])) $num_of_results = $_POST['mr']; elseif(isset($_GET['mr'])) $num_of_results = $_GET['mr']; else $num_of_results = 10; if(isset($_POST['lr']) && !empty($_POST['lr'])) $l_results = $_POST['lr']; elseif(isset($_GET['lr'])) $l_results = $_GET['lr']; else $l_results = 'Results:'; if(isset($_POST['lp']) && !empty($_POST['lp'])) $l_page = $_POST['lp']; elseif(isset($_GET['lp'])) $l_page = $_GET['lp']; else $l_page = 'Page'; if(isset($_POST['lf']) && !empty($_POST['lf'])) $l_from = $_POST['lf']; elseif(isset($_GET['lf'])) $l_from = $_GET['lf']; else $l_from = 'from'; if(isset($_POST['ls']) && !empty($_POST['ls'])) $l_search = $_POST['ls']; elseif(isset($_GET['ls'])) $l_search = $_GET['ls']; else $l_search = 'Search'; if(isset($_GET['page'])) $page = $_GET['page']; else $page = 1; settype($page, "integer"); settype($num_of_results, "integer"); if(isset($_GET['string']) || isset($_POST['string'])) { $search_string = (isset($_POST['string'])? $_POST['string']: $_GET['string']); $search_string = un_esc(trim($search_string)); if($search_string!='') { $results = db_search($search_string, $pages_list, $language); if(empty($results)) { $body_section .= '

'.$l_results. ' '.count($results)."

"; } else { $body_section .= '

'.$l_results. ' ' .(($page-1)*$num_of_results+1).' - ' .($num_of_results*$page>count($results)?count($results) :$num_of_results*$page) .' '. $l_from.' '.count($results)."

"; if($num_of_results!=0) { $n_pages = (count($results)%$num_of_results==0? count($results)/$num_of_results: ceil(count($results)/$num_of_results)); if(count($results)>$num_of_results) { $body_section .= nav_bar($page, $search_string, $num_of_results, $n_pages, $l_page, $l_results, $l_from, $l_search, $id); } } if(count($results)>$num_of_results && $num_of_results!=0) { $results_cut = array_slice($results, ($page-1)*$num_of_results, $num_of_results); } else { $results_cut = $results; } foreach($results_cut as $k=>$v) { $body_section .= "".$v[0]."
"; $body_section .= " ".$v[2].""; $body_section .= "

"; } } } } $body_section = GT($body_section, $search_string); print $body_section; } function extract_all_records($fname, $id) { global $max_line_chars; $records = array(); clearstatcache(); if (file_exists($fname)) { $fp = fopen($fname, 'r' ); if($id=='144') { $records = ''; $fsize = filesize($fname); if ($fsize > 0){ $data = fread( $fp,$fsize); $records = GFS($data,"",""); } fclose($fp); if($records!='') { $records = format_records_in_array2($records); } } else { $last_line = "*/ ?>"; $records = array(); $php_start = fgetcsv($fp, 2048); $db_field_names = fgetcsv($fp, 2048); while ($data = fgetcsv($fp, $max_line_chars)) { if ($data[0]!=$last_line) { $records[] = format_records_in_array1($data, $db_field_names); } } fclose($fp); } } return $records; } function format_records_in_array1($value, $key) { $output = array(); foreach($key as $k=>$v) { $output[$v] = current($value); next($value); } return $output; } function format_records_in_array2($records) { $entries_array = array(); $i = 1; while (strpos($records, '')!==false) { $comments_buff = array(); $main_buffer ['id'] = $i; $record = ''. GFS($records, '', '').''; $entry_part = GFS($record, '', ''); $comments_part = GFS($record, '', ''); $entry_timetsamp = GFS ($entry_part, "", ""); while (strpos($entry_part, '<')!==false) { $element_name = GFS ($entry_part, '<', '>'); $element_value = GFS ($entry_part, "<$element_name>", ""); $main_buffer [$element_name] = $element_value; $entry_part = str_replace("<$element_name>$element_value", '',$entry_part); } $j = 1; while (strpos($comments_part, '')!==false) { $buff = array(); $comment_str = GFS($comments_part, '', ''); while (strpos($comment_str, '<')!==false) { $element_name = GFS ($comment_str, '<', '>'); $element_value = GFS ($comment_str, "<$element_name>", ""); $buff [$element_name] = $element_value; $comment_str = str_replace("<$element_name>$element_value", '',$comment_str); } $buff['entry_id'] = $entry_timetsamp; $comments_buff [] = $buff; $j++; } $main_buffer ['comments'] = $comments_buff; $entries_array [] = $main_buffer; $i++; } return $entries_array; } function reindex($auto=false) { global $proj_languages_array, $php_pages_ids, $max_line_chars, $ext_indexing_dir, $ext_indexing_fname, $internal_use; $pages_list = get_sitemap_list(); $output = ''; foreach($proj_languages_array as $kkk=>$vvv) { clearstatcache(); $search_db_fname = '../documents/search_db_'.($kkk+1).'.ezg.php'; if(file_exists($search_db_fname)) { $buffer = "$v) { $p_lang = array_search ($v[16], $proj_languages_array); $page_title = (strpos($v[0],'#')!==false && strpos($v[0],'#')==0? str_replace('#','',$v[0]): $v[0]); $id = str_replace('', '', $v[10]); if( strpos($v[1], 'http://')===false && $p_lang==$kkk && $v[6]=='FALSE' && $v[19]=='FALSE') // ignore HIDDEN in sitemap and PROTECTED { if(!in_array($v[4], $php_pages_ids)) // for NORMAL pages and PHP REQUEST pages { $fname = $v[1]; $content = open_page($fname); $content = remove_html_tags($content); $buffer .= ''.$page_title.''.$v[1].''.$content.''; } else // for special PHP pages { //------------------------------------------------- if(in_array($v[4], array( '20', '21', '130', '140'))) { $dir = '../'.GFS($v[1],'../','/').'/'; if(empty($v[9])) { $fname =($v[6]=='TRUE' && $v[4]=='20'? $dir.$id.'.php' : $dir.$id.'.html' ); } elseif(strpos($v[9], '.')===false) { $fname =($v[6]=='TRUE' && $v[4]=='20'? $dir.$v[9].'.php' : $dir.$v[9].'.html' ); } else { $fname = $dir.$v[9]; } $content = open_page($fname); $content = remove_html_tags($content); if($v[4]=='20') // online editable page { $db_part = ''; if(filesize($dir.$id.'_main.ezg')>0) { $fp = fopen($dir.$id.'_main.ezg', "r"); $db_part = fread($fp, filesize($dir.$id.'_main.ezg')); fclose($fp); } $i = 1; while(file_exists($dir.$id.'_'.$i.'.ezg')) { if(filesize($dir.$id.'_'.$i.'.ezg')>0) { $fp = fopen($dir.$id.'_'.$i.'.ezg', "r"); $add_part = fread($fp, filesize($dir.$id.'_'.$i.'.ezg')); fclose($fp); $db_part .= ' '.$add_part; } $i++; } $content .= ' '.remove_html_tags($db_part); $buffer .= ''.$page_title.''.$v[1].'' .''.$content.''; } else // lister and shop pages { $db_part = ''; $fields = array(); if(filesize($dir.$id.'_0.dat')>0) { $fp = fopen($dir.$id.'_0.dat', "r"); while ($data = fgetcsv($fp, $max_line_chars)) { $categories [] = substr($data[0], 0, strpos($data[0], '##')); } fclose($fp); } $i = 1; while(file_exists($dir.$id.'_'.$i.'.dat')) { $db_part .= ''; if(filesize($dir.$id.'_'.$i.'.dat')>0) { $fp = fopen($dir.$id.'_'.$i.'.dat', "r"); $fields = fgetcsv($fp, $max_line_chars,'|'); $t = fgetcsv($fp, $max_line_chars,'|'); while ($item_record = fgetcsv($fp, $max_line_chars,'|')) { foreach($item_record as $kk=>$vv) { if($vv!='') { $db_part .= remove_html_tags($vv).' '; } } } fclose($fp); } $db_part .= ''; $i++; } $db_part = preg_replace("'%SLIDESHOWCAPTION_.*?%'si", "", $db_part); $content = remove_macros($content, $v[4], $fields); if(in_array($v[4], array('21', '130', '140'))) { if($v[4]=='21') { $limit = 4; } elseif(in_array($v[4], array('130', '140'))) { $limit = 2; } for($i=1; $i<=$limit; $i++) { $add_content = open_page($dir.($id+$i).'.html'); $add_content = remove_html_tags($add_content); $content .= ' '.remove_macros($add_content, $v[4], $fields); } } $buffer .= ''.$page_title.''.$v[1].''.$content.''.$db_part.''.'';; } } //----------------------------------------------- elseif(in_array($v[4], array( '133'))) // subscribe { $dir = '../documents/'; if(empty($v[9])) { $fname =($v[6]=='TRUE'? $dir.$id.'.php' : $dir.$id.'.html' ); } elseif(strpos($v[9], '.')===false) { $fname =($v[6]=='TRUE'? $dir.$v[9].'.php' : $dir.$v[9].'.html' ); } else { $fname = $dir.$v[9]; } $content = open_page($fname); $content = remove_html_tags($content); $buffer .= ''.$page_title.''.$v[1].''.$content.''; } //------------------------------------------------------- elseif(in_array($v[4], array( '136', '137', '138', '143', '144'))) //blog, pblog, cal, podcast, guestbook { $dir = '../documents/'; if(empty($v[9])) { $fname =($v[6]=='TRUE'? $dir.$id.'.php' : $dir.$id.'.html' ); } elseif(strpos($v[9], '.')===false) { $fname =($v[6]=='TRUE'? $dir.$v[9].'.php' : $dir.$v[9].'.html' ); } else { $fname = $dir.$v[9]; } $content = open_page($fname); if($v[4]=='138') { $fname_arch = '../documents/'.($id+1).'.html'; //($v[6]=='TRUE'? '../documents/'.($id+1).'.php' : '../documents/'.($id+1).'.html' ); /// ???? $content .= open_page($fname_arch); } $content = remove_html_tags($content); $content = remove_macros($content, $v[4]); $db_part = ''; $dir = '../'.GFS($v[1],'../','/').'/'; if(in_array($v[4], array('137', '138', '143'))) // blog, photoblog, podcast { $entries_records = extract_all_records($dir.$id.'_db_blog_entries.ezg.php', $v[4]); if (!(empty($entries_records))) { foreach ($entries_records as $key=>$val) { if($v[4]=='143') { $db_part .= ''.remove_html_tags(urldecode($val['Title'])); if(!empty($val['Subtitle'])){ $db_part .= ' '. remove_html_tags(urldecode($val['Subtitle'])); } if(!empty($val['Author'])) { $db_part .= ' '. remove_html_tags(urldecode($val['Author'])); } if(!empty($val['Content'])) { $db_part .= ' '. remove_html_tags(urldecode($val['Content']));} $db_part .= ''; } else { $db_part .= ''.remove_html_tags(urldecode($val['Title'])); if(!empty($val['Content'])) { $db_part .= ' '.remove_html_tags(urldecode($val['Content'])); } $db_part .= ''; } } } $comments_records = extract_all_records($dir.$id.'_db_blog_comments.ezg.php', $v[4]); if (!(empty($comments_records))) { foreach ($comments_records as $key=>$val) { $m = ''; $db_part = str_replace($m, ' '.remove_html_tags(urldecode($val['Visitor'])).$m, $db_part); if(!empty($val['Comments'])) { $db_part = str_replace($m, ' '.remove_html_tags(urldecode($val['Comments'])).$m, $db_part); } } } } elseif(in_array($v[4], array('136'))) // calendar { $entries_records = extract_all_records($dir.$id.'_cal_events.ezg.php', $v[4]); if (!(empty($entries_records))) { foreach ($entries_records as $key=>$val) { $db_part .= ''.remove_html_tags(urldecode($val['Short_description'])); if(!empty($val['Details'])) { $db_part .= ' '.remove_html_tags(urldecode($val['Details'])); } if(!empty($val['Location'])) { $db_part .= ' '.remove_html_tags(urldecode($val['Location'])); } $db_part .= ''; } } } elseif(in_array($v[4], array('144'))) // guestbook { $entries_records = extract_all_records($dir.$id.'_db_guestbook.ezg.php', $v[4]); if (!(empty($entries_records))) { foreach ($entries_records as $key=>$val) { $db_part .= ''.remove_html_tags(urldecode($val['name'])); if(!empty($val['surname'])) { $db_part .= ' '.remove_html_tags(urldecode($val['surname'])); } $db_part .= ' '.remove_html_tags(urldecode($val['content'])); if(!empty($val['country'])) { $db_part .= ' '.remove_html_tags(urldecode($val['country'])); } foreach($val['comments'] as $ka=>$va) { if(!empty($va)) { $db_part .= ' '.remove_html_tags(urldecode($va['visitor'])); $db_part .= ' '.remove_html_tags(urldecode($va['comments'])); } } $db_part .= ''; } } } $buffer .= ''.$page_title.''.$v[1].''.$content.'' .''.$db_part.''.''; } } } } if($internal_use == true && $kkk==0) //FL studio only { $links = array(); $f = $ext_indexing_dir.$ext_indexing_fname; if(file_exists($f)&& filesize($f)>0) { $fp = fopen($f, 'r'); $fsize = filesize($f); $file_contents = fread($fp,$fsize); fclose($fp); while(strpos($file_contents, ''); $title = GFS($file_contents, '', ''); $links [$title] = $ext_indexing_dir.str_replace('%20', ' ', $link); $file_contents = substr($file_contents, strpos($file_contents, '"; $fp = fopen($search_db_fname, "w"); flock($fp, LOCK_EX); if (fwrite($fp, $buffer) === FALSE) { print "Cannot write to file ($search_db_fname)"; exit; } flock($fp, LOCK_UN); fclose($fp); $output = "Site Search index successfully reindexed!
"; } else { $output .= "File $search_db_fname reindex FAILED!
"; } } if($auto==false) echo GT($output); } function process() { global $version; $action_id = 'searchform'; if (isset($_GET['action'])) $action_id = $_GET['action']; else if (isset($_POST['action'])) $action_id = $_POST['action']; if ($action_id == "search") { process_search(); } elseif ($action_id == "reindex") { reindex(); } // check if ADMIN is logged to be added ??? elseif($action_id == "version") { echo $version; } } // ------------------------------------------------------- process(); ?>