Example #1
0
 /**
  * 列表
  */
 public function index()
 {
     $this->template->content = new View("manage/role_list");
     //调用分页
     $per_page = controller_tool::per_page();
     $this->pagination = new Pagination(array('total_items' => Myrole::instance()->count(), 'items_per_page' => $per_page));
     //管理员可能查看所有的用户组,其实只能看到对应等级下面的用户组
     if ($this->manager_is_admin == 1) {
         $roles = Myrole::instance()->roles();
     } else {
         $role_id = Mymanager::instance($this->manager_id)->get('role_id');
         $roles = Myrole::instance()->childrens($role_id);
     }
     foreach ($roles as $k => $v) {
         //显示图片标识
         $roles[$k]['active_img'] = view_tool::get_active_img($v['active']);
         $roles[$k]['type_name'] = 'merchant';
         if ($v['type'] == 1) {
             $roles[$k]['type_name'] = 'admin';
         }
         //列表中显示上级用户组
         $roles[$k]['parent_name'] = '空';
         if ($v['parent_id'] > 0) {
             $role = Myrole::instance($v['parent_id'])->get();
             $roles[$k]['parent_name'] = $role['name'];
         }
     }
     $this->template->content->roles = $roles;
 }
Example #2
0
 /**
  * 列表
  */
 public function index()
 {
     //查询条件
     $query_struct = array('orderby' => array('id' => 'DESC'));
     /* 搜索 */
     $search_arr = array('title', 'content');
     $search_type = $this->input->get('search_type');
     $search_value = $this->input->get('search_value');
     if (!empty($search_value) && in_array($search_type, $search_arr)) {
         $query_struct['like'][$search_type] = $search_value;
     }
     $where_view['search_value'] = $search_value;
     //调用分页
     $per_page = controller_tool::per_page();
     $query_struct['per_page'] = $per_page;
     $this->pagination = new Pagination(array('total_items' => Mynotice::instance()->count($query_struct), 'items_per_page' => $per_page));
     $query_struct['per_page'] = $this->pagination->sql_offset;
     $notice = Mynotice::instance()->lists($query_struct);
     foreach ($notice as $k => $v) {
         $notice[$k]['content_small'] = strip_tags(text::limit_words($v['content'], 30));
         $notice[$k]['manager_id'] = Mymanager::instance($v['manager_id'])->get('name');
     }
     //VIEW
     $this->template->content = new View("manage/notice_list");
     $this->template->content->notice = $notice;
     $this->template->content->where = $where_view;
 }
Example #3
0
 /**
  * site type list
  */
 public function index()
 {
     $query_struct = array();
     /**
      * 搜索
      */
     $search_arr = array('manager_id', 'user_log_type', 'date_begin', 'date_end');
     foreach ($this->input->get() as $key => $value) {
         if (in_array($key, $search_arr)) {
             if ($key == 'date_begin') {
                 $query_struct['where']["add_time >"] = $value . ' 00:00:00';
             } elseif ($key == 'date_end') {
                 $query_struct['where']["add_time <"] = $value . ' 24:00:00';
             } elseif (!empty($value)) {
                 $query_struct['where'][$key] = $value;
             }
         }
     }
     if ($this->manager_is_admin != 1) {
         //得到子用户的ID列表
         $childrens = Mymanager::instance($this->manager_id)->subs();
         $children_ids = array();
         $children_ids[] = $this->manager_id;
         foreach ($childrens as $key => $value) {
             $children_ids[] = $value['id'];
         }
         $query_struct['in']['manager_id'] = $children_ids;
     }
     //调用分页
     $per_page = controller_tool::per_page();
     $this->pagination = new Pagination(array('total_items' => Myuser_log::instance()->count($query_struct), 'items_per_page' => $per_page));
     $user_logs = Myuser_log::instance()->user_logs($query_struct, array('id' => 'DESC'), $per_page, $this->pagination->sql_offset);
     $user_log_type = Kohana::config('user_log_type.type');
     $user_log_type_status = Kohana::config('user_log_type.status');
     $managers = Mymanager::instance()->subs($this->manager_id);
     $managers[] = Mymanager::instance($this->manager_id)->get();
     foreach ($user_logs as $key => $value) {
         $user_logs[$key]['type_name'] = $user_log_type[$value['user_log_type']];
         $user_logs[$key]['status_name'] = $user_log_type_status[$value['user_log_type']][$value['status']];
         foreach ($value as $k => $v) {
             if (!is_numeric($v) && empty($v)) {
                 $user_logs[$key][$k] = '无';
             }
         }
     }
     $this->template->content = new View("manage/user_log_list");
     $this->template->content->user_logs = $user_logs;
     $this->template->content->user_log_type = $user_log_type;
     $this->template->content->today = date("Y-m-d", time());
     $this->template->content->yesterday = date("Y-m-d", time() - 24 * 3600);
     $this->template->content->managers = $managers;
 }
