Просмотр файла functions.php

Размер файла: 6.65Kb
<?php
Error_Reporting(E_ALL & ~E_NOTICE);
/***************************************************************************
 *                     functions.php  (S-A WAP)
 *                            -------------------
 *      Разработка: Антон Федорченко.
 *      Оптимизация под WAP: Felis.
 *          2008 год
 ***************************************************************************/
?>
<?php

  //Убирает то безобразие, которое функция htmlspecialchars() натворила с национальными символами немецкого и франц. языка
	function ConvertBack($Str)
	{
	 $Str=str_replace('&amp;#', '&#', $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&#365;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;
  }
?>