File "grades.php"
Full path: /home/argothem/www/memo/site/site/CoolForum_0.8.4_beta/CoolForum_0.8.4_beta/admin/grades.php
File size: 8.54 KB
MIME-type: text/x-php
Charset: 8 bit
<?
//*********************************************************************************
//* *
//* CoolForum v.0.8 Beta : Forum de discussion *
//* Copyright 2001-2002 SORIANO Denis alias Cool Coyote *
//* *
//* *
//* This program 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. *
//* *
//* This program 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 this program; if not, write to the Free Software *
//* Foundation, Inc., 59 Temple Place - Suite 330, *
//* Boston, MA 02111-1307, USA. *
//* *
//* *
//* Forum Cr par SORIANO Denis (Cool Coyote) *
//* contact : coyote@coolcoyote.net *
//* site web et tlchargement : http://www.coolforum.net *
//* *
//*********************************************************************************
require("entete.php");
getlangage("adm_grades");
$error = "";
// #### FONCTIONS SPECIFIQUES ####
function insert_grade($Orig_Array, $To_Insert)
{
$Key_start = count($Orig_Array)+1;
foreach($Orig_Array as $key => $value)
{
if($value[1] > $To_Insert[1])
{
$Key_start = $key;
break;
}
}
for($i = count($Orig_Array)+1 ; $i > $Key_start; $i--)
$Orig_Array[$i] = $Orig_Array[$i-1];
$Orig_Array[$Key_start] = $To_Insert;
return($Orig_Array);
}
// #### ENREGISTREMENT MODIFICATIONS ####
if($_REQUEST['action'] == "confirmedit")
{
$id = intval($_REQUEST['id']);
$testchain = preg_replace("/([\s]{1,})/","",$_POST['sujet']);
if(strlen($testchain) == 0 || strlen($testchain) > 35)
$error = $tpl->attlang("badname");
if(intval($_REQUEST['gd_nbmsg'])<0)
$error = $tpl->attlang("badmsg");
if(intval($_REQUEST['gd_nbpins'])<1)
$error = $tpl->attlang("badpins");
if(strlen($error) == 0)
{
$_FORUMCFG = getconfig();
$To_Insert = array();
$To_Insert[0] = getrecupforform($_REQUEST['gd_nom'], true);
$To_Insert[1] = intval($_REQUEST['gd_nbmsg']);
$To_Insert[2] = intval($_REQUEST['gd_nbpins']);
if($To_Insert[2] > 20)
$To_Insert[2] = 20;
$All_Grade = unserialize($_FORUMCFG['grades']);
$nb_grades = count($All_Grade);
$dest = $nb_grades;
if($nb_grades > 0 && is_array($All_Grade))
{
foreach($All_Grade AS $key => $value)
{
if($To_Insert[1] < $value[1])
{
$dest = $key;
break;
}
}
if($dest < $id)
for($i = $id; $i > $dest; $i--)
$All_Grade[$i] = $All_Grade[$i-1];
if($dest > $id)
{
$dest --;
for($i = $id; $i < $dest; $i++)
$All_Grade[$i] = $All_Grade[$i+1];
}
$All_Grade[$dest] = $To_Insert;
}
$Tabl_to_save = serialize($All_Grade);
$query = $sql->query("UPDATE ".$_PRE."config SET valeur = '$Tabl_to_save' WHERE options = 'grades'");
unset($_REQUEST['gd_nom'], $_REQUEST['gd_nbmsg'], $_REQUEST['gd_nbpins']);
$_REQUEST['action'] = NULLSTR;
}
else
{
$gd_nom = getrecupforform($_REQUEST['gd_nom']);
$gd_nbmsg = intval($_REQUEST['gd_nbmsg']);
$gd_nbpins = intval($_REQUEST['gd_nbpins']);
$_REQUEST['action'] = "editgrade";
}
// = "editgrade";
}
// #### FORMULAIRE D'EDITION ####
if($_REQUEST['action'] == "editgrade")
{
$tpl->box['afferror'] = NULLSTR;
$id = intval($_REQUEST['id']);
if(strlen($error) > 0)
{
$tpl->box['afferror'] = $tpl->gettemplate("adm_grades","afferror");
$tpl->box['admcontent'] = $tpl->gettemplate("adm_grades","edit_grade");
}
elseif($id > 0)
{
$_FORUMCFG = getconfig();
$All_Grade = unserialize($_FORUMCFG['grades']);
$gd_nom = $All_Grade[$id][0];
$gd_nbmsg = $All_Grade[$id][1];
$gd_nbpins = $All_Grade[$id][2];
$tpl->box['admcontent'] = $tpl->gettemplate("adm_grades","edit_grade");
}
else
$_REQUEST['action'] = NULLSTR;
}
// #### SUPPRESSION D'UN GRADE ####
if($_REQUEST['action'] == "confdelgrade")
{
$id = intval($_REQUEST['id']);
if($id > 0)
{
$_FORUMCFG = getconfig();
$All_Grade = unserialize($_FORUMCFG['grades']);
for($i = $id; $i < count($All_Grade)+1; $i++)
$All_Grade[$i] = $All_Grade[$i+1];
array_pop($All_Grade);
$Tabl_to_save = serialize($All_Grade);
$query = $sql->query("UPDATE ".$_PRE."config SET valeur = '$Tabl_to_save' WHERE options = 'grades'");
$_REQUEST['action'] = NULLSTR;
}
}
if($_REQUEST['action'] == "delgrade")
{
$id = intval($_REQUEST['id']);
$tpl->box['admcontent'] = $tpl->gettemplate("adm_grades","formdelgrade");
}
// #### ENREGISTREMENT UTILISE-T-ON LES GRADES ####
if($_REQUEST['action'] == "usegrade")
{
if($_REQUEST['use_grades'] == "Y")
$query = $sql->query("UPDATE ".$_PRE."config SET valeur='Y' WHERE options = 'use_grades'");
else
$query = $sql->query("UPDATE ".$_PRE."config SET valeur='N' WHERE options = 'use_grades'");
$_REQUEST['action'] = NULLSTR;
}
// #### ENREGISTREMENT NOUVEAU GRADE ####
if($_REQUEST['action'] == "save")
{
$testchain = preg_replace("/([\s]{1,})/","",$_POST['sujet']);
if(strlen($testchain)==0 || strlen($testchain)>35)
$error = $tpl->attlang("badname");
if(intval($_REQUEST['gd_nbmsg'])<0)
$error = $tpl->attlang("badmsg");
if(intval($_REQUEST['gd_nbpins'])<1)
$error = $tpl->attlang("badpins");
if(strlen($error) == 0)
{
$_FORUMCFG = getconfig();
$To_Insert = array();
$To_Insert[0] = getrecupforform($_REQUEST['gd_nom'], true);
$To_Insert[1] = intval($_REQUEST['gd_nbmsg']);
$To_Insert[2] = intval($_REQUEST['gd_nbpins']);
if($To_Insert[2] > 20)
$To_Insert[2] = 20;
$All_Grade = unserialize($_FORUMCFG['grades']);
$nb_grades = count($All_Grade);
if($nb_grades > 0 && is_array($All_Grade))
$All_Grade = insert_grade($All_Grade, $To_Insert);
else
$All_Grade[1] = $To_Insert;
$Tabl_to_save = serialize($All_Grade);
$query = $sql->query("UPDATE ".$_PRE."config SET valeur = '$Tabl_to_save' WHERE options = 'grades'");
unset($_REQUEST['gd_nom'], $_REQUEST['gd_nbmsg'], $_REQUEST['gd_nbpins']);
}
else
{
$gd_nom = getrecupforform($_REQUEST['gd_nom']);
$gd_nbmsg = intval($_REQUEST['gd_nbmsg']);
$gd_nbpins = intval($_REQUEST['gd_nbpins']);
}
$_REQUEST['action'] = NULLSTR;
}
// #### ACCUEIL GRADES ####
if(empty($_REQUEST['action']))
{
$tpl->box['ligne_grades'] = "";
$All_Grade = array();
$Grade = array();
$Check_Use_Grade = "";
$key = 0;
$_FORUMCFG = getconfig();
if($_FORUMCFG['use_grades'] == "Y")
$Check_Use_Grade = " CHECKED";
$All_Grade = unserialize($_FORUMCFG['grades']);
if(strlen($error)>0)
$tpl->box['afferror'] = $tpl->gettemplate("adm_grades","afferror");
else
$tpl->box['afferror'] = "";
if(count($All_Grade)>0 && is_array($All_Grade))
{
foreach($All_Grade as $key => $Grade)
{
$tpl->box['nbpins'] = "";
for($i = 0; $i < $Grade[2]; $i++)
$tpl->box['nbpins'] .= trim($tpl->gettemplate("adm_grades","img_grades"));
$tpl->box['ligne_grades'] .= $tpl->gettemplate("adm_grades","ligne_grades");
}
}
$tpl->box['admcontent'] = $tpl->gettemplate("adm_grades","list_grades");
}
$cache.=$tpl->gettemplate("adm_grades","content");
require("bas.php");
?>