示例#1
0
文件: elem_main.php 项目: romlg/cms36
 function ElemRedactB($fld)
 {
     $fld = parent::ElemRedactB($fld);
     $fld['obj_type_id'] = 'commerce';
     if ($fld['sell'] == '1') {
         $fld['avance'] = $fld['credit'] = '0';
     }
     // Пересчет цены в у.е
     $value = sql_getValue('SELECT value FROM currencies WHERE name="USD"');
     if ($value) {
         $fld['price_dollar'] = $fld['price_rub'] / $value;
     }
     //отправка уведомления
     $current_status = sql_getValue("SELECT status FROM objects WHERE id=" . $this->id);
     if ($current_status == 1 && $fld['status'] == 2) {
         SendNotify('ANNOUNCEMENT_PUBLISHED', $fld['client_id'], $fld);
     } else {
         if ($current_status == 2 && $fld['status'] != 2) {
             SendNotify('ANNOUNCEMENT_CLOSED', $fld['client_id'], $fld);
         }
     }
     return $fld;
 }
示例#2
0
文件: elem_main.php 项目: romlg/cms36
 function ElemRedactB($fld)
 {
     $fld = parent::ElemRedactB($fld);
     $fld['obj_type_id'] = 'room';
     if ($fld['sell'] == '1') {
         $fld['avance'] = $fld['credit'] = '0';
     }
     if (empty($fld['lot_id'])) {
         $max_lot = (int) sql_getValue('SELECT MAX(lot_id) FROM ' . $this->elem_table);
         if ($max_lot) {
             $fld['lot_id'] = $max_lot + 1;
         }
     }
     if (isset($fld['price_rub'])) {
         $fld['price_rub'] = str_replace(array(" ", ","), array("", "."), $fld['price_rub']);
     }
     if (isset($fld['price_metr_rub'])) {
         $fld['price_metr_rub'] = str_replace(array(" ", ","), array("", "."), $fld['price_metr_rub']);
     }
     if (isset($fld['price_rub_print'])) {
         $fld['price_rub_print'] = str_replace(array(" ", ","), array("", "."), $fld['price_rub_print']);
     }
     // Пересчет цены в у.е
     $value = sql_getValue('SELECT value FROM currencies WHERE name="USD"');
     if ($value) {
         $fld['price_dollar'] = $fld['price_rub'] / $value;
     }
     //Проверяем адрес в таблице адресов и координат
     $address = e(strip_tags($fld['address']));
     $address_id = (int) sql_getValue("SELECT id FROM `obj_address` WHERE address='{$address}'");
     if (!$address_id) {
         $address_id = (int) sql_insert('obj_address', array('address' => $address));
     }
     $fld['address_id'] = $address_id;
     //отправка уведомления
     $current_status = sql_getValue("SELECT status FROM `rnt_objects` WHERE id=" . $this->id);
     if ($current_status == 1 && $fld['status'] == 2) {
         SendNotify('ANNOUNCEMENT_PUBLISHED', $fld['client_id'], $fld);
     } else {
         if ($current_status == 2 && $fld['status'] != 2) {
             SendNotify('ANNOUNCEMENT_CLOSED', $fld['client_id'], $fld);
         }
     }
     return $fld;
 }