Example #4
0
 /**
  * 得到留言的信息状态以及留言者的信息,回复信息以及回复者的信息
  *
  * @param Array $query_struct
  * @return Array
  */
 public function get_message_reply_by_site_manage_role($query_struct = array())
 {
     $list = array();
     $results = self::messages($query_struct);
     if (!empty($results)) {
         foreach ($results as $result) {
             $request_struct = array('where' => array('message_id' => $result['id']));
             if (!empty($result['is_reply'])) {
                 $replies = Message_replyService::get_instance()->index($request_struct);
                 foreach ($replies as $key => $val) {
                     $replies[$key]['manager_name'] = Mymanager::instance($val['manager_id'])->get('name');
                     $replies[$key]['manager_email'] = Mymanager::instance($val['manager_id'])->get('email');
                 }
                 $result['replies'] = $replies;
             }
             $list[] = $result;
         }
     }
     return $list;
 }
Example #5
0
 /**
  * delete manager
  */
 public function delete($id)
 {
     role::check('delete_manager');
     //zhu add
     $this->_check_manager($id);
     /*if($id == $this->manager_id)
     		{
     			remind::set(Kohana::lang('o_manage.self_account_not_do'),'manage/manager');
     		}*/
     //不能删除root
     $manager = Mymanager::instance($id)->get();
     if (role::is_root($manager['username'])) {
         remind::set(Kohana::lang('o_global.access_root_denied'), 'manage/manager');
     }
     if (Mymanager::instance($id)->delete()) {
         remind::set(Kohana::lang('o_global.delete_success'), 'manage/manager', 'success');
     } else {
         remind::set(Kohana::lang('o_global.delete_error'), 'manage/manager');
     }
 }
Example #6
0
 public function set_bonus($id, $page = 1)
 {
     /* 权限检查 订单列表 */
     role::check('order_list');
     if (empty($id)) {
         remind::set(Kohana::lang('o_global.bad_request'), 'order/ticketnum/');
     }
     $ticketobj = ticket::get_instance();
     $result = $ticketobj->get($id);
     if (empty($result)) {
         remind::set(Kohana::lang('o_global.bad_request'), 'order/ticketnum/');
     }
     //提交操作
     if (!empty($_POST)) {
         tool::filter_strip_tags($_POST);
         $bonus = $_POST['money'];
         $num = $_POST['num'];
         $password = $_POST['password'];
         $flag = $ticketobj->update_bonus($id, $bonus, $num, $password, $this->manager_id);
         $addchar = '成功';
         if (!$flag) {
             $addchar = '失败';
         }
         //添加日志
         $logs_data = array();
         $logs_data['manager_id'] = $this->manager_id;
         $logs_data['user_log_type'] = 28;
         $logs_data['ip'] = tool::get_long_ip();
         $logs_data['memo'] = "为id:{$result['id']}的彩票录入奖金:{$bonus}{$addchar}";
         ulog::instance()->add($logs_data);
         if ($flag) {
             remind::set("成功为id:{$result['id']}的彩票录入奖金:{$bonus}", '/order/ticketnum/index/hasticket/?page=' . $page, 'success');
         } else {
             remind::set("为id:{$result['id']}的彩票录入奖金:{$bonus}失败", '/order/ticketnum/?page=' . $page, 'error');
         }
     }
     if ($result['status'] != 1 && !($result['status'] == 2 && $result['bonus'] == -9999)) {
         remind::set(Kohana::lang('o_global.bad_request'), 'order/ticketnum/');
     }
     //获取更多信息
     $result['plan'] = plan::get_instance()->get_plan_by_tid($result['plan_id'], $result['ticket_type']);
     $result['user'] = user::get_instance()->get($result['plan']['user_id']);
     $result['manager'] = '';
     if (!empty($result['manager_id'])) {
         $manager = Mymanager::instance($result['manager_id'])->get();
         $result['manager'] = $manager['username'];
     }
     $this->template->content = new View("order/order_set_bonus", $result);
 }
Example #7
0
 /**
  * get user_log manager
  *
  * @return Array
  */
 public function manager()
 {
     $manager_id = $this->data['manager_id'];
     $manager = Mymanager::instance($manager_id)->get();
     return $manager;
 }
