Esempio n. 1
0
 /**
  * Проверяет корректность введенных данных в форме регистрации.
  * 
  * @param array $userData массив данных пользователя.
  * @param string $mode режим проверки данных (full|pass) полный (по умолчанию) или только пароль.
  * @return string ошибка в случае не верного ввода данных в одном из полей.
  */
 public function validDataForm($userData, $mode = 'full')
 {
     // Проверка электронного адреса.
     if (USER::getUserInfoByEmail($userData['email']) && 'full' == $mode) {
         $error .= '<span class="email-in-use">Указанный email уже используется</span>';
     }
     // Пароль должен быть больше 5-ти символов.
     if (strlen($userData['pass']) < 5) {
         $error .= '<span class="passError">Пароль менее 5 символов</span>';
     }
     // Проверяем равенство введенных паролей.
     if (URL::getQueryParametr('pass2') != $userData['pass']) {
         $error .= '<span class="wrong-pass">Введенные пароли не совпадают</span>';
     }
     if ('full' == $mode) {
         // Проверка электронного адреса.
         if (!preg_match('/^[-._a-zA-Z0-9]+@(?:[a-zA-Z0-9][-a-zA-Z0-9]{0,61}+\\.)+[a-zA-Z]{2,6}$/', $userData['email'])) {
             $error .= '<span class="errorEmail">Неверно заполнено email</span>';
         }
         if (MG::getSetting('useCaptcha') == "true") {
             if (strtolower(URL::getQueryParametr('capcha')) != strtolower($_SESSION['capcha'])) {
                 $error .= "<span class='error-captcha-text'>Текст с картинки введен неверно!</span>";
             }
         }
     }
     $args = func_get_args();
     return MG::createHook(__CLASS__ . "_" . __FUNCTION__, $error, $args);
 }
Esempio n. 2
0
 function __construct()
 {
     if (User::isAuth()) {
         MG::redirect('/');
     }
     // Шаг первый.
     $form = 1;
     $fPass = new Models_Forgotpass();
     // Ввторой шаг, производящий проверку введеного электронного адреса.
     if (URL::getQueryParametr('forgotpass')) {
         $email = URL::getQueryParametr('email');
         if ($userInfo = USER::getUserInfoByEmail($email)) {
             //Если введенных адрес совпадает с зарегистрированным в системе, то
             $form = 0;
             $message = 'Инструкция по восстановлению пароля была отправлена на <strong>' . $email . '</strong>';
             $hash = $fPass->getHash($email);
             //а) Случайный хэш заносится в БД.
             $fPass->sendHashToDB($email, $hash);
             $siteName = MG::getOption('sitename');
             $emailMessage = MG::layoutManager('email_forgot', array('siteName' => $siteName, 'email' => $email, 'hash' => $hash, 'userId' => $userInfo->id, 'link' => SITE . '/forgotpass?sec=' . $hash . '&id=' . $userInfo->id));
             $emailData = array('nameFrom' => $siteName, 'emailFrom' => MG::getSetting('noReplyEmail'), 'nameTo' => 'Пользователю сайта ' . $siteName, 'emailTo' => $email, 'subject' => 'Восстановление пароля на сайте ' . $siteName, 'body' => $emailMessage, 'html' => true);
             //б) На указанный электронный адрес отправляется письмо со сылкой на страницу восстановления пароля.
             $fPass->sendUrlToEmail($emailData);
         } else {
             $form = 0;
             $error = 'К сожалению, такой логин не найден<br>
       Если вы уверены, что данный логин существует, пожалуйста, свяжитесь с нами.';
         }
     }
     // Шаг 3. Обработка перехода по ссылки. Принимается id пользователя и сгенерированный хэш.
     if ($_GET) {
         $userInfo = USER::getUserById(URL::getQueryParametr('id'));
         $hash = URL::getQueryParametr('sec');
         // Если присланный хэш совпадает с хэшом из БД для соответствующего id.
         if ($userInfo->restore == $hash) {
             $form = 2;
             // Меняе в БД случайным образом хэш, делая невозможным повторный переход по ссылки.
             $fPass->sendHashToDB($userInfo->email, $fPass->getHash('0'));
             $_SESSION['id'] = URL::getQueryParametr('id');
         } else {
             $form = 0;
             $error = 'Некорректная ссылка. Повторите заново запрос восстановления пароля.';
         }
     }
     // Шаг 4. обрабатываем запрос на ввод нового пароля
     if (URL::getQueryParametr('chengePass')) {
         $form = 2;
         $person = new Models_Personal();
         $msg = $person->changePass(URL::getQueryParametr('newPass'), $_SESSION['id'], true);
         if ('Пароль изменен' == $msg) {
             $form = 0;
             $message = $msg . '! ' . 'Вы можете войти в личный кабинет по адресу <a href="' . SITE . '/enter" >' . SITE . '/enter</a>';
             $fPass->activateUser($_SESSION['id']);
             unset($_SESSION['id']);
         } else {
             $error = $msg;
         }
     }
     $this->data = array('error' => $error, 'message' => $message, 'form' => $form, 'meta_title' => 'Восстановление пароля', 'meta_keywords' => $model->currentCategory['meta_keywords'] ? $model->currentCategory['meta_keywords'] : "забыли пароль, восстановить пароль, восстановление пароля", 'meta_desc' => $model->currentCategory['meta_desc'] ? $model->currentCategory['meta_desc'] : "Если вы забыли пароль от личного кабинета, его модно восстановить с помощью формы восстановления паролей.");
 }