示例#3
0
文件: orders.php 项目: romlg/cms36
 function EditProducts()
 {
     $order_id = $_POST['id'];
     $ids = $_POST['ids'];
     $cart = $this->getCart($order_id);
     $client_id = sql_getValue("SELECT client_id FROM orders WHERE id=" . $order_id);
     foreach ($ids as $key => $val) {
         $cart['ids'][$val] = sql_getRow("SELECT id,discount_group_id,price FROM products WHERE id=" . $val);
         $cart['ids'][$val]['customer_price'] = $this->GetDiscountPrice($val, $client_id);
         $cart['ids'][$val]['quantity'] = 1;
         $cart['ids'][$val]['id'] = $val;
     }
     $cart = $this->calculateCart($cart);
     $this->SaveOrder($cart);
     $order = sql_getRow("SELECT *,FROM_UNIXTIME(order_date) as order_date FROM orders WHERE id=" . $order_id);
     $order['cart'] = $cart;
     $order['payment_type_display'] = $this->str($order['payment_type']);
     $order['status2'] = $this->str($order['status']);
     $order['currency'] = sql_getRow("SELECT * FROM currency WHERE name='" . $order['currency'] . "'");
     global $directories;
     foreach ($directories['shipping_type'] as $k => $v) {
         $order['shipping_types'][$k] = $v;
     }
     $order['delivery_type'] = $directories['delivery_type'][$order['delivery_type']];
     $order['product_list'] = sql_getRows("SELECT cart.*,p.*,m.name as manufacturer \n            \tFROM cart  \n            \tLEFT JOIN products as p on cart.product_id=p.id \n            \tLEFT JOIN manufacturers as m on m.id=p.manufacturer_id \n            \tWHERE cart.order_id=" . $order['id']);
     SendNotify('ORDER_CH_ORDER', $client_id, array('data' => $order));
     return "<script>alert('" . $this->str('saved') . "');window.top.opener.location.reload();window.top.close();</script>";
 }
示例#4
0
 function sendHash($tpl = 'SEND_HASH', $login)
 {
     if (empty($login)) {
         $login = mysql_real_escape_string(get('login', '', 'pgc'));
     }
     if ($this->fp_userExists($login)) {
         $user_id = $this->cached_user['id'];
         $data['site_name'] = $_SERVER["HTTP_HOST"];
         $hash = $this->fp_createChPassHash($login);
         if (!$hash) {
             return false;
         }
         $data['hash'] = $hash;
         $data['user'] = $this->cached_user;
         //pr($data);
         return SendNotify($tpl, $user_id, $data);
     }
     return false;
 }
