* Copyright (C) 2008 Philippe Archambault * * This file is part of Frog CMS. * * Frog CMS is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Frog CMS is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Frog CMS. If not, see . * * Frog CMS has made an exception to the GNU General Public License for plugins. * See exception.txt for details and the full text. */ // Constants --------------------------------------------------------------- define('FROG_ROOT', dirname(__FILE__)); define('CORE_ROOT', FROG_ROOT.'/frog'); define('APP_PATH', CORE_ROOT.'/app'); require_once(CORE_ROOT.'/utils.php'); $config_file = FROG_ROOT.'/config.php'; require_once($config_file); // if you have installed frog and see this line, you can comment it or delete it :) if ( ! defined('DEBUG')) { header('Location: install/'); exit(); } // Security checks ----------------------------------------------------------- if (DEBUG == false && isWritable($config_file)) { // Windows systems always have writable config files... skip those. if (substr(PHP_OS, 0, 3) != 'WIN') { echo 'Frog CMS automatically disabled!'; echo '

Frog CMS automatically disabled!

'; echo '

Frog CMS has been disabled as a security precaution.

'; echo '

Reason: the configuration file was found to be writable.

'; echo ''; exit(); } } // Init -------------------------------------------------------------------- define('BASE_URL', URL_PUBLIC . (endsWith(URL_PUBLIC, '/') ? '': '/') . (USE_MOD_REWRITE ? '': '?')); require CORE_ROOT.'/Framework.php'; if (USE_PDO) { try { $__FROG_CONN__ = new PDO(DB_DSN, DB_USER, DB_PASS); } catch (PDOException $error) { die('DB Connection failed: '.$error->getMessage()); } if ($__FROG_CONN__->getAttribute(PDO::ATTR_DRIVER_NAME) == 'mysql') $__FROG_CONN__->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, true); } else { require_once CORE_ROOT . '/libraries/DoLite.php'; $__FROG_CONN__ = new DoLite(DB_DSN, DB_USER, DB_PASS); } Record::connection($__FROG_CONN__); Record::getConnection()->exec("set names 'utf8'"); Setting::init(); use_helper('I18n'); I18n::setLocale(Setting::get('language')); // run everything! require APP_PATH.'/main.php';