Esempio n. 3
0
 /**
  * Возвращает сообщение о статусе заказа "Подтвержден".
  * @param type $pay - id заказа.
  * @return mixed - сообщение и email пользователя.
  */
 public function confirmOrder($id)
 {
     // Модель для работы заказом.
     $model = new Models_Order();
     // Информация о заказе по переданному id.
     $orderInfo = $model->getOrder('`' . PREFIX . 'order`.id = "' . $id . '"');
     $hash = URL::getQueryParametr('sec');
     // Информация о пользователе, сделавший заказ .
     $orderUser = USER::getUserInfoByEmail($orderInfo[$id]['user_email']);
     // Если присланный хэш совпадает с хэшом из БД для соответствующего id.
     if ($orderInfo[$id]['confirmation'] == $hash) {
         if ($orderInfo[$id]['hash'] == '') {
             $msg = 'Посмотреть статус заказа Вы можете в <a href="' . SITE . '/personal">личном кабинете</a>.';
         } else {
             $msg = 'Следить за статусом заказа Вы можете по ссылке <br> ' . '<a href="' . SITE . '/order?hash=' . $orderInfo[$id]['hash'] . '">' . SITE . '/order?hash=' . $orderInfo[$id]['hash'] . '</a>';
         }
         // Если статус заказа "Не подтвержден".
         if (0 == $orderInfo[$id]['status_id']) {
             // Подтверждаем заказ.
             $orderStatus = 1;
             // если оплата выбрана наложенным платежём, то статус заказа изменяем на "в доставке"
             if ($orderInfo[$id]['payment_id'] == 3) {
                 $orderStatus = 3;
             }
             $model->sendStatusToEmail($id, $orderStatus);
             $model->setOrderStatus($id, $orderStatus);
             $orderNumber = $orderInfo[$id]['number'];
             $orderId = $id;
             $msg = 'Ваш заказ №' . $orderNumber . ' подтвержден и передан на обработку. <br>
       ' . $msg;
         } else {
             $msg = 'Заказ уже подтвержден и находится в работе. <br>
       ' . $msg;
         }
         if (!$orderUser->activity) {
             $userEmail = $orderUser->email;
             $_SESSION['id'] = $orderUser->id;
         }
     } else {
         $msg = 'Некорректная ссылка.<br> Заказ не подтвержден<br>';
     }
     $result = array('msg' => $msg, 'userEmail' => $userEmail);
     return $result;
 }
