Source for file functions.phpinc
Documentation is available at functions.phpinc
* NOTE: it is planed to replace this file with a class
* @project Open CSP-Management
* @author Peter Krebs <p.krebs@lvus.at>
* @copyright (c) 2002-2003 by Peter Krebs and Landesverlag Unternehmensservice
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
// -------------------------------
function MENU_getArray($DB,&$menArr,$parent=
0,$project=
0,$intend=
"",$level=
0,$index=
"",$debug=
FALSE) {
// -------------------------------
$query =
"SELECT * FROM T_CMS_MENU WHERE MEN_PARENT=".
intval($parent).
" AND PROJ_ID=".
intval($project);
$query.=
" ORDER BY MEN_SORTORDER";
if ($debug) echo
"<p>$query</p>";
if ($cursor=
$DB->query($query)) {
while($arr=
$cursor->fetchArray()) {
$arr['_INTENDTITLE']=
$inted.
$arr['MEN_TITLE'];
$arr['_INDEX']=
$index.
$arr['_NUMBER'];
$menArr[$arr['MEN_ID']]=
$arr;
MENU_getArray($DB,$menArr,$arr['MEN_ID'],$project,($intend.
" "),($level+
1),$arr['_INDEX'].
".",$debug);
* generates the <a href ..>tag
$ret=
"<a class=\"".
$class.
"\" ";
switch($row['MEN_LINKTYPE']) {
$ret.=
"href=\"".
$row['MEN_LINK'];
add MEN_ID= if not in link
if ((!strstr($ret,"MEN_ID")) &&
(!strstr($ret,"javascript:"))) {
$ret.=
"&MEN_ID=".
$row['MEN_ID'];
$ret.=
"?MEN_ID=".
$row['MEN_ID'];
$ret.=
"\" target=\"".
$row['MEN_TARGET'].
"\">";
if (empty($GLOBALS['PROJECT']['PRODGRPURL'])) {
$ret.=
"href=\"/cms/prodgrp.php";
$ret.=
"href=\"".
$GLOBALS['PROJECT']['PRODGRPURL'];
$ret.=
"?PROJ_ID=".
$row['PROJ_ID'];
$ret.=
"&MEN_ID=".
$row['MEN_ID'];
$ret.=
"&LANG_ID=".
$row['LANG_ID'];
$ret.=
"&PGP_ID=".
$row['MEN_LINKFK'];
$ret.=
"\" target=\"".
$row['MEN_TARGET'].
"\">";
$ret.=
"href=\"mailto:".
$row['MEN_LINK'].
"\">";
$ret.=
"href=\"http://".
$_SERVER['SERVER_NAME'].
"\" target=\"_top\">";
return str_replace("\$*MENUCLASS\$","class=\"$class\"",$row['MEN_LINK']);
if (is_array($_SESSION['BASKET']) &&
(sizeof($_SESSION['BASKET'] >
0))) {
$ret.=
"href=\"".
$GLOBALS['PROJECT']['BASKETURL'];
if (!strstr($GLOBALS['PROJECT']['BASKETURL'],"?")) $ret.=
"?";
$ret.=
"PROJ_ID=".
$row['PROJ_ID'];
$ret.=
"&MEN_ID=".
$row['MEN_ID'];
$ret.=
"&LANG_ID=".
$row['LANG_ID'];
$ret.=
"\" target=\"".
$row['MEN_TARGET'].
"\">";
$ret.=
"?PROJ_ID=".
$row['PROJ_ID'];
$ret.=
"&MEN_ID=".
$row['MEN_ID'];
$ret.=
"&MEN_PARENT=".
$row['MEN_PARENT'];
$ret.=
"&LANG_ID=".
$row['LANG_ID'];
$ret.=
"\" target=\"_self\">";
* return the HTML code for a menu item row
* @param array $row menu (db)row values
* @param string $class css class of the <a> tag
* @param string $href cms main url
* @return string HTML code for a menu item row
if (!empty($row['MEN_SHOWQUERY'])) {
require_once $GLOBALS['PROJECT']['PHPINCPATH'].
"common/pcf_templates.phpinc";
if ($debug) echo
"<pre>checkShowNode(".
$row['MEN_ID'].
") SHOWQUERY: \n$query</pre>";
if (!(intval($GLOBALS['USRDB']->quickQuery($query,0)))) return "";
switch($row['MEN_LINKTYPE']) {
// only if Basket is not empty
$ret=
"<tr><td align=\"left\" class=\"menuItem\">";
$ret.=
$row['MEN_TITLE'];
$ret.=
"</a></td></tr>\n";
$ret =
"<tr><td align=\"left\" class=\"menuItem\">";
$ret.=
$row['MEN_TITLE'].
"</a>";
if ($debug) echo
"<pre>MENU_writeTreeTill ".
$menArr['MEN_ID'].
" ".
$menArr['MEN_TITLE'].
"/n</pre>";
$query =
"SELECT * FROM T_CMS_MENU ";
$query.=
" WHERE PROJ_ID=".
intval($menArr['PROJ_ID']);
$query.=
" AND LANG_ID=".
intval($manArr['LANG_ID']);
$query.=
" AND MEN_SHOW=1 ";
$query.=
" AND MEN_SHOWFROM < ".
DB_getNowValue();
$query.=
" AND MEN_SHOWTILL > ".
DB_getNowValue();
if (empty($href)) $href=
$_SERVER['SCRIPT_NAME'];
if (intval($menArr['MEN_PARENT']) >
0) {
$where=
" AND MEN_ID=".
intval($menArr['MEN_PARENT']);
if ($debug) {echo
"<pre>\n\nGOTO SUBLEVEL:\n$query\n"; print_r($DB->quickQuery($query.
$where)); echo
"</pre>";}
echo
"<tr><td align=\"right\"><table width=\"90%\" align=\"right\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\">";
$query.=
" AND MEN_PARENT=".
intval($menArr['MEN_PARENT']);
$query.=
" AND MEN_SORTORDER < ".
intval($menArr['MEN_SORTORDER']);
$query.=
" ORDER BY MEN_SORTORDER ";
if ($debug) {echo
"<pre>WRITE SAME LEVEL:\n\n$query\n</pre>";}
if ($cursor=
$DB->query($query)) {
while($row=
$cursor->fetchArray()) {
if ($debug) {echo
"<pre>";print_r($row); echo
"</pre>";}
$query =
"SELECT * FROM T_CMS_MENU WHERE MEN_PARENT=".
intval($MEN_ID);
$query.=
" AND PROJ_ID=".
intval($PROJ_ID);
$query.=
" AND LANG_ID=".
intval($LANG_ID);
$query.=
" AND MEN_SHOW=1 ";
$query.=
" AND MEN_SHOWFROM < ".
DB_getNowValue();
$query.=
" AND MEN_SHOWTILL > ".
DB_getNowValue();
$query.=
" ORDER BY MEN_SORTORDER";
if ($debug) echo
"<p>$query</p>";
if (empty($href)) $href=
$_SERVER['SCRIPT_NAME'];
if ($cursor=
$DB->query($query)) {
while($row=
$cursor->fetchArray()) {
if (!empty($childTree)) {
$query =
"SELECT * FROM T_CMS_MENU ";
$query.=
" WHERE PROJ_ID=".
intval($menArr['PROJ_ID']);
$query.=
" AND LANG_ID=".
intval($manArr['LANG_ID']);
$where =
" AND MEN_PARENT=".
intval($menArr['MEN_PARENT']);
$where.=
" AND MEN_SORTORDER > ".
intval($menArr['MEN_SORTORDER']);
$query.=
" AND MEN_SHOW=1 ";
$query.=
" AND MEN_SHOWFROM < ".
DB_getNowValue();
$query.=
" AND MEN_SHOWTILL > ".
DB_getNowValue();
$where.=
" ORDER BY MEN_SORTORDER ";
if ($cursor=
$DB->query($query.
$where)) {
while($row=
$cursor->fetchArray()) {
if (intval($menArr['MEN_PARENT']) >
0) {
echo
"</table></td></tr>";
$where=
" AND MEN_ID=".
intval($menArr['MEN_PARENT']);
if ($menArr['MEN_PARENT'] ==
0) return $menArr;
$query =
"SELECT * FROM T_CMS_MENU ";
$query.=
" WHERE PROJ_ID=".
intval($menArr['PROJ_ID']);
$query.=
" AND LANG_ID=".
intval($manArr['LANG_ID']);
$query.=
" AND MEN_ID=".
intval($menArr['MEN_PARENT']);
if (!is_array($menPath)) $menPath=
array();
if ($menArr['MEN_PARENT'] ==
0) {
$query =
"SELECT * FROM T_CMS_MENU ";
$query.=
" WHERE PROJ_ID=".
intval($menArr['PROJ_ID']);
$query.=
" AND LANG_ID=".
intval($manArr['LANG_ID']);
$query.=
" AND MEN_ID=".
intval($menArr['MEN_PARENT']);
$query =
"SELECT * FROM T_CMS_MENU WHERE MEN_ID=".
$menId;
$query.=
" AND PROJ_ID=".
intval($_GET['PROJ_ID']);
$query.=
" AND LANG_ID=".
intval($_GET['LANG_ID']);
if (!($menArr=
$DB->quickQuery($query))) {
$menArr['PROJ_ID']=
intval($_GET['PROJ_ID']);
$menArr['LANG_ID']=
intval($_GET['LANG_ID']);
* returns the sql query for the menu page
$query =
"SELECT * FROM T_CMS_PAGE ";
$query.=
" WHERE MEN_ID=".
intval($menId);
$query.=
" AND PROJ_ID=".
intval($projId);
$query.=
" AND LANG_ID=".
intval($langId);
$query.=
" AND PAG_SHOWFROM <= ".
$GLOBALS['USRDB']->qs_getNowStmt();
$query.=
" AND PAG_SHOWTILL >= ".
$GLOBALS['USRDB']->qs_getNowStmt();
$query.=
" AND PAG_STATE IN(";
foreach($GLOBALS['CMS']['PAGESTATE'] as $sId =>
$sDesc) {
$query.=
" ORDER BY PAG_SORTORDER";
Documentation generated on Thu, 08 Jan 2009 17:44:18 +0100 by phpDocumentor 1.4.0a2