<?php
Error_Reporting(E_ALL & ~E_NOTICE);
/***************************************************************************
* functions.php (S-A WAP)
* -------------------
* Разработка: Антон Федорченко.
* Оптимизация под WAP: Felis.
* 2008 год
***************************************************************************/
?>
<?php
//Убирает то безобразие, которое функция htmlspecialchars() натворила с национальными символами немецкого и франц. языка
function ConvertBack($Str)
{
$Str=str_replace('&#', '&#', $Str);
return($Str);
}
//Конвертирует коды смайликов в теги img
function ConvertToSmile($Str)
{
$Smiles=array('[:)]' => 'smile1.png', '[;)]' => 'smile2.png', '[:(]' => 'smile3.png', '[v(]' => 'smile4.png', '[:o]' => 'smile5.png', '[:D]' => 'smile6.png');
foreach($Smiles as $key => $value)
$Str=str_replace($key, " <img src='{$Prefix}smiles/{$value}' width=18 height=18> ", $Str);
return($Str);
}
//Конвертирует смайлы в пробелы
function ConvertSmilesToSpaces($Str)
{
$Smiles="\[:\)\]|\[;\)\]|\[:\(\]|\[v\(\]|\[:o\]|\[:D\]";
$Str=ereg_replace($Smiles, '', $Str);
return($Str);
}
//Конвертирует специальные символы в тэги
function ConvertIntoTags($Str)
{
$Str=str_replace('[u]', '<u>', $Str);
$Str=str_replace('[/u]', '</u>', $Str);
$Str=str_replace('[b]', '<b>', $Str);
$Str=str_replace('[/b]', '</b>', $Str);
$Str=str_replace('[i]', '<i>', $Str);
$Str=str_replace('[/i]', '</i>', $Str);
$Str=str_replace('[sub]', '<sub>', $Str);
$Str=str_replace('[/sub]', '</sub>', $Str);
$Str=str_replace('[sup]', '<sup>', $Str);
$Str=str_replace('[/sup]', '</sup>', $Str);
$Str = preg_replace("/(http:\/\/[^\s]+)/", "<a href='$1' target='_blank'>$1</a>", $Str);
return $Str;
}
//разбивает слишком длинные слова на части, их длина определяется параметром $MaxWordLength
function NoLongWords($Str, $MaxWordLength)
{
$WordsArr = explode(' ', $Str);
$text = "";
for($i=0; $i < count($WordsArr); $i++)
{
$Word = $WordsArr[$i];
$Length = strlen($Word);
if($Length > $MaxWordLength)
{
$WordsCount = ceil($Length/$MaxWordLength);
for($b = 1; $b <= $WordsCount; $b++)
{
$WordPart = "";
$WordPart = substr($Word, 0, $MaxWordLength);
$Word = substr($Word, strlen($WordPart));
$text = $text.$WordPart." ";
}
} else
$text = $text.$Word." ";
}
return($text);
}
//Выводит мета тег с кодировкой в зависимости от языка
function PrintMetaCharset($Lng)
{
if(($Lng=='rus') || ($Lng=='eng') || ($Lng=='ukr'))
echo "<META HTTP-EQUIV='Content-Type' content='text/html; charset=windows-1251'>";
//elseif($Lng=='fre')
// echo "<META HTTP-EQUIV='Content-Type' content='text/html; charset=iso-8859-15' lang='fr'>";
else /* if($Lng=='ger') */
//echo "<META HTTP-EQUIV='Content-Type' content='text/html; charset=ISO-8859-1'>";
print "<META HTTP-EQUIV=\"Content-Type\" content=\"text/html; charset=ISO-8859-1\">";
}
//Выводит теги </body> and </html>, завершает выполнение скрипта
function EndPage()
{
echo "</body></html>";
exit;
}
//Осуществляет автоматический переход на динамическую страницу ($Str)
function Refresh($Str)
{
echo "<HTML><HEAD>
<META HTTP-EQUIV='Refresh' CONTENT='0; URL=index.php?page={$Str}'>
</HEAD></HTML>";
}
//Освобождает строку($Str) от тегов XML
function StripXmlTags($Str)
{
$Str=ereg_replace('<[/a-z]+>', '', $Str);
$Str=trim($Str);
return($Str);
}
//Сохраняет строку в выбранном файле (имя файла, строка, 'a'/'w' или чтение/запись)
function SaveStringInFile($FileName, $Str, $Mode)
{
$fp=fopen($FileName, $Mode);
if($fp)
{
if(flock($fp, 2))
{
fwrite($fp, $Str);
flock($fp, 3);
fclose($fp);
} else $ErrorMessage = 0;
} else $ErrorMessage = 1;
return($ErrorMessage);
}
function TranslateMonths($Date, $Lng)
{
if($Lng=='rus')
$Months=array('Jan'=>'января', 'Feb'=>'февраля', 'Mar'=>'марта', 'Apr'=>'апреля', 'May'=>'мая', 'Jun'=>'июня', 'Jul'=>'июля', 'Aug'=>'августа', 'Sep'=>'сентября','Oct'=>'октября','Nov'=>'ноября','Dec'=>'декабря');
elseif($Lng=='fre')
$Months=array('Jan'=>'janvier', 'Feb'=>'fйvrier', 'Mar'=>'mars', 'Apr'=>'avril', 'May'=>'mai', 'Jun'=>'juin', 'Jul'=>'juillet', 'Aug'=>'aoыt', 'Sep'=>'septembre','Oct'=>'octobre','Nov'=>'novembre','Dec'=>'dйcembre');
elseif($Lng=='ger')
$Months=array('Jan'=>'Januar', 'Feb'=>'Februar', 'Mar'=>'Mдrz', 'Apr'=>'April', 'May'=>'Mai', 'Jun'=>'Juni', 'Jul'=>'Juli', 'Aug'=>'August', 'Sep'=>'September','Oct'=>'Oktober','Nov'=>'November','Dec'=>'Dezember');
elseif($Lng=='dut')
$Months=array('Jan'=>'januari', 'Feb'=>'februari', 'Mar'=>'maart', 'Apr'=>'april', 'May'=>'mei', 'Jun'=>'juni', 'Jul'=>'jule', 'Aug'=>'augustus', 'Sep'=>'september','Oct'=>'oktober','Nov'=>'november','Dec'=>'december');
elseif($Lng=='spa')
$Months=array('Jan'=>'enero', 'Feb'=>'fevrero', 'Mar'=>'marzo', 'Apr'=>'abril', 'May'=>'mayo', 'Jun'=>'junio', 'Jul'=>'julio', 'Aug'=>'agosto', 'Sep'=>'septiembre','Oct'=>'oktubre','Nov'=>'noviembre','Dec'=>'diciembre');
elseif($Lng=='ukr')
$Months=array('Jan'=>'сiчня', 'Feb'=>'лютого', 'Mar'=>'березня', 'Apr'=>'квiтня', 'May'=>'травня', 'Jun'=>'червня', 'Jul'=>'липня', 'Aug'=>'серпня', 'Sep'=>'вересня','Oct'=>'жовтня','Nov'=>'листопада','Dec'=>'грудня');
elseif($Lng=='eo')
$Months=array('Jan'=>'januaro', 'Feb'=>'februaro', 'Mar'=>'marto', 'Apr'=>'aprilo', 'May'=>'majo', 'Jun'=>'junio', 'Jul'=>'julio', 'Aug'=>'aŭgusto', 'Sep'=>'septembro','Oct'=>'oktobro','Nov'=>'novembro','Dec'=>'decembro');
if($Lng != 'eng')
foreach($Months as $EngName => $Foreign)
$Date=str_replace($EngName, $Foreign, $Date);
return $Date;
}
?>