Beispiel #1
0
function showportalprimaltemplate($pritplname, $type)
{
    include_once libfile('function/portalcp');
    $tpls = array('./template/default:portal/' . $type => getprimaltplname('portal/' . $type . '.htm'));
    foreach ($alltemplate = C::t('common_template')->range() as $template) {
        if ($dir = dir(DISCUZ_ROOT . $template['directory'] . '/portal/')) {
            while (false !== ($file = $dir->read())) {
                $file = strtolower($file);
                if (fileext($file) == 'htm' && substr($file, 0, strlen($type) + 1) == $type . '_') {
                    $key = $template['directory'] . ':portal/' . str_replace('.htm', '', $file);
                    $tpls[$key] = getprimaltplname($template['directory'] . ':portal/' . $file);
                }
            }
        }
    }
    foreach ($tpls as $key => $value) {
        echo "<input name=signs[{$type}][" . dsign($key) . "] value='1' type='hidden' />";
    }
    $pritplvalue = '';
    if (empty($pritplname)) {
        $pritplhide = '';
        $pritplvalue = ' style="display:none;"';
    } else {
        $pritplhide = ' style="display:none;"';
    }
    $catetplselect = '<span' . $pritplhide . '><select id="' . $type . 'select" name="' . $type . 'primaltplname">';
    $selectedvalue = '';
    if ($type == 'view') {
        $catetplselect .= '<option value="">' . cplang('portalcategory_inheritupsetting') . '</option>';
    }
    foreach ($tpls as $k => $v) {
        if ($pritplname === $k) {
            $selectedvalue = $k;
            $selected = ' selected';
        } else {
            $selected = '';
        }
        $catetplselect .= '<option value="' . $k . '"' . $selected . '>' . $v . '</option>';
    }
    $pritplophide = !empty($pritplname) ? '' : ' style="display:none;"';
    $catetplselect .= '</select> <a href="javascript:;"' . $pritplophide . ' onclick="$(\'' . $type . 'select\').value=\'' . $selectedvalue . '\';$(\'' . $type . 'select\').parentNode.style.display=\'none\';$(\'' . $type . 'value\').style.display=\'\';">' . cplang('cancel') . '</a></span>';
    if (empty($pritplname)) {
        showsetting('portalcategory_' . $type . 'primaltplname', '', '', $catetplselect);
    } else {
        $tplname = getprimaltplname($pritplname . '.htm');
        $html = '<span id="' . $type . 'value" ' . $pritplvalue . '> ' . $tplname . '<a href="javascript:;" onclick="$(\'' . $type . 'select\').parentNode.style.display=\'\';$(\'' . $type . 'value\').style.display=\'none\';"> ' . cplang('modify') . '</a></span>';
        showsetting('portalcategory_' . $type . 'primaltplname', '', '', $catetplselect . $html);
    }
}
            $topic['cover'] = $_G['setting']['attachurl'] . $topic['cover'];
        } elseif ($topic['picflag'] == '2') {
            $topic['cover'] = $_G['setting']['ftp']['attachurl'] . $topic['cover'];
        }
    }
}
if ($topicid && !$allowmanage || !$topicid && !$allowadd) {
    showmessage('topic_edit_nopermission', dreferer());
}
$tpls = array();
foreach ($alltemplate = C::t('common_template')->range() as $template) {
    if ($dir = dir(DISCUZ_ROOT . $template['directory'] . '/portal/')) {
        while (false !== ($file = $dir->read())) {
            $file = strtolower($file);
            if (fileext($file) == 'htm' && substr($file, 0, 13) == 'portal_topic_') {
                $tpls[$template['directory'] . ':portal/' . str_replace('.htm', '', $file)] = getprimaltplname($template['directory'] . ':portal/' . $file);
            }
        }
    }
}
if (empty($tpls)) {
    showmessage('topic_has_on_template', dreferer());
}
if (submitcheck('editsubmit')) {
    include_once libfile('function/portalcp');
    if (is_numeric($topicid = updatetopic($topic))) {
        showmessage('do_success', 'portal.php?mod=topic&topicid=' . $topicid);
    } else {
        showmessage($topicid, dreferer());
    }
}
function showportalprimaltemplate($pritplname, $type)
{
    global $_G;
    $tpls = array($type => getprimaltplname($type . '.htm'));
    if ($dh = opendir(DISCUZ_ROOT . ($_G['cache']['style_default']['tpldir'] ? $_G['cache']['style_default']['tpldir'] : './template/default') . '/portal/')) {
        while (($file = readdir($dh)) !== false) {
            $file = strtolower($file);
            if (fileext($file) == 'htm' && substr($file, 0, strlen($type) + 1) == $type . '_') {
                $tpls[str_replace('.htm', '', $file)] = getprimaltplname($file);
            }
        }
        closedir($dh);
    }
    arsort($tpls);
    $pritplvalue = '';
    if (empty($pritplname)) {
        $pritplhide = '';
        $pritplvalue = ' style="display:none;"';
    } else {
        $pritplhide = ' style="display:none;"';
    }
    $catetplselect = '<span' . $pritplhide . '><select id="' . $type . 'select" name="' . $type . 'primaltplname">';
    $selectedvalue = '';
    if ($type == 'view') {
        $catetplselect .= '<option value="">' . cplang('portalcategory_inheritupsetting') . '</option>';
    }
    foreach ($tpls as $k => $v) {
        if ($pritplname === 'portal/' . $k) {
            $selectedvalue = $k;
            $selected = ' selected';
        } else {
            $selected = '';
        }
        $catetplselect .= '<option value="' . $k . '"' . $selected . '>' . $v . '</option>';
    }
    $pritplophide = !empty($pritplname) ? '' : ' style="display:none;"';
    $catetplselect .= '</select> <a href="javascript:;"' . $pritplophide . ' onclick="$(\'' . $type . 'select\').value=\'' . $selectedvalue . '\';$(\'' . $type . 'select\').parentNode.style.display=\'none\';$(\'' . $type . 'value\').style.display=\'\';">' . cplang('cancel') . '</a></span>';
    if (empty($pritplname)) {
        showsetting('portalcategory_' . $type . 'primaltplname', '', '', $catetplselect);
    } else {
        $tplname = getprimaltplname(str_replace('portal/', '', $pritplname . '.htm'));
        $html = '<span id="' . $type . 'value" ' . $pritplvalue . '> ' . $tplname . '<a href="javascript:;" onclick="$(\'' . $type . 'select\').parentNode.style.display=\'\';$(\'' . $type . 'value\').style.display=\'none\';"> ' . cplang('modify') . '</a></span>';
        showsetting('portalcategory_' . $type . 'primaltplname', '', '', $catetplselect . $html);
    }
}
        foreach ($tpls as $k => $v) {
            ?>
<input type="hidden" name="signs[<?php 
            echo dsign($k);
            ?>
]" value="1"/>
<?php 
        }
    }
    $pritplophide = !empty($topic['primaltplname']) ? '' : ' style="display:none;"';
    ?>
 <a href="javascript:;"<?php 
    echo $pritplophide;
    ?>
 onclick="$('pritplselect').style.display='none';$('pritplvalue').style.display='';" class="xi2">取消</a></span><?php 
    $html = '<span id="pritplvalue"' . $pritplshow . '>' . getprimaltplname($topic['primaltplname'] . '.htm') . ' <a href="javascript:;" onclick="$(\'pritplselect\').style.display=\'\';$(\'pritplvalue\').style.display=\'none\';" class="xi2">修改</a></span>';
    echo $html;
    ?>
