<?php
/* This file is part of Madcollector.
* Madcollector created by Thomas Andrieu,
* Developped by Mickael Jardet and Thomas Andrieu.
* Madcollector 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.
* Madcollector 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.
*/
session_start();
ob_start(); //required for plugins/filters and PDF output
// ini_set("display_errors", 1);
define("DATA", "data/");
define("LIBS", "libs/");
define("COVER","covers/kingsize/");
define("PREVIEWCOVER","covers/thumbails/");
define("PLUGINS", "plugins/");
require LIBS.'functions.php';
require 'cfg/param.php'; // Config file
require_once LIBS.('classes/pluginmanager.class.php');
$madPluginManager = new PluginManager();
$DB_connexion = mysql_connect($cfg_host, $cfg_user, $cfg_password);
if (! $DB_connexion){
echo "<h1>Database connexion error</h1>";
if(is_dir("install")) echo '<p><a href="./install/">Install folder is present</a>. Please perform install or remove it once install is complete.</p>';
exit ;
}
if(!mysql_select_db($cfg_database)){
if(is_dir("install")) echo '<p><a href="./install/">Install folder is present</a>. Please perform install or remove it once install is complete.</p>';
exit ;
}
//Disabling magic_quotes
if (get_magic_quotes_gpc()) {
$_SERVER = stripslashes_array($_SERVER);
$_GET = stripslashes_array($_GET);
$_POST = stripslashes_array($_POST);
$_COOKIE = stripslashes_array($_COOKIE);
$_FILES = stripslashes_array($_FILES);
$_ENV = stripslashes_array($_ENV);
$_REQUEST = stripslashes_array($_REQUEST);
$HTTP_SERVER_VARS = stripslashes_array($HTTP_SERVER_VARS);
$HTTP_GET_VARS = stripslashes_array($HTTP_GET_VARS);
$HTTP_POST_VARS = stripslashes_array($HTTP_POST_VARS);
$HTTP_COOKIE_VARS = stripslashes_array($HTTP_COOKIE_VARS);
$HTTP_POST_FILES = stripslashes_array($HTTP_POST_FILES);
$HTTP_ENV_VARS = stripslashes_array($HTTP_ENV_VARS);
if (isset($_SESSION)) { #These are unconfirmed (?)
$_SESSION = stripslashes_array($_SESSION, '');
$HTTP_SESSION_VARS = stripslashes_array($HTTP_SESSION_VARS, '');
}
}
$error_messages = array();
//Updating global settings after admin setting
if(($_POST["admin_submit"]!= "")&&($_SESSION['level']>2))
{
$posted_settings_names_array = $_POST["posted_settings_names"];
for($i=0;$i<sizeOf($posted_settings_names_array);$i++)
{
$req_update_settings = "UPDATE ".$cfg_table_prefix."settings SET setting_value='".$_POST[$posted_settings_names_array[$i]]."' WHERE setting_name='".$posted_settings_names_array[$i]."';";
$result_update_settings=mysql_query($req_update_settings,$DB_connexion);
if (!$result_update_settings)
array_push($error_messages,$lc_ErrMsg_SQL_Update_Settings." : ".mysql_error($DB_connexion));
}
}
//Getting main settings
$table_settings = array();
$requete_settings = 'SELECT * FROM '.$cfg_table_prefix.'settings;';
$result_requete_settings=mysql_query($requete_settings,$DB_connexion);
if($result_requete_settings)
{
while($lec_settings = mysql_fetch_object($result_requete_settings))
{
$table_settings[$lec_settings->setting_name]=$lec_settings->setting_value;
}
}
//Language in mc_settings
if($_SESSION['lang']=="")
{
$_SESSION['lang']=$table_settings["default_language"];
//Without any default language, force to English
if($_SESSION['lang']=="")
$_SESSION['lang']="en";
}
// Language
if($_GET['lang']!=""){$_SESSION['lang']=$_GET['lang'];}
$lang=$_SESSION['lang'];
include 'locales/'.$lang.'/locale.'.$lang.".php"; // exemple "locales/fr/locale.fr with fr as $lang variable
//loading theme
if(($table_settings["theme"]!=null)&&($table_settings["theme"]!=""))
if(is_file("themes/".$table_settings["theme"]."/header.inc.php"))
define("THEME", "themes/".$table_settings["theme"]."/");
else define("THEME", "themes/default/");
else define("THEME", "themes/default/");
//Usual GET parameters
//--------------
$letter = substr($_GET['letter'],0,1);
$page = $_GET['page'];
$nbrEnregPage = $_GET['enreg'];
if(($letter == "")||(!isset($letter)))
$letter = "A";
if($letter == "%")
$letter = "[0-9]";
if(($page == "")||(!isset($page))||(!is_numeric($page)))
$page = "1";
if(($_SESSION['NbrEnregPage']=="")||(!isset($_SESSION['NbrEnregPage']))||(!is_numeric($_SESSION['NbrEnregPage'])))
$_SESSION['NbrEnregPage'] = 50;
if(($nbrEnregPage == "")||(!isset($nbrEnregPage))||(!is_numeric($_SESSION['NbrEnregPage'])))
$nbrEnregPage = $_SESSION['NbrEnregPage'];
else $_SESSION['NbrEnregPage'] = $nbrEnregPage;
//---------------
// Reconnecting from cookie session
if (($_SESSION['RegUser']=="")&&($_COOKIE['id_user']!=""))
{
$_SESSION["id_user"] = $_COOKIE['id_user'];
$_SESSION["RegUser"] = $_COOKIE['RegUser'];
$_SESSION["level"] = $_COOKIE['level'];
$_SESSION["lang"] = $_COOKIE['lang'];
setcookie("id_user",$_SESSION["id_user"], time()+604800);
setcookie("RegUser",$_SESSION["RegUser"], time()+604800);
setcookie("level",$_SESSION["level"], time()+604800);
setcookie("lang",$_SESSION["lang"], time()+604800);
}
if (($_SESSION['RegUser'])!="")
{
//Update last user visit
$requete_refresh_last = "UPDATE ".$cfg_table_prefix."users SET last_connexion=now() WHERE id_user='".$_SESSION['id_user']."';";
$envoi_requete_refresh = mysql_query($requete_refresh_last,$DB_connexion);
//REFRESH LEVEL STATUS : If the user stays connected with cookies, we refresh its new status given by the administrators
$requete_refresh_level = "SELECT level FROM ".$cfg_table_prefix."users WHERE id_user='".$_SESSION['id_user']."';";
$envoi_requete_refresh = mysql_query($requete_refresh_level,$DB_connexion);
if($envoi_requete_refresh)
{
$table_resultats = mysql_fetch_array($envoi_requete_refresh, MYSQL_BOTH);
$_SESSION["level"]=$table_resultats[0];
mysql_free_result($envoi_requete_refresh);
}
}
$madPluginManager->loadPlugins(PLUGINS);
$rub=$_GET['rub'];
// Array with authorized pages
//$tableau = glob(DATA."*.inc.php");
$tableau=array();
if ($dh = opendir(DATA))
{
while (($file = readdir($dh)) !== false)
if (substr($file, strlen($file) - 8) == '.inc.php')
array_push($tableau, DATA.$file);
}
closedir($dh);
if (isset($rub) && in_array(DATA.$rub.".inc.php", $tableau)) {
$pageInclude = DATA.$rub.".inc.php";
}else{
$pageInclude = DATA."introduction.inc.php";
}
include $pageInclude;
use_globalfilters();
ob_end_flush();
?>