| [ PHPXref.com ] | [ Generated: Sun Jul 20 20:11:53 2008 ] | [ SAPID Gallery 1.0 ] |
| [ Index ] [ Variables ] [ Functions ] [ Classes ] [ Constants ] [ Statistics ] | ||
[Summary view] [Print] [Text view]
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" => "Привет, меня зовут... Нет, пожалуй я пока этого не скажу —, мы пока не настолько близки :) Но здесь у меня есть работа и я смогу ее сделать только с вашей помощью. <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"> </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(