function nexcontent_recursiveView(&$node, $cid) { global $_CONF, $_TABLES, $catid; $sql = "SELECT id,pid,name FROM {$_TABLES['nexcontent_pages']} WHERE pid ='{$cid}' AND type='category'"; $sql .= COM_getPermSQL('AND'); $sql .= ' ORDER BY pageorder,id'; $query = DB_QUERY($sql); while (list($id, $pid, $name) = DB_fetchARRAY($query)) { //echo "<br>subfunction -> id:$id, pid:$pid, name:$name"; $pquery = DB_query("SELECT id FROM {$_TABLES['nexcontent_pages']} WHERE pid='{$id}' AND type='page'"); $numpages = DB_numRows($pquery); if ($numpages > 0) { $name = $name . ' (' . $numpages . ')'; } if ($catid == $id) { $name = '<span class="treeMenuSelected">' . $name . '</span>'; } // Check and see if this category has any sub categories - where a category record has this cid as it's parent if (DB_COUNT($_TABLES['nexcontent_pages'], 'pid', $id) > 0) { $subnode[$id] = new HTML_TreeNode(array('text' => $name, 'link' => $_CONF['site_admin_url'] . "/plugins/nexcontent/index.php?catid=" . $id, 'icon' => 'folder.gif')); nexcontent_recursiveView($subnode[$id], $id); $node->addItem($subnode[$id]); } else { $node->addItem(new HTML_TreeNode(array('text' => $name, 'link' => $_CONF['site_admin_url'] . "/plugins/nexcontent/index.php?catid=" . $id, 'icon' => 'folder.gif'))); } } }
function displayPages($catid) { global $_CONF, $CONF_SE, $_TABLES, $statusmsg, $type, $LANG_SE02; $menu = new HTML_TreeMenu(); if ($catid != 0) { $parentCatid = DB_getItem($_TABLES['nexcontent_pages'], 'pid', "id='{$catid}'"); $node[0] = new HTML_TreeNode(array('text' => 'up one level', 'link' => $_CONF['site_admin_url'] . "/plugins/nexcontent/index.php?catid={$parentCatid}", 'icon' => 'folder.gif')); $menu->addItem($node[0]); $label = DB_getItem($_TABLES['nexcontent_pages'], 'name', "id='{$catid}'"); $psql = "SELECT id FROM {$_TABLES['nexcontent_pages']} WHERE pid='{$catid}' AND (type='page' OR type='link')"; $psql .= COM_getPermSQL('AND'); $psql .= ' ORDER BY pageorder, id asc'; $pquery = DB_query($psql); $numpages = DB_numRows($pquery); if ($numpages > 0) { $label = $label . ' (' . $numpages . ')'; } $label = '<span class="treeMenuSelected">' . $label . '</span>'; $node[$catid] = new HTML_TreeNode(array('text' => $label, 'link' => $_CONF['site_admin_url'] . "/plugins/nexcontent/index.php?catid=" . $catid, 'icon' => 'folder.gif')); nexcontent_recursiveView($node[$catid], $catid); $menu->addItem($node[$catid]); } else { $msql = "SELECT id,pid,name,pageorder from {$_TABLES['nexcontent_pages']} WHERE pid='0' and type='category'"; $msql .= COM_getPermSQL('AND'); $msql .= ' ORDER BY pageorder, id asc'; $mquery = DB_QUERY($msql); while (list($id, $category, $name, $order) = DB_fetchARRAY($mquery)) { //echo "<br>id:$id, cat: $category, name:$name, order:$order"; if ($catid != 0 and $catid == $id) { $name = '<span class="treeMenuSelected">' . $name . '</span>'; } $pquery = DB_query("SELECT id FROM {$_TABLES['nexcontent_pages']} WHERE pid='{$id}' AND (type='page' OR type='link')"); $numpages = DB_numRows($pquery); if ($numpages > 0) { $name = $name . ' (' . $numpages . ')'; } $node[$id] = new HTML_TreeNode(array('text' => $name, 'link' => $_CONF['site_admin_url'] . "/plugins/nexcontent/index.php?catid=" . $id, 'icon' => 'folder.gif')); nexcontent_recursiveView($node[$id], $id); $menu->addItem($node[$id]); } } $treeMenu =& new HTML_TreeMenu_DHTML($menu, array('images' => $_CONF['layout_url'] . '/nexpro/images/treemenu', 'defaultClass' => 'treeMenuDefault')); $q = DB_query("SELECT id,name from {$_TABLES['nexcontent_pages']} WHERE type='category' ORDER BY id"); $selCategories = '<option value="0">Top Level</option>' . LB; $selCategories .= nexcontent_getFolderList($catid); /* Retrieve all the pages for the selected category */ $sql = "SELECT id,sid,pageorder,name,hits,type,menutype,submenu_item,is_draft FROM {$_TABLES['nexcontent_pages']} WHERE pid='{$catid}' or id='{$catid}'"; $sql .= COM_getPermSQL('AND'); //$sql .= ' ORDER by type, pid,pageorder'; $sql .= ' ORDER by pid,pageorder'; $query = DB_query($sql); $mainview = new Template($_CONF['path_layout'] . 'nexcontent/admin'); $mainview->set_file(array('mainview' => 'pageview.thtml', 'msgline' => 'alertline.thtml', 'records' => 'pagerecords.thtml')); $mainview->set_var('navbar', nexcontent_showNavbar($LANG_SE02['1'])); $mainview->set_var('type', $type); $mainview->set_var('catid', $catid); $mainview->set_var('folderview', $treeMenu->toHTML()); $mainview->set_var('phpself', $_SERVER['PHP_SELF']); if ($statusmsg != '') { $mainview->set_var('alertmsg', $statusmsg); } else { $mainview->set_var('alertmsg', ''); $mainview->set_var('msgmode', 'none'); } $mainview->set_var('filteroptions', $selCategories); $mainview->parse('alertline', 'msgline', true); $mainview->set_var('HEADING1', 'ID'); $mainview->set_var('HEADING2', 'Name'); $mainview->set_var('HEADING3', 'Hits'); $mainview->set_var('HEADING4', 'Menu Type'); $mainview->set_var('HEADING5', 'Draft'); $mainview->set_var('HEADING6', 'Action'); $mainview->set_var('imgset', $CONF_SE['public_url'] . '/images'); $mainview->set_var('site_url', $_CONF['site_url']); $mainview->set_var('site_admin_url', $_CONF['site_admin_url']); $mainview->set_var('layout_url', $_CONF['layout_url']); $mainview->set_var('nexcontent_url', $CONF_SE['public_url']); $i = 1; $currentCategory = ''; $pageOrd = 10; $stepNumber = 10; while (list($id, $sid, $order, $name, $hits, $type, $menutype, $submenu, $is_draft) = DB_fetchArray($query)) { if ($type == 'page' and $currentCategory != $category) { $pageOrd = 10; $currentCategory = $category; } if ($id != $catid and $order != $pageOrd) { DB_query("UPDATE {$_TABLES['nexcontent_pages']} SET pageorder = '{$pageOrd}' WHERE id = '{$id}'"); $order = $pageOrd; } $pageOrd += $stepNumber; $check1 = $submenu >= 1 ? ' CHECKED' : ''; $check2 = $is_draft == 1 ? ' CHECKED' : ''; if ($type == 'category') { $mainview->set_var('pagelink', "{$_CONF['site_admin_url']}/plugins/nexcontent/index.php?catid={$id}"); $mainview->set_var('pageimage', '<img src="' . $_CONF['layout_url'] . '/nexcontent/images/admin/sitecategory.gif">'); $editop = 'editCategory'; } else { if ($type == 'link') { $mainview->set_var('pagelink', "{$_CONF['site_admin_url']}/plugins/nexcontent/index.php?op=editLink&pageid={$id}"); $mainview->set_var('pageimage', '<img src="' . $_CONF['layout_url'] . '/nexcontent/images/admin/sitelink.gif">'); $editop = 'editLink'; } else { $mainview->set_var('pagelink', "{$_CONF['site_admin_url']}/plugins/nexcontent/index.php?op=editPage&pageid={$id}"); $mainview->set_var('pageimage', '<img src="' . $_CONF['layout_url'] . '/nexcontent/images/admin/sitepage.gif">'); $editop = 'editPage'; } } $menuoptions = ''; foreach ($CONF_SE['menuoptions'] as $value => $label) { if ($name == 'frontpage') { if ($value == '0') { $menuoptions .= '<option value="' . $value . '">' . $label . '</option>'; } } elseif ($value == 0 or $type == 'page' and $value == 3 or $type == 'link' and $value == 3) { if ($value == $menutype) { $menuoptions .= '<option value="' . $value . '" SELECTED=SELECTED>' . $label . '</option>'; } else { $menuoptions .= '<option value="' . $value . '">' . $label . '</option>'; } } elseif ($type == 'category' and ($catid > 0 or $value != 3)) { if ($value == $menutype) { $menuoptions .= '<option value="' . $value . '" SELECTED=SELECTED>' . $label . '</option>'; } else { $menuoptions .= '<option value="' . $value . '">' . $label . '</option>'; } } } $mainview->set_var('menuoptions', $menuoptions); $sql = "SELECT id FROM {$_TABLES['nexcontent_pages']} WHERE id='{$id}' "; $sql .= COM_getPermSQL('AND', 0, 3); $pquery = DB_query($sql); if (DB_numRows($pquery) > 0) { $link = ' <a href="' . $_CONF['site_admin_url'] . '/plugins/nexcontent/index.php?op='; $editimg = '<img src="' . $_CONF['layout_url'] . '/nexcontent/images/admin/edit.gif" TITLE="Edit Page" border="0">'; $editlink = $link . $editop . '&pageid=' . $id . '">' . $editimg . '</a>'; $copyimg = '<img src="' . $_CONF['layout_url'] . '/nexcontent/images/admin/copy.gif" TITLE="Copy Page" border="0">'; $copylink = $link . 'copyPage&pageid=' . $id . '">' . $copyimg . '</a>'; $LANG_CONFIRM = 'Please confirm that you want to delete this page and any associated images'; $deleteimg = '<img src="' . $_CONF['layout_url'] . '/nexcontent/images/admin/delete.gif" TITLE="Delete Page" border="0">'; $deletelink = $link . 'delPage&pageid=' . $id . '" onclick="return confirm(\'' . $LANG_CONFIRM . '\');">' . $deleteimg . '</a>'; } else { $editlink = ''; $deletelink = ''; } $mainview->set_var('sid', $sid); $mainview->set_var('cssid', $i); $mainview->set_var('pageid', $id); $mainview->set_var('pagename', $name); $mainview->set_var('hits', $hits); $mainview->set_var('order', $order); $mainview->set_var('check1', $check1); $mainview->set_var('check2', $check2); $mainview->set_var('LANG_EDIT', 'Edit Page'); $mainview->set_var('editlink', $editlink); $mainview->set_var('copylink', $copylink); $mainview->set_var('LANG_DELETE', 'Delete Page'); $mainview->set_var('deletelink', $deletelink); $mainview->set_var('LANG_MOVEUP', 'Move Page Up'); $mainview->set_var('LANG_MOVEDN', 'Move Page Down'); $mainview->set_var('LANG_PREVIEW', 'Preview this page'); $mainview->parse('page_records', 'records', true); $i = $i == 2 ? 1 : 2; } $mainview->parse('output', 'mainview'); $retval .= $mainview->finish($mainview->get_var('output')); return $retval; }