Пример #1
1
 public function register()
 {
     $user = new Users();
     $user->attributes = $this->attributes;
     $salt = md5(uniqid() . time());
     $user->email = $this->email;
     $user->salt = $salt;
     $user->pass = crypt(trim($this->pass) . $salt);
     if ($user->validate() && $user->save()) {
         if (!Settings::model()->getValue('mail_confirm')) {
             $user->status = 1;
             $user->save();
             return 1;
         }
         Yii::import('ext.YiiMailer.YiiMailer');
         $code = md5(md5($user->pass . $user->email));
         $mail = new YiiMailer();
         $mail->setFrom(Settings::model()->getValue('register'));
         $mail->setTo($user->email);
         $mail->setSubject(Yii::t('register', 'Account activation'));
         $mail->setBody(Yii::t('register', "Hello {nick},<br/><br/>Your activation code: {code}<br/>{link}", array('{nick}' => $user->nick, '{code}' => $code, '{link}' => Yii::app()->createAbsoluteUrl('site/confirm', array('user' => $user->nick, 'code' => $code)))));
         $mail->send();
         return 1;
     }
 }
Пример #2
0
    public function actionUusi_tuote()
    {
        $model = new Viivakoodi();
        $this->performAjaxValidation($model);
        if (isset($_POST['Viivakoodi'])) {
            $model->attributes = $_POST['Viivakoodi'];
            if (isset($_POST['tuoteen_tyyppi'])) {
                $model->tuoteen_tyyppi = implode("//", $_POST['tuoteen_tyyppi']);
            }
            if ($model->save()) {
                Yii::app()->user->setState('UusiEsikatselu', null);
                $sahkopostinSisalto = ' Hyväksymällä tuotteen se näytetään kaikille. <br>
			<p><a href="' . Yii::app()->request->baseUrl . '/index.php/viivakoodi/update?id=' . $model->id . '">Muokkaa</a></p>';
                if (!$this->onkoSuperAdmin()) {
                    $mail = new YiiMailer();
                    $asetukset = Asetukset::model()->findbypk(1);
                    //$mail->clearLayout();//if layout is already set in config
                    $mail->setFrom('*****@*****.**', 'MIINUS.FI');
                    $mail->setTo($asetukset->admin_mail);
                    $mail->setSubject('Uusi tuote on lisätty. ID-' . $model->id);
                    $mail->setBody($sahkopostinSisalto);
                    $mail->send();
                }
                $this->redirect(array('/site/ruoka_paivakirja'));
            } else {
                var_dump($model->getErrors());
            }
        }
        $this->render('uusi_tuote', array('model' => $model, 'state' => Yii::app()->user->UusiEsikatselu));
    }
Пример #3
0
    /**
     * Updates a particular model.
     * If update is successful, the browser will be redirected to the 'view' page.
     */
    public function actionEdit()
    {
        $model = $this->loadUser();
        $profile = $model->profile;
        // ajax validator
        if (isset($_POST['ajax']) && $_POST['ajax'] === 'profile-form') {
            echo UActiveForm::validate(array($model, $profile));
            Yii::app()->end();
        }
        if (isset($_POST['User'])) {
            // Uusi myyja
            if (isset(Yii::app()->user->myyja) and $model->hyvaksy_hylka_kirje == 0) {
                $message = 'Uusi myyjä on rekisteröitynyt sähköposti osoitteella ' . $model->email . ':<br>
		 <a href="http://' . $_SERVER['HTTP_HOST'] . '/index.php/site/uusi_myyja?tila=1&id=' . $model->id . '&code=' . $model->myyja_vahvistus . '">Hyväksy myyjä</a>
		 <a href="http://' . $_SERVER['HTTP_HOST'] . '/index.php/site/uusi_myyja?tila=0&id=' . $model->id . '&code=' . $model->myyja_vahvistus . '">Hylkää myyjä</a>';
                $asetukset = Asetukset::model()->findbypk(1);
                $mail = new YiiMailer();
                $mail->setFrom('*****@*****.**', 'MIINUS.FI');
                $mail->setTo($asetukset->admin_mail);
                $mail->setSubject('Uusi myyjä');
                $mail->setBody($message);
                $mail->send();
                $model->hyvaksy_hylka_kirje = 1;
            }
            // Uusi myyja
            if (isset(Yii::app()->user->myyja)) {
                $_POST['Profile']['sukupuoli'] = 1;
                $_POST['Profile']['muokkaa_energia_suositusta'] = 1;
                $_POST['Profile']['ppkkvvvv'] = '---';
                $_POST['Profile']['tavoitepaino'] = '---';
            } else {
                $_POST['Profile']['pankkitilinumero'] = '---';
                $_POST['Profile']['nayttonimi'] = '---';
                $_POST['Profile']['bic_koodi'] = '---';
                $_POST['Profile']['alv_velvollinen'] = 1;
            }
            $model->attributes = $_POST['User'];
            $profile->attributes = $_POST['Profile'];
            if ($model->validate() && $profile->validate()) {
                $model->save();
                $profile->save();
                Yii::app()->user->updateSession();
                //Yii::app()->user->setFlash('profileMessage',UserModule::t("Changes is saved."));
                if (isset(Yii::app()->user->myyja)) {
                    $this->redirect(Yii::app()->request->baseUrl . '/index.php/site/myyja');
                } else {
                    $this->redirect(Yii::app()->request->baseUrl . '/index.php/site/ruoka_paivakirja');
                }
            } else {
                $profile->validate();
            }
        }
        if (isset(Yii::app()->user->myyja)) {
            $this->render('edit_myyja', array('model' => $model, 'profile' => $profile));
        } else {
            $this->render('edit', array('model' => $model, 'profile' => $profile));
        }
    }