<p class="d">请将模板文件上传到模板目录的portal目录下,如:template/default/portal目录下,文件名必须为portal_topic_*.htm,*为自定义文件名<br />如果要重新选择模板,请确保新模板与原模板中可拖拽区域具有相同的ID,否则将会丢失分部或全部原DIY数据</p></td>
</tr>
<tr>
<th>是否允许评论</th>
<td>
<label class="lb"><input type="radio" name="allowcomment" value="1" class="pr"<?php 
    if ($topic['allowcomment']) {
        ?>
 checked="checked"<?php 
    }
    ?>
 />是</label>
<label class="lb"><input type="radio" name="allowcomment" value="0" class="pr"<?php 
     $cate['primaltplname'] = 'portal/list';
     $pritplvalue = ' style="display:none;"';
 } else {
     $pritplhide = ' style="display:none;"';
 }
 $catetplselect = '<span id="pritplselect"' . $pritplhide . '><select name="primaltplname">';
 foreach ($tpls as $k => $v) {
     $selected = $cate['primaltplname'] == 'portal/' . $k ? ' selected' : '';
     $catetplselect .= '<option value="' . $k . '"' . $selected . '>' . $v . '</option>';
 }
 $pritplophide = !empty($cate['primaltplname']) ? '' : ' style="display:none;"';
 $catetplselect .= '</select> <a href="javascript:;"' . $pritplophide . ' onclick="$(\'pritplselect\').style.display=\'none\';$(\'pritplvalue\').style.display=\'\';">' . cplang('cancel') . '</a></span>';
 if (empty($cate['primaltplname'])) {
     showsetting('portalcategory_primaltplname', '', '', $catetplselect);
 } else {
     $tplname = getprimaltplname(str_replace('portal/', '', $cate['primaltplname'] . '.htm'));
     $html = '<span id="pritplvalue" ' . $pritplvalue . '> ' . $tplname . '<a href="javascript:;" onclick="$(\'pritplselect\').style.display=\'\';$(\'pritplvalue\').style.display=\'none\';"> ' . cplang('modify') . '</a></span>';
     showsetting('portalcategory_primaltplname', '', '', $catetplselect . $html);
 }
 showsetting('portalcategory_allowpublish', 'allowpublish', $cate['disallowpublish'] ? 0 : 1, 'radio');
 showsetting('portalcategory_allowcomment', 'allowcomment', $cate['allowcomment'], 'radio');
 if ($cate['level']) {
     showsetting('portalcategory_inheritancearticle', 'inheritancearticle', !$cate['notinheritedarticle'] ? '1' : '0', 'radio');
     showsetting('portalcategory_inheritanceblock', 'inheritanceblock', !$cate['notinheritedblock'] ? '1' : '0', 'radio');
 }
 showsetting('portalcategory_is_closed', 'closed', $cate['closed'] ? 0 : 1, 'radio');
 if ($cate['level'] != 2) {
     showsetting('portalcategory_shownav', 'shownav', $cate['shownav'], 'radio');
 }
 $setindex = !empty($_G['setting']['defaultindex']) && $_G['setting']['defaultindex'] == $cate['caturl'] ? 1 : 0;
 showsetting('setindex', 'setindex', $setindex, 'radio');