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'); }
public static function createAccount($data) { if (!isset($data['is_subscribe_create_user'])) { $data['is_subscribe_create_user'] = false; } if (!isset($data['is_subscribe_create_member'])) { $data['is_subscribe_create_member'] = false; } if (!isset($data['create_user_default_group'])) { $data['create_user_default_group'] = 1; } $account = \Model_WXAccount::forge($data); if (!$account->save()) { return false; } return $account; }