Example #8
0
 /**
  * 留言回复
  */
 public function do_edit()
 {
     $request_data = $this->input->post();
     if ($_POST) {
         //数据验证
         $validation = Validation::factory($request_data)->add_rules('message_id', 'required', 'digit')->add_rules('content', 'required', 'length[0,65535]');
         if (!$validation->validate()) {
             remind::set(Kohana::lang('o_global.input_error'), request::referrer());
         }
         $message = MessageService::get_instance()->get($request_data['message_id']);
         if (empty($message['id'])) {
             remind::set(Kohana::lang('o_global.access_denied'), request::referrer(), 'error');
         }
         $set_data = array('message_id' => $message['id'], 'manager_id' => $this->manager_id, 'content' => $request_data['content'], 'update_timestamp' => date('Y-m-d H:i:s'));
         //判断此管理员是否已经回复过
         $message_reply_service = Message_replyService::get_instance();
         $manager_reply = $message_reply_service->get_reply_by_manager_id($this->manager_id, $message['id']);
         if (isset($manager_reply) && !empty($manager_reply['id'])) {
             $message_reply_service->set($manager_reply['id'], $set_data);
         } else {
             $set_data['create_timestamp'] = date('Y-m-d H:i:s');
             $message_reply_service->add($set_data);
             //把留言的回复状态改为已回复
             $message_data['is_reply'] = MessageService::IS_MANAGER_REPLY;
             MessageService::get_instance()->set($message['id'], $message_data);
         }
         //发送邮件
         if ($request_data['send_mail'] == '1') {
             $email_flag = 'the answer of your question';
             $email = $message['email'];
             $name = Mymanager::instance($message['manager_id'])->get('name');
             $content = '';
             $content .= 'Dear ' . $name . ' :<br>';
             $content .= $request_data['content'];
             if (mail::send($email, $email_flag, $content)) {
                 remind::set(Kohana::lang('o_global.mail_send_success'));
             } else {
                 remind::set(Kohana::lang('o_global.mail_send_error'), 'manage/message/edit?id=' . $message['id']);
             }
         }
         remind::set(Kohana::lang('o_manage.message_success'), 'manage/message', 'success');
     } else {
         remind::set(Kohana::lang('o_manage.message_error'), 'manage/message/edit?id=' . $message['id']);
     }
 }
Example #9
0
 /**
  * 订单列表
  */
 public function index($status = 'all')
 {
     /* 权限检查 订单列表 */
     role::check('user_draw_money_review');
     //初始化默认查询结构体
     $query_struct_default = array('orderby' => array('id' => 'DESC'), 'limit' => array('per_page' => 10, 'page' => 1));
     switch ($status) {
         case 'review':
             role::check('user_draw_money_review');
             $query_struct_default['where']['status'] = 0;
             break;
         case 'hasreview':
             role::check('user_draw_money_review');
             $query_struct_default['where']['status'] = 1;
             break;
         case 'reviewfail':
             role::check('user_draw_money_input');
             $query_struct_default['where']['status'] = 2;
             break;
         case 'hascharge':
             role::check('user_draw_money_charge');
             $query_struct_default['where']['status'] = 3;
             break;
         case 'chargefail':
             $query_struct_default['where']['status'] = 4;
             break;
         case 'chargewin':
             $query_struct_default['where']['status'] = 5;
             break;
         default:
     }
     /* 搜索功能 */
     $search_arr = array('id', 'money', 'account', 'truename', 'bank_name', 'province', 'city', 'bank_found');
     $search_value = $this->input->get('search_value');
     $search_type = $this->input->get('search_type');
     $where_view = array();
     if ($search_arr) {
         foreach ($search_arr as $value) {
             if ($search_type == $value && strlen($search_value) > 0) {
                 $query_struct_default['like'][$value] = $search_value;
             }
         }
         $where_view['search_type'] = $search_type;
         $where_view['search_value'] = $search_value;
     }
     $request_data = $this->input->get();
     //初始化当前查询结构体
     $query_struct_current = array();
     //设置合并默认查询条件到当前查询结构体
     $query_struct_current = array_merge($query_struct_current, $query_struct_default);
     //列表排序
     $orderby_arr = array(0 => array('id' => 'DESC'), 1 => array('id' => 'ASC'));
     $orderby = controller_tool::orderby($orderby_arr);
     // 排序处理
     if (isset($request_data['orderby']) && is_numeric($request_data['orderby'])) {
         $query_struct_current['orderby'] = $orderby;
     }
     $query_struct_current['orderby'] = $orderby;
     //每页条目数
     controller_tool::request_per_page($query_struct_current, $request_data);
     //调用服务执行查询
     $acobj = User_draw_moneyService::get_instance();
     $return_data['count'] = $acobj->count($query_struct_current);
     //统计数量
     /* 调用分页 */
     $this->pagination = new Pagination(array('total_items' => $return_data['count'], 'items_per_page' => $query_struct_current['limit']['per_page']));
     $query_struct_current['limit']['page'] = $this->pagination->current_page;
     $return_data['list'] = $acobj->query_assoc($query_struct_current);
     $return_data['account_type'] = Kohana::config('ticket_type');
     $i = 0;
     $managers = array();
     $users = array();
     foreach ($return_data['list'] as $rowlist) {
         $return_data['list'][$i] = $rowlist;
         $return_data['list'][$i]['other'] = json_decode($rowlist['other']);
         $users[$rowlist['user_id']] = $rowlist['user_id'];
         if (!empty($rowlist['manager_id'])) {
             $managers[$rowlist['manager_id']] = $rowlist['manager_id'];
         }
         $i++;
     }
     $userobj = user::get_instance();
     $return_data['users'] = array();
     $return_data['managers'] = array();
     foreach ($users as $rowuser) {
         $return_data['users'][$rowuser] = $userobj->get($rowuser);
     }
     foreach ($managers as $rowman) {
         $managers[$rowman] = Mymanager::instance($rowman)->get();
         if (!empty($managers[$rowman])) {
             $return_data['managers'][$rowman] = $managers[$rowman]['username'];
         }
     }
     $return_data['managers'] = $managers;
     $return_data['status'] = $status;
     $this->template->content = new View("order/user_draw_money", $return_data);
     $this->template->content->where = $where_view;
 }
