index       article       [code]       qcm       citation       glossary public.pub.graz.network
  droit       JS       meteo       nivologie       NTIC       orientation       SUBCATEGORY        


  sitengine:: sitengine.lib.php

Fichier principal pour centraliser les variables utilisé par le site ou les fonction utilisé par differentes pages du site. Aucun code HTML(VIEW) ne devrait y figurer. Il devrait etre diviser en deux codes: sitengine.lib.php et sitengine.conf.php

<?
global $SE;
session_start();
if (!isset(
$_SESSION['RIGHT'])) $_SESSION['RIGHT']='ALL';
//if (!isset($_REQUEST['VIEW'])) $_REQUEST['VIEW']='ALL';
setlocale(LC_ALL'fr_FR');
////////////////////////////////////////////////////////////////////////////////////////////
/// Global parameters
////////////////////////////////////////////////////////////////////////////////////////////
$SE['ONLINE']                = false;
$SE['DEBUGG']                 = false;
$SE['ROOT-USER']                = '';
$SE['ROOT-PSWD']                = '';
$SE['OWN-USER']                = '';
$SE['OWN-PSWD']                = '';
$SE['GRP-USER']                = '';
$SE['GRP-PSWD']                = '';
$SE['DomainName']            = 'ntic.graz.li';
$SE['Version']                = 'sitengine-LC5-CMS';
$SE['message']                ='';
$SE['CATEGORY']                = '';
$SE['CONTENT']['siteName']    = 'ntic.graz.li';
$SE['CONTENT']['home']        ='index';
$SE['CONTENT']['cat1']='citation';
$SE['CONTENT']['cat2']    ='article';
$SE['CONTENT']['cat3']    ='code';
$SE['CONTENT']['admin']        ='admin';
$SE['CONTENT']['login']        ='login';
$SE['CONTENT']['logout']    ='logout';
$SE['CONTENT']['ALL']        ='public';
$SE['CONTENT']['GRP']        ='professionnel';
$SE['CONTENT']['OWN']        ='confidentiel';
$SE['mysql_host']             = 'localhost';
$SE['mysql_user']             = '';
$SE['mysql_pwd']             = '';
$SE['mysql_db']             = '';
$SE['SQLTable']             = '';
////////////////////////////////////////////////////////////////////////////////////////////
/// Pages Informations
////////////////////////////////////////////////////////////////////////////////////////////
if (!empty($_SERVER['PHP_SELF'])) $_SERVER['PHP_SELF'] = $_SERVER['SCRIPT_NAME'];
$SE['SELF']                 = $_SERVER['PHP_SELF'];
$SE['PAGE']                 = basename($SE['SELF'],'.php');
$SE['ROOT']                 = dirname($_SERVER["SCRIPT_FILENAME"]).'/';
$SE['ROOTURL']                 = '';
$SE['ROOTURL']         = 'http://'.$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']);
if (
dirname($_SERVER['PHP_SELF'])!='/'){$SE['ROOTURL']=$SE['ROOTURL'].'/';}
////////////////////////////////////////////////////////////////////////////////////////////
/// Pages Content
////////////////////////////////////////////////////////////////////////////////////////////
if (!isset($_SESSION['message'])) $_SESSION['message']='';
if (isset(
$_REQUEST['CATEGORY'])){$SE['CATEGORY']    = $_REQUEST['CATEGORY'];}
else {
$SE['CATEGORY']='activite';}
////////////////////////////////////////////////////////////////////////////////////////////
// Configuration des differents ordres de tri en relation avec les differents pages
////////////////////////////////////////////////////////////////////////////////////////////
if (!isset($_SESSION[$SE['CATEGORY']]['SORT'])) $_SESSION[$SE['CATEGORY']]['SORT']='DESC';
if (isset(
$_REQUEST['ASC'])) $_SESSION[$SE['CATEGORY']]['SORT']='DESC';
if (isset(
$_REQUEST['DESC'])) $_SESSION[$SE['CATEGORY']]['SORT']='ASC';
$SE['SORT']= $_SESSION[$SE['CATEGORY']]['SORT'];
////////////////////////////////////////////////////////////////////////////////////////////
// Configuration de l'acces aux droits sur le contenu
////////////////////////////////////////////////////////////////////////////////////////////
$SE['permissions'] = "`RIGHT`='ALL' AND ";
$SE['adm-permissions'] = "`RIGHT`='ALL' ";
if (
$_SESSION['RIGHT']== 'OWN'$SE['permissions']= '';
if (
$_SESSION['RIGHT']== 'GRP'$SE['permissions']= "(`RIGHT`='ALL' OR `RIGHT`='GRP') AND "
if (
$_SESSION['RIGHT']== 'OWN'$SE['adm-permissions']= "`RIGHT`='OWN' ";
if (
$_SESSION['RIGHT']== 'GRP'$SE['adm-permissions']= "`RIGHT`='GRP' ";
////////////////////////////////////////////////////////////////////////////////////////////
// Data Base Configurations
////////////////////////////////////////////////////////////////////////////////////////////
$mysql_link mysql_connect($SE['mysql_host'],$SE['mysql_user'],$SE['mysql_pwd']);
mysql_select_db($SE['mysql_db'],$mysql_link);
////////////////////////////////////////////////////////////////////////////////////////////
// Sitengine authentification function
////////////////////////////////////////////////////////////////////////////////////////////
function authentificationControler(){
    global 
$SE;
    if (isset(
$_SESSION['sitengineAuth'])){
        if ((!
$_SESSION['sitengineAuth']) || (!$_SESSION['rootAccess'])) {
            
noAuthAccess();
            
end;
        } else {
            
$_SESSION['sitengineAuth']=true;
            
$_SESSION['sitengineToken']=true;
            
        }
    } else {
        
noAuthAccess();
        
end;
    }
    
}
function 
noAuthAccess(){
    
$_SESSION['sitengineAuth']=false;
    
header("Location: ".$SE['ROOTURL']."login.php");
    return;
}
function 
getAuthToken($token){
    global 
$SE;
    
$key preg_replace("/....$/",''time());
    
//$key = time();
    
if ($ver == 'old'){$key $key 1;}
    return 
crypt$key $token."-".$_SERVER["REMOTE_ADDR"]);
}
////////////////////////////////////////////////////////////////////////////////////////////
// Sitengine Content Database Basic Table Elements
////////////////////////////////////////////////////////////////////////////////////////////
function create_empty_content_table (){
    global 
$SE;
    
$sql="CREATE TABLE `".$SE['SQLTable']."` ( 
          `ID` int(10) NOT NULL auto_increment,
          `CD` datetime NOT NULL default '0000-00-00 00:00:00',
          `MD` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
          `STATE` set('online','offline') NOT NULL default 'online',
          `OWNER` varchar(50)  collate latin1_german1_ci default NULL,
          `RIGHT` varchar(50)  collate latin1_german1_ci NOT NULL default 'ALL',
          `CATEGORY` varchar(255)  collate latin1_german1_ci NOT NULL default 'SYSTEM',
          `DATE` date NOT NULL default '0000-00-00',
          `TITLE` varchar(255)  collate latin1_german1_ci NOT NULL default 'TITLE',
          `HEADLINE` text  collate latin1_german1_ci NOT NULL,
          `TEXT` text  collate latin1_german1_ci NOT NULL,
          `TEXT2` text  collate latin1_german1_ci NOT NULL,
          `TEXT3` text  collate latin1_german1_ci NOT NULL,
          `TEXT4` text  collate latin1_german1_ci NOT NULL,
          `TEXT5` text  collate latin1_german1_ci NOT NULL,
          PRIMARY KEY  (`ID`)
        ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=7 "
;
}
////////////////////////////////////////////////////////////////////////////////////////////
// Pagination function
////////////////////////////////////////////////////////////////////////////////////////////
function setPagination($sql$mode 'list'$size 30){
    global 
$SE;
    
$SE['PAGINATION']=true;
    if (!isset (
$_SESSION[$SE['PAGE']]['RANK'])) $_SESSION[$SE['PAGE']]['RANK']=1;
    if (isset(
$_REQUEST['RANK'])) $_SESSION[$SE['PAGE']]['RANK'] = $_REQUEST['RANK'];
    
$SE['RANKSIZE']=$size;
    if (
$mode == 'list'$SE['RANK']= ($_SESSION[$SE['PAGE']]['RANK']-1) * $SE['RANKSIZE'];
    if (
$mode == 'read'$SE['RANK']= $_SESSION[$SE['PAGE']]['RANK']-1;
    
$res mysql_query($sql); 
    
$r mysql_fetch_object($res);
    if (isset(
$r->Count)) {
        
$SE['COUNT'] = $r->Count;
    } else {
        
$SE['COUNT'] = mysql_num_rows($res);
    }
    return 
true;
}
function 
getPagination($chiffres true){
    global 
$SE;
    
$rank=$_SESSION[$SE['PAGE']]['RANK'];
    
$marge =5;
    
$css='date';
    
$output='<span class="small">['.$SE['COUNT'].'/'.$SE['RANKSIZE'].']</span>';
    if (
$SE['PAGINATION']) {
        
$lastRank floor($SE['COUNT']/$SE['RANKSIZE'])+1;
    } else {
        
$lastRank $SE['COUNT']-3;
    }
    
    if (
$rank $marge$inf=1;
    else 
$inf=$rank $marge;
    
    
$sup $rank $marge;
    if (
$inf==0$inf=1;
    if (
$sup $lastRank$sup $lastRank;
    
    
$beforeRank=1;
    
$nextRank=$lastRank;
    if (
$rank 1$beforeRank=$rank-1;
    if(
$rank $lastRank$nextRank=$rank+1;
    
    
$output='<a href="'.$SE['SELF'].'?RANK=1"><span class="'.$css.'"><<<</span></a>   <a href="'.$SE['SELF'].'?RANK='.$inf.'"><span class="'.$css.'"><<</span></a>   <a href="'.$SE['SELF'].'?RANK='.$beforeRank.'"><span class="'.$css.'"><</span></a>  ';    
    
    if (
$chiffres) {
        for (
$i=$inf;$i<=$sup;$i++){
            
$class='date';
            if (
$rank == $i $class='nav';
            
$output.= '<a href="'.$SE['SELF'].'?RANK='.$i.'"><span class="'.$class.'">'.$i.'</span></a> ';
        }
    }

    
$output.='  <a href="'.$SE['SELF'].'?RANK='.$nextRank.'"><span class="'.$css.'">></span></a>   <a href="'.$SE['SELF'].'?RANK='.$sup.'"><span class="'.$css.'">>></span></a>   <a href="'.$SE['SELF'].'?RANK='.$lastRank.'"><span class="'.$css.'">>>></span></a>';
    
    return 
$output;
}
////////////////////////////////////////////////////////////////////////////////////////////
// Insertion d'un lien vers le form pour mode web updater
////////////////////////////////////////////////////////////////////////////////////////////
function modifyer($row){
    if ( (isset(
$_SESSION['rootAccess'])) && ($_SESSION['rootAccess'])) {
        return 
' <a href="form.php?action=UPDATE&ID='.$row->ID.'"><span class="insert">[modifier]</span></a> ';
    }
}
////////////////////////////////////////////////////////////////////////////////////////////
// Insertion d'un lien vers le detail du contenu
////////////////////////////////////////////////////////////////////////////////////////////
function contentView($row$val ''){
    if (!empty(
$row->HEADLINE)){
        
$val.='<a href="content.php?ID='.$row->ID.'">';
    }
    
$val.='<span class="text">'.strtoupper($row->TITLE).'</span>';
    if (!empty(
$row->HEADLINE)){
        
$val.='</a>';
    }
    return 
$val;
}
////////////////////////////////////////////////////////////////////////////////////////////
// Sitengine messaging function
////////////////////////////////////////////////////////////////////////////////////////////
function setMsg($in){
    global 
$SE;
    if (
$in != '') {
        
$SE['message'] .= " [ ".$in." ] ";
    }
}
////////////////////////////////////////////////////////////////////////////////////////////
// Sitengine debugging function
////////////////////////////////////////////////////////////////////////////////////////////
function sitengineInfo(){
    global 
$SE;
    if (
$SE['DEBUGG']) { sitengineInfON();}
    else { 
sitengineVer(); }
}
function 
sitengineInfON(){
    global 
$SE;
    echo 
"<html><body>";
    echo 
'<br><br><center><table border=0 width="600" cellpadding="3">';
    echo 
'<tr><td bgcolor="#9999cc"><h1><b>Sitengine Version Low Cost Alpha: '.$SE['Version'].'</b></h1></td>';
    echo 
'</tr></table>';

    echo 
'<br><br><center><table border=0 width="600" cellpadding="3">';
    echo 
'<tr><td bgcolor="#9999cc" colspan=2><b>Sitengine Core</b></td></tr>';
    
    
$X $SE['PASSWORD'];
    
$SE['PASSWORD']='';
    while (list (
$key$val) = each ($SE)) { 
        if (!empty(
$val)) {
            if (
is_array($val)) {
                while (list (
$key01$val01) = each ($val)) {
                    echo 
'<tr><td bgcolor="#ccccff"><a href=""><font size=2 color="#000000"><b>SE['.$key.']['.$key01 .']</b></font></a></td><td bgcolor="#cccccc"><font size=1 color="#000000">'strval($val01).'</font></td></tr>';
                  }
            } else {
                echo 
'<tr><td bgcolor="#ccccff"><a href=""><font size=2 color="#000000"><b>SE['.$key .']</b></font></a></td><td bgcolor="#cccccc"><font size=1 color="#000000">'strval($val).'</font></td></tr>';
            }
          }
    }
    
$SE['PASSWORD']=$X;
    echo 
'</table>';
    echo 
'</center><br>';
    
////////////////////////////////////////////////////////////////////////////////////////////
    // License contractual terms
    ////////////////////////////////////////////////////////////////////////////////////////////
    
echo "<br><center><table border=0 width="600" cellpadding="3"><tr><td bgcolor="#cccccc"><center><b>sitengine License</b></center><br>This library 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 library 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. zarg69@graz.li.</td></tr></table></center><hr></body></html>";
    
phpinfo();
}
function 
sitengineVer(){ echo "<!-- DOCUMENT CREATED WITH PATIENCE AND GOOD FEELING SYSTEM --><sitengine 'LC5' 'freestyle technologies' 'zarg69' '5D lausanne' '10.12.07'/>"; }
// !!!!!!!!!!! TO BE ABLE TO WORKS PROPERLY NOTHING MUST BE AFTER THE PHP END TAG UNDER - EVEN INVISIBLE SPACE OR AMERINDIEN SCRIPTING!!!!!! ALSO DO NOT ADD BUSHSHIT!
?>
1