Esempio n. 1
0
 /**
 	显示验证码
 	@param 
 	@return 
 */
 public function Show()
 {
     global $king, $action;
     if (!$king->config('verifyopen')) {
         return;
     }
     //kc_error(print_r($_POST,1));
     $verifynum = $king->config('verifynum');
     $_array = array(array('k_verify', 0, $king->lang->get('system/check/notverify'), $verifynum, $verifynum * 2), array('k_verify_salt', 0, $king->lang->get('system/check/notverify'), 12, 12));
     $verify = kc_post('k_verify');
     $k_verify_salt = kc_post('k_verify_salt');
     if (isset($verify[0]) && isset($k_verify_salt[0])) {
         $verify_server = $king->cache->get('verify/' . $k_verify_salt, time() - $king->config('verifytime'));
         //服务器上存储的验证码
         $_array[] = array('k_verify', 12, $king->lang->get('system/check/verifytimeout'), $verify_server == '');
         $king->cache->del('verify/' . $k_verify_salt);
         //获取值后马上删除
         $_array[] = array('k_verify', 12, $king->lang->get('system/check/verify'), strtolower($verify) != strtolower($verify_server));
     }
     /*
     	$s=$king->htmForm($king->lang->get('system/common/verify'),"<input autocomplete=\"off\" onClick=\"$.kc_verify()\" onFocus=\"$.kc_verify()\" class=\"k_in w50\" name=\"k_verify\" id=\"k_verify\" type=\"text\" maxlength=\"$verifynum\" /><span id=\"k_verify_show\"></span>",$_array);
     	$s.=kc_htm_hidden(array('k_verify_salt'=>''));
     */
     $id = $action == 'ajax' ? 'k_ajax_verify' : 'k_verify';
     $s = $king->htmForm($king->lang->get('system/common/verify'), "<input type=\"text\" maxlength=\"{$verifynum}\" class=\"k_verify k_in w50\" name=\"k_verify\" id=\"{$id}\"/>", $_array);
     $s .= "<input type=\"hidden\" name=\"k_verify_salt\" id=\"{$id}_salt\" />";
     return $s;
 }
Esempio n. 2
0
function king_def()
{
    global $king;
    $fields = array('notify_type', 'notify_id', 'notify_time', 'trade_no', 'out_trade_no', 'subject', 'body', 'price', 'discount', 'quantity', 'total_fee', 'payment_type', 'use_coupon', 'coupon_discount', 'is_total_fee_adjust', 'trade_status', 'refund_status', 'logistics_status', 'logistics_type', 'logistics_fee', 'logistics_payment', 'receive_name', 'receive_address', 'receive_zip', 'receive_phone', 'receive_mobile', 'seller_email', 'seller_id', 'buyer_id', 'buyer_email', 'gmt_create', 'gmt_payment', 'gmt_send_goods', 'gmt_refund', 'gmt_close', 'gmt_logistics_modify');
    natsort($fields);
    $array = array();
    foreach ($fields as $val) {
        if (isset($_POST[$val])) {
            //首先这些值需要先存在
            $array[] = $val . '=' . $_POST[$val];
        }
    }
    if (is_array($array)) {
        //万一不是数组就得输出错误提示
        $sign = md5(implode('&', $array) . $king->config('alipaykey', 'portal'));
        if ($sign != kc_post('sign')) {
            exit('fail');
        }
    } else {
        exit('fail');
    }
    /* 这里开始写数据更新过程 */
    switch (kc_post('trade_status')) {
        case 'WAIT_BUYER_PAY':
            $trade_status = 1;
            break;
        case 'WAIT_SELLER_SEND_GOODS':
            $trade_status = 3;
            break;
        case 'WAIT_BUYER_CONFIRM_GOODS':
            $trade_status = 4;
            break;
        case 'TRADE_FINISHED':
            $trade_status = 5;
            break;
        case 'TRADE_CLOSED':
            $trade_status = 10;
            break;
        case 'modify.tradeBase.totalFee':
            $trade_status = 11;
            break;
    }
    if (isset(kc_post('refund_status'))) {
        switch (kc_post('refund_status')) {
            case 'WAIT_SELLER_AGREE':
                $trade_status = 8;
                break;
            case 'REFUND_SUCCESS':
                $trade_status = 9;
                break;
            case 'REFUND_CLOSED':
                $trade_status = 10;
                break;
        }
    }
    $array = array('nstatus' => $trade_status, 'tid' => kc_post('trade_no'), 'buyer_id' => kc_post('buyer_email'), 'seller' => kc_post('seller_email'), 'paymethod' => 'alipay');
    $ono = kc_get('out_trade_no', 2, 1);
    $king->db->update('%s_orders', $array, "ono='{$ono}'");
    exit('success');
}
Esempio n. 3
0
function king_ajax_salt()
{
    global $king;
    $id_fly = kc_post('ID');
    $id = substr($id_fly, 0, strlen($id_fly) - 4);
    $salt = kc_random(12);
    $js = "\$('#{$id}_salt').val('{$salt}');";
    $s = "<img alt=\"" . $king->lang->get('system/check/verifynew') . "\" src=\"" . $king->config('inst') . "system/verify.php?salt={$salt}\"/>";
    $s .= "<a href=\"javascript:;\" class=\"k_ajax\" rel=\"{URL:'../system/verify.php',ID:'{$id_fly}',CMD:'salt'}\">" . $king->lang->get('system/check/verifynew') . "</a>";
    kc_ajax('', $s, 0, $js);
}
Esempio n. 4
0
function king_ajax_bind_edt()
{
    global $king;
    $king->access('block_edt');
    $ntype = kc_post('ntype', 2, 1);
    $bid = kc_post('bid');
    $kcontent = kc_post('kcontent');
    $kid = kc_post('kid');
    $kid1 = kc_post('kid1', 2, 1);
    //bid
    if (!isset($bid[0])) {
        kc_error($king->lang->get('block/error/bid', 0));
    }
    if (!kc_validate($bid, 2)) {
        kc_error($king->lang->get('block/error/bid', 1));
    }
    //kcontent
    if (!isset($kcontent[0])) {
        kc_error($king->lang->get('block/error/name', 3));
    }
    /**
    	补充相同验证 ntype bid
    */
    if (empty($kid)) {
        //insert
        //验证重复
        if ($king->db->getRows_one("select kid from %s_block where kid1={$kid1} and ntype={$ntype} and bid={$bid}")) {
            kc_error($king->lang->get('block/error/bind'));
        }
        $block = $king->block->infoBlock($kid1);
        $array = array('kname' => $block['kname'], 'kcontent' => $kcontent, 'kid1' => $kid1, 'ntype' => $ntype, 'bid' => $bid, 'norder' => $king->db->neworder('%s_block'));
        $king->db->insert('%s_block', $array);
        $cmd = 'add';
        $url = "<a href=\"manage.php?action=edt&kid={$kid1}\">" . $king->lang->get('system/common/enter') . "</a>";
    } else {
        //kid
        $kid = kc_post('kid', 2, 1);
        //验证重复
        if ($king->db->getRows_one("select kid from %s_block where kid1={$kid1} and ntype={$ntype} and bid={$bid} and kid<>{$kid}")) {
            kc_error($king->lang->get('block/error/bind'));
        }
        $array = array('kcontent' => $kcontent, 'ntype' => $ntype, 'bid' => $bid);
        $king->db->update('%s_block', $array, "kid={$kid}");
        $king->cache->del("block/info/{$kid1}");
        $cmd = 'edt';
        $url = 0;
    }
    kc_ajax('OK', '<p class="k_ok">' . $king->lang->get("block/ok/{$cmd}") . '</p>', $url);
    //编辑成功后返回的地址
}
Esempio n. 5
0
/**
	
	POST过来的参数有 ass、kname、tags、sign
	MD5(ass=[ass]&kname=[kname]&tags=[tags]{info['sign']}) == sign 当一致的时候,验证通过
*/
function king_def()
{
    global $king;
    $ass = kc_post('ass');
    //isset($_POST['ass']) ?  : '';
    $kname = kc_post('kname');
    $tags = kc_post('tags');
    $sign = kc_post('sign');
    $tmp = new KC_Template_class();
    if ($info = $tmp->infoConn($kname)) {
        $postsign = md5("ass={$ass}&kname={$kname}&tags={$tags}{$info['ksign']}");
        if ($postsign == $sign) {
            //验证通过
            $assign = unserialize(base64_decode($_POST['ass']));
            foreach ($assign as $key => $val) {
                $tmp->assign($key, $val);
            }
            exit($tmp->output($tags));
        }
    }
    exit('<!-- ' . $king->lang->get('system/error/conn') . ' -->');
}
Esempio n. 6
0
function king_ajax_add()
{
    global $king;
    $fbtime = kc_cookie("fbtime");
    //获得上次操作时间
    $ktitle = kc_post('ktitle');
    $kname = kc_post('kname');
    $kemail = kc_post('kemail');
    $kphone = kc_post('kphone');
    $kqq = kc_post('kqq');
    $kcontent = kc_post('kcontent');
    //check ktitle
    if (!isset($ktitle[1]) || strlen($ktitle) > 50) {
        kc_error($king->lang->get('feedback/error/name', 0));
    }
    //check kname
    if (!isset($kname[1]) || strlen($kname) > 30) {
        kc_error($king->lang->get('feedback/error/name', 1));
    }
    //check kemail
    if (!kc_validate($kemail, 5)) {
        kc_error($king->lang->get('feedback/error/name', 2));
    }
    //check kcontent
    if (!isset($kcontent[9])) {
        kc_error($king->lang->get('feedback/error/name', 3));
    }
    if ($fbtime > time() - 3600) {
        kc_ajax($king->lang->get('system/common/tip'), $king->lang->get('feedback/error/name', 5), 0);
    } else {
        //记录本次发布时间
        setcookie("fbtime", time(), time() + 3600, '/');
        $array = array('ktitle' => $ktitle, 'kname' => $kname, 'kemail' => $kemail, 'kphone' => $kphone, 'kqq' => $kqq, 'kcontent' => $kcontent, 'norder' => $king->db->neworder('%s_feedback'), 'ndate' => time());
        $king->db->insert('%s_feedback', $array);
        kc_ajax('OK', '<p class="k_ok">' . $king->lang->get('feedback/ok/add') . '</p>', "<a href=\"index.php\">" . $king->lang->get('system/common/enter') . "</a>");
        //添加成功后返回的地址
    }
}
Esempio n. 7
0
function king_ajax_login_check($_name, $_pass)
{
    global $king;
    if (strlen($_pass) > 0) {
        $_md5pass = md5($_pass);
        $_sql = "select adminname,adminlanguage,adminmode,adminskins from %a_admin where adminname='" . $king->db->escape($_name) . "' and adminpass='******' and isdelete=0;";
        if ($_res = $king->db->getRows_one($_sql)) {
            header('P3P: CP="NOI ADM DEV PSAi COM NAV OUR OTR STP IND DEM"');
            setcookie('KingCMS_Admin', $_res['adminname'] . "\t" . md5($_res['adminname'] . $_md5pass), kc_post('expire') ? time() + (int) kc_post('expire') : 0, '/');
            setcookie("language", $_res['adminlanguage'], time() + 86400000, '/');
            //写管理员登陆信息
            $_array = array('admindate' => time(), 'admincount' => '[[admincount+1]]');
            $king->db->update('%a_admin', $_array, "adminname='" . $king->db->escape($_name) . "'");
            $king->log(1, $_name);
            return True;
        } else {
            //写登陆错误log
            $king->log(2, $_name);
            return False;
        }
    } else {
        return False;
    }
}
Esempio n. 8
0
 /**
 	上移下移数据
 	@param string $_table    数据表名
 	@param int    $id        索引ID的值
 	@param string $_where    条件
 	@param int    $_order    排序,1为倒序,0为正序
 	@param string $_kidname  索引ID的字段名称
 	@param string $_norder   决定排序的字段名称
 */
 public function updown($_table, $id, $_where = null, $_order = 1, $_kidname = 'kid', $_norder = 'norder')
 {
     $_back = $_SERVER['HTTP_REFERER'];
     $_array1 = array('kid' => 0, 'norder' => 0);
     $_array2 = array('kid' => 0, 'norder' => 0);
     //@param int    $_num      偏移量
     $_num = kc_get('NUMBER', 2, 1);
     //@param string $_act  [up|down]上移或下移
     $_act = kc_post('UPDOWN') == 'up' ? 'up' : 'down';
     if ($_order) {
         $_act == 'down' ? $order = 'desc' : ($order = 'asc');
     } else {
         $_act == 'up' ? $order = 'desc' : ($order = 'asc');
     }
     if ($_where != null) {
         $_where = ' where ' . $_where;
     }
     $_sql = "select {$_kidname},{$_norder} from {$_table} {$_where} order by {$_norder} {$order}";
     $this->query($_sql);
     $this->getRows_number();
     if ($_num == 0) {
         $_num = $this->Rows;
     }
     $_table = sprintf($_table, DB_PREFIX);
     for ($i = 0; $i < $this->Rows; $i++) {
         if (!mysql_data_seek($this->mQuery, $i)) {
             kc_ajax('', '', 0, 'parent.location=\'' . $_back . '\'');
         }
         $res = mysql_fetch_array($this->mQuery);
         if ($id == $res[$_kidname]) {
             $_array1['kid'] = $res[$_kidname];
             $_array2['kid'] = $res[$_norder];
             for ($j = 1; $j <= $_num; $j++) {
                 if ($i + $j < $this->Rows) {
                     if (!mysql_data_seek($this->mQuery, $i + $j)) {
                         kc_ajax('', '', 0, 'parent.location=\'' . $_back . '\'');
                     }
                     $res = mysql_fetch_array($this->mQuery);
                     $_array1['norder'] = $res[$_kidname];
                     $_array2['norder'] = $res[$_norder];
                     mysql_query("update {$_table} set {$_norder}={$_array2['norder']} where {$_kidname}={$_array1['kid']} limit 1;", $this->link);
                     mysql_query("update {$_table} set {$_norder}={$_array2['kid']} where {$_kidname}={$_array1['norder']} limit 1;", $this->link);
                     $_array2['kid'] = $_array2['norder'];
                 }
             }
             kc_ajax('', '', 0, 'parent.location=\'' . $_back . '\'');
         }
     }
     kc_ajax('', '', 0, 'parent.location=\'' . $_back . '\'');
 }
