Esempio n. 1
0
 /**
  * Deletes a seller.
  *
  * @param Model_Seller $seller The seller to delete.
  *
  * @return bool
  */
 public static function delete(Model_Seller $seller)
 {
     $seller->status = 'deleted';
     try {
         $seller->save();
     } catch (FuelException $e) {
         Log::error($e);
         return false;
     }
     return true;
 }
Esempio n. 2
0
 public function action_save($id = 0)
 {
     $params = array('title' => '公众号设置——微信公众号管理', 'menu' => 'wxaccount', 'action_name' => '公众号资料');
     $account = array();
     if ($id) {
         $account = \Model_WXAccount::find($id);
     }
     if (\Input::method() == 'POST') {
         $data = \Input::post();
         $val = \Validation::forge('MyRules');
         $val->add_callable('MyRules');
         $val->add_field('open_id', 'OPENID', 'required' . ($id ? '' : '|unique[wx_accounts.open_id]'));
         $val->add_field('app_id', '应用ID', 'required');
         $val->add_field('app_secret', '应用密钥', 'required');
         if (!$val->run()) {
             foreach ($val->error() as $key => $value) {
                 $errors[$key] = (string) $value;
             }
             if (\Input::is_ajax()) {
                 die(json_encode(array('status' => 'err', 'msg' => '表单验证错误', 'data' => $errors, 'errcode' => 10)));
             }
             $msg = array('status' => 'err', 'msg' => '表单验证错误', 'data' => $errors, 'errcode' => 10);
         } else {
             //判断操作类型:编辑或创建
             if ($account) {
                 $account->set($data);
             } else {
                 $data['seller_id'] = isset($data['seller_id']) ? $data['seller_id'] : \Session::get('seller')->id;
                 $account = \Model_WXAccount::forge($data);
                 //设置额外属性
                 $account->metadata = array(\Model_WXAccountMetadata::forge(array('key' => 'keyword_not_fond', 'value' => 'reply_text')), \Model_WXAccountMetadata::forge(array('key' => 'keyword_not_found_content', 'value' => '')), \Model_WXAccountMetadata::forge(array('key' => 'is_subscribe_member', 'value' => 1)), \Model_WXAccountMetadata::forge(array('key' => 'wechat_ticket', 'value' => '')), \Model_WXAccountMetadata::forge(array('key' => 'wechat_ticket_valid', 'value' => 0)), \Model_WXAccountMetadata::forge(array('key' => 'is_fans_create_page', 'value' => 1)), \Model_WXAccountMetadata::forge(array('key' => 'share_url', 'value' => isset($data['share_url']) ? $data['share_url'] : '')), \Model_WXAccountMetadata::forge(array('key' => 'fans_create_page_keyword', 'value' => isset($data['fans_create_page_keyword']) ? $data['fans_create_page_keyword'] : 'ok')), \Model_WXAccountMetadata::forge(array('key' => 'fans_create_page_over_keyword', 'value' => isset($data['fans_create_page_over_keyword']) ? $data['fans_create_page_over_keyword'] : 'over')));
             }
             if ($account->save()) {
                 $seller = \Model_Seller::find(\Session::get('seller')->id);
                 \Session::set('seller', $seller);
                 \Session::set('WXAccount', $account);
                 $msg = array('status' => 'succ', 'msg' => '操作成功', 'errcode' => 0);
             } else {
                 $msg = array('status' => 'err', 'msg' => '操作失败', 'errcode' => 10);
             }
         }
         if (\Input::is_ajax()) {
             die(json_encode($msg));
         }
         \Session::set_flash('msg', $msg);
     }
     if ($account) {
         $params['item'] = $account;
     }
     \View::set_global($params);
     $this->template->content = \View::forge('ace/mp/account/details');
 }
Esempio n. 3
0
 /**
  * 加载商户信息
  */
 protected function load_seller($id = 0)
 {
     if (!$id && !\Input::get('seller_id', false)) {
         return;
     } else {
         if (\Input::get('seller_id', false)) {
             $id = \Input::get('seller_id');
         }
     }
     $seller = \Session::get($this->SESSION_SELLER_KEY, false);
     if ($seller && $seller->id == $id) {
         return;
     }
     $seller = \Model_Seller::find($id);
     \Session::set($this->SESSION_SELLER_KEY, $seller);
 }
Esempio n. 4
0
 public function auth()
 {
     $flag = false;
     if (!\Input::get('access_token', false)) {
         return $flag;
     }
     $token = \Model_ApiToken::query()->where('token', base64_decode(\Input::get('access_token')))->get_one();
     if (!$token) {
         return false;
     } else {
         if ($token->expire_at < time()) {
             return false;
         }
     }
     $data = unserialize($token->data);
     $this->user = \Model_User::find($data->user_id);
     if (\Input::param('store_id', false)) {
         $this->store = \Model_Store::find(\Input::param('store_id'));
         $this->seller = $this->wx_account->seller;
     }
     if (\Input::param('wechat_id', false)) {
         $this->wechat = \Model_Wechat::find(\Input::param('wechat_id'));
     }
     if (\Input::param('openid_id', false)) {
         $this->store = \Model_WechatOpenid::find(\Input::param('openid_id'));
     }
     if (\Input::param('account_id', false)) {
         $this->wx_account = \Model_WXAccount::find(\Input::param('account_id'));
         $this->seller = $this->wx_account->seller;
     }
     if (\Input::param('seller_id', false)) {
         $this->seller = \Model_Seller::find(\Input::param('seller_id'));
     }
     //解析access_token,并查询access_token有效期
     //有效返回true否则返回false
     return $this->user ? true : false;
 }
Esempio n. 5
0
 /**
  * Unlinks a gateway from a seller.
  *
  * @param Model_Gateway $gateway The gateway to unlink.
  * @param Model_Seller  $seller  The seller to unlink the gateway from.
  *
  * @return bool
  */
 public static function unlink(Model_Gateway $gateway, Model_Seller $seller)
 {
     unset($seller->gateways[$gateway->id]);
     try {
         $seller->save();
     } catch (FuelException $e) {
         Log::error($e);
         return false;
     }
     return true;
 }