Esempio n. 4
0
 /**
  * Выводит на экран печатную форму для печати заказа в админке.
  * @param int $id - id заказа.
  * @param boolean $sign использовать ли подпись.
  * @return array 
  */
 public function printOrder($id, $sign = true)
 {
     $orderInfo = $this->getOrder('id=' . DB::quote($id, true));
     $order = $orderInfo[$id];
     $perOrders = unserialize(stripslashes($order['order_content']));
     $currency = MG::getSetting('currency');
     $totSumm = $order['summ'] + $order['cost'];
     $paymentArray = $this->getPaymentMethod($order['payment_id']);
     $order['name'] = $paymentArray['name'];
     $propertyOrder = MG::getOption('propertyOrder');
     $propertyOrder = stripslashes($propertyOrder);
     $propertyOrder = unserialize($propertyOrder);
     $paramArray = $this->getParamArray(7, $order['id'], $order['summ']);
     foreach ($paramArray as $k => $field) {
         $paramArray[$k]['value'] = htmlentities($paramArray[$k]['value'], ENT_QUOTES, "UTF-8");
     }
     $customer = unserialize(stripslashes($order['yur_info']));
     $customerInfo = $customer['inn'] . ', ' . $customer['kpp'] . ', ' . $customer['nameyur'] . ', ' . $customer['adress'] . ', ' . $customer['bank'] . ', ' . $customer['bik'] . ', ' . $customer['ks'] . ', ' . $customer['rs'] . ', ' . $customer['nameyur'];
     //var_dump(json_decode($order['yur_info']));
     //viewData(json_decode(stripslashes($order['yur_info'])));
     $ylico = false;
     if (empty($customer['inn']) || empty($customer['bik'])) {
         $fizlico = true;
         $userInfo = USER::getUserInfoByEmail($order['user_email']);
         $customerInfo = $order['name_buyer'] . ',' . $order['address'] . ', тел. ' . $order['phone'] . ', ' . $order['email'];
     }
     // $customerInfo = '0';
     $customerInfo = htmlspecialchars($customerInfo);
     $data['propertyOrder'] = $propertyOrder;
     $data['order'] = $order;
     $data['customerInfo'] = $customerInfo;
     $data['perOrders'] = $perOrders;
     $data['currency'] = $currency;
     $html = MG::layoutManager('print_order', $data);
     return $html;
 }
Esempio n. 5
0
/**
 * Регистрация на сайте и в таблице uLogin
 * @param Array $u_user - данные о пользователе, полученные от uLogin
 * @param int $in_db - при значении 1 необходимо переписать данные в таблице uLogin
 * @return bool|int|Error
 */
