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

Размер файла: 7.94Kb
<?php
/*
Инсталяция проекта "Народный магазин"
Автор: Denvas
*/

    $datavar=array(
    array("1","Админский доступ"),
    array("admin_login","string","admin","Логин админа"),
    array("admin_password","string","password","Пароль"),

    array("2","основные настройки"),
    array("wapver","int","0","версия вапа. 0-автоопределение,1-wap 1.1, 2-wap 2.0, 3-web"),
    array("nrowpage","int","5","количество записей (абзацев) на странице"),
    array("title","string","Заголовок","Заголовок по-умолчанию"),
    array("code","string","","начало страницы"),
    array("keyword","string","","3-5 ключевых слов"),
    array("codecounter","string","","код счетчика (будет показыватся только на первой странице)"),
    array("endcode","string","<a href='index.php'>(c) Код снизу</a><br/>","низ страницы"),
    array("down_maxsize","int","1000000","максимальный размер загружаемого файла (в байтах)"),
    array("design_name","string","standart","название дизайна. не меняйте, если не уверены"),
    array("banner_num","int","0","сколько баннерной рекламы показывать на странице"),
    array("stat_from","string","from","параметр подсчета входов"),
    array("antifraud_key","string",mt_rand(100000,999999),"случайная строка для защита от спама"),
    array("compressdata","int","0","Сжатие данных (0 или 1)"),

    array("3","почта"),
    array("admin_email","string","","мыло админа сайта"),
    array("smtp_serv","string","","сервер smtp (если пустой, значит sendmail). пример smtp.mail.ru"),
    array("smtp_user","string","","пользователь"),
    array("smtp_pass","string","","пароль"),
    array("mail_text","string","С уважением, администрация народного магазина","подпись в каждом письме"),

    array("4","Авт. обработка картинок"),
    array("resize_type","string","","тип картинки к товару. доступны png, gif, jpeg. если не хотите, чтоб тумбинашки создавались, то просто оставьте поле пустым"),
    array("resize_width","int","42","ширина после преобразования"),
    array("resize_height","int","42","высота после преобразования"),

    array("10","пути. не меняйте, если не понимаете"),
    array("path_download","string","download","папка с файлами"),
    array("path_session","string","session","папка с сессиями зарегеных пользователей"),
    array("path_log","string","logs","логи работы скриптов. иногда нужно будет заходить в эту папку и удалять файлы :-)"),
    array("path_text","string","text","в этой папке тексты лежат"),

    array("11","остальные параметры"),
    array("chartoutf","int","1","1-конвертация данных в utf-8 в реальном режиме, 0-все уже проконверчено"),
    array("demo","int","0","деморежим админки. можно всем показывать, но ни чего они изменить не смогут (и вы тоже)"),
    array("banner_name","string","banner","название файла с баннерами"),

    array("12"),
    array("shopsite","def",'"http://".@$_SERVER["HTTP_HOST"].rtrim(dirname(@$_SERVER["PHP_SELF"]),"/")',""),
    array("wappc_result_url","def",'$shopsite."/reg_wappc.php"',""),
    array("webmoney_result_url","def",'$shopsite."/reg_webmoney.php"',""),
    array("codereplace","def",'array("<p></p>"=>"")',""),
    array("queryneed","def",'array("tr","ses","wv")',""),
    array("download_type","def",'array("jpeg"=>"image/jpeg","jpg"=>"image/jpeg","gif"=>"image/gif","png"=>"image/png","zip"=>"application/zip","rar"=>"application/octet-stream","exe"=>"application/octet-stream","wmls"=>"text/vnd.wap.wmlscript","wml"=>"text/vnd.wap.wml","mmf"=>"application/x-smaf","mid"=>"audio/midi","midi"=>"audio/midi","bmp"=>"image/bmp","jad"=>"text/vnd.sun.j2me.app-descriptor","jar"=>"application/java-archive","3gp"=>"video/3gpp","mp3"=>"audio/mpeg",)',""),
    );
    if(file_exists("config.php")){
        include_once("config.php");
    }
    else{
        $config=CreateConfig();
        SaveConfig($config);
        include_once("config.php");
    };

    if(isset($wapver))$wapver_orig=$wapver;
    if(isset($code))$code_orig=$code;
    if(isset($title))$title_orig=$title;

    $design_name="standart";
    $code="";$title="";$chartoutf=1;

    include_once("function.php");
    include_once("session.php");
    include_once("shop.php");
    include_once("design.php");


    InitDesign($design_name,$wapver);
    $step=isset($_GET["step"])?(int)$_GET["step"]:0;
    //вывод шагов настройки
    if($step==0){
        $config=CreateConfig();
        SaveConfig($config);
        $code.=design("Настройка проекта","header");
        for($i=0;$i<count($datavar);$i++){
            if(count($datavar[$i])==1)break;
            if(count($datavar[$i])==2){
                $row=$datavar[$i];
                $code.="<a href='".QueryParam(array("step"))."step=".$row[0]."'>".$row[1]."</a><br/>";
            };
        };
        $code.=design("Не забудьте удалить файл install.php после настройки проекта","warning");
        if(isset($admin_login))$code.="<a href='admin.php?login=".$admin_login."&amp;pwd=".$admin_password."'>Админка</a><br/>";
        $code.="<a href='index.php'>Сайт</a><br/>";
        
    }//if
    //вывод одного шага
    else{
        $flag=0;
        for($i=0;$i<count($datavar);$i++)
            if((count($datavar[$i])==2)&&($datavar[$i][0]==$step)){$flag=$i+1;break;};

        $dataform=array();
        for($i=$flag;$i<count($datavar);$i++){
            if(count($datavar[$i])<3)break;
            $row=$datavar[$i];
            $val=isset($GLOBALS[$row[0]])?(isset($GLOBALS[$row[0]."_orig"])?$GLOBALS[$row[0]."_orig"]:$GLOBALS[$row[0]]):$row[2];
            if(is_array($val))$val=join(";",$val);
            $val=htmlspecialchars($val,true);
            $dataform[]=array($row[3],$row[0],$val,"text");
        };
        if(!empty($_POST["send"])){
            $config=CreateConfig();
            SaveConfig($config);
            Relocation(QueryParam(array("step")),"Настройки изменены",20);
        };

        $code.=ShowForm($dataform,"Сохранить","","post");
        $code.="<a href='".QueryParam(array("step"))."'>выбор конфигурации</a><br/>";
    };
    $code=strtr($template["mainadmin"],array("\$code\$"=>$code,"\$title\$"=>$title));
    ShowXML($code);        
