Example #1
0
 function __construct($db = array())
 {
     $default = array('host' => 'localhost', 'user' => 'root', 'pass' => '', 'db' => 'ogs');
     $db = array_merge($default, $db);
     self::$con = mysql_connect($db['host'], $db['user'], $db['pass'], true) or die('Error connecting to MySQL');
     mysql_select_db($db['db'], self::$con) or die('Database ' . $db['db'] . ' does not exist!');
 }
Example #2
0
 /**
  * Inicializovat system
  *
  * @param string      $root            relativni cesta do korenoveho adresare
  * @param string|null $configFile      cesta ke konfiguracnimu skriptu nebo null(= vychozi)
  * @param bool        $envChanges      provest zmeny v prostredi (error reporting, locale, header, ...) 1/0
  * @param bool        $lightMode       odlehceny mod (pouze pripojeni k db, bez session, nastaveni, lokalizace, atd) 1/0
  * @param bool        $databaseEnabled inicializovat pripojeni k databazi 1/0
  * @param bool        $runCron         automaticky spustit cron, je-li aktivovan 1/0
  */
 public static function init($root, $configFile = null, $envChanges = true, $lightMode = false, $databaseEnabled = true, $runCron = true)
 {
     if (self::$initialized) {
         throw new BadMethodCallException();
     }
     $initialized = true;
     self::$start = microtime(true);
     /* ----  konfigurace  ---- */
     if (null === $configFile) {
         self::$configFile = $root . 'config.php';
     } else {
         self::$configFile = $configFile;
     }
     self::$envChanges = $envChanges;
     self::$lightMode = $lightMode;
     self::$databaseEnabled = $databaseEnabled;
     self::$imageError = $root . 'remote/image_error.png';
     // soubor s nastavenim
     require self::$configFile;
     // doplneni konfigurace (kvuli kompatibilite)
     if (!isset($locale)) {
         $locale = array('czech', 'utf8', 'cz_CZ');
     }
     if (!isset($timezone)) {
         $timezone = 'Europe/Prague';
     }
     if (!isset($geo)) {
         $geo = array(50.5, 14.26, 90.583333);
     }
     if (!isset($port)) {
         // pokud neni uveden $port, muze byt definovan jako soucast $server (server:port)
         if (false !== ($serverColonPos = strpos($server, ':'))) {
             $port = (int) substr($server, $serverColonPos + 1);
             $server = substr($server, 0, $serverColonPos);
         } else {
             $port = ini_get('mysqli.default_port');
         }
     }
     // systemove konstanty
     define('_indexroot', $root);
     define('_core', '1');
     define('_nl', "\n");
     define('_sessionprefix', md5($server . $database . $user . $prefix) . '-');
     if (!defined('_administration')) {
         define('_administration', 0);
     }
     define('_dev', isset($dev) ? $dev : true);
     // vyvojovy mod 1/0
     define('_systemstate', 0);
     // 0 = beta, 1 = rc, 2 = stable
     define('_systemstate_revision', 0);
     // revize systemu
     define('_systemversion', '7.5.5');
     // verze systemu
     define('_mysql_prefix', $prefix);
     define('_mysql_db', $database);
     define('_upload_dir', _indexroot . 'upload/');
     define('_plugin_dir', _indexroot . 'plugins/common/');
     define('_tmp_dir', _indexroot . 'data/tmp/');
     define('_void_file', _indexroot . 'data/void.nodelete');
     define('_geo_latitude', $geo[0]);
     define('_geo_longitude', $geo[1]);
     define('_geo_zenith', $geo[2]);
     /* ----  autoloader  ---- */
     require _indexroot . 'require/class/class_loader.php';
     self::$classLoader = new ClassLoader();
     self::$classLoader->setDebug(_dev)->registerClassMap(array('AdminBread' => _indexroot . 'require/class/admin_bread.php', 'Color' => _indexroot . 'require/class/color.php', 'DBDump' => _indexroot . 'require/class/dbdump.php', 'KZip' => _indexroot . 'require/class/kzip.php', 'KZipStream' => _indexroot . 'require/class/kzip.php', 'TreeManager' => _indexroot . 'require/class/tree_manager.php', 'TreeReader' => _indexroot . 'require/class/tree_reader.php', 'LangPack' => _indexroot . 'require/class/lang_pack.php', 'FileCache' => _indexroot . 'require/class/file_cache.php'))->register();
     /* ----  upravy PHP prostredi  ---- */
     if ($envChanges) {
         // kontrola verze PHP a pritomnosti rozsireni
         if (version_compare(PHP_VERSION, '5.1.0', '<')) {
             _systemFailure('Je vyžadováno PHP 5.1.0 nebo novější.');
         }
         if (!extension_loaded('mbstring')) {
             _systemFailure('Chybí PHP rozšíření <code>mbstring</code> (Multibyte String Functions).');
         }
         if (!extension_loaded('mysqli')) {
             _systemFailure('Chybí PHP rozšíření <code>mysqli</code>, které je potřebné pro práci s databází.');
         }
         // kontrola a nastaveni $_SERVER['REQUEST_URI']
         if (!isset($_SERVER['REQUEST_URI'])) {
             if (isset($_SERVER['HTTP_X_REWRITE_URL'])) {
                 $_SERVER['REQUEST_URI'] = $_SERVER['HTTP_X_REWRITE_URL'];
             } elseif (isset($_SERVER['HTTP_REQUEST_URI'])) {
                 $_SERVER['REQUEST_URI'] = $_SERVER['HTTP_REQUEST_URI'];
             } else {
                 if (isset($_SERVER['SCRIPT_NAME'])) {
                     $_SERVER['HTTP_REQUEST_URI'] = $_SERVER['SCRIPT_NAME'];
                 } else {
                     $_SERVER['HTTP_REQUEST_URI'] = $_SERVER['PHP_SELF'];
                 }
                 if (!empty($_SERVER['QUERY_STRING'])) {
                     $_SERVER['HTTP_REQUEST_URI'] .= '?' . $_SERVER['QUERY_STRING'];
                 }
                 $_SERVER['REQUEST_URI'] = $_SERVER['HTTP_REQUEST_URI'];
             }
         }
         // vyruseni register_globals
         if (ini_get('register_globals') != '') {
             foreach (array_keys($_REQUEST) as $key) {
                 unset($GLOBALS[$key]);
             }
         }
         // vypnuti magic_quotes
         if (get_magic_quotes_gpc()) {
             $search = array(&$_GET, &$_POST, &$_COOKIE);
             for ($i = 0; isset($search[$i]); ++$i) {
                 foreach ($search[$i] as &$value) {
                     if (is_array($value)) {
                         $search[] =& $value;
                     } else {
                         $value = stripslashes($value);
                     }
                 }
                 unset($search[$i]);
             }
             if (function_exists('set_magic_quotes_runtime')) {
                 @set_magic_quotes_runtime(0);
             }
             unset($search, $i, $value);
         }
         // hlaseni chyb
         $err_rep = E_ALL;
         if (_dev) {
             $disable = array();
         } else {
             $disable = array('E_NOTICE ', 'E_USER_NOTICE', 'E_DEPRECATED', 'E_STRICT');
         }
         for ($i = 0; isset($disable[$i]); ++$i) {
             if (defined($disable[$i])) {
                 $err_rep &= ~constant($disable[$i]);
             }
         }
         error_reporting($err_rep);
         // casove pasmo
         @setlocale(LC_TIME, $locale);
         if (function_exists('date_default_timezone_set')) {
             date_default_timezone_set($timezone);
         }
         // interni kodovani
         mb_internal_encoding('UTF-8');
         // vychozi hlavicky
         if (!defined('_header')) {
             header('Content-Type: text/html; charset=UTF-8');
             header('Expires: ' . gmdate('D, d M Y H:i:s', time() - 604800) . ' GMT');
         } elseif (_header) {
             header(_header);
         }
     }
     /* ----  nacteni funkci  ---- */
     require _indexroot . 'require/functions.php';
     if (isset($_GET['___identify'])) {
         echo 'SunLight CMS ', _systemversion, ' ', self::$states[_systemstate], _systemstate_revision;
         exit;
     }
     /* ----  pripojeni k mysql  ---- */
     if ($databaseEnabled) {
         $con = @mysqli_connect($server, $user, $password, $database, $port);
         if (!is_object($con)) {
             _systemFailure('Připojení k databázi se nezdařilo. Důvodem je pravděpodobně výpadek serveru nebo chybné přístupové údaje.</p><hr /><pre>' . _htmlStr(mysqli_connect_error()) . '</pre><hr /><p>Zkontrolujte přístupové údaje v souboru <em>config.php</em>.');
         }
         $con->set_charset('utf8');
         DB::$con = $con;
         DB::query('SET sql_mode=\'\'');
     }
     /* ----  konstanty nastaveni, jazykovy soubor, motiv, session  ---- */
     if (!$lightMode) {
         // definovani konstant nastaveni
         $query = DB::query('SELECT * FROM `' . _mysql_prefix . '-settings`', true);
         $directive = array('banned' => '');
         if (DB::error() != false) {
             _systemFailure('Připojení k databázi proběhlo úspěšně, ale dotaz na databázi selhal.</p><hr /><pre>' . _htmlStr(DB::error()) . '</pre><hr /><p>Zkontrolujte, zda je databáze správně nainstalovaná.');
         }
         while ($item = DB::row($query)) {
             if (isset($directive[$item['var']])) {
                 // direktiva
                 $directive[$item['var']] = $item['val'];
             } elseif ($item['var'][0] === '.') {
                 // nastaveni zacinajici teckou
                 self::$settings[substr($item['var'], 1)] = $item['val'];
             } else {
                 // konstanta
                 define('_' . $item['var'], $item['val']);
             }
         }
         DB::free($query);
         // nastavit interval pro maintenance
         self::$cronIntervals['maintenance'] = _maintenance_interval;
         // ip adresa klienta
         if (empty($_SERVER['REMOTE_ADDR'])) {
             $_SERVER['REMOTE_ADDR'] = '127.0.0.1';
         }
         if (_proxy_mode && isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
             $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
         } else {
             $ip = $_SERVER['REMOTE_ADDR'];
         }
         define('_userip', trim(($addr_comma = strrpos($ip, ',')) === false ? $ip : substr($ip, $addr_comma + 1)));
         // poinstalacni kontrola
         if (_install_check) {
             require _indexroot . 'require/installcheck.php';
         }
         // kontrola verze databaze
         if (!defined('_dbversion') or !_checkVersion('database', _dbversion)) {
             _systemFailure('Verze nainstalované databáze není kompatibilní s verzí systému. Pokud byl právě aplikován patch pro přechod na novější verzi, pravděpodobně jste zapoměl(a) spustit skript pro aktualizaci databáze.');
         }
         // inicializace session
         require _indexroot . 'require/session.php';
         // inicializace jazykoveho souboru
         if (_loginindicator and _language_allowcustom and _loginlanguage != "") {
             $language = _loginlanguage;
         } else {
             $language = _language;
         }
         $langfile = _indexroot . 'plugins/languages/' . $language . '.php';
         $langfile_default = _indexroot . 'plugins/languages/default.php';
         if (file_exists($langfile)) {
             $GLOBALS['_lang'] = (require $langfile);
             define('_active_language', $language);
         } else {
             if (file_exists($langfile_default)) {
                 $GLOBALS['_lang'] = (require $langfile_default);
                 define('_active_language', 'default');
             } else {
                 _systemFailure('Zvolený ani přednastavený jazykový soubor nebyl nalezen.');
             }
         }
         // kontrola verze jazykoveho souboru
         if (!_checkVersion('language_file', $GLOBALS['_lang']['main.version'])) {
             DB::query('UPDATE `' . _mysql_prefix . '-settings` SET val="default" WHERE var="language"');
             _systemFailure('Zvolený jazykový soubor není kompatibilní s verzí systému.');
         }
         // kontrola blokace IP
         if ($directive['banned'] !== '' && !_administration) {
             $directive['banned'] = explode("\n", $directive['banned']);
             for ($i = 0; isset($directive['banned'][$i]); ++$i) {
                 if (0 === strncmp($directive['banned'][$i], _userip, strlen($directive['banned'][$i]))) {
                     header('HTTP/1.0 403 Forbidden');
                     if (defined('_header')) {
                         die('Your IP address is banned');
                     }
                     require _indexroot . 'require/ipban.php';
                     die;
                 }
             }
         }
         // motiv
         $template = _indexroot . 'plugins/templates/' . _template . '/template.php';
         $template_config = _indexroot . 'plugins/templates/' . _template . '/config.php';
         if (!file_exists($template) or !file_exists($template_config)) {
             DB::query('UPDATE `' . _mysql_prefix . '-settings` SET val=\'default\' WHERE var=\'template\'');
             _systemFailure('Zvolený motiv ' . _template . ' nebyl nalezen. Přepnuto na výchozí motiv.');
         }
         require $template_config;
         // kontrola verze motivu
         if (!_checkVersion('template', _template_version) and !_administration) {
             _systemFailure('Zvolený motiv není kompatibilní s verzí systému.');
         }
         // nacist rozsireni
         _extendLoad();
         // udalost inicializace systemu
         _extend('call', 'sys.init');
         // systemove callbacky
         _extend('reg', 'sys.cron.maintenance', array(__CLASS__, 'doMaintenance'));
         // cron
         if (_cron_auto && $runCron) {
             self::runCron();
         }
     }
 }
