Ejemplo n.º 1
0
 /**
  * @brief 获取url参数
  * @param String url 需要分析的url,默认为当前url
  */
 public static function beginUrl($url = '')
 {
     //四种
     //native: /index.php?controller=blog&action=read&id=100
     //pathinfo:/blog/read/id/100
     //native-pathinfo:/index.php/blog/read/id/100
     //diy:/blog-100.html
     $obj = IServerVars::factory($_SERVER['SERVER_SOFTWARE']);
     $url = !empty($url) ? $url : $obj->realUri();
     preg_match('/\\.php(.*)/', $url, $phpurl);
     if (!isset($phpurl[1]) || !$phpurl[1]) {
         if ($url != "") {
             //强行赋值
             //todo:检测是否有bug
             $phpurl = array(1 => "?");
         } else {
             return;
         }
     }
     $url = $phpurl[1];
     $urlArray = array();
     $rewriteRule = isset(IWeb::$app->config['rewriteRule']) ? IWeb::$app->config['rewriteRule'] : 'native';
     if ($rewriteRule != 'native') {
         $urlArray = self::decodeRouteUrl($url);
     }
     if ($urlArray == array()) {
         if ($url[0] == '?') {
             $urlArray = $_GET;
         } else {
             $urlArray = self::pathinfoToArray($url);
         }
     }
     if (isset($urlArray[self::UrlCtrlName])) {
         $tmp = explode('-', $urlArray[self::UrlCtrlName]);
         if (count($tmp) == 2) {
             IReq::set('module', $tmp[0]);
             IReq::set(self::UrlCtrlName, $tmp[1]);
         } else {
             IReq::set(self::UrlCtrlName, $urlArray[self::UrlCtrlName]);
         }
     }
     if (isset($urlArray[self::UrlActionName])) {
         IReq::set(self::UrlActionName, $urlArray[self::UrlActionName]);
         if (IReq::get('action') == 'run') {
             IReq::set('action', null);
         }
     }
     unset($urlArray[self::UrlActionName], $urlArray[self::UrlActionName], $urlArray[self::Anchor]);
     foreach ($urlArray as $key => $value) {
         IReq::set($key, $value);
     }
 }
Ejemplo n.º 2
0
 /**
  * @brief 保存顾客留言
  */
 public function order_message()
 {
     //获得post数据
     $order_id = IFilter::act(IReq::get('order_id'), 'int');
     $user_id = IFilter::act(IReq::get('user_id'), 'int');
     $title = IFilter::act(IReq::get('title'));
     $content = IFilter::act(IReq::get('content'), 'text');
     //获得message的表对象
     $tb_message = new IModel('message');
     $tb_message->setData(array('title' => $title, 'content' => $content, 'time' => date('Y-m-d H:i:s')));
     $message_id = $tb_message->add();
     //获的mess类
     $message = new Mess($user_id);
     $message->writeMessage($message_id);
     IReq::set('id', $order_id);
     $this->order_show();
 }
Ejemplo n.º 3
0
 /**
  * 修改收件人信息
  * */
 public function order_accept()
 {
     $id = IFilter::act(IReq::get('order_id'), 'int');
     $mess = '';
     if ($id) {
         $order_array = array('postcode' => IFilter::act(IReq::get('postcode')), 'accept_name' => IFilter::act(IReq::get('accept_name')), 'province' => IFilter::act(IReq::get('province')), 'city' => IFilter::act(IReq::get('city')), 'area' => IFilter::act(IReq::get('area')), 'school' => IFilter::act(IReq::get('school')), 'address' => IFilter::act(IReq::get('address')), 'telphone' => IFilter::act(IReq::get('telphone')), 'mobile' => IFilter::act(IReq::get('mobile')));
         $tb_order = new IModel('order');
         $orderRow = $tb_order->getObj('id = ' . $id);
         //比对省份是否改变,从而重新计算运费
         if ($order_array['province'] != $orderRow['province']) {
             //获取订单物品重量
             $goods_weight = IFilter::act(IReq::get('goods_weight'), 'float');
             //调入数据,获得配送方式结果
             $deliveryData = Delivery::getDelivery($order_array['province'], $goods_weight);
             //所选择的省份不能送达
             if ($deliveryData[$orderRow['distribution']]['if_delivery'] == 1) {
                 $mess = '对不起,该地区不能送达,请您重新选择省份';
             } else {
                 if ($deliveryData[$orderRow['distribution']]['price'] != $orderRow['payable_freight']) {
                     $order_array['payable_freight'] = $deliveryData[$orderRow['distribution']]['price'];
                     //非免运费
                     if ($orderRow['real_freight'] > 0) {
                         $order_array['real_freight'] = $order_array['payable_freight'];
                         //修正订单最终总金额
                         $order_array['order_amount'] = $orderRow['order_amount'] + $order_array['payable_freight'] - $orderRow['real_freight'];
                     }
                 }
             }
         }
         //无错误信息运行正常
         if ($mess == '') {
             $mess = '更新成功!';
             $tb_order->setData($order_array);
             if ($tb_order->update('id = ' . $id . ' and user_id = ' . $this->user['user_id']) === false) {
                 $mess = '收件人更新失败!';
             }
         }
     } else {
         $mess = '您的操作失败!';
     }
     IReq::set('id', $id);
     $this->order_detail();
     Util::showMessage($mess);
 }
Ejemplo n.º 4
0
 /**
  * 修改收件人信息
  * */
 public function order_accept()
 {
     $id = IFilter::act(IReq::get('order_id'), 'int');
     $freight = IReq::get('freight_real');
     $mess = '您的操作成功!';
     if ($id) {
         $tb_order = new IModel('order');
         $order_array = array('accept_name' => IFilter::act(IReq::get('accept_name')), 'province' => IFilter::act(IReq::get('province')), 'city' => IFilter::act(IReq::get('city')), 'area' => IFilter::act(IReq::get('area')), 'address' => IFilter::act(IReq::get('address')), 'telphone' => IFilter::act(IReq::get('telphone')), 'mobile' => IFilter::act(IReq::get('mobile')), 'real_freight' => IFilter::act(IReq::get('freight_real')), 'order_amount' => IFilter::act(IReq::get('order_total')));
         $tb_order->setData($order_array);
         if ($tb_order->update('id=' . $id) === false) {
             $mess = '收件人更新失败!';
         }
     } else {
         $mess = '您的操作失败!';
     }
     IReq::set('id', $id);
     $this->order_detail();
     Util::showMessage($mess);
 }