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); }
/** 按钮 */ public function tag_menu($inner, $ass, $attrib) { global $king; $module = $attrib['module']; if (!$king->isModule($module)) { return; } $language = is_file(ROOT . $module . '/language/' . $king->admin['adminlanguage'] . '.xml') ? $king->admin['adminlanguage'] : LANGUAGE; $xml = new KC_XML_class(); $xml->load_file($module . '/language/' . $language . '.xml'); $array_kingcms = $xml->xml2array(); $array_channel = $array_kingcms['CHANNEL']; $tmp = new KC_Template_class(); $s = ''; if ($array_channel) { foreach ($array_channel as $key => $val) { $arr = $xml->attrib('CHANNEL->' . $key); if ($king->acc($arr['access'])) { $tmp->assign('name', htmlspecialchars($val)); $tmp->assign('href', $arr['href']); $tmp->assign('target', $arr['target'] ? ' target="' . $arr['target'] . '"' : ''); $tmp->assign('key', $key); $tmp->assign('access', $arr['access']); $tmp->assign('onclick', $arr['onclick'] ? ' onclick="' . $arr['onclick'] . '"' : ''); $tmp->assign('rel', $arr['rel'] ? ' rel="' . $arr['rel'] . '"' : ''); $tmp->assign('class', $arr['class']); $tmp->assign('img', $arr['img'] ? $arr['img'] : ''); $s .= $tmp->output($inner); } } } return $s; }
public function infoTag($tagname) { global $king; $md5path = preg_replace('/(\\w{2})(\\w+)/', "\$1/\$2", md5($tagname)); $xmlpath = $king->config('xmlpath', 'portal') . '/portal/tag/' . $md5path . '.xml'; $xml = new KC_XML_class(); if (is_file(ROOT . $xmlpath)) { $xml->load_file($xmlpath); $tag = $xml->xml2array(); } else { if (!($res = $king->db->getRows_one("select * from %s_tag where ktag='" . $king->db->escape($tagname) . "'"))) { $this->error(htmlspecialchars($tagname), $king->lang->get('portal/error/nottag')); } $tag = array(); foreach ($res as $key => $rs) { $tag[$key] = htmlspecialchars($rs); } $str = $xml->array2xml($tag); kc_f_put_contents($xmlpath, $str); } return $tag; }