Onlinereg.class.php 6.26 KB
<?php
/**
 * 在线登记
 */
class Controller_Onlinereg extends Controller_Abstract
{
    /**
     * 首页
     */
    public function indexAction()
    {
        
    }
    
    /**
     * 赞助商
     */
    public function sponsorAction()
    {
        $this->_view['type'] = Facade_Onlinereg::TYPE_ONLINE_SPONSOR;
        $this->setSession('yohood', 'type', Facade_Onlinereg::TYPE_ONLINE_SPONSOR);
    }
    
    /**
     * 新闻稿
     */
    public function mediaAction()
    {
        $this->_view['type'] = Facade_Onlinereg::TYPE_ONLINE_MEDIA;
        $this->setSession('yohood', 'type', Facade_Onlinereg::TYPE_ONLINE_MEDIA);
    }
    
    /**
     * 参展商
     */
    public function exhibitorAction()
    {
        $this->_view['type'] = Facade_Onlinereg::TYPE_ONLINE_EXHIBITOR;
        $this->setSession('yohood', 'type', Facade_Onlinereg::TYPE_ONLINE_EXHIBITOR);
    }
    
    /**
     * 设置商家信息
     * 
     * @return json
     */
    public function setsellerAction()
    {
        $code = $this->_request->post('code');
        $type = intval($this->_request->post('type'));
        $status = false;
        if($this->validate($code) && $type == $this->getSession('yohood','type'))
        {
            $name = $this->_request->post('name');
            $is_enter_yohobuy = $this->_request->post('is_enter_yohobuy');
            $profession = $this->_request->post('profession');
            $sex = $this->_request->post('sex');
            $introduction = $this->_request->post('introduction');
            $brand_reg_type = $this->_request->post('brand_reg_type');
            $product_type = $this->_request->post('product_type');
            $country = $this->_request->post('country');
            $city = $this->_request->post('city');
            $company = $this->_request->post('company');
            $place = $this->_request->post('place');
            $contact = $this->_request->post('contact');
            $telphone = $this->_request->post('telphone');
            $mobile = $this->_request->post('mobile');
            $relation = $this->_request->post('relation');
            $email = $this->_request->post('email');
            $is_3c = $this->_request->post('is_3c');
            $website = $this->_request->post('website');
            $zipcode = $this->_request->post('zipcode');
            $files = array();
            if($type == Facade_Onlinereg::TYPE_ONLINE_SPONSOR)//赞助商
            {
                if(empty($name) || empty($contact)|| empty($place))
                {
                    return $this->returnJson(false, 403,'','数据不能为空');
                }
            }
            else if($type == Facade_Onlinereg::TYPE_ONLINE_EXHIBITOR)//参展商
            {
                if(empty($name) || empty($product_type) || empty($contact) || empty($telphone))
                {
                    return $this->returnJson(false, 403,'','数据不能为空');
                }
            }
            else if($type == Facade_Onlinereg::TYPE_ONLINE_MEDIA)//新闻稿
            {
                if(empty($name) || empty($mobile) || empty($place))
                {
                    return $this->returnJson(false, 403,'','数据不能为空');
                }
            }
            if(in_array($type, array(Facade_Onlinereg::TYPE_ONLINE_SPONSOR, Facade_Onlinereg::TYPE_ONLINE_EXHIBITOR)))
            {
                if(!empty($_FILES)) 
                {
                    $path = Lib_Images::saveImage($_FILES, 'onlinereg');
                    if(!empty($path))
                    {
                        $files[] = $path;
                    }
                }
            }
            $status = Facade_Onlinereg::setSellerInfo($name, $type, 0, $is_enter_yohobuy,
                $product_type, $country, $company, $contact, $telphone, $email, 0, $website, 0, $place, $files);
        }
        else 
        {
            return $this->returnJson(false, 403,'','验证失败');
        }
        
        if($status)
        {
            return $this->returnJson(true, 200);
        }
        else
        {
            return $this->returnJson(false, 403);
        }
        
    }
    
    /**
     * 上传文件
     */
    public function uploadfileAction()
    {
        if ($this->_request->isPost())
        {
            $key = $this->_request->query('key', '');
            $key = Util_Utils_Function::base64_str_decode($key);
            $type = $this->_request->query('onlinereg_type');
            // 验证key密钥中是否存在项目
            $keyData = json_decode(Util_Utils_AuthCode::decode($key, Config_File_Upload::$key), true);
            if (!array_key_exists('_project', $keyData))
            {
                return Lib_Utils::result(Config_Code_Upload::$errorValidKey['code'], Config_Code_Upload::$errorValidKey['msg']);
            }
        }
        else
        {
            
        }
    }
    
    /**
     * 验证码
     */
    public function imagesAction()
    {
        $g = trim($this->_request->query('g'));
        $len = intval($this->_request->query('len', 4));
        $namespace = !empty($g) ? $g : 'passport_istration';
        $imgCode = new Util_Captcha();
        $imgCode->setWidth(150)->setHeight(50)->setWordLen($len)->generate($namespace);
    }
    
    
    public function setcodeAction()
    {
        $g = trim($this->_request->query('g'));
        $namespace = !empty($g) ? $g : 'passport_istration';
        Util_Captcha::setToSession($namespace,'123');
       // echo strtolower(Util_Captcha::getFromSession($namespace));
    }
    
    public function getcodeAction()
    {
        $g = trim($this->_request->query('g'));
        $namespace = !empty($g) ? $g : 'passport_istration';
        echo strtolower(Util_Captcha::getFromSession($namespace));
    }
    
    /**
     * 验证code
     * 
     * @param string $code
     * @return boolean
     */
    private function validate($code)
    {
        $code = strtolower($code);
        $g = trim($this->_request->query('g'));
        $namespace = !empty($g) ? $g : 'passport_istration';
        $sessionCode = strtolower(Util_Captcha::getFromSession($namespace));
        Util_Captcha::setToSession('passport_istration', '');
        if($code == $sessionCode)
        {
            return true;
        }
        else
        {
            return true;
        }
    }
}