<?
function ReadTemplate($parse,$template)
{
global $manlix;
$content=null;
$ReadFile=fopen($manlix['dir']['templates']."/".$parse."/".$template,"r");
while(!feof($ReadFile))
$content.=fread($ReadFile,filesize($manlix['dir']['templates']."/".$parse."/".$template));
return htmlspecialchars($content);
}
function manlix_even($string)
{
if(!($string%2))
return 1;
}
function description($section,$key)
{
$array=array(
'dir' => array(
'Description' => 'папки',
'path' => 'путь до папки скрипта',
'inc' => 'системная папка скрипта',
'templates' => 'папка с шаблонами'
),
'file' => array(
'Description' => 'файлы',
'data' => 'созданая база после индексации',
'functions' => 'функции',
'password' => 'пароль'
),
'other' => array(
'Description' => 'Рпазное',
'MaxChars' => 'кол-во символов при выводе результата',
'MaxShow' => 'кол-во результатов на одной странице',
'MaxPages' => 'кол-во страниц в навигации',
'untitled' => 'если у страницы нет названия',
'NotAllowed' => 'файлы и папки, в которых есть эти значения - не индексируются (через пробел и только латинские буквы с цифрами, числами и знаком подчёркивания)'
),
'error' => array(
'Description' => 'ошибки',
'EmptyQuery' => 'пустой запрос',
'EmptyQueryAfterStrip' => 'пустой запрос после удаления спец. символов',
'NoFound' => 'ничего не найдено'
),
'template'=> array(
'Description' => 'шаблон',
'parse' => 'текущий шаблон'
),
'templates'=> array(
'Description' => 'имена файлов, который входят в шаблон',
'top' => 'верхушка',
'bottom' => 'низ',
'result' => 'результат',
'form' => 'форма для начала поиска',
'error' => 'ошибка',
'loading' => 'идёт поиск',
'stat' => 'информация о запросе',
'navigation' => 'навигация по страницам'
),
'color' => array(
'Description' => 'цвета',
'CurrentPage' => 'цвет текущей страницы в навигации',
'NotActive' => 'цвет неактивных указателей в навигации'
),
'script' => array(
'Description' => 'дополнительно',
'name' => 'имя скрипта',
'prefix' => 'префикс',
'russian' => 'по-русски',
'version' => 'версия',
'info' => 'информация'
)
);
if(!empty($array[$section]['Description'])&&empty($key)) return ucfirst($array[$section]['Description']);
if(!empty($array[$section][$key])) return ucfirst($array[$section][$key]);
else return 0;
}
function ParseTemplate($TemplateName)
{
global $manlix;
$TemplateFile=manlix_read_file($manlix['dir']['templates'].chr(47).$manlix['template']['parse'].chr(47).$TemplateName);
while(list($line,$string)=each($TemplateFile))
{
$string=ConstantS($string);
echo $string;
}
}
function ConstantS($string)
{
return preg_replace_callback("/@([[:alpha:]]+)@/","ConstantR",$string);
}
function ConstantR($array)
{
global $manlix;
if(!empty($manlix['other'][$array[1]]))
$string=$manlix['other'][$array[1]];
else
$string=null;
return $string;
}
function manlix_stripslashes($string)
{
if(empty($string)) return false;
else
{
$result=ereg_replace(" +"," ",trim(stripslashes(stripslashes(addslashes($string)))));
if(!$result) return false;
elseif($result!=" ") return $result;
}
}
function manlix_char_generator($chars,$times)
{
if(!strlen($chars)) return false;
elseif(!is_numeric($times)) return false;
else
{
$result=null;
for($i=0;$i<$times;$i++)
$result.=$chars[rand(0,strlen($chars)-1)];
}
return $result;
}
function manlix_strip_new_line($string)
{
return preg_replace("/(".chr(9)."|".chr(10)."|".chr(11)."|".chr(12)."|".chr(13).")/",chr(32),$string);
}
function manlix_read_file($path)
{
if(!is_file($path)) return false;
elseif(!filesize($path)) return array();
elseif($array=file($path)) return $array;
else
while(!$array=file($path))sleep(1);
return $array;
}
function manlix_time()
{
list($x,$y)=explode(" ",microtime());
return $x+$y;
}
function manlix_array_navigation
(
$array, $show_strings,
$max_show_pages, $link,
$page, $left_symbol,
$right_symbol, $color_left_right,
$color_other_pages, $color_current_page,
$color_href_double_active, $color_href_single_active,
$separator
)
{
global $manlix_array_navigation;
if(!is_array($array))
$manlix_array_navigation = "Для работы с этой функцией не найден массив";
elseif(empty($array))
$manlix_array_navigation = "Вы не указали массив для работы с функцией";
else
{
if(!is_numeric($show_strings))
$show_strings=10;
if(!is_numeric($max_show_pages))
$max_show_pages=10;
if(empty($link))
$link="?page=";
if(!is_numeric($page))
$page= "1";
if(empty($left_symbol))
$left_symbol="<";
if(empty($right_symbol))
$right_symbol= ">";
if(empty($separator))
$separator=" ";
$count=count($array);
$all_pages=ceil($count/$show_strings);
if (!is_numeric($page)||$page<1||empty($page))
$page=1;
if($page>$all_pages)
$page=$all_pages;
if(($page+$max_show_pages)<=$all_pages)
{
$start=$page;
$finish=$page+$max_show_pages;
}
if(($page+$max_show_pages)>=$all_pages)
{
$start=$all_pages-$max_show_pages;
$finish=$all_pages;
}
if(!isset($pages))
$pages=null;
if(!isset($navigation))
$navigation=null;
if(!isset($show_string))
$show_string=null;
for($i=$start;$i<$finish+1;$i++)
{
if($i>0)
{
if ($i>0&&$i<10)
$link_i = "0".$i;
if($i>9)
$link_i=$i;
if($i==$page)
$pages.=" $separator<font color='$color_current_page'>$link_i</font> $separator ";
else
$pages.=" $separator<a href='".$link."".$i."'><font color='$color_other_pages'>$link_i</font></a>$separator ";
}
}
if($page>2)
$navigation = "<a href='".$link."1'><font color='$color_href_double_active'>".$left_symbol."".$left_symbol."</font></a> ";
else
$navigation.="<font color='$color_left_right'>".$left_symbol."".$left_symbol."</font> ";
if(($page-1)>0&&($page-1)<=$all_pages)
$navigation.="<a href='$link".($page-1)."'><font color='$color_href_single_active'>$left_symbol</font></a> ";
else
$navigation.="<font color='$color_left_right'>$left_symbol</font> ";
$navigation.=$pages;
if(empty($pages))
{
$navigation.= "<font color='$color_current_page'>01</font>";
$all_pages=1;
$page=1;
}
if(($page+1)<=$all_pages)
$navigation .= " <a href='$link".($page + 1)."'><font color='$color_href_single_active'>$right_symbol</font></a>";
else
$navigation .= " <font color='$color_left_right'>$right_symbol</font>";
if($page<$all_pages-1)
$navigation .= " <a href='".$link."".$all_pages."'><font color='$color_href_double_active'>".$right_symbol."".$right_symbol."</font></a>";
else
$navigation.=" <font color='$color_left_right'>".$right_symbol."".$right_symbol."</font>";
$start=$page*$show_strings-$show_strings;
$finish=$page*$show_strings;
if($page==$all_pages)
$finish = $count;
if($count<=$show_string)
{
$start=0;
$finish=$count;
}
for($i=$start;$i<$finish;$i++)
{
list($string)=explode("\r\n",$array[$i]);
if($i<$count)
$result_strings[]=$string;
}
$manlix_array_navigation = array(
'all_strings' => $array,
'count_all_strings' => $count,
'all_pages' => $all_pages,
'current_page' => $page,
'start_string' => $start,
'finish_string' => $finish,
'result_strings' => $result_strings,
'count_result_strings' => count($result_strings),
'navigation' => $navigation
);
return $navigation;
}
}
?>