示例#5
0
文件: bills.php 项目: romlg/cms36
 function Editp()
 {
     $root = is_root();
     $whom = $_SESSION['user']['login'];
     $temp = sql_getRow("SELECT *,(total - bonus) as total FROM bills WHERE id=" . $_POST['id']);
     $client = sql_getRow("SELECT * FROM auth_users WHERE id=" . $temp['client_id']);
     $order = sql_getRows("SELECT * FROM cart as c LEFT JOIN products as p on c.product_id=p.id WHERE c.order_id=" . $temp['order_id']);
     if (!$root) {
         if ($temp['received'] < $temp['total']) {
             if ($_POST['fld']['received'] + $temp['received'] > $temp['total']) {
                 return "<script>alert('" . $this->str('rec_big') . "');</script>";
             }
         } else {
             return "<script>alert('" . $this->str('rec_big2') . "');</script>";
         }
     }
     if ($_POST['fld']['received'] > 0 || $root) {
         //--- notify ---
         $this->emailNotify($temp, 'bills_money');
         //--------------
         $temp['received'] += $_POST['fld']['received'];
         if ($_POST['fld']['received'] != 0) {
             $this->in_history('change_money', 'bill', $temp['client_id'], $temp['id'], $_POST['fld']);
             if ($temp['received'] >= $temp['total'] & !empty($order)) {
                 $_POST['fld']['status'] = 'paid';
                 //--- notify ---
                 $this->emailNotify($temp, 'bills_status');
                 //--------------
                 $this->in_history('auto_ch_status', 'bill', $temp['client_id'], $temp['id'], $_POST['fld']);
             } elseif ($temp['received'] < $temp['total']) {
                 $_POST['fld']['status'] = 'new';
                 if ($_POST['fld']['status'] != $temp['status']) {
                     //--- notify ---
                     $this->emailNotify($temp, 'bills_status');
                     //--------------
                     $this->in_history('auto_ch_status_no_money', 'bill', $temp['client_id'], $temp['id'], $_POST['fld']);
                 }
             } elseif (empty($order)) {
                 $_POST['fld']['status'] = 'new';
                 //--- notify ---
                 $this->emailNotify($temp, 'bills_status');
                 //--------------
                 if ($_POST['fld']['status'] != $temp['status']) {
                     $this->in_history('auto_ch_status_no_bill', 'bill', $temp['client_id'], $temp['id'], $_POST['fld']);
                 }
             }
         }
     }
     //только root может отнимать от суммы
     if ($_POST['fld']['received'] < 0 && !$root) {
         return "<script>alert('" . $this->str('error') . "');</script>";
     }
     /*Бонусная система*/
     if ($client['otkat'] != 0) {
         //убираем участие в бриз клубе и перестаем считать откаты
         if ($client['briz_club'] == 1) {
             my_query("UPDATE auth_users SET briz_club = 0, bonus_bill = 0 WHERE id=" . $client['id']);
         }
     } else {
         //проверяем, является ли клиент участником клуба
         if ($client['briz_club'] != 1) {
             //смотри, если текущих денег хватит для оплаты, то не собираем все счета за 2 месяца
             if ($temp['received'] < 3000) {
                 //проверяем оплаченные счета за 2 месяца, на предмет добавления в клуб
                 $date = date('Y-m-d 00:00:00', time() - 60 * 60 * 24 * 61);
                 //время 61 день назад
                 $sql = 'SELECT sum(total) FROM `bills` WHERE client_id=' . $client['id'] . ' and status = "paid" and date_pay > "' . $date . '"';
                 if (sql_getValue($sql) >= 3000) {
                     $client['briz_club'] = 1;
                 }
             } else {
                 $client['briz_club'] = 1;
             }
             //елси его добавляем в клуб то устанавливаем значение для $client['briz_club']
             if ($client['briz_club'] == 1) {
                 my_query("UPDATE auth_users SET bonus_bill = 0, briz_club = 1 WHERE id=" . $client['id']);
             }
         }
         if ($client['briz_club'] == 1) {
             //зачисляем бонусы на счет
             $money = $_POST['fld']['received'];
             if (!empty($money)) {
                 if (abs($money) >= 3000 && abs($money) < 4999) {
                     $bonus = $money * 0.01;
                 }
                 if (abs($money) >= 5000 && abs($money) < 9999) {
                     $bonus = $money * 0.02;
                 }
                 if (abs($money) >= 10000) {
                     $bonus = $money * 0.03;
                 }
                 if (isset($bonus)) {
                     $bonus = round($bonus);
                     //округляем
                     //зачисляем на счет
                     my_query("UPDATE auth_users SET bonus_bill = bonus_bill + " . $bonus . " WHERE id=" . $client['id']);
                     //--- notify ---
                     $array = array('bonus' => $bonus, 'client' => $client);
                     SendNotify('SEND_ADD_BONUS', $client['id'], $array);
                 }
             }
         }
     }
     if ($_POST['fld']['received'] == "0") {
         $_POST['fld']['date_pay'] = "0";
     } else {
         $_POST['fld']['date_pay'] = date('Y-m-d H:i:s');
     }
     $_POST['fld']['received'] = $temp['received'];
     //---- Сохранение ----
     $res = $this->Commit();
     if (is_int($res)) {
         return "<script>alert('" . $this->str('saved') . "');try{window.parent.top.opener.location.reload();window.parent.location.reload();}catch(e){window.parent.location.reload();}finally{}</script>";
     }
     return $this->Error($res);
 }
示例#6
0
 /**
  * Отправка уведомлений об истекающих объявлениях пользователям, у которых стоит соответствующий флажок
  */
 function notify_expiring()
 {
     $users = sql_getRows("SELECT user_id FROM notify_user_settings WHERE type='announcement_ends' AND method='email'");
     $rows = sql_getRows("SELECT * FROM objects WHERE status=2 AND UNIX_TIMESTAMP(expired_time)>" . strval(time() - 60 * 60 * 24));
     foreach ($rows as $row) {
         if (in_array($row['client_id'], $users)) {
             SendNotify("ANNOUNCEMENT_ENDS", $row['client_id'], $row);
         }
     }
 }