Пример #4
0
 public function send()
 {
     $mailer = new YiiMailer();
     $maildata = $this->args;
     if ($this->view) {
         $mailer->setView($this->view);
     }
     $mailer->setData($maildata);
     $mailer->setFrom($this->from, $this->fromUser);
     $mailer->setTo($this->to);
     $mailer->setSubject($this->subject);
     $mailer->setBody($this->body);
     $sent = $mailer->send();
     if ($sent) {
         return array('status' => true, 'error' => '');
     } else {
         return array('status' => false, 'error' => $mailer->getError());
     }
 }
Пример #5
0
    $criteria->order = " id DESC ";
    $criteria->condition = " \n\t\tstatus=1\n\t\tAND (stop - INTERVAL 7 DAY) < NOW()\n\t\tAND ilmoitus_kayttoajasta=0\n\t\tAND koodi!='ilmainen'\n\t";
    $model = Orders::model()->findAll($criteria);
    foreach ($model as $data) {
        $user = User::model()->findbypk($data->user_id);
        if (isset($user->email) and !empty($user->email)) {
            $message = '
			Hei. Käyttöaikasi miinus.fi ohjelmaan päättyy 7 päivän kuluttua. 
			Voit ostaa lisää aikaa menemällä osoitteeseen miinus.fi. 
			Voit ostaa lisää aikaa vaikka heti ja se alkaa vasta sitten, kun vanha käyttöaika on päättynyt.
			';
            $mail = new YiiMailer();
            $mail->setFrom('*****@*****.**', 'MIINUS.FI');
            $mail->setTo($user->email);
            $mail->setSubject('Käyttöaika loppumassa');
            $mail->setBody(str_replace("\n", "<br>", $message));
            if ($mail->send()) {
                Orders::model()->updatebypk($data->id, array('ilmoitus_kayttoajasta' => 1));
            }
        }
    }
}
//Maksun varaus poistaminen jos kavija ei maksettu
$criteria = new CDbCriteria();
$criteria->order = " id DESC ";
$criteria->condition = " \n\t\tstatus=0 AND authcode!='99999'\n\t\tAND (NOW() - INTERVAL 30 MINUTE) > time \n\t";
$model = Orders::model()->deleteAll($criteria);
Yii::app()->user->setState('tarkistukset', true);
//echo $curpage;
if (!Yii::app()->user->isGuest and !$site[0]->onkoSuperAdmin() and ($curpage == 'site/ruoka_paivakirja' or $curpage == 'site/liikunta_paivakirja' or $curpage == 'site/mittaus_paivakirja' or $curpage == 'blog/index' or $curpage == 'profile/profile' or $curpage == 'profile/edit')) {
    $criteria = new CDbCriteria();
Пример #6
0
 /**
  * Displays the login page
  * Handles processing of the login form and forgot password form
  */
 public function actionLogin()
 {
     $UserLogin = new UserLogin();
     $this->layout = false;
     // redirect if user already logged in
     //if (!Yii::app()->user->isGuest) {
     //    $this->redirect($this->createUrl('/site/dashboard'));
     //}
     // process login form submission
     if (isset($_POST['UserLogin'])) {
         if (isset($_POST['UserLogin']['LoginEmail'])) {
             // user login
             // set model scenario
             $UserLogin->scenario = 'formLogin';
             // collect user input data
             $UserLogin->attributes = $_POST['UserLogin'];
             // validate user input and redirect to the dashboard
             if ($UserLogin->validate() && $UserLogin->authenticate()) {
                 // redirect to relevant dashboard based on role
                 $authRoles = Yii::app()->authManager->getRoles(Yii::app()->user->id);
                 foreach (array_keys($authRoles) as $authRole) {
                     switch ($authRole) {
                         case 'superAdministrator':
                             $this->redirect($this->createUrl('admin/index'));
                             break;
                         case 'testimonialReviewer':
                         case 'testimonialApprover':
                             $this->redirect($this->createUrl('testimonial/dashboard'));
                             break;
                     }
                 }
                 // do redirect
                 if (UserLogin::model()->findByPk(Yii::app()->user->id)->IsPasswordReset) {
                     // change password form
                     $this->redirect($this->createUrl('user/profilepasswordupdate'));
                 } else {
                     // default dashboard
                     // echo ":TEST:";
                     // echo(UserLogin::model()->findByPk(Yii::app()->user->id)->AgreetoTerms);
                     //die(':TEST');
                     $this->redirect($this->createUrl('company/index'));
                 }
             }
         } elseif (isset($_POST['UserLogin']['ResetEmail'])) {
             // password reset
             // email of account for password reset
             $resetEmail = $_POST['UserLogin']['ResetEmail'];
             // check for record matching entered email
             if (!($UserLogin = UserLogin::model()->findByAttributes(array('LoginEmail' => $resetEmail)))) {
                 $UserLogin = new UserLogin();
             }
             // set model scenario
             $UserLogin->scenario = 'formReset';
             // generate a new password
             $newPassword = $UserLogin->generatePassword();
             // set reset attributes
             $UserLogin->UserPassword = md5($newPassword);
             $UserLogin->ResetEmail = $resetEmail;
             $UserLogin->IsPasswordReset = 1;
             // save password change
             if ($UserLogin->save()) {
                 // build message with temporary password
                 $mail = new YiiMailer();
                 $mail->clearLayout();
                 // no layout, plain text email
                 $mail->setFrom(Yii::app()->params['adminEmail'], Yii::app()->params['adminName']);
                 $mail->setTo($UserLogin->ResetEmail);
                 $mail->setSubject('ITR | Password Reset');
                 $mail->setBody('Your password has been reset, you may now log in with the following temporary password: '******'success', 'An email with a temporary password has been sent to your email address.');
                 } else {
                     // set failure message for user
                     Yii::app()->user->setFlash('failure', 'There was an error when trying to send your temporary password.  Please try again in a few minutes or contact web support.');
                 }
                 // reload view, clears post variables
                 $this->redirect($this->createUrl('user/login'));
             }
             // clear generated password so it doesn't display on the login form
             $UserLogin->UserPassword = '';
         }
     }
     // display the login form
     $this->render('login', array('UserLogin' => $UserLogin));
 }
