[ PHPXref.com ] [ Generated: Sun Jul 20 20:11:53 2008 ] [ SAPID Gallery 1.0 ]
[ Index ]     [ Variables ]     [ Functions ]     [ Classes ]     [ Constants ]     [ Statistics ]

title

Body

[close]

/ -> install.php (source)

   1  <?PHP
   2  // vim: set expandtab tabstop=4 shiftwidth=4:

   3  // +----------------------------------------------------------------------+

   4  // | SAPID: XML Sapiens Engine Demonstrator                               |

   5  // +----------------------------------------------------------------------+

   6  // | Author:  Max Baryshnikov aka Mephius <mb@redgraphic.com>,              |

   7  // | Dmitry Sheiko <sheiko@cmsdevelopment.com>                              |

   8  // | Copyright (c) 2004-2005 Max Baryshnikov                              |

   9  // | http://sapid.sourceforge.net                                          |

  10  // +----------------------------------------------------------------------+

  11  // | This source file is free software; you can redistribute it and/or    |

  12  // | modify it under the terms of the GNU Lesser General Public           |

  13  // | License as published by the Free Software Foundation; either         |

  14  // | version 2.1 of the License, or (at your option) any later version.   |

  15  // |                                                                      |

  16  // | This source file is distributed in the hope that it will be useful,  |

  17  // | but WITHOUT ANY WARRANTY; without even the implied warranty of       |

  18  // | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU    |

  19  // | Lesser General Public License for more details.                      |

  20  // +----------------------------------------------------------------------+

  21  // Release: 29.03.05 (dd/mm/yy)

  22  // $Id: install.php,v 1.5 2005/09/07 06:18:20 sheiko Exp $

  23  //

  24  // Last changes:

  25  // Repeated check of MODREWRITE was added. It is necessary for the Windows Platforms that need full path of index.php in .htaccess 

  26  //

  27  
  28  Error_Reporting(1+2+4);
  29  
  30  function getmicrotime() {
  31      list($usec, $sec) = explode(" ",microtime());
  32      return ((float)$usec + (float)$sec);
  33  }
  34  
  35  define("ROOT_PATH", realpath(dirname(__FILE__) ) . "/");
  36  
  37  if( preg_match("/win/i", $_ENV["OS"])!=false OR preg_match("/win/i", $_SERVER["SERVER_SOFTWARE"])!=false ) $flag_win = true; else $flag_win = false;
  38  
  39  // Language defining

  40  
  41  if($_POST["step"]) $_GET["step"]="";
  42  $lang = array(
  43      "dbconnect" => "Can not connect to DB. Please, check your DB setting in the /etc/db.conf.php file. Restore demonstration DB dump demo.sql and repeat installation attempt.", 
  44      "Here" => "here",
  45      "HTTPaddress" => "HTTP address of your site",
  46      "Adminlogin" => "Admin's login",
  47      "Adminpassword" => "Admin's password",
  48      "Adminmail" => "Admin's email",
  49      "Admin_path" => "Administrative area path",
  50      "D_language" => "Default language",
  51      "D_charset" => "Default charset",
  52      "IncorrectHTTPpath" => "HTTP address is not a prefix of administrative area path\\nor HTTP address completely matches administrative area path!",
  53      "NeedFill" => "Fill in the form first!",
  54      "SorryForgotTell" => "Sorry, forgot to tell you...",
  55      "Step1Content" => "Hello, my name is... I don't want to tell it to you for now :) We are not <i>that</i> close yet :) But I got some work here and you will help me. <br /><br />Okay, you decided to install <a href=\"http://sapid.sourceforge.net\">SAPID</a>. Honest! I'm here to help you.<br /><br />".(!$flag_win?"First of all, we need to set some file permissions. Here's the list: <br /><br />
  56      
  57      usr/dump 777<br />
  58      usr/dump/*.* 777<br />

  59      usr/extensions 777<br />

  60      usr/extensions/*.* 666<br />

  61      usr/templates 777<br />

  62      usr/templates/*.* 666<br />

  63      usr/templates/images 777<br />

  64      usr/xml 777<br />

  65      usr/xml/*.* 666<br />

  66      usr/xml/content/ 777<br />

  67      usr/xml/sdc/ 777<br />

  68      usr/xml/vdb/ 777<br />

  69      usr/xml/vdb/books/ 777<br />

  70      usr/xml/vdb/news/ 777<br />

  71      usr/xml/vdb/allcomments_index/ 777<br />

  72      log 777<br />

  73      etc/rc.conf.php 666<br />

  74      .htaccess 666<br />

  75      <br /><br />

  76      I can do it for you, but in this case give me your ftp data. I promise, I'll forget it after doing my work:    <br /><br />":""),

  77      "SAPIDconfutil" => "SAPID Configuration Utility",

  78      "Ftpsite" => "FTP host to connect.",

  79      "Ftpuser" => "FTP username",

  80      "Ftppass" => "FTP password",

  81      "Ftppath" => "Path to SAPID from FTP root",

  82      "Otherwise"=>"".(!$flag_win?"Otherwise, if you do not trust me or permissions already set l":"L")."et's <a href=\"?step=1\">continue</a>.Also you can explore the working version of SAPID at <a href=\"http://demo.xmlsapiens.org\" target=\"_blank\">demo.xmlsapiens.org</a>, order a space for your project at <a href=\"http://sapidfarm.com\" target=\"_blank\">SAPID Farm</a> or find a <a href=\"http://sapid-club.com/en/viewforum.php?f=20\" target=\"_blank\">freelancer</a> for your project ",

  83      "Beastie" => "Daemona",

  84      "Step2Top" => "Let's continue. Fill in this form",

  85      "Givemepermissionstomodify" => "Hey! Give me permissions to modify or create <i>.htaccess</i> file in the root folder, please!<br /><br />To do this login to your server's shell and type something like this:<br /><br />#cd /path/to/sapid/<br />#touch .htaccess<br />#chmod 666 .htaccess",

  86      "Givemepermissionstomod2" => "Hey! Give me permissions to modify or create <i>.htaccess</i> file in the root folder, please!<br /><br />To do this login to your server's shell and type something like this:<br /><br />#cd /path/to/sapid/<br />#touch .htaccess<br />#chmod 666 .htaccess",

  87      "Givemepermissionstomod3" => "Hey! Give me permissions to modify or create <i>usr/xml/users.xml</i> file, please!<br /><br />To do this login to your server's shell and type something like this:<br /><br />#cd /path/to/sapid/usr/xml/<br />#touch users.xml<br />#chmod 666 users.xml",

  88      "Givemepermissionstomod41" => "Hey! Give me permissions to modify or create",

  89      "Givemepermissionstomod42" => "file, please!<br /><br />To do this login to your server's shell and type something like this:<br /><br />",

  90      "Complite1" => "Ok, configuration is finished. Congrats!<br /><br /> Now delete <b>",

  91      "Complite2" => "/install.php</b>, because keeping it is insecure.<br />I cannot change owner and group for files I just extracted, so I set permissions to all my files to 0777 to give you permissions to delete them. If you wish you may change this now by logging into your server\'s shell or over ftp. But, please, leave usr/ and log/ dirs writable for me.<br /><br />Now you may click ",

  92      "Complite3" => "to view your new site, or ",

  93      "Complite4" => "here</a> to login to administrative area.<br /><br />Good luck!<br /><br />P.S. My name is Daemona. Remember that!",

  94      "Could_not_connect_to" => "Could not connect to <B>{ftpsite}</B>",

  95      "Successfully_connected_to" => "Successfully connected to <B>{ftpsite}</B>, but could not change working directory to ",

  96      "Could_not_set_permissions_to" => "Could not set permissions to ",

  97      "...using_login" => "using login <B>{ftpuser}</B> and password ",

  98      "Could_not_login_to" => "Could not login to ",

  99      "Permissions_error" => "Hey! Give me permissions to modify or create <i>.htaccess</i> file in the root folder, please!<br /><br />To do this login to your server's shell and type something like this:<br /><br />#cd /path/to/sapid/<br />#touch .htaccess<br />#chmod 666 .htaccess",

 100      "It_is_not_supporting_modrewrite" => 'I discovered that this server doesn\'t have Apache Mod_Rewrite installed.<br />

 101          Actually, it is not a problem for me, but Mod_Rewrite is very helpful.<br /><br />

 102          If you think that I\'m wrong and Mod_Rewrite is installed, just <a href="#" onClick="document.getElementById(\'settings\').submit(); return false;" >tell me</a>, otherwise we will <a href="#" onClick="document.getElementById(\'modrewrite\').value=\'{MODREWRITE}\'; document.getElementById(\'settings\').submit(); return false;">continue</a>.

 103          <br /><br />For more information about project installation see <a href="http://sapid.sourceforge.net/en/doc/install/" target="_blank">here</a>. The most easy way is to order ready project space at <a href="http://sapidfarm.com" target="_blank">SAPID Farm</a>

 104          '

 105      

 106  );

 107  

 108  if($GLOBALS["HTTP_ACCEPT_LANGUAGE"]=="ru")    {

 109      $lang = array(

 110      "dbconnect" => "Не могу соединиться с базой данный. Проверьте настройки вашей БД в файле /etc/db.conf.php. Восстановите дамп демонстрационной базы demo.sql и повторите попытку инсталляции.", 

 111      "Here" => "сюда",

 112      "Step1Content" => "Привет, меня зовут... Нет, пожалуй я пока этого не скажу &mdash;, мы пока не настолько близки :) Но здесь у меня есть работа и я смогу ее сделать только с вашей помощью. <br /><br />Отлично, вы решили установить <a href=\"http://sapid.sourceforge.net\">SAPID</a>. Поздравляю, отличный выбор!<br /><br />".(!$flag_win?"Для начала нам нужно выставить права на некоторые файлы. Вот список: <br /><br />

 113      usr/dump 777<br />

 114      usr/dump/*.* 777<br />

 115      usr/extensions 777<br />

 116      usr/extensions/*.* 666<br />

 117      usr/templates 777<br />

 118      usr/templates/*.* 666<br />

 119      usr/templates/images 777<br />

 120      usr/xml 777<br />

 121      usr/xml/*.* 666<br />

 122      usr/xml/content/ 777<br />

 123      usr/xml/sdc/ 777<br />

 124      usr/xml/vdb/ 777<br />

 125      usr/xml/vdb/books/ 777<br />

 126      usr/xml/vdb/news/ 777<br />

 127      usr/xml/vdb/allcomments_index/ 777<br />    

 128      log 777<br />

 129      etc/rc.conf.php 666<br />

 130      .htaccess 666<br />

 131      <br /><br />

 132      Я могу сделать это за вас, но в этом случае мне понадобятся ваши авторизационные данные для FTP. Обещаю забыть из сразу же по окончании работы:    <br /><br />":""),

 133      "Ftpsite" => "Хост FTP для подключения",

 134      "Ftpuser" => "Имя пользователя FTP",

 135      "Ftppass" => "Пароль пользователя FTP",

 136      "Ftppath" => "Путь к SAPID начиная от корня FTP",

 137      "Otherwise"=>"".(!$flag_win?"Если вы мне не доверяете или уже самостоятельно выставили нужные права, то д":"Д")."авайте <a href=\"?step=1\">продолжим</a>. <br /><br />Также Вы можете ознакомиться с рабочей версией SAPID на <a href=\"http://demo.xmlsapiens.org\" target=\"_blank\">demo.xmlsapiens.org</a>, заказать площадку для Вашего проекта на <a href=\"http://sapidfarm.com\" target=\"_blank\">SAPID Farm</a> или найти <a href=\"http://sapid-club.com/en/viewforum.php?f=20\" target=\"_blank\">фрилансера</a> для Вашего проекта",

 138  

 139      "HTTPaddress" => "HTTP адрес вашего сайта",

 140      "Adminlogin" => "Администр. логин",

 141      "Adminpassword" => "Администр. пароль",

 142      "Adminmail" => "Администр. email",

 143      "Admin_path" => "Маршрут в администр. область",

 144      "D_language" => "Язык интерфейса",

 145      "D_charset" => "Кодировка интерфейса",

 146      "IncorrectHTTPpath" => "Адрес административной области не должен совпадать с HTTP-адресом сайта, но должен включать в себя адрес сайта!",

 147      "NeedFill" => "Это поле, обязательное для заполнения!",

 148      "SorryForgotTell" => "Простите, совсем забыла сказать...",

 149      "SAPIDconfutil" => "Установочная утилита SAPID",

 150      "Beastie" => "Даймона",

 151      "Step2Top" => "Продолжим. Заполните следующие поля",

 152      "Givemepermissionstomodify" => "Эй! Мне потребуются права на изменение файла <i>.htaccess</i> из корневой папки проекта на сервере. Назначьте атрибуты этому файлу – 666. …Что это у вас за ассоциации такие?! Я тут как раз ни при чем! Я вообще люблю цифру 7. <br /><br />Для изменения прав доступа к файлу можно воспользоваться FTP-клиентом или же авторизоваться на сервере в SHELL и набрать следующее: <br /><br />#cd /path/to/sapid/<br />#touch .htaccess<br />#chmod 666 .htaccess",

 153      "Givemepermissionstomod2" => "Эй! Мне потребуются права на изменение файла <i>.htaccess</i> из корневой папки проекта на сервере. Назначьте атрибуты этому файлу – 666. <br /><br />Для изменения прав доступа к файлу можно воспользоваться FTP-клиентом или же авторизоваться на сервере в SHELL и набрать следующее: <br /><br />#cd /path/to/sapid/<br />#touch .htaccess<br />#chmod 666 .htaccess",

 154      "Givemepermissionstomod3" => "Эй! Мне потребуются права на изменение файла <i>usr/xml/users.xml </i> на сервере. Назначьте атрибуты этому файлу – 666. <br /><br />Для изменения прав доступа к файлу можно воспользоваться FTP-клиентом или же авторизоваться на сервере в SHELL и набрать следующее: <br /><br />#cd /path/to/sapid/usr/xml/<br />#touch users.xml<br />#chmod 666 users.xml",

 155      "Givemepermissionstomod41" => "Мне потребуются права на создание и изменение файлов",

 156      "Givemepermissionstomod42" => "<br /><br />Для изменения прав доступа к файлу можно воспользоваться FTP-клиентом или же авторизоваться на сервере в SHELL и набрать следующее:<br /><br />",

 157      "Complite1" => "Поздравляю вас! Установка завершена успешно.<br /><br /> Рекомендую теперь удалить файл <b>",

 158      "Complite2" => "/install.php</b>, дабы избежать несанкционированного доступа в вашу CMS.<br /></br> Нажмите ",

 159      "Complite3" => " что бы просматривать ваш новый сайт, или ",

 160      "Complite4" => "сюда</a> что бы авторизоваться в административной области.<br /><br />Удачи!<br /><br />",

 161      

 162      "Could_not_connect_to" => "Не удалось соединиться с <B>{ftpsite}</B>",

 163      "Successfully_connected_to" => "Произведено успешное соединение с <B>{ftpsite}</B>, но получается изменить рабочую директорию ",

 164      "Could_not_set_permissions_to" => "Не удалось установить права доступа к ",

 165      "...using_login" => " при регистрационном имени (login) <B>{ftpuser}</B> и пароле ",

 166      "Could_not_login_to" => "Не удалось авторизоваться на сервере ",

 167      "Permissions_error" => "Было бы неплохо если бы вы предоставили мне права на модификацию и создание файла <i>.htaccess</i> в корневой папке...<br /><br />    Для этого вам стоит авторизоваться на веб-сервере и набрать в Shell что-то вроде:<br /><br />#cd /path/to/sapid/<br />#touch .htaccess<br />#chmod 666 .htaccess. Впрочем, можно воспользоваться командами программы FTP-клиента. Если ваш web-сервер установлен под Windows снимите атрибут hidden с файла .htaccess",    

 168      

 169      "It_is_not_supporting_modrewrite" => 'Похоже что ваш сервер не поддерживает Apache Mod_Rewrite (серверный модуль, позволяющий использование человеко-понятных адресов документов).<br />

 170          В действительности это не такая уж большая проблема, но для "правильных" URL вам придется просить хостинг провайдера включить Mod_Rewrite.<br /><br />

 171          Если вы полагаете, что я просмотрела вполне жизнеспособный Mod_Rewrite, 

 172          просто <a href="#" onClick="document.getElementById(\'settings\').submit(); return false;" >сообщите мне (следует нажать на эту ссылку)</a>, иначе жмите <a href="#" onClick="document.getElementById(\'modrewrite\').value=\'{MODREWRITE}\'; document.getElementById(\'settings\').submit(); return false;">здесь для продолжения</a>.        <br /><br />Для более подробной информации об инсталяции проекта см. <a href="http://sapid.sourceforge.net/ru/doc/install/" target="_blank">здесь</a>. Можно пойти и по более простому пути - заказать готовую площадку для на <a href="http://sapidfarm.com" target="_blank">SAPID Farm</a>    

 173          '

 174      );

 175  }

 176  

 177  

 178  

 179  

 180  

 181  

 182  

 183  // Program's functions

 184  

 185  

 186  function image($id){

 187      $img=array(

 188      "girl"=>array("type"=>"image/gif", "data"=>base64_decode("R0lGODlhZADBAOZ/AImoxpm61LjG2tno81F4pGd2lLrT5xUqVYukvqa71fn9/5aqxiczUZa1zUhWcnimyTF1qniWuNPc6uz0+oSbtmaEquPt9Wydw7TO4xg0YzZWh9bi7kVolyZGd3OKpTZlmmaTu6W1zVlzm1iLtszc7KvL48HS5AgQKlRniCM6ZaXD28HK20mHtRdzqm6BnDdGaIm100NbhBlCdpvA2mR7omWKsTGAskhhjKzF3ClTiHmTq1Frlc/l88Pa61JhezJKdLS+1DtSe8vT4wIDERlMhaGvx4ywzbDK31uXwTM+V1iBq8LO4ViRvJWguSZAbYeTr6zU68bf8CRMgKDA1rC5znKOspXG4YGNqs7g7khvn7vc8c3Z5xggOsHW6EJ+riRbleLn8YWfv1xvjaKovg0cQYOuzzddjyEpQwZnoa3A11qhyMbY6LrQ4mJpg8jW593v+X+FnpKYr6bI39zg7bng7z5JXi9PhE2PvJKwzHyfwS9OfEBObKK+2ziOveTg7aLD2CH5BAEAAH8ALAAAAABkAMEAAAf/gH+Cg4SFhoeIiYqJAXViU4uRkpOUlZRhZ1U7AZadnp+gCHtvVSKgp6iphQ0vUQYiEaqyqFMAnVN1GF0NMQ2zv5YNFSiclbg4bCURpsDNi1M0UR6eL2ldKnJZCM7chzR8GC6SU+QBARRnVDwqKgA33fCCYSJvYWKHCB5iDnt7L/9JGJw4AeTNkQAqYMXrJgLPGw8+CE3xkITLmT0FnjQJAUQAECAFTqww2CCAEQ4LnQUIYmCABweC8Ig5w8VHkyUDLOicMEGBTzhnJKwzAmAGgVgpf7kbsIFCkj86LLoQ8ObNBhNssrrZYEEBmDMO3mAwEuECjDwokv6iQGPChiJn/+qc8LFEwQQsBo4kSIAQA4mebYYs4BEggpIaD4z80AFJbSoXTxRswHDmxJOeFiSYOMInQAM8CTAwDewAC448SggoAQFDBI0KRhyjEhNHAY8ePs50nQBmCxscnT8H6AJ3SJ0lbAAoyZKFAIgGBQpEUYJHNqiME3oYSBN3i1fNGHBM+dyAzYIkBdiYAFAjy4cPWWpAf8GjxA5f1jt5cGGBzZE1RTCQhABubWECBiqYZEQARxjQAw4AgODFe/CNAB0DbETRADP5VULBHr6xscYAQtxkwQYSuMGGHCYBAEAZRF0wghcQUJgFCHgE1AUGUdQQRoeVAHBGCGussUFOPJ2Y4v+KJj1wAQggjKCEF+7V+MFReZzgwIMm4LADkJToMCQJWIChExhgMGXgEQka4aSUXsQJwZwQZKHEBQ3QQAGbaWDQEJiRTMGAGDyQcCSaTGFhoH9tvhknjXRC4AULIJQxA3kNYIAAh4AiEhVVa2xxJFMkrKEiBmw2icSMj7Y66QggRABCHgDgIR4DOnSayB5t3OWGG4aSukYXWKVqRB6rKqEErFBGOcKz0M5qxBRppODEj7oWggcXY0xgoAlubCEBFiSUO2wyMxwbpbR8lMCim09Gm4etOjiQB6fZ/uEBF25MkCJWSyxhQpE9kNDDjjOUkQcIFwCAA3EeUMBGD0fgsfD/syA8EBoKHgRAQL6EiJGEThscSYIAKGdlQhcsl5BwHnkYgUECDgzEgANT9RBAGRf0bIR/MYTgMciD+NCGXRMMQMUSJBwhwBEYsGGAAaju/AAAGAjAwBAOUOGGADrQEEIUKhBVxhRYhCDCQUoQLcgeV/gExhNJnPEECVmhesTeKjRQRhkB4DaEC29YgAUWPBgQRhEU88EHGwMsQAEGAbTttgNj+ATEEnO0YRkWXfiHw+h9lwFDFwtwfRcOfE1hAAlFhICFCSbwsIYIDRgwQwVu/yFG5it455MPZMjeBZvsjLcgFj6coM4UPPdchgprcCTBBm/4wEDUM9TQuwtNgFHE/wQWDJA0A3vwgAUbKvAxhWdGyCHAXG/I8QATj95xwQwYLGDCkRhp2hS85zYdXCEEK7CAgdZggSKQgQIDcANwzGEEmbngBIwrAxNsAIEWtAACLDCLHDDgBgmkAVhH6F7veNGEAfQgQVOAnA8csIE14GAGAYBBGQAghwIkoQszQAILOoiGIoKwUg3AgQF4sIEtHGEKIOjdH2IABAvgIHplKEEIFuAGA7BIhw+IWQIAoIIH3MEGLSiiGo+YhwaowAQS2AIGBihFGhRhAwG4wB3uwASzsEM8OeQZlAAAg/txMI1qRMMHR9CwTI3ribzrHQAqQBg19MEGNvBCH43QGTBGaf9ZTBgBC9DowUS2wAb6K0N5tsADDMzAcm6bghiiMANLkhKEeArkBfAXJxbEiZSIVCQqLwCjAAggDT2YQh4+JsUCTKEElvSgB22ABCM0oJB6pFGrgCnNPqgBBjNwXwB0kIAI1GA5+HEbBcKghTKcUZrUVKWbhIjJSe3xkpi0gTdhAAU54OE3JRCBEvOQgiwgxW3C0EIAbDlNJMjzAULsZcachIQ7qEENZYACFCIQBARQrAcF2AMcGHAAAlRBin/YAQagAANL9qEP+oNBA4yQzUmxZgYlKIEVdqoFLeDhB05YwAAMoAIDFOEEQwgCHYzAzN5VAQ88kEMhH2C6ALyPpnf/iNMdYPQCFCjRADhAQAwOIIYeDJVFRX3BCUBAhwsQcIU7eMMAumAALUDBCCUwAPQu4EsvICEALhjCEE7ABS6cgAwxwAEPtOCyBjRADg0gww8qkLHG9G4KP1gAFt6AhTQ0TwdYkEMZQOBLFiABBlMoAAMKywAUTCEKdHCZDhekghdwIZ0o/cMUgtAAMbygMkNIQgJIIFrSssC0DwgAFBCkRMbOAIwPeAAMSiCGweW2EAKdgwv24AAKYMEVZQRBKGF1AaoGYAY4LEN0nSQ9PlT3KdclBB4q4JMJVCUKVVNvz/bL3ychAQnNqpQKCjDYbcSXEDU4ggJI1aU2vch0+t0l/7RGwIRQZiwBgT1BJA88iAFGYQASiOMR5KACvpgEAXjApngrfAeMPUAFgSXDQTk8iAaAgAdM9M0RSqAXFHCBDBUoWx4u8F8kVFjANDjBGfJA40MsjAcg3owc5MAHGoiBAlNg0d/+5qTk4gAFwY1Nk50cASh3CYePm1oJMDDlnFoBvVDgwx6GsIdijPkQEYpCK983A2zsLQFpwIEKMIABLUQhDlwYgggse+dDNKAGcnDF6HBwBC14YCAneMERKAbmIdyj0c+oQQ16wIPjYcAANPiHD/y3L665gAKglgQCduDRKNDVQa44z2BdoIAt5AoRn6lOrANQAQ1UoAFpSMACVP8rWAfUxS4RsPMfzhFSBpCBrMIGNR52cIDCIvUEewiBBZI2B7fQQAd4aIALxHCFsaYgAwc4wA+wFesg7KEIcRjDCnDchZzCMWkQiYMAloCACtRgB3pwwrt/gNsxRyAFJlgw3hIEAxgEAAduMJ8CSACEJngAxcvQQAcUnoEdMJrGDThDt9iQLvaWd1omGMAWEICAIqThmOzJghnsMPIMpMDATW7AHp7Qn0IaucJIIKYKemCCBaThcMcLAAKqQICdS6EDGcgAvq6rgjAwoAkTMEEAIHqH494BCQ9oABRKgLXbUA0HAcBDGKi+8w7IIANOkHZuVeABBoRgAmQrgxqYcFz/FvSxDHJgOx+0kwbheEbuFeCAGRIOb6DnNgR78IEQAE85J4WSj8ScgRxoteYElEIJtMLDAqZOAA6IPANkmMbe0eECnpDABAnSL8OIGYDiir4EYciCE/SwmghEoAo1IMAOboD1A3wJpSpowx6okLQ1/KZ9M90yOOVAFoRA4QhVMAMZyMCBLJSfAARgDvNh/47eqSAESfABCd7QA/+cwwM6AEAC+MCOKTcAAThwaj1QZXYwfmZgBlKQAx/AAe/xeojlfl53BgjQSjhgBCKgAUGQgUHAMQsQAAAQAQ1gKKViAAjAAR1wWGaQAx0gBWbwHl8gBXdHBhHhNgjwAgtwBSng/wERYIJ2wAEEUAFV4AEicAM3QANVEAIkcCadVWwpMAQHkIId0AEHkANfQAREEIOfBjJ4EARFkDgRsAOSV37vkQUVkAcLcIYM8j/jZgFuEAYcIAVkMAQMIHIykAInIANVeHcHcALiADJTEANChQX1hweGwQE5IAUsqAQREAa2oh7AYiYbkAA0oAd2eAJOkAN3JxB4eIXwdgKyly0D5gJH0kQC0AARQAB0KAMaYFIIkABsIC5bsAZxlADF5gRxSAZXl3VIJQV52Im/li1TcABCVTJCIACEmAV2cHcyYAdZUAVOtwRbIARLgHM0oAFOcACCdQDNh1RDoICcOH5ili06QP8GCVAyWyAAIVBwMeAE8JYBUsABFbCIZwgAFFAFkZdwezgEZPBu+TgQLfgFMcgAegcoOnACC0ACXYCOYVABN3CN8ZYBOWAGHACGHFCRZqABPHeNgnUCB9CJdEYDXPABEACQGXACQXBygNIAQ1AAR9AAAFAKGpAC8TZ+HfABZpACKRCFOtlzcThYHZmPezAFCMAFWTCSd3cCWQiMFVEFEVABO2CN8HZtP2AnBGCLhzV+48eN+ph1+egAnIAJcVKFJfmJ+RIGA/ECMfADMjl+B6ABihgG5vQB10gGmEZYOdkBMolUdSYICHAGovQBUkgG9AYyYeBDgyVYZNAB8NhGaTD/dk9SAzQgApJJAx5AA2Ywl8GVTn0JAncAAVIQb9kWSw6QBHJ4GDWQByEwcMdkDvzXPjg0D3oAb0PABbYwCJhAZBAghSmAks1AFOk2kItQAHUwBBUAAFfTAAIgBMopMMAiAbd3EDuIdXQ5Y38AAAwwZFkghT8QDxSwWgzwnQISA1XAm4UwBSgAbiVBLckZYiE2B2gCBnNwjgtQAetYkmmhLUmwMIB5AEEADw1gEXCQAFRQBBRQAD6QAnswmIfgdSeAACUABV2gnBLgnmiiExYAn0IABPMQBNd4BqEpCA2QnyAgl2Rwn9wgBicgO6wTAnsBBEVwBShAAw1HCBVABnXQ/yBYMAB+MAcb8J7vOQcSsARAsACaAFQHYKKEEAAvsDCXSQZJCQz/6QNdsEULgAeqh4Z8EAI0EAEomQcxQJxU82FgUDID8KNBio6Sw5AKdwAwYQhT8AIRMAIaIANO6gzqJhAUwAcIsAD7pwJTkAAhgAe1chpZUJuCMAUE0Dx8YFeGxnRugAXsuQVCukVTJwL1eQBkYKiEkARRkoxk1Qx4QBM04SIIQAWEJgBZwQYCkACO1XhZwGSCAIJtwABHMHVVQAF4cARsQCwBM40hAAAIEAE0cAOUB280cAh1sCye+qSpEAAVQQE7wAUwEwJLoCLHlAY3JwCo0hElQADeg6gTAP8HhHVY8ZYCN4AA4YGtrAqXVTCsQYCXXBkDKOkABDACnoqkqhASNRAAMXCdDhNHOLAAx1cFCGAN5GICU9OUFZAACkAFdBYHRRB3y8ABEYAD/3d8kbkDy6eW75Z1eWcIPpAF9ioDR/oLAcAFGmA6N/AD8/I/SxAGBGCTZkAAeYBM6lMuGyBWAqAAYyASC2ZXUMBYebCIpbB8RDhWAzGT46epgiAGZjCyJTsLQ1kFvWepAMAHhoIDSoCJMpADHHAYAPA6G4AFPWoCT7ACT3ACdTEAUcCohgYAr5EFRHgDMcCNSWB8lhoEH/oHLhAEI5AD14ivqKADDIBXGEADQWAEOED/tgmQBTIgA0RgBsyhLFWQAF1AtjkhAUXgAFywBUnTthrVUz0wa67hlIm2lBJxCB7wAiCQAzIpuKfgAi8ADqj2AgBwBJDaABzwuEQAH8uSfCKwAP9RMj06BmKwBJ+rUcqrBQawADHgD0jlAB5wAJaHCE7BBJd5AO0nCwUQBIPmJykQBjiwBW6wAB/wuO/IATUgJUpAt2Hgiry6AUKAQDwQBf20U1aQeAYQAijAAGeAAgIAB7sZCQDAqXKZATHwCwUQA4NGXQwQAQngBkKAAGbwuDkgtzVQAeiHihoQAQuyFwKwBVvAooKoZVU1aHlxBFvhAm26CAGQAiCQnSmQwLPg/wIMjAHUdQBHuAQTbAZZx4w7YI/p1xx6YAc1EAEAsACpKQQSAAQhsDJSpV7mhcJr8AYFALtumgRIQAB24AQtrAoucAODJgcicADHxsMLcAM/nAV6UgrmxxwdsIrxiADIBkcrUAQiggNTNcV+MQFXPAmsK6cd8MWp4AE3AA4BxQUVgAcrIARFsAM/vAOUWQE0UJE3UJFOoAHN4SN4kAZMswRFIABdokNVhQP/owBPUACTEATrawY/sAe/YMiITANmjAcDpzbs+I40kAQiEHkaoAES6cN2ILmc7Mnky6Irgl4zsGkDoAAW0AbMiggosBqTt52zoAOHTGgVYMYAcMsiwP+OHbAD/VuZN2AHCagBHJCMOeC1FRAGC7A5v5Jsp2YAesYDbtAE/stbkiAGN/IBemDNsqADMYDIVXAANAAAQLACWqqW4RwEcGqZV4eI6Gx36wyPFPCMW3AyRbAAn2EPZ2AcEqA2+xwDI5pwwPkJAg0OGBABXHDQCR0CFUCJ4XwzFCACCPi4yyiRTtABB0iGF50GJmAoQCACHAp7Q+ADPTEBIsC0h+ACPwAC6ewEMwoKFBAEKh0GB7DUCU0FVRAEORmtPjAPGgCDj9sBdnADOxDHPR2P+rcE45IAYAiHIoAFSTMBbJAF5DkIhBvDXRyOqUABP8A/yXGkrbgEadBuO73/A2cgBvPAczgtAyw4hD/AgPARj07HxG6AABpg0JuVKG+wAG9lvQfQHjFZvacQBi8QAFHTABkQBO9rAkDwBMynBzvAAC6AANX4bo/dgwy5igxIhhGwAAJwPVhAATFA129gOwXzBrSiCAhgxl4Qk7AmCwiQd1Hzwi8QBtQqABQw2zdAVgW3fllX1qtYBTGwA63ng0fcAHBELpAxAMm9BlMztgSQ1w2QAjQQ3SlAnadw3zJjAnzg1RFArSvQBGmtB9/tBL3MAZTYjhkA2fBIAzEQmeV3GGHAB+CCBU0gBiGAPSRANTGHAxt2CC/AASwQk2RJCynwACWwBCrAbVVQBEuw/wILIAJSYAdjdQPAHNXw9pDL2Iwaq8HNsRr6JwBuUARtAMprUGp7YwJvUIaJ4AAawAI3eayy8KZ50OI4QMsVsAArAMqTKAUagFiOawevF29o7gRmQJk3UAGpYZpInACg/AJj6wFEckM4EIlY/Ac+0AFecJnPJwtBUAUlwD7bXABePr8VYM5jrgcfIAXuCIM9/pCKOQxBrCyiBgLaLQRxEBQKUD2UsyAGsAY+MNV/gAIZ8OdOsL2q4AMVMEJ8sM074OVuQAWL3gF6QAZdy4mIqIdongF24BoxYHBuDisAQAVzUABcYDKdlwdnwwNXcFKHgOpe8AVOcJKzgAIiAA58UP8D5mrLbgAEVcBzuZ4CV0iyXQuvv77q9BnEFWBwEcDIWxAQbFs2T8IwRtADRcDqhOADB1DtMvCx3BsDAVACKlABKeDaIfA1447rZJAB5w5vOcBzXFmuQeAaN1AFGh/nGzAGQ9AGb1ACPCNKLDACD+A0/XkIe5DqX4CXpu4JHvADeFACfKAE7FgBCDDjETDWuQ7xOJ2Yk8eOvx7ODKknFAAA1AoGDjAETYAFeZRVvXQBGC6vyOoE1S6Fpk3VThA/fFCVWR0BabACFICRMbCPXHt3KWCTDZ51eDfhy+fOCZBATWAcWFAC9yMnkgICAUACpX4ISTDlj34AKX7aTgAANK//BLm+A3Yu9hcZrWSQA1Z4hQcAH2YArx6rAZQZAx4g3HOwBIlWBE7PVxw0J17wHMyT9Q4QA0ME6VauCgBQ+JyhBAWo+QuAA2HQgkqwNbhYhTmQAcZm03ZX1mYAC5JZBG4wB8NZAANgP/gz+nm/9911CGIQAyMAAb1Pw6oQAD+ANV1vB/JWBe+bB+UHAinAAEHw+AvYkHhbzhJt0WGAAtS69HWwBQZgBPQUKaU/BSbwAtMNCH+CggVBIxBfGS+DjI2Oj4IALwgYIVl6KSkVFHgRWUoAQUl/IgdmFRUpHmkIVSIcHCKbC0BPBXVDdVtYARcjXjYQwhAseRhADA2PHk6H/4kMU5DSkHhnJxQGITsdKQcVYQAPNREBYlwBfxEpPztXe0VLCQgRERQLCQICcEO5QgMYMJCwCDbMywgAa5qcgUSBwQgbiQ4AmEaREZ4TLwqkwbMtAxkaYRpUqYIHg4czRgTh4WCER4E2TZa4cbNkyQoqBc4MOQFnAxYMcsowAVaQxQUVEhyMeoTAoY0PUshEqEg1wJkrRXQgENEhwwkRYfAweKGiBwIuCAZNqWKABIUne3y4gNMmyQl+dahY2MBGRVCBBL14AYEHC5ATHiA1cMgCwgcyLqhWnJLkyooQLrimOBEjDwAuQyi8CXFGGaMIDUIIkXDFwRkuZ+rAATLAwv+WNUdUlAjIQrAXJRfwmNiwJ0m0R1MYKGn84YAYyRVfzF7SZIcGJ0Ne5InA4EQSCyvQOsLjwYWC83MkbJgwYS8JN10w4DgC4wKTESNA5AmwZk6b0NMkQUAfwmTgAHQUxeBCEUVgFkMQQ5xBAQ0veDBEE2CcoQMkVeRx3ocTgLGBBBK4sYYJbBwRQBkPlGEEH10MsIQDQ/hA0R5Z3CFMB0shCAkKYiBAQRNFiBDDTgiggMIbdXAhQBI0SANCAxOcx54FA2zgkwQkkGACBhgY0AUJEqwAB2goHCeNAxzoCIEGyfgISQEOUOCBB01Q8AM/TThwhQJpnMDAGSJMA4AHT6z/wN6i7WG5AQlLUBEHnUmAlkRiFflgBhPCfCCenI54kIQOFdDgAg0i6NTGHkC8gQEK/MRA0RQe7PGCA22IoWsbPuxRBwNc3CVoHQWkJZkYenDqGGSgOkLBGR7QsEMMdtzwwk4FWEDCVj9gRFUDOtwp7rg66GAPAuj46IITQxV4YLOMIHDGqTdww81OQCiAQw162JEBA+nCK7AgOjDQLgQ/nKEmvGK54MENTmTgBANDcCGEBSGI4EQmZ+Ax8MdNHazBCcYKHEASLjyxgxMHsLwTFWAUsUMKGWwWxscDi/VLp2QU8PEUGW3FcjcnnBAHGAvMXPM1OAu82C8fRH1AHTjX/4HCAhofQPQJBQxQJM2bRdZ0sycr4cUHX0BV2sc+OFAEDSxn4NUJdZCQccSbPTc2qFPsYTbaaZNBwcdivPB23HOfIUQaNHTlBBd77N2sA39/kfYBKHzsQhJFVBBxBgcUTcYKAnjwg8QMQCO5nD4sB/gHenBhGrwFF2G63F6RccIYS1QRhMSPz766ZA7QMMLrHHA9cBgMFBGBHrifQMYQV2wRQRCZdHDChsNDtwcNFxAQNQReHKA6vA2c0UQYGkQ/fRtbhBEDzXr03L33LsDwi2AXiLC9wMmJAwJu4L5cbKEJN6DfGd51v1m94ApyMMIDLlCDHYjBOwEDVWUWwAGa5f9OUEJYQAIz8IMk9KiB0qBMHHhAgRfMr2hDSILw5LQHDxSBAHEr2gnOsAKZRcwJQegYCinitivAZgg08EG4Zsi6BVWgAwfwSNGcdLcoBoELUxmiNFzgGjKE4Akk0AETQaWrIlShfVI8AReoQAWuRPEHH9GiNBrggaZQQQETWILYBsZF5xEQdDoMARVo8IMDtOwADliYHBsRAAaMQQEWmIAL9ki7F4wBASuTmw7HAAQa/E5rGVjbIh/RyCZAcgIDuMHgBCavJiygcTWb3gma0EnsRXEzJRslI5JjSjAMYAIbiMEYoVONJyygAtADHT/i0Mn5RdErmNLlLpPwyDlgYQ7/EzABDRSJoMXA4Zi/0+QQ4jDIGCDuBJGTZiOSQAVgbkEC2BwADTzGtyQUoAkuwN7ShvCEjAXhcx45QwbVuQdFpWcDYLCAAgbgARRUYKAVaaQLmuDJH04PK8jyICBvps5B+ACb7QFDlT60gCAMUxpncSUNNNABJ7T0BFeojh42RrPQ+ayjhKhSQiEJBAmEiAp6Q5APkrCCV8bgBz8IQgwY8AQKoEAPeugAJjwCMJxOwTwrSIIDJKCAEIxhC4IEC4Ks0gQJLMAFMdBADCz4ggWoTAMaMEMMuhK6XOoyAKZMQh0c8AIwKIAKRVAAFhpQAQS5gAFg2ILtdnCDHVRBV7Ww/04sdpBM5XU0ACsYA9X+4ABTAiFfK6BBYSUzhTo8UgJACIMIskCDCHSWOiJorBKyIAW5keGEulwAGNrAvYYqgHQWQEEMbkoVHXBhDOxRbBUqMJIgrEAIRbgCDWhAADNIQQY0O8FE1EkBMNTBNHjYwwQkIIAnLNVGktmDThwwhzF0KAJ5qIAL5jCHJYQgDBXggBlyIIWXpom7EjDOIPawhAl4wAFBKEBQKaIDB0wgDjEMQhjC4BkUBDZE5C2AE8zwAf5K4QBClOYVlsAARjBACBNggBgKYILMVWQx+VJAAYbgAgBEwMZ7oEIT2lCHOvhAJ0HIAlT6e4bt6vIKQOBCGP/mIYY6KCAObSjAFdzAwGn4oAAfesIZ5hGBMIhhgXsoABxwMQQymCELX5ABEXgE0SHSSiEhIN07whOHJDyhCOidhg6S4Nc8ngEFeQDBOFLAgHayZwP/ycAHrCuDRt9AnVMogAv2gB4xgGEPs+RCHMRAT5Se4Y57ccEBIgACJSihAge4AhgkIIQtCIBGUshBDhotgwNQcpQOcE0TBFAAKiDDAU9IgQOiqRgGmFJbabgBDWrgGA5kgQtNEIIAPlsEu0iBCERodAfIwFFpNtgDFJi0G8SwhyaIwQd2dcQCkhAHPJIABwCoQg06LAW5cmEBPWxCnoJwgEZnWwahbPNdJ/n/gj1QYMEMoSYeLcAGPORh3jkgghSCwAAycLIJT5CuGTrgbxk8Ls84/YMHrlyrPRgZEh4QlKEHgIM8KKHDEt92xYqg4yt4YAfXzQCtncC0kBPiQAsYNkUKwADXDKENCthCBV4ecSnwnB8M+OwYKFCFjuhcBtyoqs//sADTcLMRbZsDHv8jXQ18INtO54c19iCESBUBASulNdbJgPCtzwpXIz3PHoagB5hLIQVqT8IQ4GCBObQdCC7QwHUb/bgF2B06Vw5plVawhx9wANvZhjqmh7ACBZAISz44AH8bbaDHS6YNbZiAH7aATSqcIQgEiPjcI/QCLnAhCSFoA7CA7YAT/yi+0QdYpemnMek5bGEFKyhT8ZQg+w6Ahguxc4AOMhKHMcBB8GXeL/BPOvw/yKsIN2nQTVphBmzbgWInAOI1UFAAIYCBvhJQyAn2S+ROd98RqxISBeIQB1d6QtYagH0k5ASj4gMNMgb6RgUC4AJkYAf81QEhdn+OYDUEkAUiMF2owlhmYC380DI/wAV1sAdXsABXUABAgigVkAGxZgcaIEoS2Ah1EFs5AFc0GAM3cAMUMwRaww1nwAALcgUo8AJO8AJBgALW4YBmsANx8oIwGAQs1QFQqAc2uAegoYMp4AQ/wAB10AY6VjgMYEjr8AP9kgM7cFjcN3w+8IVOgIV6IP8Kd1ExcoOFDOABL/BZcOBMtmc+2aMBFXAFLsiEgnBYugMbwcIPJ/BMTqAHDGAnKDAHRVAAe/CFtncGhpQBHWAGEZATZ2h6YpECuqNDZPBMEvMCGvIHPhAH7UVuX3gGrBhFQCQCLfSHgPgHosYAoFOJNYOFKZAEq8Qqc4A1+iQ3e7gDFaCESSBwEjgFPsAFKfACL4BUSQUsKJAuAVAHFxMCNHBUUNgBSkWMNUBAWvh1gEgBdXAGuzgoSdAGuXQyMCMAE7ID8LgDF0gDYtAN3VBls9gIDYAA5ZFuf2AVO5Q6qUNorMgFZMAASbAxXABy+ThWWgUsBkkGZGB7Y6FUP5BhCVzAPQ3pI6UlXEllgzd4g2l1kROzWRspJyiQkFf4AyB5A2kVBNDIBcJ3kgjyLHrwA1ioVi4ZAzx5A1dUdzQpGSjABUSoVDz5IEHwAoNya0EJHbTyK6wokAiZBAbXlH8QCAA7")),

 189      "btnbg"=>array("type"=>"image/gif", "data"=>base64_decode("/9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAPAAA/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoKDBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgAEQACAwERAAIRAQMRAf/EAFgAAAMAAAAAAAAAAAAAAAAAAAQFBwEAAwEAAAAAAAAAAAAAAAAAAAMGARAAAQQDAAAAAAAAAAAAAAAAAAFRAlIDFRYRAQEBAAAAAAAAAAAAAAAAAAAREv/aAAwDAQACEQMRAD8ATdHGxV1LZTLa53UVT4BBr//Z"))

 190      );

 191      if(!$id) $id="girl";

 192      header("Content-type: " . $img[$id]["type"]);

 193      echo $img[$id]["data"];

 194      exit;

 195  }

 196  

 197  if($_GET["name"]) image($_GET["name"]);

 198  

 199  

 200  function message_die($error){

 201      global $__report;

 202      $css='

 203      body {

 204          background-color: #CEE4F2;

 205          margin : 0; 

 206          padding : 0; 

 207          font : small Arial, Helvetica, sans-serif; 

 208          color : black; 

 209      } 

 210      

 211      table {border: none}

 212      td {vertical-align: top;}

 213      

 214      table.tpanel{ font-size: 12px; width: 100%}

 215      table.tpanel td{ height: 30px; background-color: #B5D1E4; padding-left: 20px; border-bottom: 1px solid #CEE4F2; vertical-align: middle;}

 216      table.tpanel td.header {

 217      vertical-align: middle;

 218      background-color: #A2C3D8;

 219      height: 28px;

 220      }

 221      

 222      img {border: 0px}

 223      

 224      

 225      div.panel{

 226      

 227          padding-top: 10px;

 228          font-family: Verdana, Arial;

 229          font-size: 12px;

 230      }

 231      

 232      a{

 233          font-weight: bold;

 234          color: #003365;

 235      }

 236      

 237      a:hover{

 238          font-weight: bold;

 239          color: Black;

 240      }

 241      div.button{

 242          padding: 2px 10px 2px 10px;

 243          font-family: Verdana, Arial;

 244          font-size: 12px;

 245          border: 1px solid white;

 246          background-color: #8FB4D1;

 247          

 248      }

 249      

 250      .sapidcms_cont_btn { 

 251          cursor: pointer;

 252          padding: 0px 5px 0px 5px;

 253          font-family: Verdana, Arial; font-size: 11px; color: white; 

 254          border: 1px solid #000000; background: #316EA3 url('.$GLOBALS["PHP_SELF"].'?name=btnbg) 

 255      }

 256      

 257      .btn { 

 258          cursor: pointer;

 259          padding: 0px 5px 0px 5px;

 260          font-family: Verdana, Arial; font-size: 11px; color: white; 

 261          border: 1px solid #000000;  

 262      }

 263      ';

 264  

 265      echo '

 266          <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

 267          

 268          <html>

 269          <head>

 270              <title>'.$lang["SAPIDconfutil"].'</title>

 271          <style>

 272          '.$css.'

 273          </style>

 274          </head>

 275          

 276          <div style="position: absolute; left: 22%; top: 5%">

 277          <div style="position: absolute; z-index: 2;"><img src="'.$GLOBALS["PHP_SELF"].'?name=girl" width="100" height="193" alt="'.$lang["Beastie"].'"></div>

 278          <div style="padding: 125px 0px 0px 25px;">

 279          <table class="tpanel" style="width: 600px;" cellspacing=0 cellpadding=0>

 280          <tr><td class="header" style="text-align: center;"></td></tr>

 281          <tr>

 282          <td style="padding: 20px; font-family: Verdana, Arial;">'.$error.'</td>

 283          </tr>

 284          <tr>

 285          <td class="header" align="right">&nbsp;</td>

 286          </tr>

 287          </table>

 288          </div>

 289          </div>

 290          </body>

 291          </html>

 292          '."\n".'<!--'.$__report.'-->';

 293      exit;

 294  }

 295  

 296  

 297  function d($var, $return=false){

 298      if($return){

 299          ob_start();

 300          echo "<pre>";

 301          print_r($var);

 302          echo "</pre>";

 303          $result=ob_get_contents();

 304          ob_end_clean();

 305          return $result;

 306      }else{

 307          echo "<pre>";

 308          print_r($var);

 309          echo "</pre>";

 310          return true;

 311      }

 312  }

 313  

 314  

 315  

 316  

 317  

 318  

 319  

 320  

 321  

 322  

 323  

 324  

 325  

 326  

 327  

 328  

 329  //

 330  // Program scenario

 331  //

 332  

 333  // Step 1. Introduction

 334  

 335  if (!$_GET["step"] and !$_POST["step"]) {

 336      $path_prefix=preg_replace("/install\.php(.*)/", "", $_SERVER["REQUEST_URI"]);

 337      $form='

 338  <form method="post">

 339          <input type="hidden" name="step" value="1" />

 340          <table width="90%" style="font-size: 12px;" align="center">

 341          <tr><td nowrap="nowrap">'.$lang["Ftpsite"].':</td><td><input style="width: 250px;" type="text" name="ftpsite" ID="ftpsite" value="ftp://'.$_SERVER["HTTP_HOST"].'"></td></tr>

 342          <tr><td nowrap="nowrap">'.$lang["Ftpuser"].':</td><td><input type="text"  style="width: 250px;" name="ftpuser" value="" ID="ftpuser"></td></tr>

 343          <tr><td nowrap="nowrap">'.$lang["Ftppass"].':</td><td><input type="password"  style="width: 250px;" name="ftppass" ID="ftppass" value=""></td></tr>

 344          <tr><td nowrap="nowrap">'.$lang["Ftppath"].':</td><td><input type="text" style="width: 250px;"  name="root_path" value="'.$path_prefix.'" /></td></tr>

 345          <tr><td colspan="2" style="border: 0px; padding-top: 10px;" align="center"><input type="submit" class="sapidcms_cont_btn" name="post" value="Yes, do it for me"></td></tr>

 346          </table>

 347  </form><br /><br />

 348  ';

 349      message_die($lang["Step1Content"].($flag_win?"":$form).$lang["Otherwise"]);

 350  }

 351  

 352  

 353  

 354  

 355  // Step 2. Filling in form

 356  

 357  if ($_GET["step"]=="1" or $_POST["step"]=="1") {

 358      

 359      // Check DB connection

 360      

 361              include(ROOT_PATH."etc/db.conf.php");

 362              include(ROOT_PATH."kernel/dbo/dbo.php");

 363              include(ROOT_PATH."kernel/dbo/dbo_adodblite.php");

 364              

 365              $db = new DBO_AdoDB($GLOBALS["DBConnect"]["MasterDB"]);

 366              

 367              if(!$db->connected) {

 368                  message_die($lang["dbconnect"]);

 369              }

 370              $test_sql = "SELECT * FROM `sapi_tree` LIMIT 0, 1";

 371              if(!$r=$db->query($test_sql)) message_die($lang["dbconnect"]);

 372              if(! $db->farr() ) message_die($lang["dbconnect"]); 

 373              $test_sql = "SELECT * FROM `sapi_data` LIMIT 0, 1";

 374              if(!$r=$db->query($test_sql)) message_die($lang["dbconnect"]);

 375              if(! $db->farr($r) ) message_die($lang["dbconnect"]); 

 376      

 377      

 378      if($_POST["step"]==1){

 379          if (function_exists("ftp_connect")) {

 380              $fp=@ftp_connect(str_replace("ftp://", "", $_POST["ftpsite"]));

 381              

 382              if(!$fp) message_die( str_replace("{ftpsite}",$_POST["ftpsite"], $lang["Could_not_connect_to"]) );

 383              if ($fp and @ftp_login($fp, $_POST["ftpuser"], $_POST["ftppass"])){

 384                  if(!@ftp_chdir($fp, $_POST["root_path"])) {

 385                      message_die(str_replace("{ftpsite}",$_POST["ftpsite"], $lang["Successfully_connected_to"])."<B>" .$_POST["root_path"] . "</B>");

 386                  }

 387                      

 388                  $dirs=array("log", "usr/dump", "usr/extensions", "usr/templates", "usr/templates/images", "usr/xml", "usr/xml/content", "usr/xml/sdc", "usr/xml/vdb", "usr/system/cache");

 389                  $files=array("etc/rc.conf.php", ".htaccess");

 390                  foreach ($dirs as $dir) {

 391                      if(!@ftp_site($fp, "CHMOD 0777 ".$dir)) message_die($lang["Could_not_set_permissions_to"]. "<B>" . $_POST["root_path"] . $dir . "</B>"); else{

 392                          $list=@ftp_nlist($fp, $dir);

 393                          if (is_array($list))

 394                          foreach ($list as $file) {

 395                              if(!@ftp_site($fp, "CHMOD ".(ftp_size($fp, $file) == -1?"0777 ":"0666 ").$file)) message_die($lang["Could_not_set_permissions_to"]. "<B>" . $_POST["root_path"] . $file . "</B>");

 396                          }

 397                      }

 398  

 399                  }

 400  

 401                  foreach ($files as $file) {

 402                      if(!@ftp_site($fp, "CHMOD 0666 ".$file)) message_die($lang["Could_not_set_permissions_to"] . "<B>" . $_POST["root_path"] . $file . "</B>");

 403                  }

 404  

 405  

 406              }else message_die( $lang["Could_not_login_to"] . $_POST["ftpsite"] . " " . str_replace("{ftpuser}",$_POST["ftpuser"], $lang["...using_login"])."<B>" . $_POST["ftppass"] . "</B>");

 407          } else {         } 

 408      }

 409  

 410  

 411      $path_prefix=preg_replace("/install\.php(.*)/", "", $_SERVER["REQUEST_URI"]);

 412  

 413  

 414  

 415      $form='

 416      <script>

 417          function validate(){

 418              http_path=document.getElementById(\'http_path\').value;

 419              admin_login=document.getElementById(\'admin_login\').value;

 420              admin_password=document.getElementById(\'admin_password\').value;

 421              admin_path=document.getElementById(\'admin_path\').value;

 422          if(!http_path || !admin_login || !admin_password || !admin_path) 

 423          {

 424              alert(\''.$lang["NeedFill"].'\');

 425              return false;

 426          }else{

 427              pos = new String (admin_path);

 428              if(pos.indexOf(\'\'+http_path+\'\')==-1 || http_path==admin_path) {

 429                  alert(\''.$lang["IncorrectHTTPpath"].'\');

 430                  return false;

 431              }

 432          }

 433          return true;

 434          }

 435          

 436          function getCharset(index){

 437              lang = new Array("UTF-8", "UTF-8");

 438              return lang[index];        

 439          }

 440          

 441  </script>

 442  <form method="post">

 443          <input type="hidden" name="step" value="2" />

 444          <table width="90%" style="font-size: 12px;" align="center">

 445          <tr><td nowrap="nowrap">'.$lang["HTTPaddress"].':</td><td><input style="width: 250px;" type="text" name="http_path" ID="http_path" value="http://'.$_SERVER["HTTP_HOST"].$path_prefix.'" onKeyUp="document.getElementById(\'admin_path\').value=this.value+\'area51/\';"></td></tr>

 446          <tr><td nowrap="nowrap">'.$lang["Adminlogin"].':</td><td><input type="text"  style="width: 250px;" name="admin_login" value="" ID="admin_login"></td></tr>

 447          <tr><td nowrap="nowrap">'.$lang["Adminpassword"].':</td><td><input type="password"  style="width: 250px;" name="admin_password" ID="admin_password" value=""></td></tr>

 448          <tr><td nowrap="nowrap">'.$lang["Adminmail"].':</td><td><input type="text"  style="width: 250px;" name="admin_email" ID="admin_email" value=""></td></tr>

 449          <tr><td nowrap="nowrap">'.$lang["Admin_path"].':</td><td><input type="text"  style="width: 250px;" name="admin_path" ID="admin_path" value="http://'.$_SERVER["HTTP_HOST"].$path_prefix.'area51/"></td></tr>

 450          <tr><td nowrap="nowrap">'.$lang["D_language"].':</td><td><select onChange="document.getElementById(\'default_charset\').value=getCharset(this.selectedIndex)" style="width: 250px;" name="default_language" ID="default_language"><option value="en" selected>en</option><option value="ru">ru</option></select></td></tr>

 451          <tr><td nowrap="nowrap">'.$lang["D_charset"].':</td><td><input type="text"  style="width: 250px;" name="default_charset" ID="default_charset" value="Windows-1252"></td></tr>

 452          <tr><td colspan="2" style="border: 0px; padding-top: 10px;" align="center"><input type="submit" class="sapidcms_cont_btn" name="post" value="Submit" onClick="return validate();"></td></tr>

 453          </table>

 454  </form>        

 455          ';

 456  

 457      $message=$lang["Step2Top"].":<br /><br />" . $form;

 458      message_die($message);

 459  }

 460  

 461  

 462  // Step 3. Cheking of MOD_REWRITE

 463  

 464  if ($_POST["step"]==2) {

 465      $http_path=$_POST["http_path"];

 466      $admin_login=$_POST["admin_login"];

 467      $admin_password=$_POST["admin_password"];

 468      $admin_email=$_POST["admin_email"];

 469      $default_language=$_POST["default_language"];

 470      $default_charset=$_POST["default_charset"];

 471      $admin_path=preg_replace("/^".addcslashes($http_path, "/")."(.*)\/$/isU", "\\1", $_POST["admin_path"]);

 472      if(!$_POST["modrewrite"]){

 473          // If PHP returns MODREWRITE availability

 474          if (function_exists("apache_get_modules")) {

 475              $modules=apache_get_modules();

 476              if (in_array("mod_rewrite", $modules)) {

 477                  $MODREWRITE="enabled";

 478                  $__report .= "\nIn case apache_get_modules\nOK\n";

 479              }

 480          }else{

 481              $htaccess=@fopen(".htaccess", "w");

 482              if (!$htaccess) {

 483                  message_die($lang["Permissions_error"]);

 484              }else{

 485                  

 486                  // If socket gets 200K answer (in case index.php) 

 487                  

 488                  if(!$htaccess=@fopen(".htaccess", "w")) message_die($lang["Givemepermissionstomodify"]);

 489                  fwrite($htaccess, str_replace("\r\n", "\n", 

 490  "DirectoryIndex index.php\n

 491  ErrorDocument 404 /404/\n

 492  Options +Followsymlinks\n\n

 493  RewriteEngine On\n

 494  RewriteCond %{REQUEST_FILENAME} !-f\n

 495  RewriteCond %{REQUEST_FILENAME} !-d\n

 496  RewriteRule ^(.*)$ index.php?%{QUERY_STRING}\n"

 497                  ));

 498                  fclose($htaccess);

 499                  @chmod(".htaccess", 0644);

 500                  preg_match("/http:\/\/(.*)(\/.*)?\/$/isU", $http_path, $matches);

 501                  $host=$matches[1];

 502                  $path_prefix=$matches[2] . (preg_match("/\/$/", $matches[2])?"":"/");

 503                  $http_host=preg_replace("/http:\/\/([a-z\.\-\d]+)\/.*/is", "\\1", $http_path);
 504                  $addr=gethostbyname($http_host);
 505  
 506                  $fp = @fsockopen($addr, 80, $errno, $errstr, 30);
 507                  if (!$fp) {
 508                      $error = "$errstr ($errno)<br />\n";
 509                      message_die("Unable to connect to " . $host . ":80<br /><br />" . $error);
 510                  } else {
 511                      $out = "GET ".$path_prefix."rewrite/module/seek/ HTTP/1.1\r\n";
 512                      $out .= "Host: $host\r\n";
 513                      $out .= "Connection: Close\r\n\r\n";
 514                      fwrite($fp, $out);
 515                      $response=fgets($fp, 128);
 516                      $__report .= "\nIn case index.php\n".$response."\n";
 517                      fclose($fp);
 518                      if (preg_match("/HTTP\/1\.(1|0)\s+200\s+OK/isU", $response)) {
 519                          $MODREWRITE="enabled";
 520                      }else{
 521                  
 522                      // If socket gets 200K answer (in case http://fullurl/index.php)        

 523                          
 524                      if(!$htaccess=@fopen(".htaccess", "w")) message_die($lang["Givemepermissionstomodify"]);
 525                      fwrite($htaccess, str_replace("\r\n", "\n", 
 526  "DirectoryIndex index.php\n
 527  ErrorDocument 404 /404/\n
 528  Options +Followsymlinks\n\n
 529  RewriteEngine On\n
 530  RewriteCond %{REQUEST_FILENAME} !-f\n
 531  RewriteCond %{REQUEST_FILENAME} !-d\n
 532  RewriteRule ^(.*)$ ".$http_path."index.php?%{QUERY_STRING}\n"
 533                  ));
 534  
 535                  fclose($htaccess);
 536                  @chmod(".htaccess", 0644);
 537                  $fp = @fsockopen($addr, 80, $errno, $errstr, 30);                
 538                  $out = "GET ".$path_prefix."rewrite/module/seek/ HTTP/1.1\r\n";
 539                  $out .= "Host: $host\r\n";
 540                  $out .= "Connection: Close\r\n\r\n";
 541                  fwrite($fp, $out);
 542                  $response=fgets($fp, 128);
 543                  fclose($fp);
 544                  $__report .= "\nIn case fullurl/index.php\n".$response."\n";
 545                  if (preg_match("/HTTP\/1\.(1|0)\s+200\s+OK/isU", $response)) 
 546                      $MODREWRITE="enabled";                    
 547                      else {
 548                          $htaccess=fopen(".htaccess", "w");
 549                          if (!$htaccess) {
 550                              message_die($lang["Givemepermissionstomodify"]);
 551                          }else{
 552  
 553                              // If socket gets 200K answer (in case index.php)

 554                              fwrite($htaccess, str_replace("\r\n", "\n", 
 555  "DirectoryIndex index.php\n 
 556  Options -Multiviews -Indexes\n
 557  ErrorDocument 404 ".$http_path."index.php\n"
 558                              ));
 559                              fclose($htaccess);
 560                              @chmod(".htaccess", 0644);
 561                              $fp = @fsockopen($addr, 80, $errno, $errstr, 30);                
 562                              $out = "
 563                              ** BLOCKED **
 564                              GET ".$path_prefix."rewrite/module/seek/ HTTP/1.1\r\n";
 565                              $out .= "Host: $host\r\n";
 566                              $out .= "Connection: Close\r\n\r\n";
 567                              fwrite($fp, $out);
 568                              $response=fgets($fp, 128);
 569                              fclose($fp);
 570                              $__report .= "\nIn case Multiviews\n".$response."\n";
 571                              if (preg_match("/HTTP\/1\.(1|0)\s+302\s+Found/isU", $response)) 
 572                                  $MODREWRITE="MultiviewsMode";
 573                              else {
 574                                  $htaccess=fopen(".htaccess", "w");
 575                                  if (!$htaccess) {
 576                                      $error=$lang["Givemepermissionstomodify"];
 577                                      message_die($error);
 578                                  }else{
 579                                      fwrite($htaccess, "DirectoryIndex index.php\n");
 580                                      fclose($htaccess);
 581                                      @chmod(".htaccess", 0644);
 582                                      $MODREWRITE="disabled";                                    
 583                                  }
 584                              }                            
 585                          }
 586                      }
 587                      
 588                      }
 589                  }
 590              }
 591          }
 592          if ($MODREWRITE=="disabled" OR $MODREWRITE=="MultiviewsMode") {
 593              $message='
 594          <form ID="settings" method="post">
 595          <input type="hidden" name="step" value="2" />
 596          <input type="hidden" name="http_path" value="'.$http_path.'" />
 597          <input type="hidden" name="admin_login" value="'.$admin_login.'" />
 598          <input type="hidden" name="admin_password" value="'.$admin_password.'" />
 599          <input type="hidden" name="admin_email" value="'.$admin_email.'" />
 600          <input type="hidden" name="admin_path" value="'.$admin_path.'" />
 601          <input type="hidden" ID="modrewrite" name="modrewrite" value="enabled" />
 602          <input type="hidden" name="default_charset" value="'.$default_charset.'" />
 603          <input type="hidden" name="default_language" value="'.$default_language.'" />
 604          </form>
 605          ';
 606          message_die( str_replace("{MODREWRITE}", $MODREWRITE, $message.$lang["It_is_not_supporting_modrewrite"]) );
 607          }
 608      }else{
 609          $MODREWRITE=$_POST["modrewrite"];
 610          $htaccess=@fopen(".htaccess", "w");
 611  
 612          if (!$htaccess) {
 613              $error=$lang["Givemepermissionstomod2"];
 614              message_die($error);
 615          }else{
 616              $content=($MODREWRITE=="enabled"?
 617  "DirectoryIndex index.php
 618  ErrorDocument 404 /404/
 619  Options +Followsymlinks
 620  RewriteEngine On
 621  RewriteCond %{REQUEST_FILENAME} !-f
 622  RewriteCond %{REQUEST_FILENAME} !-d
 623  RewriteRule ^(.*)$ index.php?%{QUERY_STRING}  
 624  ":"DirectoryIndex index.php\n");
 625  
 626  if($MODREWRITE=="MultiviewsMode")
 627  $content= "DirectoryIndex index.php\n 
 628  Options -Multiviews -Indexes\n
 629  ErrorDocument 404 ".$http_path."index.php\n";
 630  
 631              fwrite($htaccess, str_replace("\r\n", "\n", $content));
 632              fclose($htaccess);
 633              @chmod(".htaccess", 0644);
 634          }
 635      }
 636  
 637      // Creating of user list

 638  
 639      $users_file=@fopen(