示例#7
0
 function show_form_user(&$params)
 {
     $page =& Registry::get('TPage');
     $page->tpl->config_load($page->content['domain'] . "__" . lang() . '.conf');
     $auth_obj =& Registry::get('TUserAuth');
     $profile = $auth_obj->getCurrentUserData();
     if (!$profile) {
         $fld = isset($_POST) && isset($_POST['fld']) ? $_POST['fld'] : array();
         if (!empty($fld)) {
             //получаем все строковые константы
             $sql = "SELECT name, strings.* FROM strings WHERE module='" . $this->name . "'";
             $str = sql_getRows($sql, true);
             //проверка полей и сохранение
             if (empty($fld['login'])) {
                 $error['login'] = $str['error_login_empty']['value'];
             } else {
                 $prf = $auth_obj->getUserProfile($auth_obj->getId($fld['login']));
                 if (isset($prf['auth']) && $prf['auth'] == 1) {
                     $error['login'] = $str['error_login']['value'];
                 }
                 //пользователь существует
                 if (!CheckMailAddress($fld['login'])) {
                     $error['login'] = $str['error_login_incorrect']['value'];
                 }
                 // Некорректный email
             }
             $req_fields = array('fio', 'password1', 'password2');
             foreach ($req_fields as $key => $val) {
                 if (empty($fld[$val])) {
                     $error[$val] = $str['error_' . $val]['value'];
                 }
             }
             $keystring = $_SESSION['captcha_keystring'];
             unset($_SESSION['captcha_keystring']);
             if (empty($keystring) || $fld['captcha'] !== $keystring) {
                 $error['captcha'] = $str['error_captcha']['value'];
                 // Ошибка при вводе проверочной комбинации
             }
             if ($fld['password1'] != $fld['password2']) {
                 $error['global'][] = $str['error_passwords']['value'];
             }
             //if ($fld['login']!=$fld['login2']){$error['global'][] = $str['error_emails']['value'];}
             if (empty($error)) {
                 if (isset($prf['auth']) && $prf['auth'] == 0) {
                     $sql = "DELETE FROM auth_users WHERE id = " . $prf['id'];
                     sql_query($sql);
                 }
                 //сохраняем пользователя
                 $fld['auth'] = 0;
                 $fld['visible'] = 0;
                 $fld['password'] = $fld['password1'];
                 unset($fld['password1']);
                 unset($fld['password2']);
                 unset($fld['captcha']);
                 $fld['reg_date'] = date('Y-m-d H:i:s');
                 $fields = "`" . implode("`,`", array_keys($fld)) . "`";
                 $values = "";
                 foreach ($fld as $k => $v) {
                     if ($k == 'password') {
                         $v = md5($v);
                     }
                     $values .= ",'" . mysql_escape_string($v) . "'";
                 }
                 $sql = "INSERT INTO auth_users (" . $fields . ") VALUES (" . substr($values, 1) . ")";
                 sql_query($sql);
                 $id = sql_getLastId();
                 //получаем идентификатор группы пользователя(группа с наивысшим приоритетом = 1)
                 $sql = "SELECT id FROM `auth_groups` ORDER BY priority ASC LIMIT 1";
                 $group_id = sql_getValue($sql);
                 if ($id) {
                     $sql = "UPDATE auth_users SET auth=1 WHERE id=" . $id;
                     sql_query($sql);
                     //прикрепляем пользователя к группе
                     $sql = "REPLACE INTO auth_users_groups (user_id, group_id) VALUES('" . $id . "','" . $group_id . "')";
                     sql_query($sql);
                     $auth_obj =& Registry::get('TUserAuth');
                     $fld['user_id'] = $id;
                     $fld['site_name'] = $page->tpl->get_config_vars('title');
                     $fld['site_url'] = $_SERVER['HTTP_HOST'];
                     $fld['hash'] = $auth_obj->fp_createChPassHash($fld['login']);
                     $fld['user'] = true;
                     SendNotify('USER_REGISTRATION_TO_ADMIN', $id, $fld);
                     //						SendNotify('CLIENT_REGISTRATION', $id, $fld);
                     /*
                     						$redirect = '/cabinet/cart';
                     						session_start();
                     						unset($_SESSION['smsm']['login_registration_redirect']);
                     						session_write_close();
                     						redirect($redirect);
                     */
                     $ret['form'] = false;
                     $ret['error']['global'] = 'Учетная запись была создана.';
                     $page =& Registry::get('TPage');
                     unset($page->tpl->_tpl_vars['text']);
                     return $ret;
                 } else {
                     $error['global'] = 'Ошибка создания учетной записи! Свяжитесь с администратором сайта.';
                 }
             }
         }
     }
     $ret['form'] = true;
     $ret['fld'] = isset($fld) ? $fld : array();
     $ret['error'] = isset($error) ? $error : array();
     $ret['dirs'] = get('dirs', $_SERVER['REDIRECT_URL'], 'pg');
     return $ret;
 }