Пример #7
0
 public function actionRecovery()
 {
     if (isset($_POST['pass']) && isset($_POST['pass2'])) {
         if (empty($_POST['pass']) || empty($_POST['pass2'])) {
             $code = 5;
         } elseif ($_POST['pass'] !== $_POST['pass2']) {
             $code = 4;
         } else {
             $user = Users::model()->findByAttributes(array('nick' => $_GET['user']));
             if (!$user) {
                 $code = 1;
             } else {
                 $userCode = md5(md5($user->pass . $user->email));
                 if ($_GET['code'] != $userCode) {
                     $code = 2;
                 } else {
                     $code = 6;
                     $user->pass = crypt($_POST['pass'] . $user->salt);
                     $user->save();
                 }
             }
         }
         $this->render('recovery', array('code' => $code));
     } elseif (isset($_GET['user']) && isset($_GET['code'])) {
         $user = Users::model()->findByAttributes(array('nick' => $_GET['user']));
         if (!$user) {
             $code = 1;
         } else {
             $userCode = md5(md5($user->pass . $user->email));
             if ($_GET['code'] != $userCode) {
                 $code = 2;
             } else {
                 $code = 3;
             }
         }
         $this->render('recovery', array('code' => $code));
     } elseif (!isset($_POST['nick']) || !isset($_POST['email'])) {
         $this->render('recovery', array('result' => ''));
     } else {
         $answer = Yii::t('register', 'There is no such user');
         if (isset($_POST['nick']) && !empty($_POST['nick'])) {
             $user = Users::model()->findByAttributes(array('nick' => $_POST['nick']));
             if (!$user) {
                 $answer = Yii::t('register', 'There is no such user');
             } else {
                 $mail = 1;
                 $answer = Yii::t('register', 'Letter for password recovery was sended to your email');
             }
         } elseif (isset($_POST['email']) && !empty($_POST['email'])) {
             $user = Users::model()->findByAttributes(array('email' => $_POST['email']));
             if (!$user) {
                 $answer = Yii::t('register', 'There is no such user');
             } else {
                 $mail = 1;
                 $answer = Yii::t('register', 'Letter for password recovery was sended to your email');
             }
         }
         if (isset($mail) && $mail) {
             Yii::import('ext.YiiMailer.YiiMailer');
             $code = md5(md5($user->pass . $user->email));
             $mail = new YiiMailer();
             $mail->setFrom(Settings::model()->getValue('recovery'));
             $mail->setTo($user->email);
             $mail->setSubject(Yii::t('register', 'Password recovery'));
             $mail->setBody(Yii::t('register', "Recovery link: {link}", array('{link}' => Yii::app()->createAbsoluteUrl('site/recovery', array('user' => $user->nick, 'code' => $code)))));
             $mail->send();
         }
         $this->render('recovery', array('result' => $answer));
     }
 }
 public function actionSpam($order_id)
 {
     header('Content-type: application/json');
     $zakaz = Zakaz::model()->findByPk($order_id);
     if (!$zakaz) {
         throw new CHttpException(500);
     }
     $criteria = new CDbCriteria();
     if (Campaign::getId()) {
         $projectFields = $zakaz->getFields();
         if ($projectFields) {
             foreach ($projectFields as $field) {
                 if ($field->required == ProjectField::REQUIRED_YES_REG_SPAM) {
                     $varname = $field->varname;
                     $value = $zakaz->{$varname};
                     $criteria->addSearchCondition('profile.' . $varname, $value);
                     //$criteria->addCondition('profile.'.$varname.' REGEXP \'(^|[[:punct:]])'.$value.'($|[[:punct:]])\'');
                 }
             }
         }
         //echo json_encode(array('error'=>$tmp));
         //Yii::app()->end();
     }
     /* else {
     			$job = $zakaz->job_id;
     			$discipline = $zakaz->category_id;
     			
     			$criteria->addSearchCondition('profile.discipline',$discipline);
     			$criteria->addSearchCondition('profile.job_type',$job, true, 'OR');
             }*/
     $authors = User::model()->with('profile')->findAll($criteria);
     if (!empty($authors)) {
         $link = $this->createAbsoluteUrl('/project/chat/', ['orderId' => $order_id]);
         $mail = new YiiMailer();
         $mail->clearLayout();
         $mail->setFrom(Yii::app()->params['supportEmail'], Yii::app()->name);
         $mail->setSubject('Приглашение в проект');
         $link = 'http://' . $_SERVER['SERVER_NAME'] . '/project/chat?orderId=' . $order_id;
         $mail->setBody('<a href="' . $link . '">' . $link . '</a>');
         foreach ($authors as $author) {
             $mail->setTo($author->email);
             if ($author->getUserRole($author->id) == 'Author') {
                 $mail->send();
             }
         }
         echo 'ok =)';
         $email = new Emails();
         // новая рассылка
         $orderId = $order_id;
         $typeId = Emails::TYPE_14;
         $order = Zakaz::model()->findByPk($orderId);
         $user = User::model()->findByPk($order->user_id);
         $type_id = Emails::TYPE_18;
         $email->to_id = $user->id;
         $profile = Profile::model()->findAll("`user_id`='{$user->id}'");
         $rec = Templates::model()->findAll("`type_id`='{$typeId}'");
         $title = $rec[0]->title;
         $email->name = $profle->firstname;
         if (strlen($email->name) < 2) {
             $email->name = $user->username;
         }
         $email->login = $user->username;
         $email->num_order = $orderId;
         $email->page_order = 'http://' . $_SERVER['SERVER_NAME'] . '/project/chat?orderId=' . $orderId;
         $email->message = $rec[0]->text;
         $email->sendTo($user->email, $rec[0]->text, $typeId);
     } else {
         echo json_encode(array('error' => 'Нет авторов'));
     }
     Yii::app()->end();
 }
