| |
sitengine:: sitengine.lib.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
|