//==================================================//
    function CreateConfig(){        
        global $datavar;
        //конфигурация по-умолчанию
        $config="";
        for($i=0;$i<count($datavar);$i++){
            if(count($datavar[$i])<4)continue;
            $row=$datavar[$i];
            $config.="\$".$row[0]."=";
            if((!isset($GLOBALS[$row[0]]))||(isset($_POST[$row[0]]))){
                if(isset($_POST[$row[0]]))$val=strtr($_POST[$row[0]],array("&amp;"=>"&","&quot;"=>"\"","&#039;"=>"'","&lt;"=>"<","&gt;"=>">")); else $val=$row[2];
                if(strcmp($row[1],"string")==0){
                    $config.="\"".strtr($val,array("\""=>"\\\""))."\"";
                }
                elseif(strcmp($row[1],"array")==0){
                    $str="'".join("','",explode(";",$val))."'";
                    $config.="array(".$str.")";
                }
                elseif(strcmp($row[1],"int")==0){
                    $config.=(int)$val;
                }
                elseif(strcmp($row[1],"float")==0){
                    $config.=(float)$val;
                }
                else
                    $config.=$val;
            }//if
            else{
                if(isset($GLOBALS[$row[0]."_orig"]))
                    $config.=var_export($GLOBALS[$row[0]."_orig"],true);
                else
                    $config.=var_export($GLOBALS[$row[0]],true);
            };
            $config.=";\n";
        };//for
        return $config;
    };
    function SaveConfig($config){
        global $code;
        $fd=fopen("config.php","wb");
        if(!$fd){
            $code.=design("Ошибка записи конфигурационного файла","error");
            return false;
        };
        fwrite($fd,"<?php\n/*автоконфигурация*/\n");
        fwrite($fd,$config);
        fwrite($fd,"?>");
        fclose($fd);
    };
?>