Пример #9
0
    public function actionMainos()
    {
        if (isset($_POST['mainos_otsikko']) and !empty($_POST['mainos_text'])) {
            $criteria = new CDbCriteria();
            $criteria->condition = " mainosten_lahetys=1 ";
            $profiili = Profile::model()->findAll($criteria);
            foreach ($profiili as $val) {
                $user = User::model()->findbypk($val->user_id);
                $send = true;
                if (isset($_POST['kenelle']) and $_POST['kenelle'] == 'aktiiviselle') {
                    $criteria = new CDbCriteria();
                    $criteria->order = " id DESC ";
                    $criteria->condition = " \n\t\t\t\t\tuser_id='" . $val->user_id . "'\n\t\t\t\t\tAND status=1\n\t\t\t\t\tAND NOW() < stop \n\t\t\t\t";
                    $orders = Orders::model()->find($criteria);
                    if (!isset($orders->id)) {
                        $send = false;
                    }
                } elseif (isset($_POST['kenelle']) and $_POST['kenelle'] == 'rekisteroityneille') {
                    $criteria = new CDbCriteria();
                    $criteria->order = " id DESC ";
                    $criteria->condition = " \n\t\t\t\t\tuser_id='" . $val->user_id . "'\n\t\t\t\t\tAND status=1\n\t\t\t\t\tAND NOW() < stop \n\t\t\t\t";
                    $orders = Orders::model()->find($criteria);
                    if (isset($orders->id)) {
                        $send = false;
                    }
                }
                if (isset($user->email) and !empty($user->email) and $send == true) {
                    //echo 'kayttaja: '.$user->id.'. Lahetys pitaa tapahtua postille: '.$user->email.'<br>';
                    $message = $_POST['mainos_text'] . "<br>";
                    $message .= '<p>
				Jos et halua, että lähetämme sinulle sähköpostia tulevaisuudessa, voit lopettaa sähköpostien vastaanottamisen painamalla
				<a href="' . Yii::app()->getBaseUrl(true) . '/index.php/site/lopeta?id=' . $user->id . '">lopeta</a></p>';
                    $mail = new YiiMailer();
                    $mail->setFrom('*****@*****.**', 'MIINUS.FI');
                    $mail->setTo($user->email);
                    $mail->setSubject($_POST['mainos_otsikko']);
                    $mail->setBody(str_replace("\n", "<br>", $message));
                    $mail->send();
                }
            }
            $this->redirect(array('mainos', 'ok' => true));
            //exit;
        }
        $this->render('mainos');
    }
