function nexcontent_getFolderList($selected = '', $mode = '', $exclude = '0', $pid = '0', $level = '1', $selectlist = '') { global $_TABLES; /* Retrieve all enabled TOP Level Menu Items for this level */ $sql = "SELECT id,pid, type, name FROM {$_TABLES['nexcontent_pages']} WHERE pid='{$pid}' AND type='category'"; if ($mode == '') { $sql .= COM_getPermSQL('AND', '0', 2); } else { $sql .= COM_getPermSQL('AND', '0', 3); } $sql .= ' ORDER BY pageorder'; $query = DB_query($sql); while (list($id, $pid, $type, $label) = DB_fetchARRAY($query)) { //echo "<br>Mode:$mode,Type:$pagetype, id:$id, selected:$selected, exclude:$exclude"; if ($id != $exclude and DB_COUNT($_TABLES['nexcontent_pages'], 'pid', $id) > 0) { $selectlist .= '<option value="' . $id; $indent = ''; if ($level > 1) { for ($i = 2; $i <= $level; $i++) { $indent .= "--"; } } if ($id == $selected) { $selectlist .= '" Selected>' . $indent . $label . '</option>' . LB; } else { $selectlist .= '">' . $indent . $label . '</option>' . LB; } $selectlist = nexcontent_getFolderList($selected, $mode, $exclude, $id, $level + 1, $selectlist); } elseif ($mode == '' or $mode == 'add' or $mode == 'edit' and $id != $exclude) { // Don't show current category in list if in Edit Category Mode - Can't make it a linked to itself $indent = ''; if ($level > 1) { for ($i = 2; $i <= $level; $i++) { $indent .= "--"; } } $selectlist .= '<option value="' . $id; if ($id == $selected) { $selectlist .= '" Selected>' . $indent . $label . '</option>' . LB; } else { $selectlist .= '">' . $indent . $label . '</option>' . LB; } } } return $selectlist; }
function editPage($mode, $type) { global $_CONF, $CONF_SE, $_TABLES, $catid, $pageid, $page, $op; global $_USER, $_POST, $_FILES, $LANG_ACCESS; global $LANG_SE01, $LANG_SE3, $LANG_SE05, $LANG_SE10; $blkformat_options = array('none', 'allblocks', 'leftonly', 'rightonly', 'customblocks', 'blankpage'); if ($mode == 'edit') { $query = DB_query("SELECT * FROM {$_TABLES['nexcontent_pages']} WHERE id='{$pageid}'"); $A = DB_fetchArray($query); for ($i = 1; $i <= $CONF_SE['max_num_images']; $i++) { $curimage = DB_getitem($_TABLES['nexcontent_images'], "imagefile", "page_id='{$pageid}' AND imagenum='{$i}'"); $imageoption = DB_getitem($_TABLES['nexcontent_images'], "autoscale", "page_id='{$pageid}' AND imagenum='{$i}'"); if ($curimage != '') { $images[] = $CONF_SE['uploadpath'] . "/{$pageid}/{$curimage}"; $imageopt[] = $imageoption; $thumbnails[] = $CONF_SE['public_url'] . "/images/{$pageid}/tn{$curimage}"; } else { $images[] = ''; $imageopt[] = ''; $thumbnails[] = ''; } } $submit = 'Update'; $saveandclose = 'Save and Close'; $chk_rad1 = $A['show_submenu'] == 0 ? ' CHECKED' : ''; $chk_rad2 = $A['show_submenu'] == 1 ? ' CHECKED' : ''; $chk_rad3 = $A['show_submenu'] == 2 ? ' CHECKED' : ''; $chk_rad4 = $A['show_blockmenu'] == 0 ? ' CHECKED' : ''; $chk_rad5 = $A['show_blockmenu'] == 1 ? ' CHECKED' : ''; $chk_rad6 = $A['show_blockmenu'] == 2 ? ' CHECKED' : ''; $check1 = $A['is_menu_newpage'] == 1 ? ' CHECKED' : ''; $check2 = $A['show_breadcrumbs'] == 1 ? ' CHECKED' : ''; $check3 = $A['is_draft'] == 1 ? ' CHECKED' : ''; $pageid = $A['id']; $parentCatid = DB_getItem($_TABLES['nexcontent_pages'], 'pid', "id='{$pageid}'"); if ($type == 'category') { $catid = $A['id']; } else { $catid = $parentCatid; } } else { $categoryImage = ''; $A['owner_id'] = $_USER['uid']; $A['group_id'] = DB_getItem($_TABLES['groups'], 'grp_id', "grp_name = 'nexcontent Admin'"); $A['perm_owner'] = 3; $A['perm_group'] = 2; $A['perm_members'] = 2; $A['perm_anon'] = 2; if ($type == 'category') { $submit = 'Update'; $saveandclose = 'Create and Close'; $parentCatid = $catid; } else { $submit = 'Update'; $saveandclose = 'Create and Close'; $parentCatid = $catid; } $chk_rad2 = ' CHECKED'; $chk_rad5 = ' CHECKED'; $check2 = $CONF_SE['breadcrumbs'] == true ? ' CHECKED' : ''; } if ($mode == 'edit') { if ($type == 'category') { $check4children = DB_count($_TABLES['nexcontent_pages'], 'pid', $pageid); if ($check4children == 0) { $convert_page = '<input type="submit" name="convert_page" value="Convert">'; } } else { if ($type == 'page') { $convert_page = '<input type="submit" name="convert_page" value="Convert">'; } else { $convert_page = ''; } } } $page = new Template($_CONF['path_layout'] . 'nexcontent/admin'); if ($type == 'link') { $page->set_file('page', 'editlink.thtml'); } else { $page->set_file('page', 'editpage.thtml'); } $page->set_file(array('pagecategory' => 'editpage_category.thtml', 'thumbnail' => 'thumbnail.thtml', 'enterimage' => 'enterimage.thtml', 'taghelp' => 'taghelp_record.thtml')); $page->set_var('convert_page', $convert_page); $page->set_var('LANG_submit', $submit); $page->set_var('LANG_saveandclose', $saveandclose); $page->set_var('phpself', $_SERVER['PHP_SELF']); $page->set_var('site_url', $_CONF['site_url']); $page->set_var('layout_url', $_CONF['layout_url']); $page->set_var('mode', $mode); $page->set_var('type', $type); $page->set_var('catid', $catid); $page->set_var('pageid', $pageid); $page->set_var('sid', $A['sid']); $page->set_var('name', $A['name']); $page->set_var('heading', $A['heading']); $page->set_var('content', $A['content']); $page->set_var('page_title', $A['pagetitle'] == '' ? $CONF_SE['pagetitle'] : $A['pagetitle']); $page->set_var('page_order', $A['pageorder']); $page->set_var('meta_description', $A['meta_description'] == '' ? $CONF_SE['meta_description'] : $A['meta_description']); $page->set_var('meta_keywords', $A['meta_keywords'] == '' ? $CONF_SE['meta_keywords'] : $A['meta_keywords']); if ($CONF_SE['loadImageUploader']) { $page->set_var('show_image_tab', 'show'); } else { $page->set_var('show_image_tab', 'none'); } $page->set_var('lang_title', 'Page Title'); $page->set_var('lang_order', 'Page Order'); $page->set_var('lang_metadescription', 'META Description<br><tt>200-250 words</tt>'); $page->set_var('lang_metakeywords', 'META Keywords<br><tt>20-25 comma<br>separated keywords</tt>'); $page->set_var('chk_rad1', $chk_rad1); $page->set_var('chk_rad2', $chk_rad2); $page->set_var('chk_rad3', $chk_rad3); $page->set_var('chk_rad4', $chk_rad4); $page->set_var('chk_rad5', $chk_rad5); $page->set_var('chk_rad6', $chk_rad6); $page->set_var('check1', $check1); $page->set_var('check2', $check2); $page->set_var('check3', $check3); $page->set_var('max_uploadsize', $CONF_SE['max_uploadfile_size']); $page->set_var('max_uploadwidth', $CONF_SE['max_upload_width']); $page->set_var('max_uploadheight', $CONF_SE['max_upload_height']); $page->set_var('thumbnail_size', $CONF_SE['auto_thumbnail_dimension']); $page->set_var('LANG_category', 'Parent Category'); $q = DB_query("SELECT id,name from {$_TABLES['nexcontent_pages']} WHERE pid='0' ORDER BY id"); $selCategories = ''; //echo "<br>Type:$type, catid:$catid, parent:$parentCatid"; if ($type == 'category' and $parentCatid == 0) { if (SEC_hasRights('nexcontent.edit')) { $selCategories .= '<option value="0" SELECTED>Top Level</option>' . LB; } $selCategories .= nexcontent_getFolderList($parentCatid, $mode, $catid); } elseif ($type == 'category') { if (SEC_hasRights('nexcontent.edit')) { $selCategories .= '<option value="0">Top Level</option>' . LB; } $selCategories .= nexcontent_getFolderList($parentCatid, $mode, $catid); } else { $selCategories .= nexcontent_getFolderList($parentCatid, $mode); } $page->set_var('sel_categories', $selCategories); $page->parse('select_category', 'pagecategory', true); $page->set_var('navbar', nexcontent_showNavbar($op)); $selBlockType = ''; foreach ($blkformat_options as $var) { if ($A['blockformat'] == $var) { $selBlockType .= '<option value="' . $var . '" selected>' . $var . '</option>'; } else { $selBlockType .= '<option value="' . $var . '">' . $var . '</option>'; } } $page->set_var('sel_blocktype', $selBlockType); $menuoptions = ''; foreach ($CONF_SE['menuoptions'] as $value => $label) { if ($A['name'] == 'frontpage') { if ($value == '0') { $menuoptions .= '<option value="' . $value . '">' . $label . '</option>'; } } elseif ($value == 0 or $type == 'page' and $value == 3) { if ($value == $A['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 == $A['menutype']) { $menuoptions .= '<option value="' . $value . '" SELECTED=SELECTED>' . $label . '</option>'; } else { $menuoptions .= '<option value="' . $value . '">' . $label . '</option>'; } } } $page->set_var('sel_menutypes', $menuoptions); $page->set_var('LANG_SubmenuDescription', ''); $page->set_var('LANG_BlockmenuDescription', ''); $page->set_var('LANG_WindowDescription', 'Clicking on menuitem will launch a new browser'); $page->set_var('LANG_DraftDescription', 'If enabled, page will not be published'); $page->set_var('LANG_Breadcrumbs', 'If enabled, page will show breadcrumb links at top'); for ($i = 0; $i < $CONF_SE['max_num_images']; $i++) { $imagenum = $i + 1; if (!empty($images[$i]) and !is_dir($images[$i]) and file_exists($images[$i])) { $page->set_var('imagenum', $imagenum); if ($imageopt[$i] == '0' or $imageopt[$i] == '') { $page->set_var('chkscaleopt', ''); } else { $page->set_var('chkscaleopt', 'CHECKED=CHECKED'); } $page->set_var('thumbnail_url', $thumbnails[$i]); $page->parse('thumbnail_image', 'thumbnail', true); } else { $page->set_var('imagenum', $imagenum); $page->parse('thumbnail_image', 'enterimage', true); } } $page->set_var('lang_accessrights', $LANG_ACCESS['accessrights']); $page->set_var('lang_owner', $LANG_ACCESS['owner']); $page->set_var('owner_username', DB_getItem($_TABLES['users'], 'username', "uid = {$A['owner_id']}")); $page->set_var('owner_id', $A['owner_id']); $page->set_var('lang_group', $LANG_ACCESS['group']); $usergroups = SEC_getUserGroups(); $groupdd = ''; for ($i = 0; $i < count($usergroups); $i++) { $groupdd .= '<option value="' . $usergroups[key($usergroups)] . '"'; if ($A['group_id'] == $usergroups[key($usergroups)]) { $groupdd .= ' selected="selected"'; } $groupdd .= '>' . key($usergroups) . '</option>'; next($usergroups); } $page->set_var('group_dropdown', $groupdd); $page->set_var('lang_permissions', $LANG_ACCESS['permissions']); $page->set_var('lang_perm_key', $LANG_ACCESS['permissionskey']); $page->set_var('permissions_editor', SEC_getPermissionsHTML($A['perm_owner'], $A['perm_group'], $A['perm_members'], $A['perm_anon'])); $page->set_var('permissions_msg', $LANG_ACCESS['permmsg']); foreach ($LANG_SE05 as $tagname => $helpmessage) { $page->set_var('tagname', $tagname); $page->set_var('help_msg', $helpmessage); $page->parse('taghelp_lines', 'taghelp', true); } $query = DB_query("SELECT name,title FROM {$_TABLES['blocks']} ORDER BY name"); while (list($name, $title) = DB_fetchArray($query)) { $page->set_var('tagname', $title); $page->set_var('help_msg', $name); $page->parse('blockhelp_lines', 'taghelp', true); } $query = DB_query("SELECT help FROM {$_TABLES['nexcontent']}"); list($help) = DB_fetchArray($query); $page->set_var('customhelp', $help); $page->parse('output', 'page'); $retval = $page->finish($page->get_var('output')); return $retval; }