function ulogin_registration_user($u_user, $in_db = 0)
{
    if (!isset($u_user['email'])) {
        die("Через данную форму выполнить вход/регистрацию невозможно. </br>" . "Сообщиете администратору сайта о следующей ошибке: </br></br>" . "Необходимо указать <b>email</b> в возвращаемых полях <b>uLogin</b>");
    }
    $u_user['network'] = isset($u_user['network']) ? $u_user['network'] : '';
    $u_user['phone'] = isset($u_user['phone']) ? $u_user['phone'] : '';
    // данные о пользователе есть в ulogin_table, но отсутствуют в Базе
    if ($in_db == 1) {
        DB::query("DELETE FROM " . PREFIX . "ulogin   WHERE `identity` = " . DB::quote($u_user['identity']));
    }
    $user_id = USER::getUserInfoByEmail($u_user['email']);
    $user_id = $user_id->id;
    // $check_m_user == true -> есть пользователь с таким email
    $check_m_user = $user_id > 0 ? true : false;
    $current_user = USER::isAuth() ? USER::getThis() : 0;
    // $isLoggedIn == true -> ползователь онлайн
    $isLoggedIn = isset($current_user->id) && $current_user->id > 0 ? true : false;
    if (!$check_m_user && !$isLoggedIn) {
        // отсутствует пользователь с таким email в базе -> регистрация
        $date = explode('.', $u_user['bdate']);
        $insert_user = array('pass' => md5(microtime(true)), 'email' => $u_user['email'], 'role' => 2, 'name' => $u_user['first_name'], 'sname' => $u_user['last_name'], 'address' => '', 'phone' => $u_user['phone'], 'birthday' => $date['2'] . '-' . $date['1'] . '-' . $date['0'], 'activity' => 1);
        $user_id = USER::add($insert_user);
        $user_id = DB::insertId();
        $userData = USER::getUserById($user_id);
        $res = DB::query("INSERT INTO " . PREFIX . "ulogin (user_id, identity, network)\n\t\tVALUES (" . DB::quote($user_id) . "," . DB::quote($u_user['identity']) . "," . DB::quote($u_user['network']) . ")");
        return $userData->id;
    } else {
        // существует пользователь с таким email или это текущий пользователь
        if (!isset($u_user["verified_email"]) || intval($u_user["verified_email"]) != 1) {
            die('<head></head><body><script src="//ulogin.ru/js/ulogin.js"  type="text/javascript"></script><script type="text/javascript">uLogin.mergeAccounts("' . $_POST['token'] . '")</script>' . "Электронный адрес данного аккаунта совпадает с электронным адресом существующего пользователя. <br>Требуется подтверждение на владение указанным email.</br></br>" . "Подтверждение аккаунта" . "</body>");
        }
        if (intval($u_user["verified_email"]) == 1) {
            $user_id = $isLoggedIn ? $current_user->id : $user_id;
            $other_u = DB::query("SELECT identity FROM " . PREFIX . "ulogin where `user_id` = " . DB::quote($user_id));
            $other_u = DB::fetchAssoc($other_u);
            if ($other_u) {
                if (!$isLoggedIn && !isset($u_user['merge_account'])) {
                    die('<head></head><body><script src="//ulogin.ru/js/ulogin.js"  type="text/javascript"></script><script type="text/javascript">uLogin.mergeAccounts("' . $_POST['token'] . '","' . $other_u['identity'] . '")</script>' . "С данным аккаунтом уже связаны данные из другой социальной сети. <br>Требуется привязка новой учётной записи социальной сети к этому аккаунту.<br/>" . "Синхронизация аккаунтов" . "</body>");
                }
            }
            DB::query("INSERT INTO " . PREFIX . "ulogin (user_id, identity, network)\n\t\t\tVALUES (" . DB::quote($user_id) . "," . DB::quote($u_user['identity']) . "," . DB::quote($u_user['network']) . ")");
            return $user_id;
        }
    }
    return false;
}
Esempio n. 6
0
 /**
  * Метод отправки письма для активации пользователя.
  * @param type $userEmail
  * @return void 
  */
 private function _sendActivationMail($userEmail)
 {
     $userId = USER::getUserInfoByEmail($userEmail)->id;
     $hash = $this->fPass->getHash($userEmail);
     $this->fPass->sendHashToDB($userEmail, $hash);
     $siteName = MG::getOption('sitename');
     $link = '<a href="' . SITE . '/registration?sec=' . $hash . '&id=' . $userId . '" target="blank">' . SITE . '/registration?sec=' . $hash . '&id=' . $userId . '</a>';
     $paramToMail = array('siteName' => $siteName, 'userEmail' => $userEmail, 'link' => $link);
     $message = MG::layoutManager('email_registry', $paramToMail);
     $emailData = array('nameFrom' => $siteName, 'emailFrom' => MG::getSetting('noReplyEmail'), 'nameTo' => 'Пользователю сайта ' . $siteName, 'emailTo' => $userEmail, 'subject' => 'Активация пользователя на сайте ' . $siteName, 'body' => $message, 'html' => true);
     $this->fPass->sendUrlToEmail($emailData);
 }
