<?php
if (!defined('DEDEINC')) exit ('dedebiz');
/**
 * 专题标签
 *
 * @version        $id:arclist.lib.php 2 8:29 2010年7月8日 tianya $
 * @package        DedeBIZ.Taglib
 * @copyright      Copyright (c) 2022 DedeBIZ.COM
 * @license        GNU GPL v2 (https://www.dedebiz.com/license)
 * @link           https://www.dedebiz.com
 */
function ch_specialtopic($noteinfo, $arcTag, $refObj, $fname = '')
{
    require_once(DEDEINC.'/taglib/arclist.lib.php');
    if ($noteinfo == '') return '';
    $noteid = $arcTag->GetAtt('noteid');
    $rvalue = '';
    $tempStr = GetSysTemplets('channel_spec_note.htm');
    $dtp = new DedeTagParse();
    $dtp->LoadSource($noteinfo);
    if (is_array($dtp->CTags)) {
        foreach ($dtp->CTags as $k => $ctag) {
            $notename = $ctag->GetAtt('name');
            //指定名称的专题节点
            if ($noteid != '' && $ctag->GetAtt('noteid') != $noteid) {
                continue;
            }
            $isauto = $ctag->GetAtt('isauto');
            $idlist = trim($ctag->GetAtt('idlist'));
            $rownum = trim($ctag->GetAtt('rownum'));
            $keywords = '';
            $stypeid = 0;
            if (empty($rownum)) $rownum = 40;
            //通过关键词和栏目id自动获取模式
            if ($isauto == 1) {
                $idlist = '';
                $keywords = trim($ctag->GetAtt('keywords'));
                $stypeid = $ctag->GetAtt('typeid');
            }
            $listTemplet = trim($ctag->GetInnerText()) != '' ? $ctag->GetInnerText() : GetSysTemplets('spec_arclist.htm');
            $idvalue = lib_arclistDone(
                $refObj,
                $ctag,
                $stypeid,
                $rownum,
                $ctag->GetAtt('col'),
                $ctag->GetAtt('titlelen'),
                $ctag->GetAtt('infolen'),
                $ctag->GetAtt('imgwidth'),
                $ctag->GetAtt('imgheight'),
                'all',
                'default',
                $keywords,
                $listTemplet,
                0,
                $idlist,
                $ctag->GetAtt('channel'),
                '',
                $ctag->GetAtt('att')
            );
            $notestr = str_replace('~notename~', $notename, $tempStr);
            $notestr = str_replace('~spec_arclist~', $idvalue, $notestr);
            $rvalue .= $notestr;
            if ($noteid != '' && $ctag->GetAtt('noteid') == $noteid) break;
        }
    }
    $dtp->Clear();
    return $rvalue;
}
?>