Ejemplo n.º 1
0
    /**
     * Lists all models.
     */

    public function actionIndex($tempEmail='',$tempPass='')
    {
        $tab='';
        $model=new StudentReg('reguser');
        if(isset($_POST['StudentReg']))
        {
            if(is_null($_POST['StudentReg']['firstName']))
                $this->redirect('courses');

            if(isset($_POST['educformOff']) && $_POST['educformOff'] == '1')
                $_POST['StudentReg']['educform']='Онлайн/Офлайн';
            else $_POST['StudentReg']['educform']='Онлайн';

            $model->attributes=$_POST['StudentReg'];
            $getToken=rand(0, 99999);
            $getTime=date("Y-m-d H:i:s");
            $model->token=sha1($getToken.$getTime);
            if($model->validate())
            {
                if(!empty($_POST['StudentReg']['facebook']))
                {
                    $fURL='https://www.facebook.com/'.$_POST['StudentReg']['facebook'];
                    if(StudentReg::getCorrectURl($fURL))
                        $model->facebook = $fURL;
                    else {
                        $model->addError('facebook','Ви ввели не коректну сторінку');
                        $tab='checked';
                    }
                }
                if(!empty($_POST['StudentReg']['googleplus']))
                {
                    $gURL='https://plus.google.com/'.$_POST['StudentReg']['googleplus'];
                    if(StudentReg::getCorrectURl($gURL))
                        $model->googleplus = $gURL;
                    else {
                        $model->addError('googleplus','Ви ввели не коректну сторінку');
                        $tab='checked';
                    }
                }
                if(!empty($_POST['StudentReg']['linkedin']))
                {
                    $lURL='https://www.linkedin.com/'.$_POST['StudentReg']['linkedin'];
                    if(StudentReg::getCorrectURl($lURL))
                        $model->linkedin = $lURL;
                    else {
                        $model->addError('linkedin','Ви ввели не коректну сторінку');
                        $tab='checked';
                    }
                }
                if(!empty($_POST['StudentReg']['vkontakte']))
                {
                    $vURL='http://vk.com/'.$_POST['StudentReg']['vkontakte'];
                    if(StudentReg::getCorrectURl($vURL))
                        $model->vkontakte = $vURL;
                    else {
                        $model->addError('vkontakte','Ви ввели не коректну сторінку');
                        $tab='checked';
                    }
                }
                if(!empty($_POST['StudentReg']['twitter']))
                {
                    $tURL='https://twitter.com/'.$_POST['StudentReg']['twitter'];
                    if(StudentReg::getCorrectURl($tURL))
                        $model->twitter = $tURL;
                    else {
                        $model->addError('twitter','Ви ввели не коректну сторінку');
                        $tab='checked';
                    }
                }
                if($_FILES["upload"]["size"] > 1024*1024*5)
                {
                    Yii::app()->user->setFlash('avatarmessage',Yii::t('error','0302'));
                }elseif (is_uploaded_file($_FILES["upload"]["tmp_name"]))
                {
                    $ext = substr(strrchr( $_FILES["upload"]["name"],'.'), 1);
                    $_FILES["upload"]["name"]=uniqid().'.'.$ext;
                    copy($_FILES['upload']['tmp_name'], Yii::getpathOfAlias('webroot')."/images/avatars/".$_FILES['upload']['name']);
                    $model->avatar=$_FILES["upload"]["name"];
                }
                if ($model->hasErrors()) {
                    $this->render("studentreg", array('model'=>$model,'tab'=>$tab));
                } else{
                    $model->save();
                    $subject=Yii::t('activeemail','0298');
                    $headers="Content-type: text/plain; charset=utf-8 \r\n" . "From: IntITA";
                    $text=Yii::t('activeemail','0299').
                        " http://intita.itatests.com/index.php?r=site/AccActivation/view&token=".$model->token."&email=".$model->email;
                    mail($model->email,$subject,$text,$headers);
                    $this->render('/site/activationinfo',array(
                        'model'=>$model,
                    ));
                }
            } else {
                $this->render("studentreg", array('model'=>$model));
            }
        }else {
            $model->addError('empty', 'Дані не введені');
            $this->render("studentreg", array('model'=>$model, 'tempEmail'=>$tempEmail, 'tempPass'=>$tempPass));
        }
    }
Ejemplo n.º 2
0
    public function actionSocialLogin()
    {
        $model = new StudentReg();

        $s = file_get_contents('http://ulogin.ru/token.php?token=' .$_POST['token'] . '&host=' . $_SERVER['HTTP_HOST']);
        $user = json_decode($s, true);
        $model->email=$user['email'];
        if($model->socialLogin())
            $this->redirect(Yii::app()->request->baseUrl.'/site');
        else {
            if(isset($user['first_name'])) $model->firstName=$user['first_name'];
            if(isset($user['last_name'])) $model->secondName=$user['last_name'];
            if(isset($user['nickname'])) $model->nickname=$user['nickname'];
            if(isset($user['bdate'])) $model->birthday=$user['bdate'];
            if(isset($user['phone'])) $model->phone=$user['phone'];
            if(isset($user['photo_big'])) {
                $arrContextOptions=array(
                    "ssl"=>array(
                        "verify_peer"=>false,
                        "verify_peer_name"=>false,
                    ),
                );
                $filesName=uniqid().'.jpg';
                file_put_contents(Yii::getpathOfAlias('webroot')."/avatars/".$filesName, file_get_contents($user['photo_big'], false, stream_context_create($arrContextOptions)));
                $model->avatar="/avatars/".$filesName;
            }
            if(isset($user['city'])) $model->address=$user['city'];
            if(isset($user['network'])){
                switch ($user['network']){
                    case 'facebook':
                        $model->facebook=$user['profile'];
                        break;
                    case 'googleplus':
                        $model->googleplus=$user['profile'];
                        break;
                    case 'linkedin':
                        $model->linkedin=$user['profile'];
                        break;
                    case 'vkontakte':
                        $model->vkontakte=$user['profile'];
                        break;
                    case 'twitter':
                        $model->twitter=$user['profile'];
                        break;
                    default:
                        break;
                }
            }
            $model->status = 1;
            if($model->validate()) {
                $model->save();
                $model = new StudentReg();
                $model->email=$user['email'];
                if($model->socialLogin())
                    $this->redirect(Yii::app()->request->baseUrl.'/site');
            }
        }
    }