Esempio n. 9
0
function king_edt()
{
    global $king;
    $_htmlcode = '';
    $_arraycheck = array();
    $_array_varchar = $king->portal->array_varchar;
    //varchar类型的字段
    $king->access('portal_field_edt');
    $_sql = 'ktitle,kfield,modelid,ntype,nvalidate,nsizemin,nsizemax,kdefault,koption,nstylewidth,nstyleheight,issearch,isadmin1,isadmin2,isuser1,isuser2,islist,khelp,isrelate,istitle';
    $modelid = kc_get('modelid');
    $kid = kc_get('kid', 2);
    $type = kc_get('type', 2);
    $kid1 = kc_get('kid1', 2);
    if ($type == '') {
        $type = 1;
    }
    $at_array = array(1, 4, 5, 7, 12, 13, 14);
    //允许添加的子字段
    //ntype参数验证
    if ($kid1 && !in_array($type, $at_array) || !in_array($type, $king->portal->ntype)) {
        kc_error($king->lang->get('system/error/param') . kc_clew(__FILE__, __LINE__));
    }
    $fields = explode(',', $_sql);
    if ($GLOBALS['ismethod'] || $kid == '') {
        //POST过程或新添加的过程
        $data = $_POST;
        if (!$GLOBALS['ismethod']) {
            //初始化新添加的数据
            if (in_array($type, $_array_varchar)) {
                $data['nsizemin'] = 1;
                $data['nsizemax'] = 255;
            } else {
                $data['nsizemin'] = 1;
                $data['nsizemax'] = 999999;
            }
            $data['nstylewidth'] = 400;
            $data['nstyleheight'] = 70;
            $data['isadmin1'] = 1;
            $data['isadmin2'] = 1;
            $data['isuser1'] = 1;
            $data['isuser2'] = 1;
            $data['istitle'] = 1;
            if ($type == 12) {
                $data['nvalidate'] = 13;
                $data['kdefault'] = '#000000';
                $data['nsizemax'] = 7;
            }
            if ($type == 14) {
                $data['nstylewidth'] = 100;
                $data['nsizemax'] = 10;
                $data['kdefault'] = 'TODAY';
                $data['nvalidate'] = 9;
                //数据类型设置为日期类型
                $data['nsizemin'] = 10;
                $data['nsizemax'] = 10;
            }
        } else {
            if ($kid != '') {
                $_res = $king->db->getRows_one('select ntype from %s_field where kid=' . $kid);
                //上面kc_get('kid')中有数据类型验证,无安全隐患
                $_res ? $type = $_res['ntype'] : kc_error($king->lang->get('system/error/not'));
            }
        }
    } else {
        //编辑数据,从数据库读出
        if ($data = $king->db->getRows_one('select ' . $_sql . ' from %s_field where kid=' . $kid . ' limit 1;')) {
            $type = $data['ntype'];
            $modelid = $data['modelid'];
        } else {
            kc_error($king->lang->get('system/error/param') . '<br/>select ' . $_sql . ' from %s_field where kid=' . $kid . ' limit 1;<br/>File:' . basename(__FILE__) . ';Line:' . __LINE__);
        }
    }
    $data = kc_data($fields, $data);
    $model = $king->portal->infoModel($modelid);
    $s = '<script type="text/javascript">';
    $s .= 'function jumpmenu(obj){eval("parent.location=\'manage.field.php?action=edt&modelid=' . $modelid . '&kid1=' . $kid1 . '&type="+obj.options[obj.selectedIndex].value+"\'");}';
    $s .= '</script>';
    $s .= $king->openForm('manage.field.php?action=edt');
    //字段类型
    $_array = array(array('ntype', 2));
    if ($kid) {
        $s .= $king->htmForm($king->lang->get('portal/list/ntype'), kc_htm_select('type', array($type => $king->lang->get('portal/type/n' . $type)), '', ' disabled="true"'), $_array);
    } else {
        $_array_select = array();
        $array_type = $kid1 ? $at_array : $king->portal->ntype;
        foreach ($array_type as $val) {
            $_array_select[$val] = $king->lang->get('portal/type/n' . $val);
        }
        $s .= $king->htmForm($king->lang->get('portal/list/ntype'), kc_htm_select('type', $_array_select, $type, ' onChange="jumpmenu(this);"'), $_array);
    }
    //子项目中是否显示标题
    if ($kid1 && $type != 13) {
        $checked = $data['istitle'] == 1 ? ' checked="checked"' : '';
        $s_istitle = $kid1 ? '<input' . $checked . ' type="checkbox" id="istitle" name="istitle" value="1"/><label for="istitle">' . $king->lang->get('portal/label/showtitle') . '</label>' : '';
    } else {
        $s_istitle = '';
    }
    //字段标题
    $_array = array(array('ktitle', 0, 2, 50));
    $s .= $king->htmForm($king->lang->get('portal/list/ktitle') . ' (2-50)', '<input class="k_in w200" type="text" name="ktitle" value="' . htmlspecialchars($data['ktitle']) . '" maxlength="50" />' . $s_istitle, $_array);
    if ($type != 99) {
        //字段名
        if ($kid) {
            //update
            $s .= $king->htmForm($king->lang->get('portal/list/kfield'), '<input class="k_in w200" type="text" disabled="true" value="' . htmlspecialchars($data['kfield']) . '" />');
            $s .= kc_htm_hidden(array('kfield' => $data['kfield']));
        } else {
            $_array = array(array('kfield', 0, 1, 50), array('kfield', 4), array('kfield', 12, $king->lang->get('system/check/none'), $king->db->getRows_one("select kid from %s_field where kfield='k_" . $king->db->escape(kc_post('kfield')) . "' and modelid={$modelid};")));
            $s .= $king->htmForm($king->lang->get('portal/list/kfield') . ' (1-50)', '<input class="k_in w200" type="text" name="kfield" value="' . htmlspecialchars($data['kfield']) . '" maxlength="50" />', $_array);
        }
        //数据类型
        if (in_array($type, array(1, 14))) {
            $array = array(0, 1, 2, 22, 3, 4, 5, 6, 7, 8, 9, 13);
            $_array_select = array();
            foreach ($array as $val) {
                $_array_select += array($val => $king->lang->get('portal/validate/n' . $val));
            }
            $s .= $king->htmForm($king->lang->get('portal/list/nvalidate'), kc_htm_select('nvalidate', $_array_select, $data['nvalidate']), array(array('nvalidate', 2)));
        }
        //长度
        if (!in_array($type, array(0, 4, 5, 6, 7, 12, 13)) || $data['kfield'] == 'kcontent') {
            //系统标签和颜色值无需设置长度
            $_size = '<input class="k_in w50" type="text" name="nsizemin" id="nsizemin" value="' . htmlspecialchars($data['nsizemin']) . '" maxlength="6" />';
            $_size .= ' - <input class="k_in w100" type="text" name="nsizemax" id="nsizemax" value="' . htmlspecialchars($data['nsizemax']) . '" maxlength="11" />';
            $_array = array(array('nsizemin', 2), array('nsizemax', 2), array('nsizemin', 0, 1, 6), array('nsizemax', 0, 1, 11));
            if (in_array($type, $_array_varchar)) {
                $_lang = 'nsize';
                $_array[] = array('nsizemin', 16, $king->lang->get('portal/check/nsize1'), 0, 255);
                $_array[] = array('nsizemax', 16, $king->lang->get('portal/check/nsize2'), 1, 255);
            } else {
                $_lang = 'nsizetext';
            }
            $s .= $king->htmForm($king->lang->get('portal/label/' . $_lang), $_size, $_array);
        } else {
            $s .= kc_htm_hidden(array('nsizemin' => $data['nsizemin'], 'nsizemax' => $data['nsizemax']));
        }
        //默认值
        if (in_array($type, array(1, 4, 5, 6, 7, 8, 10))) {
            $_array = array(array('kdefault', 0, 0, 255));
            $str = '<input class="k_in w400" type="text" id="kdefault" name="kdefault" value="' . htmlspecialchars($data['kdefault']) . '" maxlength="255" />';
            /**/
            if (in_array($type, array(8))) {
                $str .= kc_f_brow('kdefault', $king->config('uppath') . '/image', 0);
            }
            if (in_array($type, array(10))) {
                $str .= kc_f_brow('kdefault', $king->config('uppath') . '/file', 1);
            }
            /**/
            $s .= $king->htmForm($king->lang->get('portal/label/kdefault') . ' (0-255)', $str, $_array);
        } elseif (in_array($type, array(12))) {
            //颜色
            $_array = array(array('kdefault', 0, 7, 7), array('kdefault', 13));
            $str = '<input class="k_in k_color" type="text" id="kdefault" name="kdefault" value="' . htmlspecialchars($data['kdefault']) . '" maxlength="7" ' . (kc_validate($data['kdefault'], 13) ? ' style="background:' . $data['kdefault'] . '"' : '') . '/>';
            $s .= $king->htmForm($king->lang->get('portal/label/kdefault'), $str, $_array, null, kc_f_color('kdefault'));
        } elseif (in_array($type, array(14))) {
            $array = array('TODAY' => $king->lang->get('system/time/today'));
            $_array = array(array('kdefault', 0, 0, 20));
            $s .= $king->htmForm($king->lang->get('portal/label/kdefault'), kc_htm_input('kdefault', $data['kdefault']), $_array, 0, kc_htm_setvalue('kdefault', $array));
        } elseif (in_array($type, array(13))) {
            $array = array(1 => $king->lang->get('system/common/yes'), 0 => $king->lang->get('system/common/no'));
            $s .= $king->htmForm($king->lang->get('portal/label/kdefault'), kc_htm_radio('kdefault', $array, $data['kdefault']));
        } else {
            $s .= kc_htm_hidden(array('kdefault' => ''));
        }
    }
    //end if($type==99)
    //选项
    if (in_array($type, array(4, 5, 6, 7))) {
        $array = array(array('koption', 0, 1, 999999));
        $_default = '<table class="k_side" cellspacing="0"><tr><td><textarea name="koption" class="k_in w400" cols="130" rows="7">' . htmlspecialchars($data['koption']) . '</textarea></td>';
        $_default .= '<td>' . kc_help('portal/help/koption', 360, 310);
        $_default .= '</td></tr></table>';
        $s .= $king->htmForm($king->lang->get('portal/label/koption'), $_default, $array);
    } elseif (in_array($type, array(1, 8, 10)) || in_array($data['kfield'], array('nprice', 'nnumber', 'nweight'))) {
        $array = array(array('koption', 0, 0, 999999));
        $_default = '<table class="k_side" cellspacing="0"><tr><td><textarea name="koption" class="k_in w400" cols="130" rows="7">' . htmlspecialchars($data['koption']) . '</textarea></td>';
        $_default .= '<td>' . kc_help('portal/help/kdefault', 360, 260);
        $_default .= '</td></tr></table>';
        $s .= $king->htmForm($king->lang->get('portal/label/kdefault1'), $_default, $array);
    } else {
        $s .= kc_htm_hidden(array('koption' => ''));
    }
    //尺寸
    if (in_array($type, array(2, 3, 6, 9, 11)) || $data['kfield'] == 'kcontent') {
        //长X宽
        $_size = '<input class="k_in w50" type="text" name="nstylewidth" id="nstylewidth" value="' . htmlspecialchars($data['nstylewidth']) . '" maxlength="4" />';
        $_size .= ' X <input class="k_in w50" type="text" name="nstyleheight" id="nstyleheight" value="' . htmlspecialchars($data['nstyleheight']) . '" maxlength="4" />(px)';
        $_array = array(array('nstylewidth', 2), array('nstyleheight', 2), array('nstylewidth', 0, 1, 4), array('nstyleheight', 0, 1, 4));
        $s .= $king->htmForm($king->lang->get('portal/label/nstyle'), $_size, $_array);
    } elseif (in_array($type, array(1, 8, 10))) {
        //长
        $_size = '<input class="k_in w50" type="text" name="nstylewidth" id="nstylewidth" value="' . htmlspecialchars($data['nstylewidth']) . '" maxlength="4" />';
        $_array = array(array('nstylewidth', 2), array('nstyleheight', 2), array('nstylewidth', 0, 1, 4), array('nstyleheight', 0, 1, 4));
        $s .= kc_htm_hidden(array('nstyleheight' => 0));
        $s .= $king->htmForm($king->lang->get('portal/label/nstylewidth'), $_size, $_array, '', kc_htm_setvalue('nstylewidth', array(50 => '50 px', 100 => '100 px', 200 => '200 px', 400 => '400 px')));
    } else {
        $s .= kc_htm_hidden(array('nstylewidth' => 0, 'nstyleheight' => 0));
    }
    /**
    	//上传文件类型
    	if(in_array($type,array(8))){
    		$_array=array(
    			array('nupfile',0,0,255),
    			array('nupfile',2),
    		);
    		$s.=$king->htmForm($king->lang->get('portal/label/nupfile'),'<input class="k_in w300" type="text" name="nupfile" value="'.htmlspecialchars($data['nupfile']).'" maxlength="255" />',$_array);
    	}else{
    		$s.=kc_htm_hidden(array('nupfile'=>''));
    	}
    	/**/
    $_htmlcode = '';
    //加入搜索和关联选项
    if (in_array($type, array(1, 2))) {
        $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>';
        //		$s.=$king->htmForm($king->lang->get('system/common/option'),$_htmlcode);
    } else {
        $s .= kc_htm_hidden(array('issearch' => 0));
    }
    if (in_array($type, array(1, 4, 5))) {
        $data['isrelate'] == 1 ? $_checked = ' checked="checked"' : ($_checked = '');
        $_htmlcode .= ' <span><input type="checkbox" value="1" id="isrelate" name="isrelate"' . $_checked . '/>';
        $_htmlcode .= '<label for="isrelate">' . $king->lang->get('portal/label/attrib/isrelate1') . '</label></span>';
        //		$s.=$king->htmForm($king->lang->get('system/common/option'),$_htmlcode);
    } else {
        $s .= kc_htm_hidden(array('issearch' => 0));
    }
    if ($_htmlcode) {
        $s .= $king->htmForm($king->lang->get('system/common/option'), $_htmlcode);
    }
    //是否显示
    if ($type == 0 && $data['kfield'] == 'ktitle' || $type == 99) {
        $s .= kc_htm_hidden(array('isadmin1' => 1, 'isadmin2' => 1, 'isuser1' => 1, 'isuser2' => 1));
    } else {
        $_htmlcode = '<span>';
        $data['isadmin1'] == 1 ? $_checked = ' checked="checked"' : ($_checked = '');
        $_htmlcode .= '<input type="checkbox" value="1" id="isadmin1" name="isadmin1"' . $_checked . '/>';
        $_htmlcode .= '<label for="isadmin1">' . $king->lang->get('portal/label/attrib/isadmin1') . '</label>';
        $data['isadmin2'] == 1 ? $_checked = ' checked="checked"' : ($_checked = '');
        $_htmlcode .= '<input type="checkbox" value="1" id="isadmin2" name="isadmin2"' . $_checked . '/>';
        $_htmlcode .= '<label for="isadmin2">' . $king->lang->get('portal/label/attrib/isadmin2') . '</label>';
        $data['isuser1'] == 1 ? $_checked = ' checked="checked"' : ($_checked = '');
        $_htmlcode .= '<input type="checkbox" value="1" id="isuser1" name="isuser1"' . $_checked . '/>';
        $_htmlcode .= '<label for="isuser1">' . $king->lang->get('portal/label/attrib/isuser1') . '</label>';
        $data['isuser2'] == 1 ? $_checked = ' checked="checked"' : ($_checked = '');
        $_htmlcode .= '<input type="checkbox" value="1" id="isuser2" name="isuser2"' . $_checked . '/>';
        $_htmlcode .= '<label for="isuser2">' . $king->lang->get('portal/label/attrib/isuser2') . '</label>';
        if (!in_array($type, array(0, 2, 3, 9, 11))) {
            $data['islist'] == 1 ? $_checked = ' checked="checked"' : ($_checked = '');
            $_htmlcode .= '<input type="checkbox" value="1" id="islist" name="islist"' . $_checked . '/>';
            $_htmlcode .= '<label for="islist">' . $king->lang->get('portal/label/attrib/islist') . '</label>';
        }
        $_htmlcode .= '</span>';
        $s .= $king->htmForm($king->lang->get('portal/label/attrib/isshow'), $_htmlcode);
    }
    //khelp
    if ($type != 0 && !$kid1) {
        $s .= $king->htmForm($king->lang->get('portal/list/khelp'), '<table class="k_side" cellspacing="0"><tr><td><textarea class="k_in w400" rows="5" name="khelp" >' . htmlspecialchars($data['khelp']) . '</textarea></td><td>' . kc_help('portal/help/khelp', 300, 160) . '</td></tr></table>');
    }
    $s .= kc_htm_hidden(array('modelid' => $modelid, 'kid' => $kid, 'ntype' => $type, 'kid1' => $kid1));
    $s .= $king->closeForm('save');
    //数据处理
    if ($GLOBALS['ischeck']) {
        $_sql = 'ktitle,nsizemin,nsizemax,kdefault,koption,nstylewidth,nstyleheight,khelp';
        $_array = array();
        $_array_sql = explode(',', $_sql);
        foreach ($_array_sql as $val) {
            if (isset($_POST[$val])) {
                $_array[$val] = $data[$val];
            }
        }
        $array_is = array('issearch', 'isadmin1', 'isadmin2', 'isuser1', 'isuser2', 'islist', 'isrelate', 'istitle');
        foreach ($array_is as $val) {
            $_array[$val] = $data[$val] == 1 ? 1 : 0;
        }
        $_array['nvalidate'] = $data['nvalidate'] ? $data['nvalidate'] : 0;
        //添加&更新数据
        if ($kid) {
            //update
            if (!($resmt = $king->db->getRows_one("select modeltable from %s_model where modelid={$modelid};"))) {
                kc_error($king->lang->get('system/error/param') . '<br/>File:' . basename(__FILE__) . ';Line:' . __LINE__);
            }
            $_modeltable = $resmt['modeltable'];
            if (in_array($type, $_array_varchar)) {
                //varchar类型
                $king->db->query('alter table %s__' . $king->db->escape($_modeltable) . ' modify ' . $king->db->escape(kc_post('kfield')) . ' varchar(' . $_array['nsizemax'] . ') null;');
            }
            $king->db->update('%s_field', $_array, 'kid=' . $kid);
            $_nlog = 7;
        } else {
            $_array += array('ktitle' => $data['ktitle'], 'kfield' => $data['kfield'] ? 'k_' . $data['kfield'] : '', 'modelid' => $data['modelid'], 'ntype' => $data['ntype'], 'norder' => $king->db->neworder('%s_field', 'modelid=' . $modelid), 'khelp' => $data['khelp'], 'kid1' => $kid1 ? $kid1 : 0);
            if (in_array($data['ntype'], array('10,11'))) {
                //当文件上传字段的时候,才可以上传文件
                $_array += array('ntype' => 1);
            }
            $king->db->insert('%s_field', $_array);
            $_nlog = 5;
            $res = $king->db->getRows_one("select modeltable from %s_model where modelid={$modelid};");
            $_modeltable = $res['modeltable'];
            if (in_array($type, $_array_varchar)) {
                //varchar类型
                $king->db->query('alter table %s__' . $king->db->escape($_modeltable) . ' add k_' . $king->db->escape($data['kfield']) . ' varchar(' . $_array['nsizemax'] . ') null;');
            } elseif (in_array($type, array(13))) {
                //tinyint
                $king->db->query('alter table %s__' . $king->db->escape($_modeltable) . ' add k_' . $king->db->escape($data['kfield']) . ' tinyint(1) not null default 0;');
            } elseif ($type == 99) {
                //组选项不需要字段
            } else {
                $king->db->query('alter table %s__' . $king->db->escape($_modeltable) . ' add k_' . $king->db->escape($data['kfield']) . ' text null;');
            }
        }
        $king->cache->del('portal/model/model' . $modelid);
        $king->cache->rd('data/_' . $_modeltable);
        //写log
        $king->log($_nlog, 'Field:' . $data['ktitle']);
        kc_goto($king->lang->get('system/goto/is'), 'manage.field.php?action=edt&modelid=' . $modelid . '&kid1=' . $kid1, 'manage.field.php?modelid=' . $modelid . '&kid1=' . $kid1);
    }
    list($left, $right) = king_inc_list();
    $king->skin->output($king->lang->get('portal/title/field' . ($kid ? 'edt' : 'add')) . "({$model['modelname']})", $left, $right, $s);
}
Esempio n. 10
0
function king_ajax_lostpwd1()
{
    global $king;
    $username = kc_post('username');
    //ask
    if ($user = $king->db->getRows_one("select userid,uid,userask,useranswer,usermail from %s_user where isdelete=0 and  username='******'username')) . "'")) {
        if (!$user['userask']) {
            kc_error($king->lang->get('user/error/ask'));
        }
    } else {
        kc_error($king->lang->get('system/error/param'));
    }
    $s = $king->htmForm($king->lang->get('user/label/ask'), htmlspecialchars($user['userask']));
    //answer
    $array = array(array('useranswer', 0, 1, 16), array('useranswer', 12, $king->lang->get('portal/check/lost/answer'), $user['useranswer'] != kc_post('useranswer')));
    $s .= $king->htmForm($king->lang->get('user/label/answer'), '<input class="k_in w150" type="text" name="useranswer" id="useranswer" maxlength="16" value="' . htmlspecialchars(kc_post('useranswer')) . '" />', $array);
    //mail
    $_array = array(array('usermail', 0, 6, 32), array('usermail', 5, $king->lang->get('portal/check/reg/u-4')), array('usermail', 12, $king->lang->get('portal/check/lost/mail'), strtolower($user['usermail']) != strtolower(kc_post('usermail'))));
    $s .= $king->htmForm($king->lang->get('portal/user/mail'), '<input class="k_in w250" type="text" name="usermail" value="' . htmlspecialchars(kc_post('usermail')) . '" maxlength="32" />', $_array);
    //pass
    $_array = array(array('userpass', 0, 6, 30), array('userpass', 17, null, 'userpass1'));
    $s .= $king->htmForm($king->lang->get('portal/user/pass') . ' (6-30)', '<input class="k_in w150" type="password" name="userpass" id="userpass" maxlength="30" value="' . htmlspecialchars(kc_post('userpass')) . '" />', $_array);
    //repass
    $s .= $king->htmForm($king->lang->get('portal/user/pass1'), '<input class="k_in w150" type="password" name="userpass1" id="userpass1" maxlength="30" value="' . htmlspecialchars(kc_post('userpass1')) . '" />');
    $verify = new KC_Verify_class();
    $s .= $verify->Show();
    if ($GLOBALS['ischeck']) {
        $array = array();
        $salt = kc_random(6);
        $md5pass = md5($salt . kc_post('userpass'));
        $array['userpass'] = $md5pass;
        $array['ksalt'] = $salt;
        $userid = $king->db->update('%s_user', $array, "userid={$user['userid']}");
        //写Cookie
        $s = $king->user->userLogin($user['userid'], 2592000);
        $king->user->delUserInfo($user['userid']);
        kc_ajax($king->lang->get('system/common/welcome'), $s . "<p class=\"k_ok\">" . $king->lang->get('portal/user/lostok') . "</p>", 0);
    }
    $but = kc_htm_a($king->lang->get('system/common/submit'), "{URL:'" . $king->config('inst') . "user/index.php',CMD:'lostpwd1',username:'******',IS:1}");
    $height = $king->config('verifyopen') ? 250 + $king->config('verifyheight') : 230;
    kc_ajax($king->lang->get('portal/user/name'), $s, $but, '', 420, $height + $GLOBALS['check_num'] * 15);
}
Esempio n. 11
0
 /**
 	上移下移数据
 	@param string $_table    数据表名
 	@param int    $id        索引ID的值
 	@param string $_where    条件
 	@param int    $_order    排序,1为倒序,0为正序
 	@param string $_kidname  索引ID的字段名称
 	@param string $_norder   决定排序的字段名称
 
 	这个函数可以进一步优化,当置顶或垫底的时候,直接获取最大值+1或最小值-1的方法来更新
 	这样做就不用遍历很多数据,也可以避免数据过多的时候,超时的问题。
 */
 public function updown($_table, $id, $_where = null, $_order = 1, $_kidname = 'kid', $_norder = 'norder')
 {
     $_back = $_SERVER['HTTP_REFERER'];
     $_array1 = array('kid' => 0, 'norder' => 0);
     $_array2 = array('kid' => 0, 'norder' => 0);
     //@param int    $_num      偏移量
     $_num = kc_get('NUMBER', 2, 1);
     //@param string $_act  [up|down]上移或下移
     $_act = kc_post('UPDOWN') == 'up' ? 'up' : 'down';
     if ($_order) {
         $_act == 'down' ? $order = 'desc' : ($order = 'asc');
     } else {
         $_act == 'up' ? $order = 'desc' : ($order = 'asc');
     }
     if ($_where != null) {
         $_where = ' where ' . $_where;
     }
     $sql = "select {$_kidname},{$_norder} from {$_table} {$_where} order by {$_norder} {$order}";
     $this->query($sql);
     $this->getRows_number();
     if ($_num == 0) {
         $_num = $this->Rows;
     }
     $_table = sprintf($_table, DB_PRE);
     $array = is_object($this->mQuery) ? $this->mQuery->fetchAll() : $array();
     $count = count($array);
     for ($i = 0; $i < $count; $i++) {
         if ($id == $array[$i][$_kidname]) {
             $_array1['kid'] = $array[$i][$_kidname];
             $_array2['kid'] = $array[$i][$_norder];
             for ($j = 1; $j <= $_num; $j++) {
                 if ($i + $j < $count) {
                     $_array1['norder'] = $array[$i + $j][$_kidname];
                     $_array2['norder'] = $array[$i + $j][$_norder];
                     $this->link->query("update {$_table} set {$_norder}={$_array2['norder']} where {$_kidname}={$_array1['kid']}");
                     $this->link->query("update {$_table} set {$_norder}={$_array2['kid']} where {$_kidname}={$_array1['norder']}");
                     $_array2['kid'] = $_array2['norder'];
                 }
             }
             kc_ajax('', '', 0, 'parent.location=\'' . $_back . '\'');
         }
     }
     kc_ajax('', '', 0, 'parent.location=\'' . $_back . '\'');
 }
Esempio n. 12
0
 /**
 	tagmenu的管理
 */
 public function tagmenu()
 {
     global $king;
     $cachepath = 'skin/tagmenu/' . $king->admin['adminid'];
     $number = kc_get('number', 2);
     $title = kc_post('title');
     $url = kc_post('url');
     if (!$number) {
         $number = 7;
     }
     $pid = kc_get('pid', 2);
     if (!$pid) {
         $pid = 1;
     }
     if (!($array = $king->cache->get($cachepath))) {
         $array = array();
     }
     if (isset($title[0])) {
         //如果有title,则是要删除对应的键值
         $array = array_diff_key($array, array($title => ''));
         $king->cache->put($cachepath, $array);
     }
     $count = count($array);
     //删除menu后,可能出现pid大于总页数的情况,则做如下判断
     if ($pid - 1 >= $count / $number) {
         $pid--;
     }
     $array_new = array_chunk($array, $number, True);
     if (!($array_new1 = $array_new[$pid - 1])) {
         $array_new1 = array();
     }
     $s = '';
     if ($pid > 1) {
         $s .= '<a class="k_ajax" rel="{URL:\'../system/manage.php\',CMD:\'tagmenu\',ID:\'k_tagmenu\',number:' . $number . ',pid:' . ($pid - 1) . ',url:\'' . urlencode($url) . '\'}">' . kc_icon('c9') . '</a>';
     }
     foreach ($array_new1 as $key => $val) {
         $val == $url ? $s .= '<span class="red"><a href="' . $val . '">' . htmlspecialchars($key) . '</a>' : ($s .= '<span><a href="' . $val . '">' . htmlspecialchars($key) . '</a>');
         $s .= "<img src=\"../system/images/white.gif\" class=\"k_ajax k8 os\" rel=\"{URL:'../system/manage.php',ID:'k_tagmenu',CMD:'tagmenu',number:{$number},url:" . urlencode($url) . ",pid:{$pid},title:\\'" . urlencode($key) . "\\'}\"/></span>";
     }
     if ($count / $number > $pid) {
         $s .= '<a class="k_ajax" rel="{URL:\'../system/manage.php\',ID:\'k_tagmenu\',CMD:\'tagmenu\',number:' . $number . ',pid:' . ($pid + 1) . ',url:\'' . urlencode($url) . '\'}">' . kc_icon('d9') . '</a>';
     }
     kc_ajax('', $s);
 }
Esempio n. 13
0
/**
	双击重命名,单击编辑、下载
	创建文件
	添加编辑器
*/
function king_def()
{
    global $king;
    $king->access('webftp');
    $path = kc_post('path');
    $dirs = kc_f_getdir($path, 'dir');
    $s = "<table class=\"k_side w0\">";
    $s .= "<tr><td class=\"w200\">";
    //左侧菜单
    $s .= "<table class=\"k_table_list\" cellspacing=\"0\">";
    $s .= "<tr id=\"ftp_dir\"><th><em id=\"ftp_root\"><img src=\"../system/images/white.gif\" class=\"os b1\"/></em>";
    $s .= "<a href=\"javascript:;\" class=\"k_ajax\" rel=\"{CMD:'right'}\">" . $king->lang->get('webftp/list/dir') . "</a></th></tr>";
    //左侧
    $s .= "</table>";
    $s .= "</td><td>";
    $s .= "<table class=\"k_table_list\" cellspacing=\"0\">";
    $s .= "<tr id=\"ftp_file\"><th>" . $king->lang->get('system/common/filename') . "</th>";
    $s .= "<th class=\"w100\">" . $king->lang->get('system/common/manage') . "</th>";
    $s .= "<th class=\"w150\">" . $king->lang->get('system/common/filesize') . "</th>";
    $s .= "<th class=\"w150\">" . $king->lang->get('system/common/modifydate') . "</th>";
    $s .= "</tr>";
    //右侧内容
    $s .= "</table>";
    $s .= "</td></tr>";
    $s .= "</table>";
    $s .= "<script language=\"javascript\" type=\"text/javascript\" src=\"edit_area/edit_area_full.js\"></script>";
    $s .= "<script type=\"text/javascript\" >\r\n\r\n\t//调用右侧文件列表\r\n\t\$.kc_ajax({CMD:'right'});\r\n\t//调用左侧导航菜单\r\n\t\$.kc_ajax({CMD:'left',obj:'ftp_dir',ID:'ftp_root',IS:2});\r\n\r\n\tfunction lll(path,dir,issub,space){var spath=path+dir;var id=spath.replace(/[\\]\\[\\/\\!\\@\\#\$\\%\\^\\&\\(\\)\\~\\+\\;\\'\\,\\.\\`\\-\\=]/g,'_');\r\n\t\tvar s='<tr id=\"k_brow_obj_'+id+'\"><td>';\r\n\t\tfor(i=0;i<space;i++){s+=\$.kc_icon()};//space计算\r\n\t\t\r\n\t\t//+-展开按钮\r\n\t\ts+='<a id=\"k_brow_dir_'+id+'\" href=\"javascript:;\" class=\"k_ajax\" rel=\"{CMD:\\'left\\',path:\\''+path+dir+'/\\',ID:\\'k_brow_dir_'+id+'\\',obj:\\'k_brow_obj_'+id+'\\',space:'+(space*1+1)+',IS:2}\">';\r\n\t\ts+=\$.kc_icon(issub==1?'k1':'')+'</a>';\r\n\r\n\t\t//点击后在右侧显示对应目录下面的文件\r\n\t\ts+='<a href=\"javascript:;\" class=\"k_ajax\" rel=\"{CMD:\\'right\\',path:\\''+path+dir+'/\\'}\">'+\$.kc_icon('b1')+'<em id=\"k_brow_sub_'+id+'\">'+dir+'</em></a></td>';\r\n\t\ts+='</tr>';\r\n\t\treturn s;\r\n\t};\r\n\r\n\t//关闭展开\r\n\tfunction remove_dir(id,space){\r\n\t\t\$(\"[id^='\"+id+\"_']\").remove();\r\n\t};\r\n\r\n\t//右侧文件列表\r\n\tfunction iii(ico,path,file,size,mdate){var s;\r\n\t\tvar spath=path+file;\r\n\t\tvar id=spath.replace(/[\\]\\[\\/\\!\\@\\#\$\\%\\^\\&\\(\\)\\~\\+\\;\\'\\,\\.\\`\\-\\=]/g,'_');\r\n\t\tvar isdir=(size=='--' ? 1 : 0);\r\n\t\ts='<tr id=\"k_brow_right_'+id+'\" ondblClick=\"iRename(\\''+ico+'\\',\\''+path+'\\',\\''+file+'\\',\\''+size+'\\',\\''+encodeURI(mdate)+'\\',\\''+id+'\\')\"><td>';\r\n\t\ts+=\$.kc_list(id,file,iLink(path,file,isdir,id),0,1,ico);\r\n\t\ts+='</td>';\r\n\t\ts+='<td>';\r\n\t\t//重命名\r\n\t\ts+='<a href=\"javascript:;\" onClick=\"iRename(\\''+ico+'\\',\\''+path+'\\',\\''+file+'\\',\\''+size+'\\',\\''+encodeURI(mdate)+'\\',\\''+id+'\\')\">';\r\n\t\ts+=\$.kc_icon('l4','" . $king->lang->get('system/common/rename') . "')+'</a>';\r\n\t\t//删除\r\n\t\ts+='<a href=\"javascript:;\" class=\"k_ajax\" rel=\"{CMD:\\'delete\\',path:\\''+path+'\\',file:\\''+file+'\\',isdir:'+isdir+',IS:2,ID:\\'ftp_root\\'}\">';\r\n\t\ts+=\$.kc_icon('j2','" . $king->lang->get('system/common/del') . "');\r\n\t\ts+='</td>';\r\n\t\ts+='<td>'+size+'</td>';\r\n\t\ts+='<td>'+mdate+'</td>';\r\n\t\ts+='</tr>';\r\n\r\n\t\treturn s;\r\n\t\r\n\t}\r\n\r\n\t//重命名文件或文件夹\r\n\tfunction iRename(ico,path,file,size,mdate,id){var s;\r\n\t\tvar isdir=(size=='--' ? 1 : 0);\r\n\t\ts='<input class=\"k_in w200\" value=\"'+file+'\" id=\"R'+id+'\"/>';\r\n\r\n\t\ts+='<a href=\"javascript:;\" class=\"k_ajax\" ';\r\n\t\ts+='rel=\"{CMD:\\'rename\\',path:\\''+path+'\\',file:\\''+file+'\\',id:\\'R'+id+'\\',VAL:\\'R'+id+'\\',isdir:'+isdir+'}\">';\r\n\t\ts+=\$.kc_icon('o7')+'</a>';\r\n\r\n\t\ts+='<a href=\"javascript:;\" onClick=\"nRename(\\''+ico+'\\',\\''+path+'\\',\\''+file+'\\',\\''+size+'\\',\\''+mdate+'\\',\\''+id+'\\')\">';\r\n\t\ts+=\$.kc_icon('m2')+'</a>';\r\n\r\n\t\t\$('#k_brow_right_'+id+'>td>label>u').html(s);\r\n\t\t\$.kc_ready('#k_brow_right_'+id+'>td>label>u');\r\n\t}\r\n\t//取消重命名\r\n\tfunction nRename(ico,path,file,size,mdate,id){\r\n\t\t\$('#k_brow_right_'+id).replaceWith(iii(ico,path,file,size,decodeURI(mdate)));\r\n\t}\r\n\r\n\t//生成链接\r\n\tfunction iLink(path,file,isdir,id){\r\n\t\tvar s;\r\n\t\tif(isdir){\r\n\t\t\ts='{CMD:\\'right\\',path:\\''+path+file+'/\\',leftopen:1}';\r\n\t\t}else{\r\n\t\t\tvar fext=file.substring(file.lastIndexOf('.') + 1);\r\n\r\n\t\t\tvar ss={php:'',html:'',htm:''};\r\n\r\n\t\t\tif(ss[fext]!=undefined){\r\n\t\t\t\ts='{CMD:\\'edit\\',path:\\''+path+file+'\\'}';\r\n\t\t\t}else{\r\n\t\t\t\ts='../'+path+file;\r\n\t\t\t}\r\n\r\n\t\t\tswitch(fext){\r\n\t\t\t\tcase 'php':\r\n\t\t\t\tbreak;\r\n\t\t\t\tcase 'html':\r\n\t\t\t\tbreak;\r\n\t\t\t\tdefault:\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn s;\r\n\t}";
    $s .= "</script>";
    $king->skin->output($king->lang->get('webftp/title/center'), '', '', $s);
}
Esempio n. 14
0
/**
	获得list复选框列表
	@param int        $_is    验证是否为必须选择复选框
		1:  不能为空
		0:  可以为空
	@param int|string $_type  数据类型验证,详见kc_validate()
	@return string
*/
function kc_getlist($_is = 1, $_type = 3)
{
    global $king;
    if ($_is && !($_list = kc_post('list'))) {
        kc_error($king->lang->get('system/error/select'));
    }
    if (!kc_validate($_list, $_type)) {
        kc_error($king->lang->get('system/error/param') . '<br/>File:' . basename(__FILE__) . ';Line:' . __LINE__);
    }
    return $_list;
}
Esempio n. 15
0
 private function attribBack($m)
 {
     $attributes = $m[4];
     $attrib = $this->attrib2array($attributes);
     $s = '';
     switch (strtolower($m[2])) {
         case 'king':
             $s = kc_val($this->tempArray, $m[3]);
             //值
             if (false !== ($ret = $this->sysinfo($m[3]))) {
                 return $ret;
             }
             /*
             	if(in_array($m[3],array('root','version','cms'))){
             		global $king;
             		switch($m[3]){
             			case 'root':$s=$king->config('inst');break;
             			case 'version':$s=$king->devname;break;
             			case 'cms':$s="<span>Powerd by <a href=\"http://www.kingcms.com/\" title=\"KingCMS\" target=\"_blank\">KingCMS</a> ".$king->devname ."</span>";break;
             		}
             		return $s;
             	}
             */
             break;
         case 'get':
             $s = kc_get($m[3], 0);
             break;
         case 'post':
             $s = kc_post($m[3], 0);
             break;
     }
     return $this->str_format($s, $attrib);
 }
Esempio n. 16
0
 /**
 	解析表单项目
 	@param array  $rs    当前对象的数组
 	@param array  $data  表单值
 	@param array  $info  模型及字段相关信息,由listid值获取
 	@param int    $is    默认为1后台,0的时候是前台调用
 	@param int    $at    默认为1首页,2的时候是次页调用
 	@param int    $group 默认为1非组,0的时候是[组]调用
 */
 public function formDeCode($rs, $data, $info, $is = 1, $at = 1, $group = 1)
 {
     /*
     $sql='ktitle,kfield,ntype,nvalidate,nsizemin,nsizemax,kdefault,koption,nstylewidth,nstyleheight,nupfile,issearch,isshow';
     */
     global $king;
     $model = $this->infoModel($info['modelid']);
     $s = '';
     $h = '';
     $c = array();
     $f = $rs['kfield'];
     switch ($rs['ntype']) {
         case 0:
             //系统字段
             switch ($f) {
                 case 'ktitle':
                     if ($at == 1) {
                         //首页必填
                         $c[] = array($f, 0, 1, 100);
                     } else {
                         //次页可选择不填
                         $c[] = array($f, 0, 0, 100);
                     }
                     $s = '<input type="text" id="' . $f . '" name="' . $f . '" value="' . htmlspecialchars($data[$f]) . '" class="k_in w400" maxlength="100" />';
                     $h = '<a id="cktitle" class="k_ajax" rel="{URL:\'manage.content.php\',CMD:\'ckre\',obj:\'ktitle\',listid:' . $info['listid'] . ',kid:\'' . $data['kid'] . '\',ID:\'cktitle\',IS:2,ktitle:$(\'#ktitle\').val()}" >';
                     $h .= kc_icon('a7', $king->lang->get('system/common/ckre')) . '</a>';
                     break;
                 case 'ksubtitle':
                     $c = $data[$f] != '' ? array(array($f, 0, 4, 20)) : array();
                     $s = '<input type="text" id="' . $f . '" name="' . $f . '" value="' . htmlspecialchars($data[$f]) . '" class="k_in w300" maxlength="20" />';
                     break;
                 case 'kkeywords':
                     $c[] = array($f, 0, 0, 100);
                     $s = '<input type="text" id="' . $f . '" name="' . $f . '" value="' . htmlspecialchars($data[$f]) . '" class="k_in w400" maxlength="100" />';
                     $h = '<a class="k_ajax" rel="{URL:\'manage.content.php\',CMD:\'keywords\',VAL:\'' . $f . ',ktitle,listid\'}" >';
                     $h .= kc_icon('d7', $king->lang->get('portal/label/insert')) . '</a>' . kc_help('portal/help/comma', 350, 100);
                     break;
                 case 'ktag':
                     $c[] = array($f, 0, 0, 100);
                     $s = '<input type="text" id="' . $f . '" name="' . $f . '" value="' . htmlspecialchars($data[$f]) . '" class="k_in w400" maxlength="100" />';
                     $h = '<a class="k_ajax" rel="{URL:\'manage.content.php\',CMD:\'tag\',VAL:\'' . $f . ',ktitle,listid\'}" >';
                     $h .= kc_icon('d7', $king->lang->get('portal/label/insert')) . '</a>';
                     $h .= '<a href="manage.tag.php" target="_blank">' . kc_icon('e7', $king->lang->get('system/common/manage')) . '</a>' . kc_help('portal/help/comma', 350, 100);
                     break;
                 case 'kimage':
                     $c[] = array($f, 0, 0, 255);
                     $c[] = array($f, 15, null, $king->config('upimg'));
                     $s = '<input type="text" id="' . $f . '" name="' . $f . '" value="' . htmlspecialchars($data[$f]) . '" class="k_in w400" maxlength="100" />';
                     $h = kc_f_brow('kimage', $king->config('uppath') . '/image/', 0);
                     break;
                 case 'kpath':
                     if ($info['npage'] == 0 && $king->admin['adminmode'] != 0) {
                         //如果生成静态,则
                         $c[] = array($f, 0, 1, 255);
                         $c[] = array($f, 15);
                         if ($data['kid']) {
                             $c[] = array($f, 12, $king->lang->get('portal/tip/isexist1'), $king->db->getRows_one("select kpath from %s__{$model['modeltable']} where kpath='" . $king->db->escape($data['kpath']) . "' and kid<>{$data['kid']};"));
                         } else {
                             $c[] = array($f, 12, $king->lang->get('portal/tip/isexist1'), $king->db->getRows_one("select kpath from %s__{$model['modeltable']} where kpath='" . $king->db->escape($data['kpath']) . "';"));
                         }
                         $s = '<input type="text" id="' . $f . '" name="' . $f . '" value="' . htmlspecialchars($data[$f]) . '" class="k_in w400" maxlength="100" />';
                         $h = '<a id="ckpath" class="k_ajax" rel="{URL:\'manage.content.php\',ID:\'ckpath\',CMD:\'ckre\',obj:\'kpath\',listid:' . $info['listid'] . ',kid:\'' . $data['kid'] . '\',' . $f . ':$(\'#' . $f . '\').val()}" >';
                         $h .= kc_icon('a7', $king->lang->get('system/common/ckre')) . '</a>';
                     } else {
                         return;
                         //						$s=kc_htm_hidden(array($f=>htmlspecialchars($data[$f])));
                     }
                     break;
                 case 'nattrib':
                     $kid = $rs['kid'];
                     $isshow = $is == 1 ? "isadmin{$at}" : "isuser{$at}";
                     if (!($res2 = $king->db->getRows("select * from %s_field where modelid={$info['modelid']} and {$isshow}=1 and kid1={$kid} order by norder,kid;"))) {
                         //全部调用
                         return;
                     }
                     //如果没有可见项,则返回空值
                     $s = '';
                     $c2 = array();
                     $h2 = '';
                     //($s,$c,$h)
                     foreach ($res2 as $rs2) {
                         list($s2, $c2, $h2) = $this->formdecode($rs2, $data, $info, $is, $at, 0);
                         $s .= '<span class="k_field">';
                         if ($rs2['istitle']) {
                             $s .= '<label>' . addslashes($rs2['ktitle']) . '</label>';
                         }
                         $s .= $s2 . '</span>';
                         $c = array_merge($c, $c2);
                         $h .= $h2;
                     }
                     break;
                 case 'kcontent':
                     $c[] = array($f, 0, $rs['nsizemin'], $rs['nsizemax']);
                     $c[] = array($f, 21);
                     if ($is) {
                         $s .= '<span><input type="checkbox" id="isgrab" name="isgrab" ' . (kc_post('isgrab') ? 'checked="true"' : '') . '/><label for="isgrab">' . $king->lang->get('system/common/grab') . '</label>';
                         $s .= '<input type="checkbox" id="isoneimage" name="isoneimage" ' . (kc_post('isoneimage') ? 'checked="true"' : '') . '/><label for="isoneimage">' . $king->lang->get('portal/remove/oneimage') . '</label></span>';
                         //$s.='<input type="checkbox" id="isreplacetag" name="isreplacetag" '.(kc_post('isreplacetag')?'checked="true"':'').'/><label for="isreplacetag">'.$king->lang->get('portal/remove/replacetag').'</label></span>';
                         $s .= '<span><img src="../system/images/white.gif" class="os n4"/>' . $king->lang->get('system/common/filtercode') . '[<input type="checkbox" id="isremovea" name="isremovea" ' . (kc_post('isremovea') ? 'checked="true"' : '') . '/><label for="isremovea">' . $king->lang->get('portal/remove/a') . '</label>';
                         $s .= '<input type="checkbox" id="isremovetable" name="isremovetable" ' . (kc_post('isremovetable') ? 'checked="true"' : '') . '/><label for="isremovetable">' . $king->lang->get('portal/remove/table') . '</label>';
                         $s .= '<input type="checkbox" id="isremovestyle" name="isremovestyle" ' . (kc_post('isremovestyle') ? 'checked="true"' : '') . '/><label for="isremovestyle">' . $king->lang->get('portal/remove/style') . '</label>';
                         $s .= '<input type="checkbox" id="isremoveid" name="isremoveid" ' . (kc_post('isremoveid') ? 'checked="true"' : '') . '/><label for="isremoveid">' . $king->lang->get('portal/remove/id') . '</label>';
                         $s .= '<input type="checkbox" id="isremoveclass" name="isremoveclass" ' . (kc_post('isremoveclass') ? 'checked="true"' : '') . '/><label for="isremoveclass">' . $king->lang->get('portal/remove/class') . '</label>]</span><br/>';
                     }
                     $s .= kc_htm_editor($f, $data[$f], $rs['nstylewidth'], $rs['nstyleheight']);
                     break;
                 case 'krelate':
                     $c = $data[$f] ? array(array($f, 3)) : array();
                     $s = '<input type="hidden" id="' . $f . '" name="' . $f . '" value="' . htmlspecialchars($data[$f]) . '"/>';
                     $s .= '<table class="k_side" cellspacing="0"><tr><td id="krelateshow" class="k_in">';
                     $s .= 'Loading...';
                     $s .= '</td><td>';
                     $s .= '<a class="k_ajax" rel="{URL:\'manage.content.php\',CMD:\'hrelate\',VAL:\'krelate,listid,kid\'}" >' . kc_icon('b7', $king->lang->get('portal/label/relate1')) . '</a>';
                     //手动匹配
                     $s .= '<a class="k_ajax" rel="{URL:\'manage.content.php\',ID:\'krelateshow\',CMD:\'relate\',VAL:\'ktitle,listid,kid\'}">' . kc_icon('c7', $king->lang->get('portal/label/relate0')) . '</a>';
                     //自动匹配
                     $s .= kc_help('portal/help/relate');
                     $s .= '</td></tr></table>';
                     $s .= "<script>function krelateshow(){\$.kc_ajax('{URL:\\'manage.content.php\\',CMD:\\'relateload\\',ID:\\'krelateshow\\',VAL:\\'krelate,listid\\'}')};krelateshow();</script>";
                     break;
                 case 'kdescription':
                     $c[] = array($f, 0, 0, 255);
                     $s = '<textarea rows="4" cols="100" class="k_in w400" name="' . $f . '" maxlength="255" >' . htmlspecialchars($data[$f]) . '</textarea>';
                     break;
                 case 'nprice':
                     $c[] = array($f, 0, 1, 11);
                     $c[] = array($f, 3);
                     $s = '<input type="text" id="' . $f . '" name="' . $f . '" value="' . htmlspecialchars($data[$f]) . '" class="k_in w100" maxlength="11" />';
                     $h = kc_htm_setvalue_nl($f, $rs['koption']);
                     break;
                 case 'nweight':
                     $c[] = array($f, 0, 1, 11);
                     $c[] = array($f, 2);
                     $s = '<input type="text" id="' . $f . '" name="' . $f . '" value="' . htmlspecialchars($data[$f]) . '" class="k_in w100" maxlength="11" />';
                     $h = kc_htm_setvalue_nl($f, $rs['koption']) . kc_help('portal/help/weight');
                     break;
                 case 'nnumber':
                     $c[] = array($f, 0, 1, 11);
                     $c[] = array($f, 2);
                     $s = '<input type="text" id="' . $f . '" name="' . $f . '" value="' . htmlspecialchars($data[$f]) . '" class="k_in w100" maxlength="11" />';
                     $h = kc_htm_setvalue_nl($f, $rs['koption']);
                     break;
                 default:
                     if (in_array($f, array('nshow', 'nhead', 'ncommend', 'nup', 'nfocus', 'nhot'))) {
                         $c[] = array($f, 20, null, array(0, 1));
                         //						kc_error(print_r($data,1));
                         $checked = empty($data[$f]) ? '' : ' checked="checked"';
                         $s = '<input' . $checked . ' type="checkbox" id="' . $f . '" name="' . $f . '" value="1" />';
                         $s .= '<label for="' . $f . '">' . htmlspecialchars($rs['ktitle']) . '</label>';
                     }
             }
             break;
             //value="'.htmlspecialchars($data[$f]).'"
             //$rs='ktitle,kfield,ntype,nvalidate,nsizemin,nsizemax,kdefault,koption,nstylewidth,nstyleheight,nupfile,issearch,isshow';
         //value="'.htmlspecialchars($data[$f]).'"
         //$rs='ktitle,kfield,ntype,nvalidate,nsizemin,nsizemax,kdefault,koption,nstylewidth,nstyleheight,nupfile,issearch,isshow';
         case 1:
             //单行文本
             $c[] = array($f, 0, $rs['nsizemin'], $rs['nsizemax']);
             if ($rs['nvalidate'] != 0) {
                 $c[] = array($f, $rs['nvalidate']);
             }
             $s = '<input type="text" name="' . $f . '" id="' . $f . '" value="' . htmlspecialchars($data[$f]) . '" class="k_in" style="width:' . $rs['nstylewidth'] . 'px;" maxlength="' . $rs['nsizemax'] . '" />';
             $h = $this->help($rs['kid'], $rs['khelp']) . kc_htm_setvalue_nl($f, $rs['koption']);
             break;
         case 2:
             //多行文本 (不支持编辑器)
             $c[] = array($f, 0, $rs['nsizemin'], $rs['nsizemax']);
             $s = '<table class="k_side" cellspacing="0"><tr><td><textarea name="' . $f . '" class="k_in" style="width:' . $rs['nstylewidth'] . 'px;height:' . $rs['nstyleheight'] . 'px;" >' . htmlspecialchars($data[$f]) . '</textarea></td><td>' . $this->help($rs['kid'], $rs['khelp']) . '</td></tr></table>';
             break;
         case 3:
             //多行文本 (支持编辑器)
             $c[] = array($f, 0);
             $c[] = array($f, 21);
             $s = '<table class="k_side" cellspacing="0"><tr><td>' . kc_htm_editor($f, $data[$f]) . '</td><td>' . $this->help($rs['kid'], $rs['khelp']) . '</td></tr></table>';
             break;
         case 4:
             //单选 (下拉列表)
             $c[] = array($f, 0, 0, 255);
             $array_def = explode(NL, $rs['koption']);
             $array_select = array();
             foreach ($array_def as $val) {
                 if (isset($val[0])) {
                     //不能为空值
                     $array_val = explode('|', $val, 2);
                     if (count($array_val) > 1) {
                         //有分割符号
                         $array_select[$array_val[0]] = $array_val[1];
                     } else {
                         $array_select[$val] = $val;
                     }
                 }
             }
             $c[] = array($f, 20, null, array_keys($array_select));
             $s = kc_htm_select($f, $array_select, $data[$f]);
             $h = $this->help($rs['kid'], $rs['khelp']);
             break;
         case 5:
             //单选 (radio)
             $c[] = array($f, 0, 0, 255);
             $array_def = explode(NL, $rs['koption']);
             $array_radio = array();
             foreach ($array_def as $val) {
                 if (isset($val[0])) {
                     //不能为空值
                     $array_val = explode('|', $val, 2);
                     if (count($array_val) > 1) {
                         //有分割符号
                         $array_radio[$array_val[0]] = $array_val[1];
                     } else {
                         $array_radio[$val] = $val;
                     }
                 }
             }
             $c[] = array($f, 20, null, array_keys($array_radio));
             $s = kc_htm_radio($f, $array_radio, $data[$f]);
             $h = $this->help($rs['kid'], $rs['khelp']);
             break;
         case 6:
             //多选 (多选列表)
             $c[] = array($f, 0, 0, 255);
             $array_def = explode(NL, $rs['koption']);
             $array_select = array();
             foreach ($array_def as $val) {
                 if (isset($val[0])) {
                     //不能为空值
                     $array_val = explode('|', $val, 2);
                     if (count($array_val) > 1) {
                         //有分割符号
                         $array_select[$array_val[0]] = $array_val[1];
                     } else {
                         $array_select[$val] = $val;
                     }
                 }
             }
             $array_keys = array_keys($array_select);
             //可选值,但需要再加一个空值进去
             $array_keys[''] = '';
             $c[] = array($f, 23, null, $array_keys);
             $s = kc_htm_select($f, $array_select, $data[$f], ' multiple="multiple" style="width:' . $rs['nstylewidth'] . 'px;height:' . $rs['nstyleheight'] . 'px;"');
             $h = $this->help($rs['kid'], $rs['khelp']);
             break;
         case 7:
             //复选框
             $c[] = array($f, 0, 0, 255);
             $array_def = explode(NL, $rs['koption']);
             $array_radio = array();
             foreach ($array_def as $val) {
                 if (isset($val[0])) {
                     //不能为空值
                     $array_val = explode('|', $val, 2);
                     if (count($array_val) > 1) {
                         //有分割符号
                         $array_radio[$array_val[0]] = $array_val[1];
                     } else {
                         $array_radio[$val] = $val;
                     }
                 }
             }
             $array_keys = array_keys($array_radio);
             //可选值,但需要再加一个空值进去
             $array_keys[''] = '';
             $c[] = array($f, 23, null, $array_keys);
             $s = kc_htm_checkbox($f, $array_radio, $data[$f]);
             $h = $this->help($rs['kid'], $rs['khelp']);
             break;
         case 8:
             //文件上传(图片类型)
             $c[] = array($f, 0, $rs['nsizemin'], $rs['nsizemax']);
             $s = '<input type="text" name="' . $f . '" id="' . $f . '" value="' . htmlspecialchars($data[$f]) . '" class="k_in" style="width:' . $rs['nstylewidth'] . 'px;" maxlength="' . $rs['nsizemax'] . '" />';
             $h = kc_f_brow($f, $king->config('uppath') . '/image', 0) . $this->help($rs['kid'], $rs['khelp']) . kc_htm_setvalue_nl($f, $rs['koption']);
             break;
         case 9:
             //图片列表
             $c[] = array($f, 0, $rs['nsizemin'], $rs['nsizemax']);
             // class="w800"
             $s = kc_htm_hidden(array($f => $data[$f]));
             $src = $king->lang->get('portal/label/imgsrc');
             $alt = $king->lang->get('portal/label/imgalt');
             $s .= kc_htm_input("S{$f}", $src, 400, 400, " onClick=\"\$(this).val(this.value=='{$src}'?'':this.value)\"") . "<br/>";
             $s .= kc_htm_input("A{$f}", $alt, 400, 300, " onClick=\"\$(this).val(this.value=='{$alt}'?'':this.value)\"");
             $s .= " <input type=\"button\" value=\"" . $king->lang->get('system/common/add') . "\" id=\"B{$f}\" />";
             // onClick=\"F$f()\"
             $s .= "<div id=\"W{$f}\" class=\"imglist\" style=\"width:{$rs['nstylewidth']}px\"></div>";
             //JavaScript中判断Src值是否为远程图像,如果是的话,则直接抓取图片到本地
             $s .= "<script>\r\n\t\t\t\t//点击“添加”按钮的时候的效果\r\n\t\t\t\tfunction F{$f}(){\r\n\t\t\t\t\tvar t=String.fromCharCode(9);\r\n\t\t\t\t\tvar S=\$('#S{$f}').val().replace(t,'');\r\n\t\t\t\t\tvar A=\$('#A{$f}').val().replace(t,'');\r\n\t\t\t\t\t//判断是否填写图片地址\r\n\t\t\t\t\tif(S=='' || S=='{$src}'){\r\n\t\t\t\t\t\talert('" . $king->lang->get('portal/error/notimgsrc') . "');\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif(A=='' || A=='{$alt}') A=S;\r\n\t\t\t\t\tvar s=S+t+A;\r\n\t\t\t\t\tvar ss=\$('#{$f}').val();\r\n\t\t\t\t\t//如果S为空,则提示错误\r\n\t\t\t\t\tif(ss==''){\r\n\t\t\t\t\t\t\$('#{$f}').val(s);\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\t//判断图片是否已经存在\r\n\t\t\t\t\t\tvar ss_1=ss.split(t+t);\r\n\t\t\t\t\t\tvar ss_2,src;\r\n\t\t\t\t\t\tfor(i=0;i<ss_1.length;i++){\r\n\t\t\t\t\t\t\tss_2=ss_1[i].split(t);\r\n\t\t\t\t\t\t\tsrc=ss_2[0];\r\n\t\t\t\t\t\t\tif(src==S){\r\n\t\t\t\t\t\t\t\talert('" . $king->lang->get('portal/error/retimgsrc') . "');\r\n\t\t\t\t\t\t\t\t\$('#S{$f}').val('');\r\n\t\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\$('#{$f}').val(ss+t+t+s);\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\$('#S{$f}').val('');\r\n\t\t\t\t\t\$('#A{$f}').val('');\r\n\t\t\t\t\tS{$f}();\r\n\t\t\t\t}\r\n\t\t\t\t//显示数据\r\n\t\t\t\tfunction S{$f}(){\r\n\t\t\t\t\tvar t=String.fromCharCode(9);\r\n\t\t\t\t\tvar ss=\$('#{$f}').val();\r\n\t\t\t\t\tif(ss==''){\r\n\t\t\t\t\t\t\$('#W{$f}').html('');\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tvar s='';\r\n\t\t\t\t\tvar ss_1=ss.split(t+t);\r\n\t\t\t\t\tvar ss_2,alt,src;\r\n\t\t\t\t\tfor(i=0;i<ss_1.length;i++){\r\n\t\t\t\t\t\tss_2=ss_1[i].split(t);\r\n\t\t\t\t\t\tsrc=ss_2[0];\r\n\t\t\t\t\t\talt=ss_2[1];\r\n\r\n\t\t\t\t\t\ts+='<span class=\"img\" title=\"'+alt+'\">';\r\n\t\t\t\t\t\ts+='<a href=\"javascript:;\" onClick=\"E{$f}('+i+')\" class=\"img\" title=\"" . $king->lang->get('system/common/edit') . "\">';\r\n\t\t\t\t\t\ts+='<img class=\"img\" src=\"'+(ss_2[0].match(/^[a-zA-Z]{3,10}:\\/\\/[^\\s]+\$/) ? ss_2[0] : '../'+ss_2[0])+'\"/>';\r\n\t\t\t\t\t\ts+='</a>';\r\n\r\n\t\t\t\t\t\ts+='<a class=\"title\" href=\"javascript:;\" onClick=\"D{$f}('+i+')\" title=\"" . $king->lang->get('system/common/del') . "\">';\r\n\t\t\t\t\t\ts+=\$.kc_icon('j2')+alt;\r\n\t\t\t\t\t\ts+='</a>';\r\n\t\t\t\t\t\ts+='</span>';\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\$('#W{$f}').html(s);\r\n\t\t\t\t}\r\n\t\t\t\t//删除图片\r\n\t\t\t\tfunction D{$f}(num){\r\n\t\t\t\t\tvar t=String.fromCharCode(9);\r\n\t\t\t\t\tvar ss=\$('#{$f}').val();\r\n\t\t\t\t\tif(ss==''){\r\n\t\t\t\t\t\t\$('#W{$f}').html('');\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tvar ss_1=ss.split(t+t);\r\n\t\t\t\t\t\r\n\t\t\t\t\tss_1.splice(num,1);\r\n\r\n\t\t\t\t\t\$('#{$f}').val(ss_1.join(t+t));\r\n\r\n\t\t\t\t\tS{$f}();\r\n\t\t\t\t\t\r\n\t\t\t\t}\r\n\t\t\t\t//编辑图片\r\n\t\t\t\tfunction E{$f}(num){\r\n\t\t\t\t\tvar t=String.fromCharCode(9);\r\n\t\t\t\t\tvar ss=\$('#{$f}').val();\r\n\t\t\t\t\tif(ss=='') return;\r\n\t\t\t\t\tvar ss_1=ss.split(t+t);\r\n\r\n\t\t\t\t\tvar ss_num=ss_1.slice(num,num+1);\r\n\t\t\t\t\tvar ss_2=ss_num[0].split(t);\r\n\r\n\t\t\t\t\t\$('#S{$f}').val(ss_2[0]);\r\n\t\t\t\t\t\$('#A{$f}')\r\n\t\t\t\t\t\t.val(ss_2[1])\r\n\t\t\t\t\t\t.width(250);\r\n\r\n\t\t\t\t\t\$('#B{$f}')\r\n\t\t\t\t\t\t.val('" . $king->lang->get('system/common/up') . "')\r\n\t\t\t\t\t\t.unbind('click')\r\n\t\t\t\t\t\t.click(function(){U{$f}(num)});\r\n\t\t\t\t\tif(!\$('#B{$f}').next('input').length){\r\n\t\t\t\t\t\t\$('#B{$f}').after('<input type=\"button\" value=\"" . $king->lang->get('system/common/cancel') . "\" onClick=\"C{$f}()\"/>');\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\t//提交编辑结果\r\n\t\t\t\tfunction U{$f}(num){\r\n\t\t\t\t\tvar t=String.fromCharCode(9);\r\n\t\t\t\t\tvar ss=\$('#{$f}').val();\r\n\r\n\t\t\t\t\tvar S=\$('#S{$f}').val().replace(t,'');\r\n\t\t\t\t\tvar A=\$('#A{$f}').val().replace(t,'');\r\n\r\n\t\t\t\t\t//判断是否填写图片地址\r\n\t\t\t\t\tif(S=='' || S=='{$src}'){\r\n\t\t\t\t\t\talert('" . $king->lang->get('portal/error/notimgsrc') . "');\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tvar ss_1=ss.split(t+t);\r\n\t\t\t\t\tss_1.splice(num,1,S+t+A);\r\n\r\n\t\t\t\t\t\$('#{$f}').val(ss_1.join(t+t));\r\n\r\n\t\t\t\t\t\$('#S{$f}').val('');\r\n\t\t\t\t\t\$('#A{$f}').val('')\r\n\t\t\t\t\t\t.width(300);\r\n\r\n\t\t\t\t\t\$('#B{$f}').val('" . $king->lang->get('system/common/add') . "')\r\n\t\t\t\t\t\t.unbind('click')\r\n\t\t\t\t\t\t.click(function(){F{$f}()})\r\n\t\t\t\t\t\t.next('input').remove();\r\n\r\n\t\t\t\t\tS{$f}();\r\n\r\n\t\t\t\t}\r\n\t\t\t\t//取消按钮\r\n\t\t\t\tfunction C{$f}(){\r\n\r\n\t\t\t\t\t\$('#S{$f}').val('');\r\n\t\t\t\t\t\$('#A{$f}').val('')\r\n\t\t\t\t\t\t.width(300);\r\n\r\n\t\t\t\t\t\$('#B{$f}').val('" . $king->lang->get('system/common/add') . "')\r\n\t\t\t\t\t\t.unbind('click')\r\n\t\t\t\t\t\t.click(function(){F{$f}()})\r\n\t\t\t\t\t\t.next('input').remove();\r\n\r\n\t\t\t\t}\r\n\t\t\t\tS{$f}();\r\n\t\t\t\t\$('#B{$f}').click(function(){F{$f}()});\r\n\t\t\t\t</script>";
             $h = kc_f_brow("S{$f}", $king->config('uppath') . '/image/', 0, 1, "F{$f}()");
             $h .= $this->help($rs['kid'], $rs['khelp']);
             break;
         case 10:
             //文件上传(文件类型)
             $c[] = array($f, 0, $rs['nsizemin'], $rs['nsizemax']);
             $s = '<input type="text" name="' . $f . '" id="' . $f . '" value="' . htmlspecialchars($data[$f]) . '" class="k_in" style="width:' . $rs['nstylewidth'] . 'px;" maxlength="' . $rs['nsizemax'] . '" />';
             $h = kc_f_brow($f, $king->config('uppath') . '/file/', 1) . $this->help($rs['kid'], $rs['khelp']) . kc_htm_setvalue_nl($f, $rs['koption']);
             break;
         case 11:
             //文件列表
             $c[] = array($f, 0, $rs['nsizemin'], $rs['nsizemax']);
             $s = kc_htm_hidden(array($f => $data[$f]));
             $src = $king->lang->get('portal/label/filesrc');
             $alt = $king->lang->get('portal/label/filealt');
             $s .= kc_htm_input("S{$f}", $src, 400, 400, " onClick=\"\$(this).val(this.value=='{$src}'?'':this.value)\"") . "<br/>";
             $s .= kc_htm_input("A{$f}", $alt, 400, 300, " onClick=\"\$(this).val(this.value=='{$alt}'?'':this.value)\"");
             $s .= " <input type=\"button\" value=\"" . $king->lang->get('system/common/add') . "\" id=\"B{$f}\" />";
             $s .= "<div id=\"W{$f}\" class=\"filelist\" style=\"width:{$rs['nstylewidth']}px\"></div>";
             $s .= "<script>\r\n\t\t\t\t//点击“添加”按钮的时候的效果\r\n\t\t\t\tfunction F{$f}(){\r\n\t\t\t\t\tvar t=String.fromCharCode(9);\r\n\t\t\t\t\tvar S=\$('#S{$f}').val().replace(t,'');\r\n\t\t\t\t\tvar A=\$('#A{$f}').val().replace(t,'');\r\n\t\t\t\t\t//判断是否填写文件地址\r\n\t\t\t\t\tif(S=='' || S=='{$src}'){\r\n\t\t\t\t\t\talert('" . $king->lang->get('portal/error/notimgsrc') . "');\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif(A=='' || A=='{$alt}') A=S;\r\n\t\t\t\t\tvar s=S+t+A;\r\n\t\t\t\t\tvar ss=\$('#{$f}').val();\r\n\t\t\t\t\t//如果S为空,则提示错误\r\n\t\t\t\t\tif(ss==''){\r\n\t\t\t\t\t\t\$('#{$f}').val(s);\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\t//判断文件是否已经存在\r\n\t\t\t\t\t\tvar ss_1=ss.split(t+t);\r\n\t\t\t\t\t\tvar ss_2,src;\r\n\t\t\t\t\t\tfor(i=0;i<ss_1.length;i++){\r\n\t\t\t\t\t\t\tss_2=ss_1[i].split(t);\r\n\t\t\t\t\t\t\tsrc=ss_2[0];\r\n\t\t\t\t\t\t\tif(src==S){\r\n\t\t\t\t\t\t\t\talert('" . $king->lang->get('portal/error/retfilesrc') . "');\r\n\t\t\t\t\t\t\t\t\$('#S{$f}').val('');\r\n\t\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\$('#{$f}').val(ss+t+t+s);\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\$('#S{$f}').val('');\r\n\t\t\t\t\t\$('#A{$f}').val('');\r\n\t\t\t\t\tS{$f}();\r\n\t\t\t\t}\r\n\t\t\t\t//显示数据\r\n\t\t\t\tfunction S{$f}(){\r\n\t\t\t\t\tvar t=String.fromCharCode(9);\r\n\t\t\t\t\tvar ss=\$('#{$f}').val();\r\n\t\t\t\t\tif(ss==''){\r\n\t\t\t\t\t\t\$('#W{$f}').html('');\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tvar s='';\r\n\t\t\t\t\tvar ss_1=ss.split(t+t);\r\n\t\t\t\t\tvar ss_2,alt,src;\r\n\t\t\t\t\tfor(i=0;i<ss_1.length;i++){\r\n\t\t\t\t\t\tss_2=ss_1[i].split(t);\r\n\t\t\t\t\t\tsrc=ss_2[0];\r\n\t\t\t\t\t\talt=ss_2[1];\r\n\r\n\t\t\t\t\t\ts+='<span class=\"file\" title=\"'+alt+'\">';\r\n\r\n\t\t\t\t\t\ts+='<a href=\"javascript:;\" class=\"icon\" onClick=\"D{$f}('+i+')\" title=\"" . $king->lang->get('system/common/del') . "\">';\r\n\t\t\t\t\t\ts+=\$.kc_icon('j2','" . $king->lang->get('system/common/del') . "')+'</a>';\r\n\r\n\t\t\t\t\t\ts+='<a href=\"javascript:;\" onClick=\"E{$f}('+i+')\" class=\"title\" title=\"" . $king->lang->get('system/common/edit') . "\">';\r\n\t\t\t\t\t\ts+=alt;\r\n\t\t\t\t\t\t//s+='<img class=\"file\" src=\"'+(ss_2[0].match(/^[a-zA-Z]{3,10}:\\/\\/[^\\s]+\$/) ? ss_2[0] : '../'+ss_2[0])+'\"/>';\r\n\t\t\t\t\t\ts+='</a>';\r\n\r\n\t\t\t\t\t\ts+='<a title=\"" . $king->lang->get('system/common/down') . "\" class=\"src\" href=\"'+(ss_2[0].match(/^[a-zA-Z]{3,10}:\\/\\/[^\\s]+\$/) ? ss_2[0] : '../'+ss_2[0])+'\">';\r\n\t\t\t\t\t\ts+=\$.kc_icon('e3','" . $king->lang->get('system/common/down') . "');\r\n\t\t\t\t\t\ts+=src+'</a>';\r\n\t\t\t\t\t\ts+='</span>';\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\$('#W{$f}').html(s);\r\n\t\t\t\t}\r\n\t\t\t\t//删除文件\r\n\t\t\t\tfunction D{$f}(num){\r\n\t\t\t\t\tvar t=String.fromCharCode(9);\r\n\t\t\t\t\tvar ss=\$('#{$f}').val();\r\n\t\t\t\t\tif(ss==''){\r\n\t\t\t\t\t\t\$('#W{$f}').html('');\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tvar ss_1=ss.split(t+t);\r\n\t\t\t\t\t\r\n\t\t\t\t\tss_1.splice(num,1);\r\n\r\n\t\t\t\t\t\$('#{$f}').val(ss_1.join(t+t));\r\n\r\n\t\t\t\t\tS{$f}();\r\n\t\t\t\t\t\r\n\t\t\t\t}\r\n\t\t\t\t//编辑图片\r\n\t\t\t\tfunction E{$f}(num){\r\n\t\t\t\t\tvar t=String.fromCharCode(9);\r\n\t\t\t\t\tvar ss=\$('#{$f}').val();\r\n\t\t\t\t\tif(ss=='') return;\r\n\t\t\t\t\tvar ss_1=ss.split(t+t);\r\n\r\n\t\t\t\t\tvar ss_num=ss_1.slice(num,num+1);\r\n\t\t\t\t\tvar ss_2=ss_num[0].split(t);\r\n\r\n\t\t\t\t\t\$('#S{$f}').val(ss_2[0]);\r\n\t\t\t\t\t\$('#A{$f}')\r\n\t\t\t\t\t\t.val(ss_2[1])\r\n\t\t\t\t\t\t.width(250);\r\n\r\n\t\t\t\t\t\$('#B{$f}')\r\n\t\t\t\t\t\t.val('" . $king->lang->get('system/common/up') . "')\r\n\t\t\t\t\t\t.unbind('click')\r\n\t\t\t\t\t\t.click(function(){U{$f}(num)});\r\n\t\t\t\t\tif(!\$('#B{$f}').next('input').length){\r\n\t\t\t\t\t\t\$('#B{$f}').after('<input type=\"button\" value=\"" . $king->lang->get('system/common/cancel') . "\" onClick=\"C{$f}()\"/>');\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\t//提交编辑结果\r\n\t\t\t\tfunction U{$f}(num){\r\n\t\t\t\t\tvar t=String.fromCharCode(9);\r\n\t\t\t\t\tvar ss=\$('#{$f}').val();\r\n\r\n\t\t\t\t\tvar S=\$('#S{$f}').val().replace(t,'');\r\n\t\t\t\t\tvar A=\$('#A{$f}').val().replace(t,'');\r\n\r\n\t\t\t\t\t//判断是否填写图片地址\r\n\t\t\t\t\tif(S=='' || S=='{$src}'){\r\n\t\t\t\t\t\talert('" . $king->lang->get('portal/error/notfilesrc') . "');\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tvar ss_1=ss.split(t+t);\r\n\t\t\t\t\tss_1.splice(num,1,S+t+A);\r\n\r\n\t\t\t\t\t\$('#{$f}').val(ss_1.join(t+t));\r\n\r\n\t\t\t\t\t\$('#S{$f}').val('');\r\n\t\t\t\t\t\$('#A{$f}').val('')\r\n\t\t\t\t\t\t.width(300);\r\n\r\n\t\t\t\t\t\$('#B{$f}').val('" . $king->lang->get('system/common/add') . "')\r\n\t\t\t\t\t\t.unbind('click')\r\n\t\t\t\t\t\t.click(function(){F{$f}()})\r\n\t\t\t\t\t\t.next('input').remove();\r\n\r\n\t\t\t\t\tS{$f}();\r\n\r\n\t\t\t\t}\r\n\t\t\t\t//取消按钮\r\n\t\t\t\tfunction C{$f}(){\r\n\r\n\t\t\t\t\t\$('#S{$f}').val('');\r\n\t\t\t\t\t\$('#A{$f}').val('')\r\n\t\t\t\t\t\t.width(300);\r\n\r\n\t\t\t\t\t\$('#B{$f}').val('" . $king->lang->get('system/common/add') . "')\r\n\t\t\t\t\t\t.unbind('click')\r\n\t\t\t\t\t\t.click(function(){F{$f}()})\r\n\t\t\t\t\t\t.next('input').remove();\r\n\r\n\t\t\t\t}\r\n\t\t\t\tS{$f}();\r\n\t\t\t\t\$('#B{$f}').click(function(){F{$f}()});\r\n\t\t\t\t</script>";
             /*
             $s='<input type="hidden" id="'.$f.'" name="'.$f.'" value="'.htmlspecialchars($data[$f]).'"/><br/>';
             $s.='<input type="hidden" id="'.$f.'_temp" name="'.$f.'_temp"/>';
             $s.='<table class="k_side" cellspacing="0"><tr><td id="k'.$f.'show" class="k_in filelist" style="width:'.$rs['nstylewidth'].'px;height:'.$rs['nstyleheight'].'px;">';
             $s.='Loading...';
             $s.='</td></tr></table>';
             $h=kc_f_brow($f.'_temp',$king->config('uppath').'/file/',1,1,$jsfun='k'.$f.'show();');
             
             $s.="<script>function k{$f}js(title,file,label){var s='<span class=\"file\" title=\"'+title+'\">";
             $s.="<a class=\"img k_ajax\" href=\"javascript:;\" rel=\"{CMD:\'filetitle\',file:\''+file+'\',label:\''+label+'\',VAL:\''+label+','+label+'_temp,listid\',METHOD:\'GET\'}\">";
             $s.="<img class=\"file\" src=\"../'+file+'\"/></a>";
             $s.="<em class=\"title\">";
             $s.="<a class=\"k_ajax\" href=\"javascript:;\" rel=\"{CMD:\'filesdel\',delfile:\''+file+'\',label:\''+label+'\',VAL:\''+label+','+label+'_temp,listid\',IS:1}\">";
             $s.="'+\$.kc_icon('j2')+'</a>'+title+'</em></span>';return s;};";
             
             $s.="function k{$f}show(){\$.kc_ajax('{URL:\'manage.content.php\',ID:\'k{$f}show\',CMD:\'filesload\',label:\'{$f}\',VAL:\'{$f}_temp,{$f},listid\'}')};k{$f}show();</script>";
             */
             $h = kc_f_brow("S{$f}", $king->config('uppath') . '/file/', 1, 1, "F{$f}()");
             $h .= $this->help($rs['kid'], $rs['khelp']);
             break;
         case 12:
             //颜色框
             $c[] = array($f, 0, 7, 7);
             $c[] = array($f, 13);
             //			$s='<table class="k_side" cellspacing="0"><tr><td><input class="k_in k_color" type="text" id="'.$f.'" name="'.$f.'" value="'.htmlspecialchars($data[$f]).'" '.(kc_validate($data[$f],13)?' style="background:'.$data[$f].'"':'').' maxlength="7" /></td>';
             //			$s.='<td>'.kc_f_color($f).'</td></tr></table>';
             $s = '<input class="k_in w50" type="text" id="' . $f . '" name="' . $f . '" value="' . htmlspecialchars($data[$f]) . '" ' . (kc_validate($data[$f], 13) ? ' style="background:' . $data[$f] . '"' : '') . ' maxlength="7" />';
             $s .= kc_f_color($f);
             //"<a href=\"javascript:;\" class=\"k_color\" rel=\"{id:'{$f}'}\"><img src=\"../system/images/white.gif\" class=\"os a8\"/></a>";
             break;
         case 13:
             //是/否
             $c[] = array($f, 20, null, array('', 1));
             $checked = $data[$f] ? ' checked="checked"' : '';
             $s = '<input' . $checked . ' type="checkbox" id="' . $f . '" name="' . $f . '" value="1" />';
             $s .= '<label for="' . $f . '">' . ($group ? $king->lang->get('system/common/selectyes') : htmlspecialchars($rs['ktitle'])) . '</label>';
             break;
         case 14:
             //日期
             //			$c[]=array($f,9);
             $c[] = array($f, 0, $rs['nsizemin'], $rs['nsizemax']);
             if ($rs['nvalidate'] != 0) {
                 $c[] = array($f, $rs['nvalidate']);
             }
             $date = $data[$f] == 'TODAY' ? kc_formatdate(time(), "Y-m-d") : $data[$f];
             $s = kc_htm_input($f, $date, 30, 100);
             $s .= "<a href=\"javascript:;\" class=\"k_calendar\" rel=\"{id:'{$f}'}\"><img src=\"../system/images/white.gif\" class=\"os k9\"/></a>";
             /*
             $h="<script>";//<script type=\"text/javascript\" src=\"../system/js/calendar.js\"></script>
             for($i=0;$i<7;$i++){
             	$h.="k_lang['week{$i}']='".$king->lang->get('system/time/week'.$i)."';";
             }
             $h.="$.kc_calendar('{$f}')</script>";
             */
             break;
         case 99:
             $kid = $rs['kid'];
             $isshow = $is == 1 ? "isadmin{$at}" : "isuser{$at}";
             if (!($res2 = $king->db->getRows("select * from %s_field where modelid={$info['modelid']} and {$isshow}=1 and kid1={$kid} order by norder,kid;"))) {
                 //全部调用
                 return;
             }
             //若没有可见项,返回空值
             $s = '';
             $c2 = array();
             $h2 = '';
             //($s,$c,$h)
             foreach ($res2 as $rs2) {
                 list($s2, $c2, $h2) = $this->formdecode($rs2, $data, $info, $is, $at, 2);
                 $s .= '<span class="k_field">';
                 if ($rs2['istitle']) {
                     $s .= '<label>' . addslashes($rs2['ktitle']) . '</label>';
                 }
                 $s .= $s2 . '</span>';
                 $c = array_merge($c, $c2);
                 $h .= $h2;
             }
             break;
         default:
             $s = $rs['ktitle'] . '=' . $rs['ntype'];
     }
     if ($group == 1) {
         if ($is == 1) {
             //后台调用
             if ($rs['ntype'] == 0 && $f == 'nattrib' || $rs['ntype'] == 99) {
                 //组输出,不需要标签
                 return $king->htmForm($rs['ktitle'], $s, $c, '', $h);
             } else {
                 return $king->htmForm($rs['ktitle'], $s, $c, substr($f, 1), $h);
             }
         } else {
             return $king->htmForm($rs['ktitle'], $s, $c);
         }
     } else {
         //组调用
         if ($is == 1) {
             return array($s, $c, $h);
         } else {
             return array($s, $c, '');
         }
     }
     //	return $htmlForm;
 }
Esempio n. 17
0
/**
	添加/编辑碎片
*/
function king_ajax_edt()
{
    global $king;
    $king->access('dbquery_edt');
    $kid = kc_get('kid', 2);
    $sql = "kid,kname,ntype,dbhost,dbname,dbfile,dbuser,dbpass,dbcharset";
    $array_sql = explode(',', $sql);
    if ($GLOBALS['ismethod'] || empty($kid) || kc_post('reset') == 1) {
        //若kid为空,则添加
        $data = $_POST;
        if (!$GLOBALS['ismethod']) {
            //预置项
            $data['ntype'] = isset($_POST['ntype']) ? $_POST['ntype'] : 1;
        }
    } else {
        //编辑数据,从数据库读出
        if (!($data = $king->db->getRows_one("select {$sql} from %s_dbquery where kid={$kid} limit 1"))) {
            kc_error($king->lang->get('system/error/notrecord'));
        }
    }
    $data = kc_data($array_sql, $data);
    //ntype
    $array_type = array(1 => 'MySQL', 2 => 'SQLite');
    $exp = " onClick=\"\$('#ntype').val(\$(this).val());setTimeout('\$.kc_ajax({URL:\\'../dbquery/manage.php\\',CMD:\\'edt\\',IS:1,METHOD:\\'GET\\',kid:\\'{$kid}\\',reset:1})',50)\" ";
    $s = $king->htmForm($king->lang->get('dbquery/label/type'), kc_htm_radio('ntype_show', $array_type, $data['ntype'], $exp));
    $s .= kc_htm_hidden(array('ntype' => $data['ntype']));
    //kname
    $array = array(array('kname', 0, 1, 50));
    //验证重复值
    if (empty($kid)) {
        $array[] = array('kname', 12, $king->lang->get('dbquery/error/name'), $king->db->getRows_one("select kid from %s_dbquery where kname='" . $king->db->escape($data['kname']) . "'"));
    } else {
        $array[] = array('kname', 12, $king->lang->get('dbquery/error/name'), $king->db->getRows_one("select kid from %s_dbquery where kname='" . $king->db->escape($data['kname']) . "' and kid<>{$kid}"));
    }
    $s .= $king->htmForm($king->lang->get('dbquery/label/name'), kc_htm_input('kname', $data['kname'], 50, 200), $array);
    if ($data['ntype'] == 1) {
        //mysql
        //dbhost
        $array = array(array('dbhost', 0, 1, 50));
        $s .= $king->htmForm($king->lang->get('dbquery/label/dbhost'), kc_htm_input('dbhost', $data['dbhost'], 50, 400), $array);
        //dbname
        $array = array(array('dbname', 0, 1, 50));
        $s .= $king->htmForm($king->lang->get('dbquery/label/dbname'), kc_htm_input('dbname', $data['dbname'], 50, 400), $array);
        //dbuser
        $array = array(array('dbuser', 0, 1, 50));
        $s .= $king->htmForm($king->lang->get('dbquery/label/dbuser'), kc_htm_input('dbuser', $data['dbuser'], 50, 200), $array);
        //dbpass
        $array = array(array('dbpass', 0, 0, 50));
        $s .= $king->htmForm($king->lang->get('dbquery/label/dbpass'), kc_htm_input('dbpass', $data['dbpass'], 50, 200), $array);
        //dbcharset
        $array = array(array('dbcharset', 0, 0, 50));
        $array_charset = array('UTF-8' => 'UTF-8', 'GBK' => 'GBK');
        $s .= $king->htmForm($king->lang->get('dbquery/label/dbcharset'), kc_htm_select('dbcharset', $array_charset, $data['dbcharset']), $array);
        $height = 340;
    } else {
        //dbfile
        $array = array(array('dbfile', 0, 4, 50), array('dbfile', 12, $king->lang->get('dbquery/error/dbfile'), !is_file(ROOT . $data['dbfile'])));
        $s .= $king->htmForm($king->lang->get('dbquery/label/dbfile'), kc_htm_input('dbfile', $data['dbfile'], 50, 400), $array);
        $height = 160;
    }
    if ($GLOBALS['ischeck']) {
        if ($data['ntype'] == 1) {
            $array = array('ntype' => 1, 'kname' => $data['kname'], 'dbhost' => $data['dbhost'], 'dbname' => $data['dbname'], 'dbuser' => $data['dbuser'], 'dbpass' => $data['dbpass'], 'dbcharset' => $data['dbcharset']);
        } else {
            $array = array('ntype' => 2, 'kname' => $data['kname'], 'dbfile' => $data['dbfile']);
        }
        if (empty($kid)) {
            //insert
            $array['norder'] = $king->db->neworder('%s_dbquery');
            $king->db->insert('%s_dbquery', $array);
        } else {
            $king->db->update('%s_dbquery', $array, "kid={$kid}");
        }
        $king->cache->del("dbquery/info/{$data['kname']}");
        kc_ajax('OK', "<p class=\"k_ok\">" . $king->lang->get('system/ok/' . (empty($kid) ? 'add' : 'edt')) . "</p>", 1);
    }
    $tit = $king->lang->get('dbquery/title/' . (empty($kid) ? 'add' : 'edt'));
    $but = kc_htm_a($king->lang->get("system/common/" . (empty($kid) ? 'add' : 'edit')), "{URL:'../dbquery/manage.php',CMD:'edt',kid:'{$kid}',IS:1}");
    kc_ajax($tit, $s, $but, '', 440, $height + $GLOBALS['check_num'] * 15);
}
Esempio n. 18
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);
}
Esempio n. 19
0
function king_ajax_orders()
{
    global $king;
    //显示物流方式选择页,并显示对应的物流费用
    //订单insert到数据库,并返回订单号。以便客户查询订单,也为邮政付款的用户提供收据上传功能
    //清空购物记录
    $king->Load('user');
    $tip = ($user = $king->user->checkLogin()) ? '' : '<a href="javascript:;" class="k_user_login">' . $king->lang->get('portal/user/nologin') . '</a> <a href="javascript:;" class="k_user_register">' . $king->lang->get('portal/user/regshop') . '</a>';
    $array_sql = array('usermail', 'realname', 'useraddress', 'userpost', 'usertel', 'kfeedback');
    if ($GLOBALS['ismethod']) {
        $data = $_POST;
    } else {
        $data = array();
        if (is_array($user)) {
            //用户已登录
            foreach ($array_sql as $val) {
                $data[$val] = kc_val($user, $val);
            }
        }
    }
    $data = kc_data($array_sql, $data);
    //kconsignee
    $array = array(array('realname', 0, 2, 30));
    $s = $king->htmForm($king->lang->get('portal/orders/realname'), kc_htm_input('realname', $data['realname'], 30, 100), $array, null, $tip);
    //ktel
    $array = array(array('usertel', 0, 6, 30));
    $s .= $king->htmForm($king->lang->get('portal/orders/tel'), kc_htm_input('usertel', $data['usertel'], 30, 200), $array);
    //kmail
    $array = array(array('usermail', 0, 6, 32), array('usermail', 5));
    $s .= $king->htmForm($king->lang->get('portal/orders/mail'), kc_htm_input('usermail', $data['usermail'], 32, 200), $array);
    //kaddress
    $array = array(array('useraddress', 0, 5, 250));
    $s .= $king->htmForm($king->lang->get('portal/orders/address'), '<textarea cols="10" id="useraddress" name="useraddress" rows="3" class="k_in w400">' . htmlspecialchars($data['useraddress']) . '</textarea>', $array);
    //kpost
    $array = array(array('userpost', 0, 6, 6), array('userpost', 2));
    $s .= $king->htmForm($king->lang->get('portal/orders/post'), kc_htm_input('userpost', $data['userpost'], 6, 50), $array);
    //kfeedback
    $array = array(array('kfeedback', 0, 0, 255));
    $s .= $king->htmForm($king->lang->get('portal/orders/feedback'), '<textarea cols="10" rows="4" name="kfeedback" id="kfeedback" class="k_in w400">' . htmlspecialchars($data['kfeedback']) . '</textarea>', $array);
    if ($GLOBALS['ischeck']) {
        $cart = kc_cookie('KingCMS_Cart');
        $eid = kc_post('eid');
        if (!($cart && isset($eid))) {
            kc_error($king->lang->get('system/error/param'));
        }
        $weight = 0;
        $total = 0;
        $nnum = 0;
        $cart_array = unserialize($cart);
        //要过滤掉的内容
        $array_black = str_split('<>\'"%');
        foreach ($cart_array as $key => $number) {
            list($listid, $kid) = explode('-', $key);
            $ID = $king->portal->infoID($listid, $kid);
            if ($total === 0) {
                //第一次运算
                $mch_name = kc_substr(str_replace($array_black, '', $ID['ktitle']), 0, 16);
            }
            $weight += $number * $ID['nweight'];
            $total += $number * $ID['nprice'];
            $nnum += $number;
        }
        $nexpress = 0;
        //运费
        if ($weight !== 0) {
            $express = $king->portal->getExpress();
            $nexpress = $express[$eid]['nsprice'] + $express[$eid]['niprice'] * ceil($weight > 500 ? $weight / 500 - 1 : 0);
        }
        $ono = kc_formatdate(time(), 'Ymd') . sprintf("%08.0d", $king->db->neworder('%s_orders', '', 'oid'));
        $array = array('kname' => $mch_name, 'userid' => is_array($user) ? $user['userid'] : 0, 'kcontent' => $cart, 'ndate' => time(), 'nip' => kc_getip(), 'eid' => $eid, 'ntotal' => round($total, 2), 'ono' => $ono, 'nnumber' => $nnum, 'kfeedback' => $data['kfeedback'], 'nweight' => $weight, 'nexpress' => $nexpress);
        foreach ($array_sql as $val) {
            $array[$val] = kc_val($data, $val);
        }
        $oid = $king->db->insert('%s_orders', $array);
        setcookie('KingCMS_Cart', '', -86400000, $king->config('inst'));
        $js = "\$.kc_ajax('{URL:\\'" . $king->config('inst') . "portal/cart.php\\',CMD:\\'payment\\',IS:1,oid:{$oid}}')";
        kc_ajax('', '', '', $js);
    }
    $but = kc_htm_a($king->lang->get('portal/cart/backcart'), "{URL:'" . $king->config('inst') . "portal/cart.php',CMD:'buy',IS:1}");
    $but .= kc_htm_a($king->lang->get('portal/cart/suborders'), "{URL:'" . $king->config('inst') . "portal/cart.php',CMD:'orders',eid:" . kc_post('eid') . ",IS:1}");
    kc_ajax($king->lang->get('portal/cart/suborders'), $s, $but, '', 600, 350 + $GLOBALS['check_num'] * 15);
}
Esempio n. 20
0
function king_edt()
{
    global $king;
    $king->access('portal_content_edt');
    //初始化
    $listid = kc_get('listid', 2, 1);
    //$info['listid'];
    $info = $king->portal->infoList($listid);
    $model = $king->portal->infoModel($info['modelid']);
    //	kc_error('<pre>'.print_r($array_field,1));
    $kid = kc_get('kid', 2);
    $kid1 = kc_get('kid1', 2);
    $isadmin = $kid1 ? 'isadmin2' : 'isadmin1';
    //次页:首页
    $array_field = array_keys($model['field'][$isadmin]);
    $sql_field = implode(',', $array_field);
    //[tablemodel]字段调用
    //	$listid=kc_get('listid',2);
    if ($GLOBALS['ismethod'] || $kid == '') {
        //POST过程或新添加的过程
        $data = $_POST;
        if (!$GLOBALS['ismethod']) {
            //初始化新添加的数据
            $data['kpath'] = $king->portal->depathMode($info);
            $data['nshow'] = 1;
            $array_field_default = $model['field']['default'];
            foreach ($array_field_default as $key => $val) {
                $data[$key] = $val;
            }
        }
    } else {
        //编辑数据,从数据库读出
        if (!($data = $king->db->getRows_one('select ' . $sql_field . ' from %s__' . $model['modeltable'] . ' where kid=' . $kid . ' limit 1;'))) {
            kc_error($king->lang->get('system/error/param') . '<br/>select ' . $sql_field . ' from %s__' . $model['modeltable'] . ' where kid=' . $kid . ' limit 1;' . '<br/>File:' . basename(__FILE__) . ';Line:' . __LINE__);
        }
    }
    $data = kc_data($array_field, $data);
    $data['kid'] = $kid;
    if (!($res = $king->db->getRows("select * from %s_field where modelid={$info['modelid']} and {$isadmin}=1 and kid1=0 order by norder,kid;"))) {
        //全部调用
        $res = array();
    }
    $s = $king->openForm('manage.content.php?action=edt');
    $s .= kc_htm_hidden(array('listid' => $listid, 'kid' => $kid, 'kid1' => $kid1));
    //这个隐藏域不要放在下面
    //kc_error("select * from %s_field where modelid={$info['modelid']} and {$isshow}=1 and kid1=0 order by norder,kid;");
    //kc_error('<pre>'.print_r($res,1));
    foreach ($res as $rs) {
        $s .= $king->portal->formdecode($rs, $data, $info, 1, $kid1 ? 2 : 1);
    }
    $s .= $king->htmForm($king->lang->get('portal/common/exp'), kc_htm_checkbox('pag', array(1 => $king->lang->get('portal/goto/addpag')), kc_post('pag')));
    $s .= $king->closeForm('save');
    //数据处理
    if ($GLOBALS['ischeck']) {
        $_array = array();
        //设置为空数组
        //收集字段的值
        foreach ($array_field as $val) {
            if (in_array($val, array('nshow', 'nhead', 'ncommend', 'nup', 'nfocus', 'nhot')) || array_key_exists($val, $model['field']['offon'])) {
                //增加判断offon
                $_array[$val] = $data[$val] ? 1 : 0;
            } else {
                if (is_array($data[$val])) {
                    $_array[$val] = implode(',', $data[$val]);
                } else {
                    $_array[$val] = $data[$val];
                }
                //抓图和过滤链接
                if ($val == 'kcontent') {
                    if (kc_post('isgrab')) {
                        //抓图
                        $_array[$val] = kc_grab($_array[$val]);
                    }
                    if (kc_post('isremovea')) {
                        //过滤链接
                        $_array[$val] = preg_replace('/<a ([^>]*)>|<\\/a>/is', '', $_array[$val]);
                    }
                    if (kc_post('isremovetable')) {
                        //过滤表格
                        $_array[$val] = preg_replace('/<(table|tbody|thead|tr|td|th|caption) ?([^>]*)>|<\\/(table|tbody|thead|tr|td|th|caption)>/is', '', $_array[$val]);
                    }
                    if (kc_post('isremovestyle')) {
                        //过滤样式
                        $_array[$val] = preg_replace('/(<([^>]*))( style=)(["\'])(.*?)\\4(([^>]*)\\/?>)/is', '$1 $6', $_array[$val]);
                    }
                    if (kc_post('isremoveid')) {
                        //过滤样式
                        $_array[$val] = preg_replace('/(<([^>]*))( id=)(["\'])(.*?)\\4(([^>]*)\\/?>)/is', '$1 $6', $_array[$val]);
                    }
                    if (kc_post('isremoveclass')) {
                        //过滤样式
                        $_array[$val] = preg_replace('/(<([^>]*))( class=)(["\'])(.*?)\\4(([^>]*)\\/?>)/is', '$1 $6', $_array[$val]);
                    }
                }
            }
        }
        if (in_array('kimage', $_array) && in_array('kcontent', $_array)) {
            //如果有选择第一个图作为缩略图 并 kimage在列表里
            if (kc_post('isoneimage')) {
                //抓第一张图为缩略图
                if ($oneimage = preg_match('/(<img([^>]*))( src=)(["\'])(.*?)\\4(([^>]*)\\/?>)/is', $_array['kcontent'], $oneimage_array)) {
                    $smartimg = $oneimage_array[5];
                    if (is_file(ROOT . substr($smartimg, strlen($king->config('inst'))))) {
                        //判断是否为本地文件
                        $_array['kimage'] = substr($smartimg, strlen($king->config('inst')));
                    } else {
                        //若是远程文件,则抓取
                        if ($path = kc_grab_get($smartimg)) {
                            //抓取成功
                            if ($path != $smartimg) {
                                //值不一样,说明抓取成功
                                $_array['kimage'] = $path;
                            }
                        }
                    }
                }
            }
        }
        //listid & kid1
        $_array['listid'] = $data['listid'];
        $_array['kid1'] = $data['kid1'] ? $data['kid1'] : 0;
        /**
        		检查kpath是否在键名列表里,如果有则判断是否为空值
        		如果没有,则补充
        */
        if (empty($_array['kpath'])) {
            $_array['kpath'] = $king->portal->depathMode($info);
        }
        /**
        		检查kkeywords,如果没有,则自动补充其值
        		如果有,则更新列表
        */
        $_array['kkeywords'] = !empty($data['kkeywords']) ? $king->portal->getKey($_array['ktitle'], $_array['kkeywords']) : $king->portal->getKey($_array['ktitle']);
        /**
        	关键字替换功能的实现概论
        	从$_array['kkeywords']中获得关键字列表,从预置的[关键字链接页/待做的表]中查找相关关键字
        	kname 关键字
        	kkeywords 关键字相关关键字
        	kpath 关键字链接网址
        	preg_replace('',$rs['kpath'],$_array['kcontent'],1);
        */
        /**
        		检查ktag,如果没有,则自动补充其值
        		如果有,则更新列表
        */
        $_array['ktag'] = !empty($data['ktag']) ? $king->portal->getTag($_array['ktitle'], $_array['ktag']) : $king->portal->gettag($_array['ktitle']);
        /**
        		如果description值为空,则从content中获取
        */
        if (empty($data['kdescription']) && !empty($data['kcontent'])) {
            $kdescription = strip_tags($data['kcontent']);
            $kdescription = preg_replace('/(\\&[a-z]{1,6};)|\\s/', '', $kdescription);
            $_array['kdescription'] = kc_substr($kdescription, 0, 200);
        }
        //副标题长度
        $_array['nsublength'] = isset($data['ksubtitle']) ? kc_strlen($data['ksubtitle']) : 0;
        //更新时间
        $_array['nlastdate'] = time();
        //如果有kid1值,则对kid1对应的nlastdate进行更新
        if ($kid1) {
            $king->db->update('%s__' . $model['modeltable'], array('nlastdate' => time()), 'kid=' . $kid1);
        }
        //图片框写远程路径的时候,抓图
        foreach ($model['field']['image'] as $key => $val) {
            if (isset($_array[$key])) {
                //当有image类型的字段的时候,检查一下其值
                if (kc_validate($_array[$key], 6)) {
                    //若为网址类型的话,自动抓图到本地
                    $_array[$key] = kc_grab_get($_array[$key]);
                }
            }
        }
        //添加&更新数据
        if ($kid) {
            //update
            $king->db->update('%s__' . $model['modeltable'], $_array, 'kid=' . $kid);
            $_nlog = 7;
        } else {
            $_array['ndate'] = time();
            $_array['adminid'] = $king->admin['adminid'];
            $_array['userid'] = -1;
            $_array['norder'] = $king->db->neworder('%s__' . $model['modeltable']);
            //不同的浏览器不同的分页标签,前台不支持
            switch (strtolower($king->admin['admineditor'])) {
                case 'fckeditor':
                    $pagebreak = '<div style="page-break-after: always"><span style="display: none">&nbsp;</span></div>';
                    break;
                case 'tiny_mce':
                    $pagebreak = '<!-- pagebreak -->';
                    break;
                case 'edit_area':
                    $pagebreak = '<!-- pagebreak -->';
                    break;
            }
            if (isset($pagebreak) && isset($_array['kcontent'])) {
                $array = explode($pagebreak, $_array['kcontent']);
                foreach ($array as $key => $val) {
                    $_array['kcontent'] = $val;
                    $_array['norder']++;
                    if ($key === 0) {
                        //第一个
                        $kid = $king->db->insert('%s__' . $model['modeltable'], $_array);
                    } else {
                        $_array['kpath'] = $king->portal->depathMode($info);
                        $_array['kid1'] = $data['kid1'] ? $data['kid1'] : $kid;
                        $king->db->insert('%s__' . $model['modeltable'], $_array);
                    }
                }
            } else {
                $kid = $king->db->insert('%s__' . $model['modeltable'], $_array);
            }
            $_nlog = 5;
            if ($kid == 0) {
                kc_error($king->lang->get('system/error/insert') . kc_clew(__FILE__, __LINE__, nl2br(print_r($_array, 1))));
            }
        }
        //更新列表信息
        $king->portal->lastUpdated($listid, 'list');
        //删除缓存重建缓存
        $king->cache->del('portal/list/' . $listid);
        kc_f_delete($king->config('xmlpath', 'portal') . '/portal/' . $info['modelid'] . '/' . wordwrap($kid, 1, '/', 1) . '.xml');
        $id = $king->portal->infoID($listid, $kid);
        if ($kid1) {
            kc_f_delete($king->config('xmlpath', 'portal') . '/portal/' . $info['modelid'] . '/' . wordwrap($kid1, 1, '/', 1) . '.xml');
            $id = $king->portal->infoID($listid, $kid1);
        }
        //生成操作
        if ($info['npage'] == 0) {
            if ($info['npagenumber'] == 1) {
                $king->portal->createPage($listid, $kid1 ? $kid1 : $kid);
                //$listid,$kid,$pid=1,$is=null
                $subkid = $id['subkid'];
                if ($subkid) {
                    $subid = explode(',', $subkid);
                    foreach ($subid as $sid) {
                        $king->portal->createPage($listid, $sid);
                    }
                }
            } else {
                $pcount = ceil($id['ncount'] / $info['npagenumber']);
                for ($i = 1; $i <= $pcount; $i++) {
                    $king->portal->createPage($listid, $kid1 ? $kid1 : $kid, $i);
                }
            }
        }
        //写log
        $king->log($_nlog, $model['modeltable'] . ':' . $data['ktitle']);
        //		if(kc_post('pag')[0]==1){
        if (kc_post('pag') == 1) {
            $s = kc_goto($king->lang->get('system/goto/saveok'), 'manage.content.php?action=edtpag&listid=' . $data['listid'] . '&kid1=' . ($kid1 ? $kid1 : $kid));
        } else {
            if ($kid1) {
                kc_goto($king->lang->get('system/goto/is'), 'manage.content.php?action=edtpag&listid=' . $data['listid'] . '&kid1=' . $kid1, 'manage.content.php?action=pag&listid=' . $data['listid'] . '&kid1=' . $kid1);
            } else {
                kc_goto($king->lang->get('system/goto/is'), 'manage.content.php?action=edt&listid=' . $data['listid'], 'manage.content.php?listid=' . $data['listid']);
            }
        }
    }
    list($left, $right) = king_inc_list();
    $king->skin->output($info['ktitle'], $left, $right, $s);
}
Esempio n. 21
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);
}
Esempio n. 22
0
function king_ajax_repass()
{
    global $king;
    //adminname
    $array = array(array('readminname', 0, 2, 12), array('readminname', 1));
    $s = "<p class=\"k_htm\"><label>" . $king->lang->get('system/admin/name') . "</label><input class=\"k_in w150\" type=\"text\" value=\"" . kc_post('readminname') . "\" id=\"readminname\" name=\"readminname\"/>";
    $s .= kc_check($array);
    $s .= "</p>";
    //adminpass
    $array = array(array('readminpass', 0, 6, 30));
    $s .= "<p class=\"k_htm\"><label>" . $king->lang->get('system/admin/pass') . "</label><input class=\"k_in w150\" type=\"text\" value=\"" . kc_post('readminpass') . "\" id=\"readminpass\" name=\"readminpass\"/>";
    $s .= kc_check($array);
    $s .= "</p>";
    //but
    $but = "<a href=\"javascript:;\" class=\"k_ajax\" rel=\"{CMD:'repass',IS:1}\">" . $king->lang->get('system/common/save') . "</a>";
    if ($GLOBALS['ischeck']) {
        //POST过程或新添加的过程
        if (!$king->db->getRows_one("SELECT * FROM %a_admin where adminname='" . kc_post('readminname') . "';")) {
            $king->db->insert('%a_admin', array('adminname' => kc_post('readminname'), 'adminpass' => md5(kc_post('readminpass')), 'adminlevel' => 'admin', 'adminlanguage' => 'zh-cn', 'admineditor' => 'fckeditor', 'admindate' => time(), 'adminlogin' => '../system/manage.php'));
        } else {
            $king->db->update('%a_admin', array("adminpass" => md5(kc_post('readminpass')), 'adminlevel' => 'admin'), "adminname='" . kc_post('readminname') . "'");
        }
        kc_ajax('OK', '<p class="k_ok">' . $king->lang->get('system/ok/save') . '</p>');
    }
    kc_ajax($king->lang->get('system/install/repwd'), $s, $but, null, 250, 120 + $GLOBALS['check_num'] * 15);
}
Esempio n. 23
0
function king_ajax_list_addeditor()
{
    global $king;
    $king->access('portal_editor_edt');
    $listid = kc_get('listid', 2, 1);
    //kc_error($listid);
    $array = array(array('username', 0, 3, 15));
    if (kc_post('username')) {
        $array[] = array('username', 12, $king->lang->get('user/check/notuser'), !($res = $king->db->getRows_one("select userid from %s_user where username='******'username')) . "';")));
        if ($res) {
            $array[] = array('username', 12, $king->lang->get('user/check/repeatuser'), $king->db->getRows_one("select kid from %s_list_editor where userid={$res['userid']} and listid={$listid}"));
        }
    }
    $s = $king->htmForm($king->lang->get('portal/user/name'), kc_htm_input('username', kc_post('username'), 15, 150), $array);
    $s .= $king->htmForm($king->lang->get('portal/label/issub'), '<span><input id="issub" name="issub" type="checkbox" value="1"/><label for="issub">' . $king->lang->get('portal/help/issub') . '</label></span>');
    if ($GLOBALS['ischeck']) {
        $array = array('userid' => $res['userid'], 'issub' => kc_post('issub') ? 1 : 0, 'listid' => $listid);
        $king->db->insert('%s_list_editor', $array);
        $js = "\$.kc_ajax('{CMD:\\'list_editor\\',listid:{$listid},IS:1}')";
        kc_ajax('', '', '', $js);
    }
    $but = $king->db->getRows("select kid from %s_list_editor where listid={$listid}") ? kc_htm_a($king->lang->get('portal/title/listeditor'), "{CMD:'list_editor',listid:{$listid},IS:1}") : '';
    $but .= kc_htm_a($king->lang->get('system/common/add'), "{CMD:'list_addeditor',listid:{$listid},IS:1}");
    kc_ajax($king->lang->get('portal/title/listeditoredt'), $s, $but, '', 400, 120 + $GLOBALS['check_num'] * 15);
}