示例#8
0
 function Edit()
 {
     $fld = get('fld', array(), 'p');
     $client_id = (int) get('client_id', 0, 'p');
     if ($client_id > 0) {
         // updating password
         if (@$fld['pass1'] or @$fld['pass2']) {
             if ($fld['pass1'] == $fld['pass2'] and ($fld['pass1'] != '' and $fld['pass2'] != '')) {
                 $fld['password'] = md5($fld['pass1']);
             } else {
                 return "<script>alert('" . $this->str('passwords_ne') . "');</script>";
             }
         }
         unset($fld['pass1']);
         unset($fld['pass2']);
         $reload = "";
         // updating group
         /*if(isset($fld['group'])) {
         				$group = (int) sql_getValue("SELECT group_id FROM auth_users_groups WHERE user_id=".$client_id);
         				if($group>0) {
         					if($group!=$fld['group'])
         					sql_query("UPDATE auth_users_groups SET group_id=".(int)$fld['group']." WHERE user_id=".$client_id);
         				}
         				else {
         					sql_query("INSERT INTO auth_users_groups (user_id,group_id) VALUES (".$client_id.",".(int)$fld['group'].")");
         				}
         				unset($fld['group']);
         				$reload = "window.top.location.reload();";
         
         			}*/
         // preparing visible parametr
         if (isset($fld['login'])) {
             /*if(@$fld['visible']) $fld['visible']=1;
             				else $fld['visible']=0;
             
             				// preparing subscribe parametr
             				if(@$fld['subscribe']) $fld['subscribe']=1;
             				else $fld['subscribe']=0;
             
             				// preparing subscribe parametr
             				if(@$fld['enable']) $fld['enable']=1;
             				else $fld['enable']=0;*/
             if (@$fld['trusted']) {
                 $fld['trusted'] = 1;
             } else {
                 $fld['trusted'] = 0;
             }
             if (@$fld['free']) {
                 $fld['free'] = 1;
             } else {
                 $fld['free'] = 0;
             }
             if (@$fld['auth']) {
                 $fld['auth'] = 1;
             } else {
                 $fld['auth'] = 0;
             }
         }
         if ((int) sql_getValue("SELECT auth FROM {$this->table} WHERE id=\"{$client_id}\"") == 0 && $fld['auth'] > 0) {
             SendNotify('CLIENT_REGISTRATION', $id, $fld);
         }
         // updating information
         foreach ($fld as $k => $v) {
             $res = sql_query("UPDATE {$this->table} SET {$k}=\"" . htmlspecialchars($v) . "\" WHERE id=\"{$client_id}\"");
             if (!$res) {
                 return "<script>alert('" . $this->str('error') . ": " . mysql_error() . "');</script>";
             }
         }
         return "<script>alert('" . $this->str('saved') . "');" . $reload . "</script>";
     } else {
         return "<script>alert('" . $this->str('error') . "');" . $reload . "</script>";
     }
 }