zoukankan      html  css  js  c++  java
  • destoon7.0会员模块+产品供应模块发布接口

       分享一个destoon7.0会员模块+产品供应模块发布接口,希望对大家有帮助!

      

    <?php
    @set_time_limit(0);
    define('DT_ADMIN', true);
    define('DT_MEMBER', true);
    require 'common.inc.php';
    require DT_ROOT.'/admin/global.func.php';
    require DT_ROOT.'/include/post.func.php';
    require_once DT_ROOT.'/include/cache.func.php';
    require_once DT_ROOT.'/include/module.func.php';
    require DT_ROOT.'/module/member/member.class.php';
    require DT_ROOT.'/module/sell/sell.class.php';
    require DT_ROOT . '/include/remote.class.php';
    /****************配置信息华丽的分割线***************/
    $config = array
    (
        '注册邮件后缀'	=>			'qq.com|||126.com|||163.com',		//多个用|||分割
        '注册用户名'			=>			'a_123456|||b_123456|||c_123456|||d_123456|||e_123456|||f_123456|||g_123456',
        //发布用户名,把想充当发布的用户名放到这里,用|||分割,用户名不需要在系统已经存在,如果没有会自动注册
        //跟系统格式相同不可有中文字符,用户名应为小写字母(a-z)、数字(0-9)、下划线(_)、中划线(-)组合
        '用户密码'			=>			'',								//新注册用户的密码
        '用户密码参数'		=>			'jksdjfs',						//用户密码参数,建议随意修改
        '分隔符'				=>			'|||',							//采集器标签循环的分隔符
    );
    /****************配置信息华丽的分割线***************/
    
    /**
     * 验证接口密码
     */
    $pw = '123456';//默认接口密码,此接口放在服务器上时,为了你的服务器安全请及时修改此密码参数
    if(strcmp($_GET['pw'] , $pw)){
        exit('接口密码错误!');
    }
    /**
     * 获取行业分类列表
     */
    if(isset($_GET['getList'])){
        echo category_select('list', '请选择行业分类', 0, 5);
        exit;
    }
    //die;
    /**
     * 企业用户注册
     */
    $do = new member;
    $user = explode($config['分隔符'], $config['注册用户名']);
    $username = !empty($_POST['username']) ? $_POST['username'] : '';
    if(empty($username)){
        $username = $user[rand(0,count($user)-1)].substr(md5(time()),1,6);
    }
    if($do->username_exists($username)){
        echo('该用户名已经存在!');
    }else {
        if(!$do->is_username($username)){
            exit('用户名不合法!');
        }
        $md5 = md5($username.$config['用户密码参数']);
        if(!empty($config['用户密码'])){
            $password = $config['用户密码'];
        }else{
            $password = substr($md5, 20);
        }
        if(empty($config['注册邮件后缀'])){
            $mail_ext = '@126.com';
        }else{
            $mail_arr = explode('|||', $config['注册邮件后缀']);
            $mail_ext = '@'.$mail_arr[rand(0 , count($mail_arr)-1)];
        }
        $email = !empty($_POST['email']) ? $_POST['email'] : '';
        if(empty($email)) {
            $email = substr($md5, 0, 6) . $mail_ext;
        }
        if (!$do->is_email($email)) {
            exit('邮箱不合法!');
        }
        if ($do->email_exists($email)) {
            exit('该邮箱已被注册');
        }
        $company = !empty($_POST['company']) ? $_POST['company'] : '';
        if(empty($company)) {
            $company  = '合肥信息技术有限公司'.substr(md5(time()),0,6);
        }
        if (empty($company)) {
            exit('公司名不可为空!');
        }
        if (!$do->is_company($company)) exit('公司名不合法!');
        if ($do->company_exists($company)) exit('公司名已经存在,请更换!');
        $session = new dsession();
        $_SESSION['regemail'] = md5(md5($email . DT_KEY . $DT_IP));
        $member = array();
        $_POST['regid'] = 6;
        $data = $_POST;
        $member['mobile'] = isset($data['mobile']) ? $data['mobile'] : '';
        $member['qq'] = isset($data['qq']) ? $data['qq'] : '';
        $member['groupid'] = $data['regid'];
        $member['passport'] = $member['username'] = $username;
        $member['email'] = $email;
        $member['password'] = $member['cpassword'] = $password;
        $member['edittime'] = $DT_TIME;
        $member['inviter'] = $username;
        $member['truename'] = !empty($data['truename']) ? $data['truename'] : $username;
        $member['gender'] = !empty($data['gender']) ? (strcmp($data['gender'],'男') ? 0: 1 ) : 1;
        $member['areaid'] = 1;
        $member['company'] = $company;
        $member['type'] = !empty($data['type']) ? $data['type'] : '企业单位';
        $member['catid'] = ',3,';
        $member['business'] = !empty($data['business']) ? $data['business'] : '制造业';
        $member['business'] = '人民币';
        $member['regyear'] = !empty($data['regyear']) ? $data['regyear'] : '2010';
        $member['address'] = !empty($data['address']) ? $data['address'] : '公司地址为空';
        $member['telephone'] = !empty($data['telephone']) ? $data['telephone'] : '0551-62864156-606';
        $member['introduce'] = !empty($data['introduce']) ? $data['introduce'] : '我公司经过多年的发展,逐渐在本行业发展成为领头企业';
        $MFD = cache_read('fields-member.php');
        $CFD = cache_read('fields-company.php');
        isset($post_fields) or $post_fields = array();
        if ($MFD || $CFD) require DT_ROOT . '/include/fields.func.php';
        if ($MFD) fields_check($post_fields, $MFD);
        if ($CFD) fields_check($post_fields, $CFD);
        $MOD['introduce_length'] = 0;
        $uid = $do->add($member);
        if ($uid) {
            echo '企业用户注册成功!';
        } else {
            exit('企业用户注册失败!');
        }
    }
    /***企业用户注册完毕*/
    /**
     * 行业分类处理
     */
    //echo category_select('category[parentid]', '请选择行业分类', 0, 5);
    if(!empty($_POST['cid'])){
        $pid = $_POST['cid'];
    }
    if(!empty($_POST['catname'])) {
        $do = new category(5,0);
        $table = $DT_PRE . 'category';
        $cat_arr = $_POST['catname'];
        $catArr = explode('|||', $cat_arr);
        $pid = 0;
        foreach($catArr as $catname) {
            if (!$catname) exit('分类名不能为空');
            isset($catname) or $catname = '';
            if (!$catname || strpos($catname, "
    ") !== false) exit('');
            if (strtoupper(DT_CHARSET) != 'UTF-8') $catname = convert($catname, 'UTF-8', DT_CHARSET);
            $catdir = $do->get_letter($catname, false);
            if ($do->get_catdir($catdir)) {
                $catgory = array();
                $catgory['catname'] = $catname;
                $catgory['catdir'] = $catdir;
                $catgory['letter'] = substr($catdir, 0, 1);
                $catgory['parentid'] = $pid;
                $pid = categoryAdd($catgory, $table);
                echo $catname.'此行业分类添加成功!';
            } else {
                $arr = catList();
                foreach($arr as $key){
                    if(strcmp($key['catname'],$catname) == 0){
                        $pid = $key['catid'];
                        break;
                    }
                }
                echo '已存在此行业分类!';
                continue;
            }
        }
    }
    /**
     * 行业分类处理完毕
     */
    
    /**
     * 图片上传处理
     */
    if(!empty($_POST['remotePic'])) {
        $remotePic = explode('|||', $_POST['remotePic']);
        $num = count($remotePic);
        $remoteUrl = array();
        if ($num > 0) {
            $i = 0;
            for ($i; $i < $num; $i++) {
                $remote = isset($remotePic[$i]) ? trim($remotePic[$i]) : '';
                $uploaddir = 'file/upload/' . timetodate($DT_TIME, $DT['uploaddir']) . '/';
                $from = 'album';
                is_dir(DT_ROOT . '/' . $uploaddir) or dir_create(DT_ROOT . '/' . $uploaddir);
                if ($remote && strlen($remote) > 17 && strpos($remote, '://') !== false) {
                    $do = new remote($remote, $uploaddir);
                    if ($do->save()) {
                        $session = new dsession();
                        $limit = intval($MG['uploadlimit']);
                        $total = isset($_SESSION['uploads']) ? count($_SESSION['uploads']) : 0;
                        if ($limit && $total > $limit - 1) {
                            file_del(DT_ROOT . '/' . $do->saveto);
                            $errmsg = 'Error(5)' . lang('message->upload_limit', array($limit));
                            if ($swfupload) exit(convert($errmsg, DT_CHARSET, 'utf-8'));
                            dalert($errmsg, '', $errjs);
                        }
                        $img_info = @getimagesize(DT_ROOT . '/' . $do->saveto);
                        if (in_array($do->ext, array('jpg', 'jpeg', 'gif', 'png', 'bmp', 'swf'))) {
                            $upload_bad = 0;
                            if ($img_info) {
                                $upload_mime = array('jpg' => 'image/jpeg', 'jpeg' => 'image/jpeg', 'gif' => 'image/gif', 'png' => 'image/png', 'bmp' => 'image/bmp', 'swf' => 'application/x-shockwave-flash');
                                if ($img_info['mime'] != $upload_mime[$do->ext]) $upload_bad = 1;
                            } else {
                                $upload_bad = 1;
                            }
                            if ($upload_bad) {
                                file_del(DT_ROOT . '/' . $do->saveto);
                                $errmsg = 'Error(6)' . lang('message->upload_bad');
                                if ($swfupload) exit(convert($errmsg, DT_CHARSET, 'utf-8'));
                                dalert($errmsg, '', $errjs);
                            }
                        }
                        if (in_array($do->ext, array('jpg', 'jpeg')) && $img_info['channels'] == 4) {
                            file_del(DT_ROOT . '/' . $do->saveto);
                            $errmsg = 'Error(7)' . lang('message->upload_cmyk');
                            if ($swfupload) exit(convert($errmsg, DT_CHARSET, 'utf-8'));
                            dalert($errmsg, '', $errjs);
                        }
                        $img_w = $img_h = 0;
                        if ($do->image) {
                            require DT_ROOT . '/include/image.class.php';
                            if ($do->ext == 'gif' && in_array($from, array('thumb', 'album', 'photo'))) {
                                if (!function_exists('imagegif') || !function_exists('imagecreatefromgif')) {
                                    file_del(DT_ROOT . '/' . $do->saveto);
                                    $errmsg = 'Error(8)' . lang('message->upload_jpg');
                                    if ($swfupload) exit(convert($errmsg, DT_CHARSET, 'utf-8'));
                                    dalert($errmsg, '', $errjs);
                                }
                            }
                            if ($DT['bmp_jpg'] && $do->ext == 'bmp') {
                                require DT_ROOT . '/include/bmp.func.php';
                                $bmp_src = DT_ROOT . '/' . $do->saveto;
                                $bmp = imagecreatefrombmp($bmp_src);
                                if ($bmp) {
                                    $do->saveto = str_replace('.bmp', '.jpg', $do->saveto);
                                    $do->ext = 'jpg';
                                    imagejpeg($bmp, DT_ROOT . '/' . $do->saveto);
                                    file_del($bmp_src);
                                    if (DT_CHMOD) @chmod(DT_ROOT . '/' . $do->saveto, DT_CHMOD);
                                }
                            }
                            $img_w = $img_info[0];
                            $img_h = $img_info[1];
                            if ($DT['max_image'] && in_array($from, array('editor', 'album', 'photo'))) {
                                if ($img_w > $DT['max_image']) {
                                    $img_h = intval($DT['max_image'] * $img_h / $img_w);
                                    $img_w = $DT['max_image'];
                                    $image = new image(DT_ROOT . '/' . $do->saveto);
                                    $image->thumb($img_w, $img_h);
                                }
                            }
                            if ($from == 'thumb') {
                                if ($width && $height) {
                                    $image = new image(DT_ROOT . '/' . $do->saveto);
                                    $image->thumb($width, $height, $DT['thumb_title']);
                                    $img_w = $width;
                                    $img_h = $height;
                                    $do->file_size = filesize(DT_ROOT . '/' . $do->saveto);
                                }
                            } else if ($from == 'album' || $from == 'photo') {
                                $saveto = $do->saveto;
                                $do->saveto = $do->saveto . '.thumb.' . $do->ext;
                                file_copy(DT_ROOT . '/' . $saveto, DT_ROOT . '/' . $do->saveto);
                                $middle = $saveto . '.middle.' . $do->ext;
                                file_copy(DT_ROOT . '/' . $saveto, DT_ROOT . '/' . $middle);
                                if ($DT['water_type'] == 2) {
                                    $image = new image(DT_ROOT . '/' . $saveto);
                                    $image->waterimage();
                                } else if ($DT['water_type'] == 1) {
                                    $image = new image(DT_ROOT . '/' . $saveto);
                                    $image->watertext();
                                }
                                if ($DT['water_type'] && $DT['water_com'] && $_groupid > 5) {
                                    $image = new image(DT_ROOT . '/' . $saveto);
                                    $image->text = $_company;
                                    $image->pos = 5;
                                    $image->watertext();
                                }
                                if ($from == 'photo') $DT['thumb_album'] = 0;
                                $image = new image(DT_ROOT . '/' . $do->saveto);
                                $image->thumb($width, $height, $DT['thumb_album']);
                                $image = new image(DT_ROOT . '/' . $middle);
                                $image->thumb($DT['middle_w'], $DT['middle_h'], $DT['thumb_album']);
                                if ($DT['water_middle'] && $DT['water_type']) {
                                    if ($DT['water_type'] == 2) {
                                        $image = new image(DT_ROOT . '/' . $middle);
                                        $image->waterimage();
                                    } else if ($DT['water_type'] == 1) {
                                        $image = new image(DT_ROOT . '/' . $middle);
                                        $image->watertext();
                                    }
                                }
                            } else if ($from == 'editor') {
                                if ($_groupid == 1 && !isset($watermark)) $DT['water_type'] = 0;
                                if ($DT['water_type']) {
                                    $image = new image(DT_ROOT . '/' . $do->saveto);
                                    if ($DT['water_type'] == 2) {
                                        $image->waterimage();
                                    } else if ($DT['water_type'] == 1) {
                                        $image->watertext();
                                    }
                                }
                            }
                        }
                        $remoteUrl[$i] = linkurl($do->saveto);
                        echo '图片处理成功!';
                    }
                }
            }
        }
    }
    //print_r($remoteUrl);
    //die;
    /**图片处理结束*****/
    
    /**
     * 发布供应信息处理
     */
    
    $do = new sell(5);
    $post['catid'] = $pid;
    $post['typeid'] = !empty($_POST['typeid']) ? $_POST['typeid'] : 0;
    $post['level'] = 1;
    $post['title'] = !empty($_POST['title']) ? $_POST['title'] : '供应测试标题';
    $post['brand'] = !empty($_POST['brand']) ? $_POST['brand'] : '';
    $post['content'] = !empty($_POST['content']) ? $_POST['content'] : '';
    $post['thumb'] = isset($remoteUrl[0]) ? $remoteUrl[0] : '';
    $post['thumb1'] = isset($remoteUrl[1]) ? $remoteUrl[1] : '';
    $post['thumb2'] = isset($remoteUrl[2]) ? $remoteUrl[2] : '';
    $post['totime'] = '';//过期时间
    $post['n1'] = !empty($_POST['n1']) ? $_POST['n1'] : '';
    $post['v1'] = !empty($_POST['n1']) && !empty($_POST['v1']) ? $_POST['v1'] : '';
    $post['n2'] = !empty($_POST['n2']) ? $_POST['n2'] : '';
    $post['v2'] = !empty($_POST['n2']) && !empty($_POST['v2']) ? $_POST['v2'] : '';
    $post['n3'] = !empty($_POST['n3']) ? $_POST['n3'] : '';
    $post['v3'] = !empty($_POST['n3']) && !empty($_POST['v3']) ? $_POST['v3'] : '';
    $post['username']  = $username;
    $post['elite'] = !empty($_POST['elite']) ? $_POST['elite'] : 1;
    $post['fee'] = !empty($_POST['fee']) ? (is_numeric($_POST['fee'])? $_POST['fee'] :0) : 0;
    $post['unit'] = !empty($_POST['unit']) ? $_POST['unit'] : '';
    if(!empty($_POST['unit'])){
        $post['price'] = !empty($_POST['price']) ? $_POST['price'] : '';
        $post['minamount'] = !empty($_POST['minamount']) ? $_POST['minamount'] : '';
        $post['amount'] = !empty($_POST['amount']) ? $_POST['amount'] : '';
        $post['days'] = !empty($_POST['days']) ? $_POST['days'] : '';
    }
    $post['status'] = 3;
    $post['addtime'] = date('Y-m-d H:i:s',time());
    if($do->pass($post)) {
        $do->table = $DT_PRE . 'sell_5';
        $do->moduleid = 5;
        $do->table_search = $DT_PRE . 'sell_search_5';
        $MOD['split'] = 1;
        $do->add($post);
        $update = '';
        $update .= "hits='2'";
        $linkurl = 'show.php?itemid='."$do->itemid";
        $update .= ",linkurl='$linkurl'";
        $do->db->query("UPDATE {$do->table} SET ".$update." WHERE itemid=$do->itemid");
        if($do->itemid){
            exit('供应信息发布成功!');
        }else{
            exit('供应信息发布失败1!');
        }
    } else {
        exit('供应信息发布失败!');
    }
    
    /**
     * Class category
     */
    class category {
        var $moduleid;
        var $catid;
        var $category = array();
        var $db;
        var $table;
    
        function category($moduleid = 1, $catid = 0) {
            global $db, $DT_PRE, $CATEGORY;
            $this->moduleid = $moduleid;
            $this->catid = $catid;
            if(!isset($CATEGORY)) $CATEGORY = cache_read('category-'.$this->moduleid.'.php');
            $this->category = $CATEGORY;
            $this->table = $DT_PRE.'category';
            $this->db = &$db;
        }
    
        function add($category)	{
            $category['moduleid'] = 5;
            $category['letter'] = preg_match("/^[a-z]{1}+$/i", $category['letter']) ? strtolower($category['letter']) : '';
            $category['group_list'] = '3,5,6,7';
            $category['group_show'] = '3,5,6,7';
            $category['group_add'] = '3,5,6,7';
            $sqlk = $sqlv = '';
            foreach($category as $k=>$v) {
                $sqlk .= ','.$k; $sqlv .= ",'$v'";
            }
            $sqlk = substr($sqlk, 1);
            $sqlv = substr($sqlv, 1);
            $this->db->query("INSERT INTO {$this->table} ($sqlk) VALUES ($sqlv)");
            $this->catid = $this->db->insert_id();
            if($category['parentid']) {
                $category['catid'] = $this->catid;
                $this->category[$this->catid] = $category;
                $arrparentid = $this->get_arrparentid($this->catid, $this->category);
            } else {
                $arrparentid = 0;
            }
            $catdir = $category['catdir'] ? $category['catdir'] : $this->catid;
            $this->db->query("UPDATE {$this->table} SET listorder=$this->catid,catdir='$catdir',arrparentid='$arrparentid' WHERE catid=$this->catid");
            return $this->catid;
        }
    
        function edit($category) {
            $category['letter'] = preg_match("/^[a-z]{1}+$/i", $category['letter']) ? strtolower($category['letter']) : '';
            if($category['parentid']) {
                $category['catid'] = $this->catid;
                $this->category[$this->catid] = $category;
                $category['arrparentid'] = $this->get_arrparentid($this->catid, $this->category);
            } else {
                $category['arrparentid'] = 0;
            }
            foreach(array('group_list',  'group_show',  'group_add') as $v) {
                $category[$v] = isset($category[$v]) ? implode(',', $category[$v]) : '';
            }
            $category['linkurl'] = '';
            $sql = '';
            foreach($category as $k=>$v) {
                $sql .= ",$k='$v'";
            }
            $sql = substr($sql, 1);
            $this->db->query("UPDATE {$this->table} SET $sql WHERE catid=$this->catid");
            return true;
        }
    
        function delete($catids) {
            if(is_array($catids)) {
                foreach($catids as $catid) {
                    if(isset($this->category[$catid])) $this->delete($catid);
                }
            } else {
                $catid = $catids;
                if(isset($this->category[$catid])) {
                    $this->db->query("DELETE FROM {$this->table} WHERE catid=$catid");
                    $arrchildid = $this->category[$catid]['arrchildid'] ? $this->category[$catid]['arrchildid'] : $catid;
                    $this->db->query("DELETE FROM {$this->table} WHERE catid IN ($arrchildid)");
                    if($this->moduleid > 4) $this->db->query("UPDATE ".get_table($this->moduleid)." SET status=0 WHERE catid IN (".$arrchildid.")");
                }
            }
            return true;
        }
    
        function update($category) {
            if(!is_array($category)) return false;
            foreach($category as $k=>$v) {
                if(!$v['catname']) continue;
                $v['parentid'] = intval($v['parentid']);
                if($k == $v['parentid']) continue;
                if($v['parentid'] > 0 && !isset($this->category[$v['parentid']])) continue;
                $v['listorder'] = intval($v['listorder']);
                $v['level'] = intval($v['level']);
                $v['letter'] = preg_match("/^[a-z0-9]{1}+$/i", $v['letter']) ? strtolower($v['letter']) : '';
                $v['catdir'] = $this->get_catdir($v['catdir'], $k);
                if(!$v['catdir']) $v['catdir'] = $k;
                $this->db->query("UPDATE {$this->table} SET catname='$v[catname]',parentid='$v[parentid]',listorder='$v[listorder]',style='$v[style]',level='$v[level]',letter='$v[letter]',catdir='$v[catdir]' WHERE catid=$k ");
            }
            return true;
        }
    
        function repair() {
            $query = $this->db->query("SELECT * FROM {$this->table} WHERE moduleid='$this->moduleid' ORDER BY listorder,catid");
            $CATEGORY = array();
            while($r = $this->db->fetch_array($query)) {
                $CATEGORY[$r['catid']] = $r;
            }
            $childs = array();
            foreach($CATEGORY as $catid => $category) {
                $CATEGORY[$catid]['arrparentid'] = $arrparentid = $this->get_arrparentid($catid, $CATEGORY);
                $CATEGORY[$catid]['catdir'] = $catdir = preg_match("/^[0-9a-z_-/]+$/i", $category['catdir']) ? $category['catdir'] : $catid;
                $sql = "catdir='$catdir',arrparentid='$arrparentid'";
                if(!$category['linkurl']) {
                    $CATEGORY[$catid]['linkurl'] = listurl($category);
                    $sql .= ",linkurl='$category[linkurl]'";
                }
                $this->db->query("UPDATE {$this->table} SET $sql WHERE catid=$catid");
                if($arrparentid) {
                    $arr = explode(',', $arrparentid);
                    foreach($arr as $a) {
                        if($a == 0) continue;
                        isset($childs[$a]) or $childs[$a] = '';
                        $childs[$a] .= ','.$catid;
                    }
                }
            }
            foreach($CATEGORY as $catid => $category) {
                if(isset($childs[$catid])) {
                    $CATEGORY[$catid]['arrchildid'] = $arrchildid = $catid.$childs[$catid];
                    $CATEGORY[$catid]['child'] = 1;
                    $this->db->query("UPDATE {$this->table} SET arrchildid='$arrchildid',child=1 WHERE catid='$catid'");
                } else {
                    $CATEGORY[$catid]['arrchildid'] = $catid;
                    $CATEGORY[$catid]['child'] = 0;
                    $this->db->query("UPDATE {$this->table} SET arrchildid='$catid',child=0 WHERE catid='$catid'");
                }
            }
            $this->cache($CATEGORY);
            return true;
        }
    
        function get_arrparentid($catid, $CATEGORY) {
            if($CATEGORY[$catid]['parentid'] && $CATEGORY[$catid]['parentid'] != $catid) {
                $parents = array();
                $cid = $catid;
                while($catid) {
                    if($CATEGORY[$cid]['parentid']) {
                        $parents[] = $cid = $CATEGORY[$cid]['parentid'];
                    } else {
                        break;
                    }
                }
                $parents[] = 0;
                return implode(',', array_reverse($parents));
            } else {
                return '0';
            }
        }
    
        function get_arrchildid($catid, $CATEGORY) {
            $arrchildid = '';
            foreach($CATEGORY as $category) {
                if(strpos(','.$category['arrparentid'].',', ','.$catid.',') !== false) $arrchildid .= ','.$category['catid'];
            }
            return $arrchildid ? $catid.$arrchildid : $catid;
        }
    
        function get_catdir($catdir, $catid = 0) {
            if(preg_match("/^[0-9a-z_-/]+$/i", $catdir)) {
                $condition = "catdir='$catdir' AND moduleid='$this->moduleid'";
                if($catid) $condition .= " AND catid!=$catid";
                $r = $this->db->get_one("SELECT catid FROM {$this->table} WHERE $condition");
                if($r) {
                    return '';
                } else {
                    return $catdir;
                }
            } else {
                return '';
            }
        }
    
        function get_letter($catname, $letter = true) {
            return $letter ? strtolower(substr(gb2py($catname), 0, 1)) : str_replace(' ', '', gb2py($catname));
        }
    
        function cache($data = array()) {
            cache_category($this->moduleid, $data);
        }
    }
    function categoryAdd($category = array(),$table){
        require 'common.inc.php';
        global $db;
        $CATEGORY = cache_read('category-5.php');
        $do = new category(5,0);
        if(!$category['catname']) msg('分类名不能为空');
        $category['catname'] = trim($category['catname']);
        $childs = '';
        $catids = array();
        if(strpos($category['catname'], "
    ") === false) {
            $category['catdir'] = $do->get_catdir($category['catdir']);
            $do->add($category);
            $childs .= ','.$do->catid;
            $catids[] = $do->catid;
        } else {
            $catnames = explode("
    ", $category['catname']);
            foreach($catnames as $catname) {
                $catname = trim($catname);
                if(!$catname) continue;
                $category['catname'] = $catname;
                $category['catdir'] = '';
                $category['letter'] = '';
                $category['seo_title'] = '';
                $category['seo_keywords'] = '';
                $category['seo_description'] = '';
                $do->add($category);
                $childs .= ','.$do->catid;
                $catids[] = $do->catid;
            }
        }
        if($category['parentid']) {
            $parents = array();
            $cid = $category['parentid'];
            $parents[] = $cid;
            while(1) {
                if($CATEGORY[$cid]['parentid']) {
                    $parents[] = $cid = $CATEGORY[$cid]['parentid'];
                } else {
                    break;
                }
            }
            foreach($parents as $catid) {
                $arrchildid = $CATEGORY[$catid]['child'] ? $CATEGORY[$catid]['arrchildid'].$childs : $catid.$childs;
                $db->query("UPDATE {$table} SET child=1,arrchildid='$arrchildid' WHERE catid=$catid");
            }
        }
        foreach($catids as $catid) {
            $CATEGORY[$catid] = $db->get_one("SELECT * FROM {$table} WHERE catid=$catid");
            update_category($CATEGORY[$catid]);
        }
        return $do->catid;
    }
    function catList(){
        global $db;
        $condition ="moduleid=5";
        $result = $db->query("SELECT catid,catname,parentid FROM {$db->pre}category WHERE $condition ORDER BY listorder,catid ASC");
        $arr = array();
        $i = 0;
        while($c = $db->fetch_array($result)) {
            $arr[$i++] = $c;
        }
        return $arr;
    }
    

      

  • 相关阅读:
    Dll Hijacker
    PE文件格式学习之PE头移位
    远程线程注入shellcode笔记
    DLL注入之SHELLCODE数据转换
    vc libcurl 模拟上传文件
    Mysql uploader File
    vc 导出函数/调用
    windows 模拟用户会话创建进程
    综合一句话Shell破解
    义牛有灵舍命报恩 力拼强盗感人肺腑
  • 原文地址:https://www.cnblogs.com/68xi/p/12233498.html
Copyright © 2011-2022 走看看