Example #3
0
 private function __construct()
 {
     self::$mysqli = new mysqli($this->db['url'], $this->db['user'], $this->db['password'], $this->db['database']);
     self::$mysqli->query("SET NAMES 'utf8'");
     self::$con = self::con();
 }
Example #4
0
function _tmp_installer_install()
{
    global $_lang, $self, $is_clean;
    // krok
    static $steps = 3;
    if (isset($_POST['step'])) {
        $step = intval($_POST['step']);
        if ($step < 1 || $step > $steps) {
            $step = 1;
        }
    } else {
        $step = 1;
    }
    $fname = basename(__FILE__);
    if (!empty($_POST)) {
        echo '<a href="./' . $fname . '" id="cancelink">' . $_lang['global.cancel'] . '</a>';
    }
    ?>

<h2><?php 
    echo str_replace(array('*step*', '*steps*', '*name*'), array($step, $steps, $_lang['step.' . $step]), $_lang['install']);
    ?>
</h2>
<form action="./<?php 
    echo $fname;
    ?>
" method="post" name="instform" autocomplete="off">
    <?php 
    switch ($step) {
        // kontrola
        case 1:
            if (isset($_POST['check'])) {
                // nacteni a kontrola existence souboru
                $a_files = $self->listFilesOnPath('/files/');
                $conflicts = array();
                $counter = 0;
                $err_limit = 10;
                for ($i = 0; isset($a_files[$i]); ++$i) {
                    $path = './' . substr($a_files[$i], 7);
                    if (file_exists($path)) {
                        ++$counter;
                        if ($counter <= $err_limit) {
                            $conflicts[] = str_replace('*path*', $path, $_lang['step.1.err.file']);
                        }
                    }
                }
                if ($counter > $err_limit) {
                    $conflicts[] = str_replace('*n*', $counter - $err_limit, $_lang['step.1.err.file.etc']);
                }
                // zprava nebo pokracovani
                if (empty($conflicts)) {
                    // vse je ok
                    $step = 2;
                    echo '<p class="green center">' . $_lang['step.1.ok'] . '</p>';
                    echo '<p class="center"><input type="submit" value="' . $_lang['global.continue'] . '"></p>';
                    break;
                } else {
                    // jsou chyby
                    echo '<p class="red">' . $_lang['step.1.err'] . ':</p>';
                    echo "<ul>\n";
                    for ($i = 0; isset($conflicts[$i]); ++$i) {
                        echo "<li>" . $conflicts[$i] . "</li>\n";
                    }
                    echo "</ul>";
                }
            }
            echo '<p class="center"><input type="submit" name="check" value="' . $_lang['step.1.submit'] . '"></p>';
            break;
            // konfigurace & instalace
        // konfigurace & instalace
        case 2:
        case 3:
            // navrat z kroku 3
            if (isset($_POST['return_to_cfg'])) {
                $step = 2;
                unset($_POST['return_to_cfg']);
            }
            // instalace
            $install = $step == 3;
            if (isset($_POST['sys_url'])) {
                // zpracovat url
                $_POST['sys_url'] = _removeSlashesFromEnd($_POST['sys_url']);
                // kontroly
                $err = null;
                do {
                    // prefix
                    $prefix = trim($_POST['db_prefix']);
                    if ($prefix === '') {
                        $err = str_replace('*input*', $_lang['step.2.db.prefix'], $_lang['step.2.err.empty']);
                        break;
                    }
                    // ucet administratora
                    $_POST['admin_name'] = _anchorStr(trim($_POST['admin_name']), false);
                    $_POST['admin_email'] = trim($_POST['admin_email']);
                    // pouze pro cistou instalaci
                    if ($is_clean) {
                        // vynutit ucet administratora
                        if ($_POST['admin_name'] === '') {
                            $err = str_replace('*input*', $_lang['step.2.admin.name'], $_lang['step.2.err.empty']);
                            break;
                        }
                        if ($_POST['admin_pwd'] === '') {
                            $err = str_replace('*input*', $_lang['step.2.admin.pwd'], $_lang['step.2.err.empty']);
                            break;
                        }
                        if ($_POST['admin_email'] === '' || $_POST['admin_email'] === '@') {
                            $err = str_replace('*input*', $_lang['step.2.admin.email'], $_lang['step.2.err.empty']);
                            break;
                        }
                        // titulek stranek
                        $_POST['sys_title'] = trim($_POST['sys_title']);
                        if ($_POST['sys_title'] === '') {
                            $err = str_replace('*input*', $_lang['step.2.sys.title'], $_lang['step.2.err.empty']);
                            break;
                        }
                        // popis, klicova slova
                        $_POST['sys_descr'] = trim($_POST['sys_descr']);
                        $_POST['sys_kwrds'] = trim($_POST['sys_kwrds']);
                    }
                    // email administratora
                    if ($_POST['admin_email'] !== '' && $_POST['admin_email'] !== '@' && !_validateEmail($_POST['admin_email'])) {
                        $err = $_lang['step.2.err.admin.email'];
                        break;
                    }
                    // heslo administratora
                    if ($_POST['admin_pwd'] !== '' && $_POST['admin_pwd'] !== $_POST['admin_pwd2']) {
                        $err = $_lang['step.2.err.admin.pwd'];
                        break;
                    }
                    // DB port
                    $server = $_POST['db_server'];
                    if (false !== ($serverColonPos = strpos($server, ':'))) {
                        $port = (int) substr($server, $serverColonPos + 1);
                        $server = substr($server, 0, $serverColonPos);
                    } else {
                        $port = ini_get('mysqli.default_port');
                    }
                    // pripojeni
                    $con = @mysqli_connect($server, $_POST['db_user'], $_POST['db_pwd'], $_POST['db_name'], $port);
                    if (!is_object($con)) {
                        $err = $_lang['step.2.err.con'] . '<br><code>' . _htmlStr(mysqli_connect_error()) . '</code>';
                        break;
                    }
                    // kodovani a konstanty
                    DB::$con = $con;
                    DB::$con->set_charset('utf8');
                    DB::query('SET sql_mode=\'\'');
                    define('_mysql_prefix', $prefix);
                    // existence tabulek
                    $prefix = DB::esc($prefix);
                    $q = DB::query('SHOW TABLES LIKE \'' . $prefix . '-%\'');
                    $tables = array();
                    while ($r = DB::rown($q)) {
                        $tables[] = $r[0];
                    }
                    if (!empty($tables) && !isset($_POST['db_overwrite'])) {
                        $err = $_lang['step.2.err.tables'] . ':<br><br>&bull; ' . implode("<br>\n&bull; ", $tables);
                        break;
                    }
                    // vse ok
                    if ($install) {
                        if (!isset($_POST['do_install'])) {
                            // potvrzeni
                            echo _getPostdata(false, null, array('step'));
                            echo '<p class="green center">' . $_lang['step.3.text'] . '</p>';
                            echo '<p class="center">
<input type="submit" name="do_install" value="' . $_lang['step.3.submit'] . '" onclick="if (window.sl_install_process) return false; else {window.sl_install_process = true; this.value=\'' . $_lang['step.3.wait'] . '\'}">&nbsp;
<input type="submit" name="return_to_cfg" value="' . $_lang['step.3.return'] . '">
</p>';
                        } else {
                            // provedeni
                            $err = null;
                            try {
                                // rozbalit soubory
                                $self->extractFiles('./', '/files/', false, true, array($self->vars['void']));
                                // vytvorit konfiguracni soubor
                                global $cfg_locale, $cfg_timezone;
                                file_put_contents('./config.php', str_replace(array('/* @@@server@@@ */', '/* @@@user@@@ */', '/* @@@password@@@ */', '/* @@@database@@@ */', '/* @@@prefix@@@ */', '/* @@@locale@@@ */', '/* @@@timezone@@@ */'), array(var_export($_POST['db_server'], true), var_export($_POST['db_user'], true), var_export($_POST['db_pwd'], true), var_export($_POST['db_name'], true), var_export($prefix, true), var_export($cfg_locale, true), var_export($cfg_timezone, true)), $self->getFile('/files/data/installer/config.php.tpl')));
                                // smazat tabulky z databaze?
                                if (!empty($tables)) {
                                    for ($i = 0; isset($tables[$i]); ++$i) {
                                        DB::query('DROP TABLE `' . $tables[$i] . '`', true);
                                        if (($sql_err = DB::error()) !== '') {
                                            throw new _InstallException($_lang['step.3.err.drop'] . '<br><code>' . $sql_err . '</code>');
                                        }
                                    }
                                }
                                // deaktivovat kontrolu verze
                                function _checkVersion()
                                {
                                    return true;
                                }
                                // vytvorit strukturu databaze
                                $dbdump = new DBDump();
                                $dbdump->importTables($self->getFile('/database/struct'));
                                // nacist data
                                $data_stream = $self->getFileStream('/database/data');
                                $dbdump->importData($data_stream);
                                $data_stream->free();
                                // aktualizovat url
                                DB::query('UPDATE `' . $prefix . '-settings` SET `val`=' . DB::val($_POST['sys_url']) . ' WHERE `var`=\'url\'');
                                // vypnout mod rewrite pokud neexistuje .htaccess
                                if (!file_exists(_indexroot . '.htaccess')) {
                                    DB::query('UPDATE `' . $prefix . '-settings` SET `val`=0 WHERE `var`=\'modrewrite\'');
                                }
                                // upravit ucet administratora
                                $admin_upd = array();
                                if ($_POST['admin_name'] !== '') {
                                    $admin_upd['username'] = $_POST['admin_name'];
                                    if (!$is_clean) {
                                        $admin_upd['publicname'] = '';
                                    }
                                }
                                if ($_POST['admin_email'] !== '' && $_POST['admin_email'] !== '@') {
                                    $admin_upd['email'] = $_POST['admin_email'];
                                }
                                if ($_POST['admin_pwd'] !== '') {
                                    $admin_pwd = _md5Salt($_POST['admin_pwd']);
                                    $admin_upd['password'] = $admin_pwd[0];
                                    $admin_upd['salt'] = $admin_pwd[1];
                                }
                                if ($is_clean) {
                                    $admin_upd['registertime'] = time();
                                    $admin_upd['activitytime'] = time();
                                }
                                if (!empty($admin_upd)) {
                                    $admin_upd_sql = '';
                                    $counter = 0;
                                    foreach ($admin_upd as $col => $val) {
                                        if ($counter !== 0) {
                                            $admin_upd_sql .= ',';
                                        }
                                        $admin_upd_sql .= '`' . $col . '`=' . DB::val($val);
                                        ++$counter;
                                    }
                                    DB::query('UPDATE `' . $prefix . '-users` SET ' . $admin_upd_sql . ' WHERE id=0');
                                }
                                // aktualizovat titulek, klic. slova a popis
                                if ($is_clean) {
                                    DB::query('UPDATE `' . $prefix . '-settings` SET `val`=' . DB::val(_htmlStr($_POST['sys_title'])) . ' WHERE `var`=\'title\'');
                                    DB::query('UPDATE `' . $prefix . '-settings` SET `val`=' . DB::val(_htmlStr($_POST['sys_kwrds'])) . ' WHERE `var`=\'keywords\'');
                                    DB::query('UPDATE `' . $prefix . '-settings` SET `val`=' . DB::val(_htmlStr($_POST['sys_descr'])) . ' WHERE `var`=\'description\'');
                                }
                                // vypnout mod_rewrite
                                DB::query('UPDATE `' . $prefix . '-settings` SET `val`=\'0\' WHERE `var`=\'mod_rewrite\'');
                                // vynutit kontrolu instalace
                                DB::query('UPDATE `' . $prefix . '-settings` SET `val`=\'1\' WHERE `var`=\'install_check\'');
                            } catch (_InstallException $e) {
                                $err = $e->getMessage();
                            } catch (Exception $e) {
                                $err = _htmlStr($e->getMessage());
                            }
                            // uspech ci chyba
                            if (isset($err)) {
                                echo '<p class="red">' . $err . '</p>';
                                echo '<p class="red">' . $_lang['step.3.err.warning'] . '</p>';
                            } else {
                                echo '<p class="green center">' . str_replace('*fname*', $fname, $_lang['step.3.fin']) . '</p>';
                            }
                        }
                        break 2;
                    } else {
                        $step = 3;
                        echo '<p class="green center">' . $_lang['step.2.ok'] . '</p>';
                    }
                } while (false);
                // chyba
                if (isset($err)) {
                    echo '<p class="red">' . $err . '</p>';
                }
            }
            ?>

<table>
<thead><th colspan="2"><?php 
            echo $_lang['step.2.sys'];
            ?>
</th></thead>
<tbody>

    <tr>
        <th><?php 
            echo $_lang['step.2.sys.url'];
            ?>
</th>
        <td><input type="text" name="sys_url"<?php 
            echo _restorePostValue('sys_url');
            ?>
></td>
    </tr>

    <?php 
            if ($is_clean) {
                ?>
    <tr>
        <th><?php 
                echo $_lang['step.2.sys.title'];
                ?>
</th>
        <td><input type="text" name="sys_title"<?php 
                echo _restorePostValue('sys_title');
                ?>
></td>
    </tr>

    <tr>
        <th><?php 
                echo $_lang['step.2.sys.descr'];
                ?>
</th>
        <td><input type="text" name="sys_descr"<?php 
                echo _restorePostValue('sys_descr');
                ?>
></td>
    </tr>

    <tr>
        <th><?php 
                echo $_lang['step.2.sys.kwrds'];
                ?>
</th>
        <td><input type="text" name="sys_kwrds"<?php 
                echo _restorePostValue('sys_kwrds');
                ?>
></td>
    </tr>
    <?php 
            }
            ?>

</tbody>
</table>

<script type="text/javascript">
// predvyplneni adresy
if (document.instform.sys_url.value === '') {
    var loc = new String(document.location);
    var slash;
    var slash_last = 0;
    var limit = 0;
    while (true) {
        slash = loc.indexOf('/', slash_last);
        if (slash === -1) break;
        slash_last = slash + 1;
    }
    loc = loc.substr(0, slash_last);
    document.instform.sys_url.value = loc;
}
</script>

<table>
<thead>
    <tr><th colspan="2"><?php 
            echo $_lang['step.2.admin'];
            ?>
</th></tr>
    <?php 
            if (!$is_clean) {
                ?>
<tr><th colspan="2"><small><?php 
                echo $_lang['step.2.admin.notice'];
                ?>
</small></th></tr><?php 
            }
            ?>
</thead>
<tbody>

    <tr>
        <th><?php 
            echo $_lang['step.2.admin.name'];
            ?>
</th>
        <td><input type="text" maxlength="24" name="admin_name"<?php 
            echo _restorePostValue('admin_name');
            ?>
></td>
    </tr>

    <tr>
        <th><?php 
            echo $_lang['step.2.admin.email'];
            ?>
</th>
        <td><input type="text" maxlength="100" name="admin_email"<?php 
            echo _restorePostValue('admin_email', $is_clean ? '@' : null);
            ?>
></td>
    </tr>

    <tr>
        <th><?php 
            echo $_lang['step.2.admin.pwd'];
            ?>
</th>
        <td><input type="password" name="admin_pwd"<?php 
            echo _restorePostValue('admin_pwd');
            ?>
></td>
    </tr>

    <tr>
        <th><?php 
            echo $_lang['step.2.admin.pwd2'];
            ?>
</th>
        <td><input type="password" name="admin_pwd2"<?php 
            echo _restorePostValue('admin_pwd2');
            ?>
></td>
    </tr>

</tbody>
</table>

<table>
<thead><tr><th colspan="2"><?php 
            echo $_lang['step.2.db'];
            ?>
</th></tr></thead>
<tbody>

    <tr>
        <th><?php 
            echo $_lang['step.2.db.server'];
            ?>
</th>
        <td><input type="text" name="db_server"<?php 
            echo _restorePostValue('db_server', 'localhost');
            ?>
></td>
    </tr>

    <tr>
        <th><?php 
            echo $_lang['step.2.db.name'];
            ?>
</th>
        <td><input type="text" name="db_name"<?php 
            echo _restorePostValue('db_name');
            ?>
></td>
    </tr>

    <tr>
        <th><?php 
            echo $_lang['step.2.db.user'];
            ?>
</th>
        <td><input type="text" name="db_user"<?php 
            echo _restorePostValue('db_user');
            ?>
></td>
    </tr>

    <tr>
        <th><?php 
            echo $_lang['step.2.db.pwd'];
            ?>
</th>
        <td><input type="password" name="db_pwd"<?php 
            echo _restorePostValue('db_pwd');
            ?>
></td>
    </tr>

    <tr>
        <th><?php 
            echo $_lang['step.2.db.prefix'];
            ?>
</th>
        <td><input type="text" maxlength="24" name="db_prefix"<?php 
            echo _restorePostValue('db_prefix', 'sunlight');
            ?>
></td>
    </tr>

    <tr>
        <th><?php 
            echo $_lang['step.2.db.tables'];
            ?>
</th>
        <td><label><input type="checkbox" name="db_overwrite"<?php 
            echo _checkboxActivate(isset($_POST['db_overwrite']));
            ?>
 value="1" onchange="if (this.checked && !confirm('<?php 
            echo $_lang['step.2.db.tables.overwrite.confirm'];
            ?>
')) this.checked = false"> <?php 
            echo $_lang['step.2.db.tables.overwrite'];
            ?>
</label></td>
    </tr>

</tbody>
</table>

<p class="center"><input type="submit" value="<?php 
            echo $_lang[$step != 3 ? 'step.2.submit' : 'global.continue'];
            ?>
"></p>

        <?php 
            //<p class="warning"><?php echo $_lang['step.2.warning']</p>
            break;
    }
    ?>
<input type="hidden" name="step" value="<?php 
    echo $step;
    ?>
">
</form>
    <?php 
}
Example #5
0
 public static function CloseConnection()
 {
     self::$con = null;
     self::$initialized = false;
 }
Example #6
0
 public static function init($dbtype, $config)
 {
     self::$db = new $dbtype();
     self::$con = self::$db->connect($config);
 }