Пример #10
0
        $html2pdf->setDefaultFont('Arial');
        $html2pdf->WriteHTML($this->renderPartial('kuitti_pdf', array('id' => $model->id), true));
        $content_PDF = $html2pdf->Output('kuitti.pdf', EYiiPdf::OUTPUT_TO_STRING);
        //$html2pdf->Output();
        //exit;
        $file = $model->id . '_' . date("Y_m_d", $_GET['TIMESTAMP']) . '.pdf';
        file_put_contents('kuitit/' . $file, $content_PDF);
        $maksettu_pvm = date("Y-m-d H:i:s", $_GET['TIMESTAMP']);
        Orders::model()->updatebypk($model->id, array('status' => 1, 'maksettu_pvm' => $maksettu_pvm));
        $message = "\n\t\tHei. Kiitos ostoksestasi miinus.fi ohjelmaan.<br>\n\t\tHinta sis.alv: " . $model->hinta . "<br>\n\t\tAikavali: " . date("d.m.Y", strtotime($model->start)) . " - " . date("d.m.Y", strtotime($model->stop)) . ".<br>\n\t\tKuitti on liitenä.\n\t\t<br><br>\n\t\t<b>Terveisin Miinus.fi</b>\n\t   ";
        $mail = new YiiMailer();
        //$mail->clearLayout();//if layout is already set in config
        $mail->setFrom('*****@*****.**', 'MIINUS.FI');
        $mail->setTo($model->sahkoposti);
        $mail->setSubject("Maksaminen onnistui.");
        $mail->setBody($message);
        $mail->setAttachment('kuitit/' . $file);
        if ($mail->send()) {
            echo '
		  <div class="alert alert-info">
			<h1>
			Maksaminen onnistui.<br>

<meta http-equiv="refresh" content="3;url=' . Yii::app()->request->baseUrl . '/index.php/site/ruoka_paivakirja" />

<h2>Sinut ohjataan ruokapäiväkirjaan.<br>
 Jos mitään ei tapahdu paina <a href="' . Yii::app()->request->baseUrl . '/index.php/site/ruoka_paivakirja">tästä</a>.</h2>

			</h1>
		  </div>
		  ';