Example #10
0
 /**
  *  显示退货单细节
  */
 public function return_detail($id)
 {
     /* 权限检查*/
     role::check('order_doc_return');
     $return = Myorder_return_log::instance($id)->get();
     $ship_status = Kohana::config('order.ship_status');
     $return_list = array();
     $return_list['id'] = $return['id'];
     //退货单id
     $return_list['return_num'] = $return['return_num'];
     //退货单号
     $return_list['order_num'] = Myorder::instance($return['order_id'])->get('order_num');
     //订单号
     $return_list['carrier'] = DeliveryService::get_instance()->get_delivery_name($return['carrier_id']);
     $return_list['email'] = $return['email'];
     //用户邮箱
     $return_list['manager'] = Mymanager::instance($return['manager_id'])->get('username');
     //操作员
     $return_list['currency'] = $return['currency'];
     //币种
     $return_list['total_shipping'] = $return['total_shipping'];
     //运费金额
     $return_list['return_status'] = $ship_status[$return['return_status_id']]['name'];
     //退货状态
     $return_list['content_admin'] = $return['content_admin'];
     //管理员备注
     $return_list['content_user'] = $return['content_user'];
     //用户备注
     $return_list['date_add'] = $return['date_add'];
     //添加时间
     /* 得到订单货品信息 */
     $return_list['return_data'] = array();
     $return_data = unserialize($return['return_data']);
     $order_products = Myorder_product::instance()->get_order_products_by_order_id($return['order_id']);
     foreach ($order_products as $val) {
         foreach ($return_data as $k => $v) {
             if ($v['id'] == $val['id']) {
                 $return_list['return_data'][$k]['SKU'] = $val['SKU'];
                 $return_list['return_data'][$k]['name'] = $val['name'];
                 $return_list['return_data'][$k]['attribute_style'] = empty($val['attribute_style']) ? '默认' : $val['attribute_style'];
                 $return_list['return_data'][$k]['quantity'] = $val['quantity'];
                 $return_list['return_data'][$k]['sendnum'] = isset($v['send_num']) ? $v['send_num'] : '未知';
                 $return_list['return_data'][$k]['returnnum'] = $v['return_num'];
             }
         }
     }
     $this->template = new View('layout/commonfix_html');
     $this->template->content = new view("order/order_doc/doc_detail/return_detail");
     $this->template->content->return_list = $return_list;
 }
Example #11
0
 /**
  * user log in
  *
  * @param <String> $username
  * @param <String> $password
  * @param <String> $ip
  */
 public static function log_in($username, $password, $ip = NULL)
 {
     $manager = Mymanager::instance()->get_by_username($username);
     if ($manager['id']) {
         if ($manager['password'] == md5($password)) {
             if (is_null($ip)) {
                 $ip = tool::get_long_ip();
             }
             $data = array();
             $data['login_time'] = tool::db_date();
             $data['login_num'] = $manager['login_num'] + 1;
             $data['login_ip'] = $ip;
             return Mymanager::instance()->update($data);
         } else {
             return false;
         }
     } else {
         return false;
     }
 }