Esempio n. 7
0
 /**
  * Возвращает сообщение о статусе заказа "Подтвержден".
  * @param type $pay - id заказа.
  * @return mixed - сообщение и email пользователя.
  */
 public function confirmOrder($id)
 {
     // Модель для работы заказом.
     $model = new Models_Order();
     // Информация о заказе по переданному id.
     $orderInfo = $model->getOrder(PREFIX . 'order.id = "' . $id . '"');
     $hash = URL::getQueryParametr('sec');
     // Информация о пользователе, сделавший заказ .
     $orderUser = USER::getUserInfoByEmail($orderInfo[$id]['user_email']);
     // Если присланный хэш совпадает с хэшом из БД для соответствующего id.
     if ($orderInfo[$id]['confirmation'] == $hash) {
         // Если статус заказа "Не подтвержден".
         if (0 == $orderInfo[$id]['status_id']) {
             // Подтверждаем заказ.
             $model->setOrderStatus($id, 1);
             $orderId = $id;
         } else {
             $msg = 'Заказ уже подтвержден и находится в работе. <br>
       Посмотреть статус заказа Вы можете в <a href="' . SITE . '/personal">личном кабинете</a>.';
         }
         if (!$orderUser->activity) {
             $userEmail = $orderUser->email;
             $_SESSION['id'] = $orderUser->id;
         }
     } else {
         $msg = 'Некорректная ссылка.<br> Заказ не подтвержден<br>';
     }
     $result = array('msg' => $msg, 'userEmail' => $userEmail);
     return $result;
 }
