<?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; either version 2 of the License, or
* (at your option) any later version.
* 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(); // on demarre la session
ob_start();//Pour le PDF
error_reporting(E_ALL ^ E_NOTICE);
define("DATA", "data/");
define("LIBS", "libs/");
define("COVER","covers/kingsize/");
define("PREVIEWCOVER","covers/thumbails/");
require LIBS.'functions.php';
require LIBS.'classes/mysql.php';
require 'cfg/param.php'; // Fichiers de configuration
$myDB = new MYSQL(); // on ouvre une nouvelle instance
// penser à faire un test de connection
$link = $myDB -> connect($myHost, $myUser, $myPass, $myBase);
//Desactivation des magic_quotes (cf problemes free.fr)
set_magic_quotes_runtime(FALSE);
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, '');
}
}
//Getting main settings
$error_messages = array();
if(($_POST["admin_submit"]!= "")&&($_SESSION['level']>2))
{
$requete = "UPDATE mc_settings SET setting_value='".$_POST["language"]."' WHERE setting_name='default_language';";
$envoi_requete_update_settings = $myDB->send_query($requete);
$nb_occur = $myDB->num_rows();
if ($nb_occur==-1)
array_push($error_messages,$lc_ErrMsg_SQL_Update_Settings." : ".$myDB->return_error());
$requete = "UPDATE mc_settings SET setting_value='".$_POST["theme"]."' WHERE setting_name='theme';";
$envoi_requete = $myDB->send_query($requete);
$nb_occur = $myDB->num_rows();
if ($nb_occur==-1)
array_push($error_messages,$lc_ErrMsg_SQL_Update_Settings." : ".$myDB->return_error());
$requete = "UPDATE mc_settings SET setting_value='".$_POST["new_members"]."' WHERE setting_name='new_members';";
$envoi_requete = $myDB->send_query($requete);
$nb_occur = $myDB->num_rows();
if ($nb_occur==-1)
array_push($error_messages,$lc_ErrMsg_SQL_Update_Settings." : ".$myDB->return_error());
}
$table_settings = array();
$requete_settings = 'SELECT * FROM mc_settings;';
$envoi_settings = $myDB->send_query($requete_settings);
$nb_occur = $myDB->num_rows();
if(($nb_occur != 0)&&($nb_occur != ""))
{
while($lec_settings = $myDB->get_object($envoi_settings))
{
$table_settings[$lec_settings->setting_name]=$lec_settings->setting_value;
}
}
//Language in mc_settings
if($_SESSION['lang']=="")
{
$_SESSION['lang']=$table_settings["default_language"];
//si malgré tout pas de langue par défaut, français
if($_SESSION['lang']=="")
$_SESSION['lang']="fr";
}
// Langue
if($_GET['lang']!=""){$_SESSION['lang']=$_GET['lang'];}
$lang=$_SESSION['lang'];
include 'locales/'.$lang.'/locale.'.$lang.".php"; // exemple "locales/fr/locale.fr ou fr est la variable $lang
//loading theme
//Language in mc_settings
if(($table_settings["theme"]!=null)&&($table_settings["theme"]!=""))
define("THEME", "themes/".$table_settings["theme"]."/");
else define("THEME", "themes/default/");
//page, lettre et autres GET courants
//--------------
$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;
//---------------
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 CONNEXION
$requete_refresh_last = "UPDATE mc_users SET last_connexion=now() WHERE id_user='".$_SESSION['id_user']."';";
$envoi_requete_refresh = $myDB->send_query($requete_refresh_last);
$requete_refresh_level = "SELECT level FROM mc_users WHERE id_user='".$_SESSION['id_user']."';";
//REFRESH LEVEL STATUS : si l'utilisateur reste connecté par cookies et que l'admin change ses droits, on prend en commpte les nouveaux droits -- If the user stays connected with cookies, we refresh its new status given by the administrators
$envoi_requete_refresh = $myDB->send_query($requete_refresh_level);
$nb_occur = $myDB->num_rows();
if(($nb_occur != 0)&&($nb_occur != ""))
{
$table_resultats = $myDB->get_array($envoi_requete_refresh, 'NUMERIC');
$_SESSION["level"]=$table_resultats[0];
}
}
$rub=$_GET['rub'];
// Tableau contenant les pages autorisées
//$tableau = glob(DATA."*.inc.php");
$tableau=array();
//free.fr ne supporte pas la fonction glob()
if ($dh = opendir(DATA))
{
while (($file = readdir($dh)) !== false)
if (substr($file, strlen($file) - 8) == '.inc.php')
array_push($tableau, DATA.$file);
}
closedir($dh);
//End unsupported glob()
if (isset($rub) && in_array(DATA.$rub.".inc.php", $tableau)) {
$pageInclude = DATA.$rub.".inc.php";
}else{
$pageInclude = DATA."introduction.inc.php";
}
include $pageInclude;
?>