Example #1
0
function king_admin_edt()
{
    global $king;
    $data = array();
    $s = $king->access('admin');
    $_sql = "adminname,adminpass,adminlevel,adminlanguage,admineditor,adminmode,adminlogin,siteurl";
    //,admindiymenu
    $_adminid = kc_get('adminid');
    if ($GLOBALS['ismethod'] || $_adminid == '') {
        //POST过程或新添加的过程
        $data = $_POST;
        if (!$GLOBALS['ismethod']) {
            //初始化新添加的数据
            $data['adminlanguage'] = LANGUAGE;
            $data['adminlogin'] = '******';
        }
    } else {
        //编辑数据,从数据库读出
        $data = $king->db->getRows_one('select ' . $_sql . ' from %a_admin where adminid=' . $_adminid . ' limit 1;');
    }
    $fields = explode(',', $_sql);
    $data = kc_data($fields, $data);
    $s = $king->openForm('manage.php?action=admin_edt');
    //帐号
    if ($_adminid) {
        //update
        $s .= $king->htmForm($king->lang->get('system/admin/name'), '<input class="k_in w100" type="text" disabled="true" value="' . htmlspecialchars($data['adminname']) . '" />');
        $s .= kc_htm_hidden(array('adminname' => $data['adminname']));
    } else {
        $_array = array(array('adminname', 0, 2, 12), array('adminname', 1), array('adminname', 12, $king->lang->get('system/check/none'), $king->db->getRows_one("select adminid from %a_admin where adminname='" . $king->db->escape(kc_post('adminname')) . "';")));
        $s .= $king->htmForm($king->lang->get("system/admin/name") . ' (2-12)', '<input class="k_in w150" type="text" name="adminname" value="' . htmlspecialchars($data['adminname']) . '" maxlength="12" />', $_array);
    }
    //密码
    if ($_adminid) {
        $_array = array(array('pass1', 17, null, 'pass2'));
    } else {
        $_array = array(array('pass1', 0, 6, 30), array('pass1', 17, null, 'pass2'));
    }
    $s .= $king->htmForm($king->lang->get('system/admin/pass1') . ' (6-30)', '<input class="k_in w150" type="password" name="pass1" maxlength="30" />', $_array);
    $s .= $king->htmForm($king->lang->get('system/admin/pass2'), '<input class="k_in w150" type="password" name="pass2" maxlength="30" />');
    //adminlanguage
    $s .= $king->htmForm($king->lang->get('system/common/language'), kc_htm_select('adminlanguage', kc_htm_selectlang(), $data['adminlanguage']));
    //admineditor
    $array_dir = kc_f_getdir('system/editor/', 'dir');
    $_array = array();
    foreach ($array_dir as $val) {
        $_array[$val] = $val;
    }
    $s .= $king->htmForm($king->lang->get('system/common/editor'), kc_htm_select('admineditor', $_array, $data['admineditor']));
    //adminmode
    $_array = array(2 => $king->lang->get('system/admin/mode2'), 1 => $king->lang->get('system/admin/mode1'), 0 => $king->lang->get('system/admin/mode0'));
    $s .= $king->htmForm($king->lang->get('system/admin/mode'), kc_htm_radio('adminmode', $_array, $data['adminmode']));
    //adminlevel
    if ($king->admin['adminid'] != $_adminid) {
        $data['adminlevel'] == 'admin' ? $_checkbox = '<input type="checkbox" id="adminlevel" name="adminlevel" value="admin" onclick="javascript:selevel()" checked="checked" />' : ($_checkbox = '<input type="checkbox" id="adminlevel" name="adminlevel" value="admin" onclick="javascript:selevel()" />');
        $_array = array('-' . $king->lang->get('system/name') . '-', $king->lang->get('system/level/channel') . '[', '#open_settring' => $king->lang->get('system/common/setting'), '#open_help' => $king->lang->get('system/common/help'), ']', '[', '#resetpass' => $king->lang->get('system/level/resetpass'), ']', '[', '#novice' => $king->lang->get('system/level/novice'), ']', '|', $king->lang->get('system/common/system') . '[', '#systeminfo' => $king->lang->get('system/level/config'), '#systemcache' => $king->lang->get('system/level/clearcache'), '#module' => $king->lang->get('system/level/module'), '#plugin' => $king->lang->get('system/level/plugin'), '#lnk' => $king->lang->get('system/level/lnk'), '#phpinfo' => $king->lang->get('system/level/phpinfo'), '#timingtask' => $king->lang->get('system/level/timingtask'), ']', '|', $king->lang->get('system/level/log') . '[', '#log' => $king->lang->get('system/common/access'), '#log_delete' => $king->lang->get('system/common/del'), ']', '-', $king->lang->get('system/common/filemanage') . '[', '#brow' => $king->lang->get('system/common/access'), '#brow_md' => $king->lang->get('system/common/md'), '#brow_upfile' => $king->lang->get('system/common/upfile'), '#brow_delfile' => $king->lang->get('system/common/delfile'), ']', '|', $king->lang->get('system/level/event') . '[', '#event' => $king->lang->get('system/common/access'), '#event_delete' => $king->lang->get('system/common/del'), ']', '-', $king->lang->get('system/upfile/manage') . '[', '#upfile' => $king->lang->get('system/upfile/access'), '#upfile_edt' => $king->lang->get('system/common/edit'), '#upfile_delete' => $king->lang->get('system/upfile/del'), ']', '-', $king->lang->get('system/bot/title') . '[', '#bot' => $king->lang->get('system/common/access'), '#botedt' => $king->lang->get('system/common/edit'), '#botdel' => $king->lang->get('system/common/del'), ']', '|', $king->lang->get('system/title/conn') . '[', '#conn' => $king->lang->get('system/common/access'), '#conn_edt' => $king->lang->get('system/common/edit'), '#conn_del' => $king->lang->get('system/common/del'), ']');
        $module = $king->getModule();
        foreach ($module as $val) {
            $language = is_file(ROOT . $val . '/language/' . $king->admin['adminlanguage'] . '.xml') ? $king->admin['adminlanguage'] : LANGUAGE;
            $xml = new KC_XML_class();
            $xml->load_file($val . '/language/' . $language . '.xml');
            $array_kingcms = $xml->xml2array();
            $array_access = $array_kingcms['ACCESS'];
            if ($array_access) {
                $_array[] = '|';
                $_array[] = '|';
                $_array[] = '-' . $king->lang->get($val . '/name') . '-';
                //			kc_error('<pre>'.print_r($array_access,1));
                foreach ($array_access as $k => $v) {
                    $v == '|' ? $_array[] = '|' : ($_array[$k] = $v);
                }
            }
        }
        $_s = '<div id="levels">';
        $_s .= kc_htm_checkbox('level', $_array, $data['adminlevel']);
        $_s .= '</div>';
        $s .= $king->htmForm($king->lang->get('system/admin/setlevel'), '<span>' . $_checkbox . '<label for="adminlevel">' . $king->lang->get('system/level/admin') . '</label></span>' . $_s);
        $s .= "<script>function selevel(){if (\$('#adminlevel').attr('checked')==true){\$('#levels').hide()}";
        $s .= "else{\$('#levels').show();}};selevel();</script>";
    }
    //adminlogin
    $_array = array(array('adminlogin', 0, 5, 100));
    $array_value = array('../system/manage.php' => $king->lang->get('system/common/home'), '../portal/manage.php' => $king->lang->get('system/title/list'));
    $s .= $king->htmForm($king->lang->get('system/admin/login') . ' (5-100)', '<input type="text" name="adminlogin" id="adminlogin" class="k_in w300" value="' . htmlspecialchars($data['adminlogin']) . '" maxlength="100" />' . kc_htm_setvalue('adminlogin', $array_value), $_array);
    //siteurl
    $_array = array(array('siteurl', 0, 0, 100));
    $s .= $king->htmForm($king->lang->get('system/admin/url') . ' (0-100)', '<input type="text" name="siteurl" id="siteurl" class="k_in w300" value="' . htmlspecialchars($data['siteurl']) . '" maxlength="100" />', $_array, null, kc_help('system/help/lockurl', 350, 150));
    $s .= kc_htm_hidden(array('adminid' => $_adminid));
    $s .= $king->closeForm('save');
    if ($GLOBALS['ischeck']) {
        $_sql = 'adminlanguage,admineditor,adminmode,adminlogin,siteurl';
        //,admindiymenu
        if (!$_adminid) {
            $_sql .= ',adminname';
        }
        $_array_sql = explode(',', $_sql);
        $_array = array();
        foreach ($_array_sql as $val) {
            $_array[$val] = $data[$val];
        }
        //		$_array=array_combine($_array_sql,array_map('post',$_array_sql));
        if (kc_post('pass1')) {
            $_array['adminpass'] = md5(kc_post('pass1'));
        }
        if ($king->admin['adminid'] != $_adminid) {
            if (kc_post('adminlevel') == 'admin') {
                $_adminlevel = 'admin';
            } else {
                $data['level'][] = 0;
                /**
                is_array($data['level'])
                	? array_push($data['level'],0)
                	: $data['level']=array(0);
                */
                $_adminlevel = implode(',', $data['level']);
            }
            $_array['adminlevel'] = $_adminlevel;
        }
        if ($_adminid) {
            $king->db->update('%a_admin', $_array, 'adminid=' . $_adminid);
            $_nlog = 7;
            $king->cache->del('system/admin/' . $data['adminname']);
        } else {
            //			kc_error('<pre>'.print_r($_array,1));
            $king->db->insert('%a_admin', $_array);
            $_nlog = 5;
        }
        //写log
        $king->log($_nlog, 'AdminName:' . $data['adminname']);
        //更新缓存
        $king->cache->rd('system/mainmenu/' . $king->admin['adminid']);
        $king->cache->del('system/admin/' . $king->admin['adminname']);
        kc_goto($king->lang->get('system/goto/is'), 'manage.php?action=admin_edt', 'manage.php?action=admin');
    }
    $king->skin->output($king->lang->get('system/title/admin'), king_inc_admin_left(), '', $s);
}
Example #2
0
function king_edt()
{
    global $king;
    $king->access('portal_model_edt');
    $_htmlcode = '';
    $_arraycheck = array();
    /**
    	$_isattrib='isshow,ishead,iscommend,isup,isfocus,ishot';
    	$_sql=$_isattrib.',issearch,modelname,modeltable,klanguage,isid,klistorder,kpageorder,nlocktime,nshowtime,ktemplatesearch,ktemplatepublish';
    */
    $_sql = 'issearch,modelname,modeltable,klanguage,isid,klistorder,kpageorder,nlocktime,nshowtime,ktemplatesearch,ktemplatepublish,npagenumber,nlistnumber,ispublish1,ispublish2,ktemplatecomment,ncommentnumber';
    $modelid = kc_get('modelid');
    $fields = explode(',', $_sql);
    if ($GLOBALS['ismethod'] || $modelid == '') {
        //POST过程或新添加的过程
        $data = $_POST;
        if (!$GLOBALS['ismethod']) {
            //初始化新添加的数据
            $_array = array('istag', 'iscontent', 'isshow', 'ispath', 'iscommend', 'iskeyword', 'isdescription', 'isimage', 'isrelate');
            foreach ($_array as $_value) {
                $data[$_value] = 1;
            }
            $data['kretitle'] = $king->lang->get('system/common/title');
            $data['klanguage'] = $_COOKIE['language'];
            $data['nlocktime'] = 24;
            $data['nshowtime'] = 0;
            $data['isid'] = 1;
            //默认排序
            $data['klistorder'] = 'nup desc,norder desc';
            $data['kpageorder'] = 'norder,kid';
            //默认显示数
            $data['nlistnumber'] = 20;
            $data['npagenumber'] = 1;
            $data['ncommentnumber'] = 20;
            //默认模板
            $tpath = $king->config('templatepath');
            $tdefa = $king->config('templatedefault');
            $ktemplate = $tpath . '/' . $tdefa;
            $data['ktemplatesearch'] = is_file(ROOT . $ktemplate) ? $ktemplate : '';
            $data['ktemplatepublish'] = is_file(ROOT . $ktemplate) ? $ktemplate : '';
            $data['ktemplatecomment'] = is_file(ROOT . $ktemplate) ? $ktemplate : '';
        }
    } else {
        //编辑数据,从数据库读出
        $data = $king->db->getRows_one('select ' . $_sql . ' from %s_model where modelid=' . $modelid . ' limit 1;');
        $data['modeltable'] = DB_PREFIX . '__' . $data['modeltable'];
    }
    $data = kc_data($fields, $data);
    $s = $king->openForm('manage.model.php?action=edt', $king->lang->get('portal/caption/basic'));
    //模型名称
    $_array = array(array('modelname', 0, 2, 50));
    $s .= $king->htmForm($king->lang->get('portal/list/modelname') . ' (2-50)', '<input class="k_in w200" type="text" name="modelname" value="' . htmlspecialchars($data['modelname']) . '" maxlength="50" />', $_array);
    //数据表名
    if (empty($modelid)) {
        //update
        $_array = array(array('modeltable', 0, 1, 50), array('modeltable', 1), array('modeltable', 12, $king->lang->get('system/check/none'), $king->db->getRows_one("select modelid from %s_model where modeltable='" . $king->db->escape(kc_post('modeltable')) . "';")), array('modeltable', 18, null, $king->portal->holdmodel));
        $s .= $king->htmForm($king->lang->get('portal/list/table') . ' (1-50)', '<input class="k_in w200" type="text" name="modeltable" value="' . htmlspecialchars($data['modeltable']) . '" maxlength="50" />', $_array);
    } else {
        $s .= $king->htmForm($king->lang->get('portal/list/table') . ' (1-50)', '<input class="k_in w200" type="text" disabled="true" value="' . htmlspecialchars($data['modeltable']) . '" />');
        $s .= kc_htm_hidden(array('modeltable' => $data['modeltable']));
    }
    //klanguage
    $s .= $king->htmForm($king->lang->get('system/common/language'), kc_htm_select('klanguage', kc_htm_selectlang(), $data['klanguage']));
    /**
    	//[ATTRIB]
    	$_array_attrib=explode(',',$_isattrib);
    	foreach($_array_attrib as $_value){
    		$data[$_value]==1
    			? $_checked=' checked="checked"'
    			: $_checked='';
    		$_htmlcode.='<input type="checkbox" value="1" id="'.$_value.'" name="'.$_value.'"'.$_checked.'/>';
    		$_htmlcode.='<label for="'.$_value.'">'.$king->lang->get('portal/label/attrib/'.$_value).'</label> ';
    	}
    	$s.=$king->htmForm($king->lang->get('portal/label/attrib1'),"<span>$_htmlcode</span>");
    */
    //加入搜索
    $data['issearch'] == 1 ? $_checked = ' checked="checked"' : ($_checked = '');
    $_htmlcode = '<span><input type="checkbox" value="1" id="issearch" name="issearch"' . $_checked . '/>';
    $_htmlcode .= '<label for="issearch">' . $king->lang->get('portal/label/attrib/issearch') . '</label></span>';
    //是否在列表中显示id
    $data['isid'] == 1 ? $_checked = ' checked="checked"' : ($_checked = '');
    $_htmlcode .= ' <span><input type="checkbox" value="1" id="isid" name="isid"' . $_checked . '/>';
    $_htmlcode .= '<label for="isid">' . $king->lang->get('portal/label/attrib/isid') . '</label></span>';
    $s .= $king->htmForm($king->lang->get('system/common/option'), $_htmlcode);
    $s .= $king->splitForm($king->lang->get('portal/caption/all'));
    //klistorder
    $array_select = array('nup desc,norder desc' => $king->lang->get('portal/order/list1'), 'nup desc,norder' => $king->lang->get('portal/order/list2'), 'nup desc,nlastdate desc' => $king->lang->get('portal/order/list3'), 'nup desc,nhit desc' => $king->lang->get('portal/order/list4'), 'nup desc,nhitlate desc' => $king->lang->get('portal/order/list5'), 'nup desc,ndigg1 desc' => $king->lang->get('portal/order/list6'), 'nup desc,ndigg0 desc' => $king->lang->get('portal/order/list7'), 'nup desc,ndigg desc' => $king->lang->get('portal/order/list8'), 'nup desc,nprice asc' => $king->lang->get('portal/order/list9'), 'nup desc,nprice desc' => $king->lang->get('portal/order/list10'));
    $array = array(array('klistorder', 0, 0, 255));
    $s .= $king->htmForm($king->lang->get('portal/label/listorder'), kc_htm_input('klistorder', $data['klistorder'], 255, 200), $array, '', kc_htm_setvalue('klistorder', $array_select, 300, 1) . kc_help('portal/help/listorder', 500, 400));
    //nlistnumber
    $array = array(array('nlistnumber', 0, 1, 3), array('nlistnumber', 2), array('nlistnumber', 16, $king->lang->get('portal/check/listnumber'), 1, 100));
    $array_select = array(10 => 10, 20 => 20, 25 => 25, 30 => 30);
    $s .= $king->htmForm($king->lang->get('portal/label/mlistnumber'), kc_htm_input('nlistnumber', $data['nlistnumber'], 3, 50), $array, '', kc_htm_setvalue('nlistnumber', $array_select, 200));
    //kpageorder
    $array_select = array('norder,kid' => $king->lang->get('portal/order/page1'), 'norder desc,kid desc' => $king->lang->get('portal/order/page2'), 'kid' => $king->lang->get('portal/order/page3'), 'kid desc' => $king->lang->get('portal/order/page4'), 'kid1,kid' => $king->lang->get('portal/order/page5'), 'kid1,kid desc' => $king->lang->get('portal/order/page6'), 'kid1,isok desc,kid desc' => $king->lang->get('portal/order/page7'));
    $array = array(array('kpageorder', 0, 0, 255));
    $s .= $king->htmForm($king->lang->get('portal/label/pageorder'), kc_htm_input('kpageorder', $data['kpageorder'], 255, 200), $array, '', kc_htm_setvalue('kpageorder', $array_select, 300, 1) . kc_help('portal/help/pageorder', 500, 400));
    //npagenumber
    $array = array(array('npagenumber', 0, 1, 3), array('npagenumber', 2), array('npagenumber', 16, $king->lang->get('portal/check/pagenumber'), 1, 100));
    $array_select = array(1 => 1, 10 => 10, 20 => 20, 30 => 30);
    $s .= $king->htmForm($king->lang->get('portal/label/mpagenumber'), kc_htm_input('npagenumber', $data['npagenumber'], 3, 50), $array, '', kc_htm_setvalue('npagenumber', $array_select, 200));
    //ispublish1
    $_array_radio = array(0 => $king->lang->get('portal/label/pub0'), 1 => $king->lang->get('portal/label/pub1'), 2 => $king->lang->get('portal/label/pub2'));
    $s .= $king->htmForm($king->lang->get('portal/label/mpublish1'), kc_htm_radio('ispublish1', $_array_radio, $data['ispublish1']));
    //ispublish2
    $_array_radio = array(0 => $king->lang->get('portal/label/pub0'), 1 => $king->lang->get('portal/label/pub1'), 2 => $king->lang->get('portal/label/pub2'));
    $s .= $king->htmForm($king->lang->get('portal/label/mpublish2'), kc_htm_radio('ispublish2', $_array_radio, $data['ispublish2']));
    //nlocktime
    $array_value = array(24 => $king->lang->get('system/time/oneday'), 168 => $king->lang->get('system/time/hebdomad'), 360 => $king->lang->get('system/time/halfmoon'), 0 => $king->lang->get('system/time/always'));
    $_array = array(array('nlocktime', 0, 1, 10));
    $s .= $king->htmForm($king->lang->get('portal/label/locktime') . ' (' . $king->lang->get('portal/label/unit') . ')', '<input class="k_in w100" type="text" name="nlocktime" id="nlocktime" value="' . htmlspecialchars($data['nlocktime']) . '" maxlength="10" />', $_array, null, kc_htm_setvalue('nlocktime', $array_value) . kc_help('portal/help/locktime'));
    //nshowtime
    $array_value = array(168 => $king->lang->get('system/time/hebdomad'), 360 => $king->lang->get('system/time/halfmoon'), 720 => $king->lang->get('system/time/jan'), 4368 => $king->lang->get('system/time/halfyear'), 0 => $king->lang->get('system/time/always'));
    $_array = array(array('nshowtime', 0, 1, 10));
    $s .= $king->htmForm($king->lang->get('portal/label/showtime') . ' (' . $king->lang->get('portal/label/unit') . ')', '<input class="k_in w100" type="text" name="nshowtime" id="nshowtime" value="' . htmlspecialchars($data['nshowtime']) . '" maxlength="10" />', $_array, null, kc_htm_setvalue('nshowtime', $array_value, 200) . kc_help('portal/help/showtime'));
    //ktemplatepublish
    $_array = array(array('ktemplatepublish', 0, 5, 255), array('ktemplatepublish', 15));
    $s .= $king->htmForm($king->lang->get('portal/label/templatepublish') . ' (5-255)', '<input class="k_in w400" type="text" id="ktemplatepublish" name="ktemplatepublish" value="' . htmlspecialchars($data['ktemplatepublish']) . '" maxlength="255" />', $_array, null, kc_f_brow('ktemplatepublish', $king->config('templatepath'), 2) . kc_help('portal/help/template', 455, 455));
    //ktemplatesearch
    $_array = array(array('ktemplatesearch', 0, 5, 255), array('ktemplatesearch', 15));
    $s .= $king->htmForm($king->lang->get('portal/label/templatesearch') . ' (5-255)', '<input class="k_in w400" type="text" id="ktemplatesearch" name="ktemplatesearch" value="' . htmlspecialchars($data['ktemplatesearch']) . '" maxlength="255" />', $_array, null, kc_f_brow('ktemplatesearch', $king->config('templatepath'), 2) . kc_help('portal/help/template', 455, 455));
    //ktemplatecomment
    $_array = array(array('ktemplatecomment', 0, 5, 255), array('ktemplatecomment', 15));
    $s .= $king->htmForm($king->lang->get('portal/label/templatecomment') . ' (5-255)', '<input class="k_in w400" type="text" id="ktemplatecomment" name="ktemplatecomment" value="' . htmlspecialchars($data['ktemplatecomment']) . '" maxlength="255" />', $_array, null, kc_f_brow('ktemplatecomment', $king->config('templatepath'), 2) . kc_help('portal/help/template', 455, 455));
    //ncommentnumber
    $array = array(array('ncommentnumber', 0, 1, 3), array('ncommentnumber', 2), array('ncommentnumber', 16, $king->lang->get('portal/check/commentnumber'), 1, 100));
    $array_select = array(10 => 10, 20 => 20, 25 => 25, 30 => 30);
    $s .= $king->htmForm($king->lang->get('portal/label/mcommentnumber'), kc_htm_input('ncommentnumber', $data['ncommentnumber'], 3, 50), $array, '', kc_htm_setvalue('ncommentnumber', $array_select, 200));
    $s .= kc_htm_hidden(array('modelid' => $modelid));
    $s .= $king->closeForm('save');
    if ($GLOBALS['ischeck']) {
        /**
        		$_array=array();
        		$_array_sql=explode(',',$_isattrib.',issearch,isid');
        		foreach($_array_sql as $_value){
        			$data[$_value]==1
        				? $_val=1
        				: $_val=0;
        			$_array+=array($_value=>$_val);
        		}
        */
        $_array = array('issearch' => $data['issearch'] ? 1 : 0, 'isid' => $data['isid'] ? 1 : 0, 'ispublish1' => $data['ispublish1'], 'ispublish2' => $data['ispublish2'], 'modelname' => $data['modelname'], 'klanguage' => $data['klanguage'], 'klistorder' => $data['klistorder'], 'kpageorder' => $data['kpageorder'], 'npagenumber' => $data['npagenumber'], 'nlistnumber' => $data['nlistnumber'], 'nshowtime' => $data['nshowtime'], 'nlocktime' => $data['nlocktime'], 'ktemplatesearch' => $data['ktemplatesearch'], 'ktemplatepublish' => $data['ktemplatepublish'], 'ktemplatecomment' => $data['ktemplatecomment'], 'ncommentnumber' => $data['ncommentnumber']);
        //添加&更新数据
        if (!empty($modelid)) {
            $king->db->update('%s_model', $_array, 'modelid=' . $modelid);
            $_nlog = 7;
        } else {
            $_array += array('modeltable' => strtolower($data['modeltable']), 'norder' => $king->db->neworder('%s_model'));
            $_nlog = 5;
            $_newid = $king->db->insert('%s_model', $_array);
            //__[modeltable]
            $king->portal->installmodeltable($data['modeltable']);
            $_array_sql = array('ktitle', 'ksubtitle', 'kimage', 'kcontent', 'kkeywords', 'ktag', 'kdescription', 'kpath', 'krelate', 'nprice', 'nnumber', 'nweight', 'nattrib');
            //补充循环添加的内容。
            $i = 0;
            foreach ($_array_sql as $val) {
                $_array = array('modelid' => $_newid, 'ktitle' => $king->lang->get('system/common/' . substr($val, 1)), 'kfield' => $val, 'norder' => $i + 1);
                if ($val == 'kcontent') {
                    //内容设置长度
                    $_array['nsizemin'] = 10;
                    $_array['nsizemax'] = 999999;
                    $_array['nstylewidth'] = 780;
                    $_array['nstyleheight'] = 360;
                }
                $i++;
                $new_kid = $king->db->insert('%s_field', $_array);
                //循环最后一个获得的值为nattrib的newid
            }
            //
            $_array_sql = array('show', 'head', 'commend', 'up', 'focus', 'hot');
            foreach ($_array_sql as $val) {
                $_array = array('modelid' => $_newid, 'ktitle' => $king->lang->get('portal/label/attrib/is' . $val), 'kfield' => 'n' . $val, 'kid1' => $new_kid, 'norder' => $i + 1, 'isuser1' => 0, 'isuser2' => 0, 'islist' => 1);
                $i++;
                $king->db->insert('%s_field', $_array);
            }
        }
        $king->cache->del('portal/model/model' . $modelid);
        $king->cache->del('portal/model/name');
        $king->cache->del('portal/model/table');
        /**/
        if (!($res = $king->db->getRows("select listid from %s_list where modelid={$modelid};"))) {
            $res = array();
        }
        foreach ($res as $rs) {
            //更新列表信息
            $king->portal->lastUpdated($rs['listid'], 'list');
            $king->cache->del('portal/list/' . $rs['listid']);
        }
        $king->cache->del('portal/model');
        $king->cache->del('portal/model/table');
        $king->cache->del('portal/model/name');
        /**/
        //写log
        $king->log($_nlog, 'Model:' . $data['modelname']);
        kc_goto($king->lang->get('system/goto/is'), 'manage.model.php?action=edt', 'manage.model.php');
    }
    list($left, $right) = king_inc_list();
    $king->skin->output($king->lang->get('portal/title/model' . ($modelid ? 'edt' : 'add')), $left, $right, $s);
}
Example #3
0
function king_edt()
{
    global $king;
    $king->access("portal_list_edt");
    $array_static = array(3 => $king->lang->get('portal/static/t3'), 0 => $king->lang->get('portal/static/t0'), 1 => $king->lang->get('portal/static/t1'), 2 => $king->lang->get('portal/static/t2'));
    $listid = kc_get('listid', 2);
    $modelid = kc_get('modelid', 22);
    $modeltables = $king->portal->getModelTables();
    $line = $king->config('pidline');
    $_sql = 'modelid,listid1,siteid,klistname,ktitle,kkeywords,kdescription,kimage,isblank,iscontent,kcontent,klistpath,ktemplatelist1,ktemplatelist2,kpathmode,ktemplatepage1,ktemplatepage2,ispublish1,ispublish2,klanguage,ismenu1,ismenu2,ismenu3,ismenu4,ismenu5,ismap,nlistnumber,npagenumber,nlist,npage,gid,gidpublish';
    if ($GLOBALS['ismethod'] || $listid == '') {
        //POST过程或新添加的过程
        $data = $_POST;
        if (!$GLOBALS['ismethod']) {
            //初始化新添加的数据
            $data['klanguage'] = $_COOKIE['language'];
            $data['siteid'] = 0;
            $data['ismap'] = 1;
            $data['ismenu1'] = 1;
            $data['ismenu2'] = 1;
            $data['listid1'] = 0;
            $newlistid = $king->db->neworder('%s_list', null, 'listid');
            $data['gid'] = -1;
            $data['nlist'] = 1;
            $data['npage'] = 0;
            $tpath = $king->config('templatepath');
            $tdefa = $king->config('templatedefault');
            switch ($modelid) {
                case 0:
                    $data['klistpath'] = "list{$line}{$newlistid}" . $king->config('rewriteend');
                    $data['iscontent'] = 1;
                    $data['ismenu3'] = 1;
                    //默认模板
                    $ktemplatelist1 = $tpath . '/' . $tdefa;
                    $data['ktemplatelist1'] = is_file(ROOT . $ktemplatelist1) ? $ktemplatelist1 : '';
                    $ktemplatelist2 = $tpath . '/inside/onepage/' . $tdefa;
                    $data['ktemplatelist2'] = is_file(ROOT . $ktemplatelist2) ? $ktemplatelist2 : '';
                    break;
                case -1:
                    $data['klistpath'] = 'http://';
                    break;
                default:
                    $data['kpathmode'] = "page{$line}{$newlistid}{$line}ID" . $king->config('rewriteend');
                    $data['klistpath'] = "list{$line}{$newlistid}{$line}PID" . $king->config('rewriteend');
                    $model = $king->portal->infoModel($modelid);
                    $data['ispublish1'] = $model['ispublish1'];
                    $data['ispublish2'] = $model['ispublish2'];
                    $data['npagenumber'] = $model['npagenumber'];
                    $data['nlistnumber'] = $model['nlistnumber'];
                    //默认模板
                    $ktemplatelist1 = $tpath . '/' . $tdefa;
                    $data['ktemplatelist1'] = is_file(ROOT . $ktemplatelist1) ? $ktemplatelist1 : '';
                    $data['ktemplatepage1'] = is_file(ROOT . $ktemplatelist1) ? $ktemplatelist1 : '';
                    $ktemplatelist2 = $tpath . '/inside/' . $model['modeltable'] . '[list]/' . $tdefa;
                    $data['ktemplatelist2'] = is_file(ROOT . $ktemplatelist2) ? $ktemplatelist2 : '';
                    $ktemplatepage2 = $tpath . '/inside/' . $model['modeltable'] . '[page]/' . $tdefa;
                    $data['ktemplatepage2'] = is_file(ROOT . $ktemplatepage2) ? $ktemplatepage2 : '';
            }
        }
    } else {
        //编辑数据,从数据库读出
        if (!($data = $king->db->getRows_one('select ' . $_sql . ' from %s_list where listid=' . $listid . ' limit 1;'))) {
            kc_error($king->lang->get('system/error/param') . '<br/>File:' . basename(__FILE__) . ';Line:' . __LINE__ . '<br/>' . $_sql);
        }
        if (isset($modelid[0])) {
            //当有URL形式指定的modelid的时候,比较一下,如果modelid值不同,则重新设置默认值
            if ($modelid != $data['modelid']) {
                if (!isset($data['klanguage'][0])) {
                    $data['klanguage'] = $_COOKIE['language'];
                }
                switch ($modelid) {
                    case 0:
                        //单页
                        $data['klistpath'] = "onepage/list{$line}{$listid}" . $king->config('rewriteend');
                        break;
                    case -1:
                        //超链
                        $data['klistpath'] = 'http://';
                        break;
                    default:
                        $data['klistpath'] = "list{$line}{$listid}{$line}PID" . $king->config('rewriteend');
                        if (!isset($data['kpathmode'][0])) {
                            $data['kpathmode'] = "page{$line}{$listid}{$line}ID" . $king->config('rewriteend');
                        }
                }
            }
        } else {
            $modelid = $data['modelid'];
        }
    }
    $fields = explode(',', $_sql);
    $data = kc_data($fields, $data);
    //这个必须要放在下面,不然无法正常获取modelid值
    $modeltable = isset($modeltables[$modelid]) ? $modeltables[$modelid] : '';
    $s = $king->openForm('manage.php?action=edt', $king->lang->get('portal/caption/basic'));
    ////modelid 选择模型
    if (!($res = $king->db->getRows("select modelid,modelname from %s_model"))) {
        $res = array();
    }
    $_array_select = array(0 => $king->lang->get('portal/label/onepage'), -1 => $king->lang->get('portal/label/hyperlink'));
    foreach ($res as $rs) {
        $_array_select += array($rs['modelid'] => $rs['modelname']);
    }
    if ($listid) {
        //如果是编辑列表,则不让修改栏目类型
        if (in_array($modelid, array(0, -1))) {
            //超链和单页允许修改类型
            $s .= $king->htmForm($king->lang->get('portal/label/model'), kc_htm_select('modelid', $_array_select, $modelid, ' onChange="jumpmenu(this);"'), null, 'modelid');
        } else {
            $s .= kc_htm_hidden(array('listid' => $listid));
            $s .= $king->htmForm($king->lang->get('portal/label/model'), '<select><option>' . $_array_select[$modelid] . '</option></select>', null, 'modelid');
        }
    } else {
        $s .= $king->htmForm($king->lang->get('portal/label/model'), kc_htm_select('modelid', $_array_select, $modelid, ' onChange="jumpmenu(this);"'), null, 'modelid', kc_help('portal/help/model', 320, 120));
    }
    $s .= '<script type="text/javascript">';
    $s .= 'function jumpmenu(obj){eval("parent.location=\'manage.php?action=edt&listid=' . $listid . '&modelid="+obj.options[obj.selectedIndex].value+"\'");}';
    $s .= '</script>';
    //listid1
    $s .= $king->htmForm($king->lang->get('portal/label/listid1'), $king->portal->LinkAge('listid1', $data['listid1'], 0, $listid), null, 'Listid1');
    //siteid
    if (!($res = $king->db->getRows("select siteid,sitename from %s_site;"))) {
        kc_error($king->lang->get('system/error/notre'));
    }
    $_array_select = array();
    foreach ($res as $rs) {
        $_array_select += array($rs['siteid'] => htmlspecialchars($rs['sitename']));
    }
    if ($modelid != -1) {
        if ($king->acc('portal_site_edt')) {
            $manage = '<a class="k_ajax" rel="{CMD:\'site\',is:1,METHOD:\'GET\'}">' . kc_icon('f7', $king->lang->get('portal/common/addsite')) . '</a>';
        }
        $s .= $king->htmForm($king->lang->get('portal/label/siteid'), kc_htm_select('siteid', $_array_select, $data['siteid']) . $manage, null, 'Siteid', kc_help('portal/help/site', 320, 150));
    } else {
        $s .= kc_htm_hidden(array('siteid' => $res[0]['siteid']));
    }
    $s .= "<script>function addsite(siteid,sitename){var site=document.getElementsByName('siteid');var opt=document.createElement('option');opt.innerHTML=sitename;opt.value=siteid;opt.selected='selected';site[0].appendChild(opt);};</script>";
    //klistname
    $_array = array(array('klistname', 0, 1, 100));
    $s .= $king->htmForm($king->lang->get('portal/label/listname') . ' (1-100)', '<input class="k_in w300" type="text" name="klistname" value="' . htmlspecialchars($data['klistname']) . '" maxlength="100" />', $_array, 'ListName');
    //ktitle
    $_array = array(array('ktitle', 0, 1, 100));
    $s .= $king->htmForm($king->lang->get('portal/label/listtitle') . ' (1-100, ' . $king->lang->get('portal/label/listtitle1') . ')', '<input class="k_in w300" type="text" name="ktitle" value="' . htmlspecialchars($data['ktitle']) . '" maxlength="100" />', $_array, 'ListTitle');
    //kkeywords
    $_array = array(array('kkeywords', 0, 0, 100));
    $s .= $king->htmForm($king->lang->get('system/common/keywords') . ' (0-100)', '<input class="k_in w400" type="text" name="kkeywords" value="' . htmlspecialchars($data['kkeywords']) . '" maxlength="100" />', $_array, 'Keywords');
    //kdescription
    $_array = array(array('kdescription', 0, 0, 255));
    $s .= $king->htmForm($king->lang->get('system/common/description') . ' (0-255)', '<textarea rows="4" cols="100" class="k_in w400" name="kdescription" maxlength="255" >' . htmlspecialchars($data['kdescription']) . '</textarea>', $_array, 'Description');
    //kimage
    if ($data['kimage']) {
        $_array = array(array('kimage', 0, 0, 255), array('kimage', 7));
    }
    $s .= $king->htmForm($king->lang->get('system/common/image') . ' (0-255)', '<input class="k_in w400" type="text" id="kimage" name="kimage" value="' . htmlspecialchars($data['kimage']) . '" maxlength="255" />' . kc_f_brow('kimage', $king->config('uppath') . '/image', 0), $_array, 'Image');
    //klanguage
    $s .= $king->htmForm($king->lang->get('system/common/language'), kc_htm_select('klanguage', kc_htm_selectlang(), $data['klanguage']), null, 'Language');
    //gid
    if ($modelid > 0) {
        $king->Load('user');
        $array_group = $king->user->getGroup();
        $array_group[-1] = $king->lang->get('user/group/open');
        $s .= $king->htmForm($king->lang->get('user/label/access'), kc_htm_select('gid', $array_group, $data['gid']), null, 'gid', kc_help('user/help/access'));
    }
    $s .= $king->splitForm($king->lang->get('portal/caption/list'));
    switch ($modelid) {
        case 0:
            //单页
            //nlist
            $s .= $king->htmForm($king->lang->get('portal/label/onetype'), kc_htm_select('nlist', $array_static, $data['nlist']));
            //klistpath
            $_array = array(array('klistpath', 0, 0, 255), array('klistpath', 15));
            //判断(编辑/添加)状态
            if ($listid) {
                //edt
                if (isset($data['klistpath'][0])) {
                    array_push($_array, array('klistpath', 12, $king->lang->get('system/check/none'), $king->db->getRows_one("select listid from %s_list where klistpath='" . $king->db->escape($data['klistpath']) . "' and listid<>{$listid} and modelid<>1;")));
                } else {
                    //如果是空值,则比较同一siteid下面是否有两个
                    array_push($_array, array('klistpath', 12, $king->lang->get('system/check/none'), $king->db->getRows_one("select listid from %s_list where klistpath='' and siteid=" . $king->db->escape($data['siteid']) . " and modelid=0 and listid<>{$listid};")));
                }
            } else {
                //add
                if (isset($data['klistpath'][0])) {
                    array_push($_array, array('klistpath', 12, $king->lang->get('system/check/none'), $king->db->getRows_one("select listid from %s_list where klistpath='" . $king->db->escape($data['klistpath']) . "' and modelid<>1;")));
                } else {
                    array_push($_array, array('klistpath', 12, $king->lang->get('system/check/none'), $king->db->getRows_one("select listid from %s_list where klistpath='' and siteid=" . $king->db->escape($data['siteid']) . " and modelid=0;")));
                }
            }
            if (in_array($modelid, array(0))) {
                //单页
                $s .= $king->htmForm($king->lang->get('portal/label/path') . ' (0-255)', '<input class="k_in w400" type="text" name="klistpath" value="' . htmlspecialchars($data['klistpath']) . '" maxlength="255" />', $_array, 'Path', kc_help('portal/help/path', 320, 120));
                //ktemplatelist1
                if ($modelid == 0) {
                    $_array = array(array('ktemplatelist1', 0, 5, 255), array('ktemplatelist1', 15));
                } else {
                    $_array = array();
                }
                $s .= $king->htmForm($king->lang->get('portal/label/template1') . ' (5-255)', '<input class="k_in w400" type="text" id="ktemplatelist1" name="ktemplatelist1" value="' . htmlspecialchars($data['ktemplatelist1']) . '" maxlength="255" />' . kc_f_brow('ktemplatelist1', $king->config('templatepath'), 2), $_array, null, kc_help('portal/help/template', 455, 455));
                //ktemplatelist2
                $_array = array(array('ktemplatelist2', 0, 0, 255), array('ktemplatelist2', 15));
                $s .= $king->htmForm($king->lang->get('portal/label/template2') . ' (0-255)', '<input class="k_in w400" type="text" id="ktemplatelist2" name="ktemplatelist2" value="' . htmlspecialchars($data['ktemplatelist2']) . '" maxlength="255" />' . kc_f_brow('ktemplatelist2', $king->config('templatepath') . '/inside/onepage', 2), $_array);
            }
            break;
        case -1:
            //超链
            //klistpath + islink
            $_array = array(array('klistpath', 0, 1, 255));
            $data['isblank'] == 1 ? $checked = ' checked="checked"' : ($checked = '');
            $s .= $king->htmForm($king->lang->get('portal/label/linkpath') . ' (1-255)', '<input class="k_in w500" type="text" name="klistpath" value="' . htmlspecialchars($data['klistpath']) . '" maxlength="255" /><br/><span><input type="checkbox" name="isblank" id="isblank" value="1" ' . $checked . '/><label for="isblank">' . $king->lang->get('portal/label/isblank') . '</label></span>', $_array, 'ListPath');
            break;
        default:
            //nlist
            if ($data['gid'] == -1) {
                $_array = array();
            } else {
                $_array = array(array('nlist', 12, $king->lang->get('user/check/access'), $data['nlist'] == 0));
            }
            $array_static_list = $array_static;
            $array_static_list[4] = $king->lang->get('portal/static/t4');
            $s .= $king->htmForm($king->lang->get('portal/label/nlist'), kc_htm_select('nlist', $array_static_list, $data['nlist']), $_array);
            //klistpath
            $_array = array(array('klistpath', 0, 1, 255), array('klistpath', 15));
            $s .= $king->htmForm($king->lang->get('portal/label/listpath') . ' (1-255)', '<input class="k_in w400" type="text" name="klistpath" value="' . htmlspecialchars($data['klistpath']) . '" maxlength="255" />', $_array, 'ListPath', kc_help('portal/help/listpath'));
            //ktemplatelist1
            $_array = array(array('ktemplatelist1', 0, 5, 255), array('ktemplatelist1', 15));
            $s .= $king->htmForm($king->lang->get('portal/label/templatelist1') . ' (5-255)', '<input class="k_in w400" type="text" name="ktemplatelist1" id="ktemplatelist1" value="' . htmlspecialchars($data['ktemplatelist1']) . '" maxlength="255" />', $_array, null, kc_f_brow('ktemplatelist1', $king->config('templatepath'), 2) . kc_help('portal/help/template', 455, 455));
            //ktemplatelist2
            $_array = array(array('ktemplatelist2', 0, 0, 255), array('ktemplatelist2', 15));
            $s .= $king->htmForm($king->lang->get('portal/label/templatelist2') . ' (0-255)', '<input class="k_in w400" type="text" name="ktemplatelist2" id="ktemplatelist2" value="' . htmlspecialchars($data['ktemplatelist2']) . '" maxlength="255" />', $_array, null, kc_f_brow('ktemplatelist2', $king->config('templatepath') . '/inside/' . $modeltable . '[list]', 2));
            //nlistnumber
            $_array = array(array('nlistnumber', 2), array('nlistnumber', 16, $king->lang->get('portal/error/listnumber'), 1, 100));
            $s .= $king->htmForm($king->lang->get('portal/label/listnumber') . ' (≤100)', '<input class="k_in w50" type="text" name="nlistnumber" id="nlistnumber" value="' . htmlspecialchars($data['nlistnumber']) . '" maxlength="3" />', $_array);
            $s .= $king->splitForm($king->lang->get('portal/caption/page'));
            //npage
            if ($data['gid'] == -1) {
                $_array = array();
            } else {
                $_array = array(array('npage', 12, $king->lang->get('user/check/access'), $data['npage'] == 0));
            }
            $s .= $king->htmForm($king->lang->get('portal/label/npage'), kc_htm_select('npage', $array_static, $data['npage']), $_array);
            //kpathmode
            $_array = array(array('kpathmode', 0, 1, 100), array('kpathmode', 15));
            $s .= $king->htmForm($king->lang->get('portal/label/pathmode') . ' (1-100)', '<input class="k_in w400" type="text" name="kpathmode" value="' . htmlspecialchars($data['kpathmode']) . '" maxlength="100" />', $_array, null, kc_help('portal/help/kpathmode', 300, 350));
            //ktemplatepage1
            $_array = array(array('ktemplatepage1', 0, 5, 255), array('ktemplatepage1', 15));
            $s .= $king->htmForm($king->lang->get('portal/label/templatepage1') . ' (5-255)', '<input class="k_in w400" type="text" name="ktemplatepage1" id="ktemplatepage1" value="' . htmlspecialchars($data['ktemplatepage1']) . '" maxlength="255" />', $_array, null, kc_f_brow('ktemplatepage1', $king->config('templatepath'), 2) . kc_help('portal/help/template', 455, 455));
            //ktemplatepage2
            $_array = array(array('ktemplatepage2', 0, 0, 255), array('ktemplatepage2', 15));
            $s .= $king->htmForm($king->lang->get('portal/label/templatepage2') . ' (0-255)', '<input class="k_in w400" type="text" name="ktemplatepage2" id="ktemplatepage2" value="' . htmlspecialchars($data['ktemplatepage2']) . '" maxlength="255" />', $_array, null, kc_f_brow('ktemplatepage2', $king->config('templatepath') . '/inside/' . $modeltable . '[page]', 2));
            //npagenumber
            $_array = array(array('npagenumber', 2), array('npagenumber', 16, $king->lang->get('portal/error/listnumber'), 1, 100));
            $s .= $king->htmForm($king->lang->get('portal/label/pagenumber') . ' (≤100)', '<input class="k_in w50" type="text" name="npagenumber" id="npagenumber" value="' . htmlspecialchars($data['npagenumber']) . '" maxlength="3" />', $_array, null, kc_help('portal/help/pagenumber', 300, 160));
    }
    if ($modelid > 0) {
        $s .= $king->splitForm($king->lang->get('portal/caption/access'));
        //gidpublish
        $_array = array(array('gidpublish', 0, 1, 6), array('gidpublish', 22));
        $s .= $king->htmForm($king->lang->get('user/label/publish'), kc_htm_select('gidpublish', $array_group, $data['gidpublish']), $_array, 'gidpublish');
        //ispublish1
        $_array_radio = array(0 => $king->lang->get('portal/label/pub0'), 1 => $king->lang->get('portal/label/pub1'), 2 => $king->lang->get('portal/label/pub2'));
        $s .= $king->htmForm($king->lang->get('portal/label/publish1'), kc_htm_radio('ispublish1', $_array_radio, $data['ispublish1']));
        //ispublish2
        $_array_radio = array(0 => $king->lang->get('portal/label/pub0'), 1 => $king->lang->get('portal/label/pub1'), 2 => $king->lang->get('portal/label/pub2'));
        $s .= $king->htmForm($king->lang->get('portal/label/publish2'), kc_htm_radio('ispublish2', $_array_radio, $data['ispublish2']));
    }
    $s .= $king->splitForm($king->lang->get('portal/caption/other'));
    if ($modelid != -1) {
        //iscontent
        $data['iscontent'] == 1 ? $checked = ' checked="checked"' : ($checked = '');
        $_checkbox = '<span><input type="checkbox" id="iscontent" name="iscontent" value="1" onclick="javascript:seiscontent()" ' . $checked . '/><label for="iscontent">' . $king->lang->get('portal/label/havecontent') . '</label><var><i onClick="window.clipboardData.setData(\'Text\',\'{king:content/}\');">{king:content/}</i></var></span>';
        //		$s.=$king->htmForm($_checkbox.$king->lang->get('system/common/content'),null,array(),'Content');
        //kcontent
        if ($data['iscontent'] == 1) {
            $_array = array(array('kcontent', 0), array('kcontent', 21));
        } else {
            $_array = array();
        }
        $s .= $king->htmForm($king->lang->get('system/common/content'), $_checkbox . '<div id="iscontent1">' . kc_htm_editor('kcontent', $data['kcontent']) . '</div>', $_array);
        $s .= "<script>";
        $s .= "function seiscontent(){var obj=\$('#iscontent');if(obj.attr('checked')==true){\$('#iscontent1').show();}else{\$('#iscontent1').hide()}};seiscontent();";
        $s .= "</script>";
    }
    //菜单设置
    $_menu = '<span>';
    for ($i = 1; $i <= 5; ++$i) {
        $data['ismenu' . $i] == 1 ? $checked = ' checked="checked"' : ($checked = '');
        if ($i >= 3) {
            $_menu .= '<br/><a href="manage.php?action=menu' . $i . '" target="_blank">' . kc_icon('e7', $king->lang->get('portal/common/edtmenu')) . '</a>';
        }
        $_menu .= '<input type="checkbox" name="ismenu' . $i . '" id="ismenu' . $i . '" value="1"' . $checked . '/><label for="ismenu' . $i . '">' . $king->lang->get('portal/label/menu' . $i) . '</label> ';
    }
    $_menu .= '</span>';
    $_menu .= '';
    $s .= $king->htmForm($king->lang->get('portal/label/setmenu'), $_menu);
    //地图显示设置
    $data['ismap'] == 1 ? $checked = ' checked="checked"' : ($checked = '');
    $s .= $king->htmForm($king->lang->get('portal/label/map'), '<span><input type="checkbox" name="ismap" id="ismap" value="1"' . $checked . '/><label for="ismap">' . $king->lang->get('portal/label/maps') . '</label></span>');
    $s .= kc_htm_hidden(array('modelid' => $modelid, 'listid' => $listid));
    $s .= $king->closeForm('save');
    if ($GLOBALS['ischeck']) {
        $_array_sql = array('isblank', 'iscontent', 'ismap');
        foreach ($_array_sql as $_value) {
            $data[$_value] = $data[$_value] ? 1 : 0;
        }
        for ($i = 1; $i <= 5; $i++) {
            $data['ismenu' . $i] = $data['ismenu' . $i] ? 1 : 0;
        }
        $_array = array('modelid' => $modelid ? $modelid : 0, 'listid1' => $data['listid1'], 'klistname' => $data['klistname'], 'ktitle' => $data['ktitle'], 'kkeywords' => $data['kkeywords'], 'kdescription' => $data['kdescription'], 'kimage' => $data['kimage'], 'ismenu1' => $data['ismenu1'], 'ismenu2' => $data['ismenu2'], 'ismenu3' => $data['ismenu3'], 'ismenu4' => $data['ismenu4'], 'ismenu5' => $data['ismenu5'], 'ismap' => $data['ismap'], 'siteid' => $data['siteid'], 'klanguage' => $data['klanguage'], 'klistpath' => $data['klistpath'], 'gid' => !empty($data['gid']) ? $data['gid'] : -1, 'gidpublish' => isset($data['gidpublish']) ? intval($data['gidpublish']) : -1);
        switch ($modelid) {
            case 0:
                //单页
                $_array += array('ktemplatelist1' => $data['ktemplatelist1'], 'ktemplatelist2' => $data['ktemplatelist2'], 'iscontent' => $data['iscontent'], 'kcontent' => $data['kcontent'], 'nlist' => $data['nlist']);
                break;
            case -1:
                //超链
                $_array['isblank'] = $data['isblank'];
                break;
            default:
                //自定义模型
                $_array += array('iscontent' => $data['iscontent'], 'kcontent' => $data['kcontent'], 'nlistnumber' => $data['nlistnumber'], 'npagenumber' => $data['npagenumber'], 'klistpath' => $data['klistpath'], 'ktemplatelist1' => $data['ktemplatelist1'], 'ktemplatelist2' => $data['ktemplatelist2'], 'kpathmode' => $data['kpathmode'], 'ktemplatepage1' => $data['ktemplatepage1'], 'ktemplatepage2' => $data['ktemplatepage2'], 'ispublish1' => $data['ispublish1'], 'ispublish2' => $data['ispublish2'], 'nlist' => $data['nlist'], 'npage' => $data['npage']);
        }
        if ($listid) {
            //update
            //			kc_error('<pre>'.print_r($_array,1));
            $king->db->update('%s_list', $_array, 'listid=' . $listid);
            $nlog = 7;
            //更新列表信息
            $king->portal->lastUpdated($listid);
        } else {
            $neworder = $king->db->neworder('%s_list');
            $_array += array('norder' => $neworder, 'norder3' => $neworder, 'norder4' => $neworder, 'norder5' => $neworder);
            $listid = $king->db->insert('%s_list', $_array);
            //			kc_error('<pre>'.print_r($_array,1));
            $nlog = 5;
        }
        //删除缓存
        $king->cache->del('portal/list/' . $listid);
        $king->cache->rd('portal/site');
        if ($data['listid1']) {
            $king->cache->del('portal/list/' . $data['listid1']);
        }
        //单页的时候调用生成列表,列表的时候,加入到增量更新里
        /**/
        if ($modelid == 0) {
            $king->portal->createList($listid);
        }
        /**/
        //写log
        $king->log($nlog, 'ListName:' . $data['klistname']);
        kc_goto($king->lang->get('system/goto/is'), 'manage.php?action=edt', 'manage.php');
    }
    list($left, $right) = king_inc_list();
    $king->skin->output($king->lang->get('portal/title/list' . ($listid ? 'edt' : 'add')), $left, $right, $s);
}