Esempio n. 8
0
    /**
     * Выводит на экран печатную форму для печати заказа в админке.
     * @param int $id - id заказа.
     * @param boolean $sign использовать ли подпись.
     * @return array 
     */
    public function printOrder($id, $sign = true)
    {
        $orderInfo = $this->getOrder('id=' . DB::quote($id, true));
        $order = $orderInfo[$id];
        $perOrders = unserialize(stripslashes($order['order_content']));
        $currency = MG::getSetting('currency');
        $totSumm = $order['summ'] + $order['cost'];
        $paymentArray = $this->getPaymentMethod($order['payment_id']);
        $order['name'] = $paymentArray['name'];
        $propertyOrder = MG::getOption('propertyOrder');
        $propertyOrder = stripslashes($propertyOrder);
        $propertyOrder = unserialize($propertyOrder);
        $paramArray = $this->getParamArray(7, $order['id'], $order['summ']);
        foreach ($paramArray as $k => $field) {
            $paramArray[$k]['value'] = htmlentities($paramArray[$k]['value'], ENT_QUOTES, "UTF-8");
        }
        $customer = unserialize(stripslashes($order['yur_info']));
        $customerInfo = $customer['inn'] . ', ' . $customer['kpp'] . ', ' . $customer['nameyur'] . ', ' . $customer['adress'] . ', ' . $customer['bank'] . ', ' . $customer['bik'] . ', ' . $customer['ks'] . ', ' . $customer['rs'] . ', ' . $customer['nameyur'];
        $ylico = false;
        if (empty($order['yur_info'])) {
            $fizlico = true;
            $userInfo = USER::getUserInfoByEmail($order['user_email']);
            $customerInfo = $userInfo->name . ' ' . $userInfo->sname . ',' . $order['address'] . ', тел. ' . $order['phone'] . ', ' . $order['email'];
        }
        $html = '
      <style type="text/css">
       .form-wrapper table{border-collapse: collapse;width:100%;color:#000;}
       .form-wrapper small-table{border-collapse: separate;}
       .form-wrapper table tr th{padding: 10px;border: 1px solid #000;background:#FFFFE0;}
	     .form-wrapper .who-pay tr td{padding: 5px;}
	     .form-wrapper .who-pay tr td.name{width: 110px;}
	     .form-wrapper .who-pay{margin: 10px 0 0 0;}
       .form-wrapper table tr td{padding: 5px;border: 1px solid #000;}
       .form-wrapper table tr td.bottom{border: none;text-align: right;}
	     .form-wrapper .order-total{margin: 10px 0 0 0;color:#000;}
	     .form-wrapper .title{text-align:center;font-size:24px;color:#000;}
	     .form-wrapper .total-list{list-style:none;}
	     .form-wrapper .no-border, .form-wrapper .who-pay tr td, .form-wrapper .small-table tr td{border:none;}
	     .form-wrapper .colspan4{border:none;text-align:right;}
	     .form-wrapper .rowspan2{vertical-align:bottom;}
	     .form-wrapper .nowrap{white-space:nowrap;}
       .yur-table td {height:30px;}
       .form-table td {height:30px; vertical-align: baseline;}
       .p {height:30px; vertical-align: baseline;}
     </style>
     <div class="form-wrapper">
	   <strong>' . $propertyOrder['nameyur'] . '</strong><br>
	   ' . $propertyOrder['adress'] . '
	   <br/>
	   <br/>
	   <table class="yur-table">
			<tr>
				<td>
          ИНН  ' . $propertyOrder['inn'] . '
        </td>
				<td>КПП ' . $propertyOrder['kpp'] . '</td>
				<td rowspan="2" class="rowspan2 nowrap" valign="middle">Сч. №</td>
				<td rowspan="2" class="rowspan2" valign="bottom">' . $propertyOrder['rs'] . '</td>
			</tr>
			<tr>
				<td colspan="2">Получатель <br>' . $propertyOrder['nameyur'] . '</td>
			</tr>
			<tr>
				<td colspan="2" rowspan="2">Банк получателя <br>' . $propertyOrder['bank'] . '</td>
				<td>БИК</td>
				<td>' . $propertyOrder['bik'] . '</td>
			</tr>
			<tr>
				<td class="nowrap">Сч. №</td>
				<td>' . $propertyOrder['ks'] . '</td>
			</tr>
	   </table>
         <h1 class="title">
           Счет <strong>№ ' . $propertyOrder['prefix'] . $order['id'] . '</strong>
           от ' . date('d.m.Y', strtotime($order['add_date'])) . '						
         </h1>
		 <table class="who-pay">
			<tr>
				<td class="name" width="100">Плательщик:</td>
				<td width="760">' . $customerInfo . '</td>
			</tr>
		 </table>
		 <br />
		 <br />
     <table class="form-table">
       <tr>
         <th bgcolor="#FFFFE0" width="40">№</th>
         <th bgcolor="#FFFFE0" width="327">Товар</th>
         <th bgcolor="#FFFFE0" >Артикул</th>
         <th bgcolor="#FFFFE0" >Цена</th>
         <th bgcolor="#FFFFE0" width="70">Кол-во</th>
         <th bgcolor="#FFFFE0" width="50">НДС</th>
         <th bgcolor="#FFFFE0" >Сумма</th>
       </tr>';
        $i = 1;
        $ndsPercent = is_numeric($propertyOrder['nds']) ? $propertyOrder['nds'] : 0;
        $totalNds = 0;
        if ($ndsPercent === 0) {
            $totalNds = '-';
        }
        if (!empty($perOrders)) {
            foreach ($perOrders as $perOrder) {
                if ($totalNds !== '-') {
                    $marginNds = $perOrder['price'] * $ndsPercent / (100 + $ndsPercent);
                    $perOrder['price'] -= $marginNds;
                    $totalNds += $marginNds;
                }
                $html .= '<tr>
            <td style="padding: 5px;">' . $i++ . '</td>
            <td cellpadding="5">
              ' . $perOrder['name'] . '
              ' . htmlspecialchars_decode(str_replace('&amp;', '&', $perOrder['property'])) . '
            </td>
            <td >' . $perOrder['code'] . '</td>
            <td >' . sprintf('%2.2f', $perOrder['price']) . '  ' . $currency . '</td>
            <td >' . $perOrder['count'] . ' шт.</td>
            <td >' . ($propertyOrder['nds'] >= 0 && is_numeric($propertyOrder['nds']) ? $propertyOrder['nds'] . '%' : '---') . '</td>
            <td >' . sprintf('%2.2f', $perOrder['price'] * $perOrder['count']) . '  ' . $currency . '</td>
          </tr>';
            }
        }
        $html .= '
      <tr>
        <td colspan="6" class="colspan4">
          <strong>Итого без НДС:</strong>
        </td>
        <td>' . sprintf('%2.2f', $order['summ'] - $totalNds) . '  ' . $currency . '</td>
      </tr>
      <tr>
		<td colspan="6" class="colspan4">
			<strong>Итого НДС:</strong>
		</td>';
        if ($totalNds !== '-') {
            $html .= '<td>' . sprintf('%2.2f', $totalNds) . '  ' . $currency . '</td>';
        } else {
            $html .= '<td>---</td>';
        }
        $html .= '</tr>
   <tr>
		<td colspan="6" class="colspan4">
			<strong>Доставка:</strong>
		</td>';
        $html .= '<td><strong>' . $order['delivery_cost'] . '  ' . $currency . '</strong></td>';
        $totalsumm = $order['summ'] + $order['delivery_cost'];
        $html .= '</tr>
      <tr>
        <td colspan="6" class="colspan4">
          <strong>Всего к оплате:</strong>
        </td>
        <td><strong>' . sprintf('%2.2f', $totalsumm) . '  ' . $currency . '</strong></td>
      </tr>
      </table>
    <p>Всего наименований ' . $i . ', на сумму ' . $totalsumm . '  ' . $currency . '</p>
    ';
        include 'int2str.php';
        $sumToWord = new int2str($totalsumm);
        $sumToWord->ucfirst($sumToWord->rub);
        $html .= '<p><strong style="font-size: 18px;">' . $sumToWord->ucfirst($sumToWord->rub) . '</strong></p>    
    <div class="clear">&nbsp;</div>
    </div>';
        $imgSing = '';
        if (file_exists($propertyOrder['sing'])) {
            $imgSing = '<img src="' . SITE . '/' . $propertyOrder['sing'] . '">';
        } else {
            if (file_exists('uploads/sing.jpg')) {
                $imgSing = '<img src="' . SITE . '/uploads/sing.jpg">';
            }
        }
        $imgStamp = '';
        if (file_exists($propertyOrder['stamp'])) {
            $imgStamp = '<img src="' . SITE . '/' . $propertyOrder['stamp'] . '">';
        } else {
            if (file_exists('uploads/stamp.jpg')) {
                $imgStamp = '<img src="' . SITE . '/uploads/stamp.jpg">';
            }
        }
        if (empty($propertyOrder['usedsing'])) {
            $imgSing = '';
            $imgStamp = '';
        }
        $html .= '
          <br /> 
					<br />           
          <table>
          
          <tr>
            <td width="240"></td>
            <td width="10"></td> 
            <td width="140" align="center">' . $imgSing . '</td>
            <td width="30"></td> 
            <td width="240"></td>
          </tr>
          
          <tr>
            <td width="240">Генеральный директор</td>
            <td width="10"></td>        
            <td width="140"></td>
            <td width="30"></td> 
            <td width="240" align="center">/' . $propertyOrder['general'] . '/</td>
          </tr>
          
          <tr>
            <td width="240"></td>
            <td width="10"></td>
            <td width="140"><hr>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;подпись</td>        
            <td width="30"></td> 
            <td width="240"><hr><strong style="font-size: 10px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;расшифровка подписи</strong></td>
          </tr>
          
          <tr>
            <td width="240"></td>
            <td width="10"></td>
            <td width="140"></td>   
            <td width="30"></td> 
            <td width="240"></td>
          </tr>
          
          <tr>
            <td width="240"></td>
            <td width="10"></td>
            <td width="140"></td> 
            <td width="30"></td> 
            <td width="240">М.П.' . $imgStamp . '</td>
          </tr>
          
          <tr>
          </tr>
          
          </table>
       ';
        return $html;
    }
Esempio n. 9
0
          Ваш заказ <b>№<?php 
echo $data['orderNumber'];
?>
</b>
          принят к выполнению в магазине <?php 
echo $data['shopName'];
?>
.
		  <p class="confirm-info" style="font-size:12px;margin:0 0 10px 0">
		  <br>
		  Подтвердите заказ, перейдя <br> по <?php 
echo $data['confirmLink'];
?>
		  <br>
         <?php 
if ($data['toKnowStatus'] == '' && !USER::getUserInfoByEmail($data['email'])->activity) {
    ?>
		  <span style="color:red">Автоматически будет создана учетная запись для доступа в Ваш личный кабинет.</span>
          <?php 
}
?>
		  </p>
      
		  
          <br>
          Мы будем оповещать Вас о ходе выполнения заказа по почте.
          <br>
          <?php 
if ($data['toKnowStatus'] == '') {
    ?>
          После подтверждения заказа, Вы можете в любой момент самостоятельно узнать статус заказа в Вашем
Esempio n. 10
0
        <div style="font-size:12px;line-height:16px;margin:0;">
          Ваш заказ <b>№<?php 
echo $data['orderNumber'];
?>
</b>
          принят к выполнению в магазине <?php 
echo $data['shopName'];
?>
.
		  <p class="confirm-info" style="font-size:12px;margin:0 0 10px 0">
		  <br>
		  Подтвердите заказ, перейдя <br> по <?php 
echo $data['confirmLink'];
?>
		  <?php 
if (!USER::getUserInfoByEmail($data['email'])) {
    ?>
		  <br>
		  <span style="color:red">Автоматически будет создана учетная запись для доступа в ваш личный кабинет.</span>
          <?php 
}
?>
		  </p>
		  
          <br>
          Мы будем оповещать Вас о ходе выполнения заказа по почте.
          <br>
          После подтверждения заказа, Вы можете в любой момент самостоятельно узнать статус заказа в Вашем
          <a href="<?php 
echo SITE;
?>
Esempio n. 11
0
 /**
  * Метод отправки письма для активации пользователя.
  * @param type $userEmail
  * @return void 
  */
 private function _sendActivationMail($userEmail)
 {
     $userId = USER::getUserInfoByEmail($userEmail)->id;
     $hash = $this->fPass->getHash($userEmail);
     $this->fPass->sendHashToDB($userEmail, $hash);
     $siteName = MG::getOption('sitename');
     $message = '
   Здравствуйте!<br>
     Вы получили данное письмо так как зарегистрировались на сайте ' . $siteName . ' с логином ' . $userEmail . '.<br>
     Для активации пользователя и возможности пользоваться личным кабинетом пройдите по ссылке: <a href="' . SITE . '/registration?sec=' . $hash . '&id=' . $userId . '" target="blank">' . SITE . '/registration?sec=' . $hash . '&id=' . $userId . '</a>.<br>
     Отвечать на данное сообщение не нужно.';
     $emailData = array('nameFrom' => $siteName, 'emailFrom' => MG::getSetting('noReplyEmail'), 'nameTo' => 'Пользователю сайта ' . $siteName, 'emailTo' => $userEmail, 'subject' => 'Активация пользователя на сайте ' . $siteName, 'body' => $message, 'html' => true);
     $this->fPass->sendUrlToEmail($emailData);
 }