示例#1
0
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;
}
示例#2
0
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;
}