my_field = array( 'uid' => array( 'ismain' => 1, 'name' => dr_lang('账号'), 'fieldname' => 'uid', 'fieldtype' => 'Uid', 'setting' => array( 'option' => array( 'width' => 200, ), 'validate' => array( 'required' => 1, ) ) ), ); // 表单显示名称 $this->name = dr_lang('用户头像审核'); // 初始化数据表 $list_field = [ 'avatar' => array( 'use' => '1', 'name' => '头像', 'width' => '90', 'func' => 'dr_member_verify_avatar', 'center' => '1', ), 'username' => array( 'use' => '1', 'name' => '账号', 'width' => '120', 'func' => 'author', 'center' => '0', ), 'avatar2' => array( 'use' => '1', 'name' => '新头像', 'width' => '90', 'func' => 'dr_member_verify_avatar2', 'center' => '1', ), 'status' => array( 'use' => '1', 'name' => '状态', 'width' => '90', 'func' => 'dr_member_verify_status', 'center' => '1', ), 'inputtime' => array( 'use' => '1', 'name' => '修改时间', 'width' => '170', 'func' => 'datetime', 'center' => '0', ), ]; $this->_init([ 'table' => 'member_verify', 'stable' => 'member', 'field' => [ 'avatar' => array ( 'name' => '新头像', 'fieldname' => 'avatar', 'ismain' => '1', 'fieldtype' => 'Diy', 'setting' => array ( 'option' => array ( 'file' => 'avatar.php', ), ), )], 'join_list' => ['member', 'member.id=member_verify.uid', 'left'], 'order_by' => 'member_verify.id desc', 'list_field' => $list_field, 'where_list' => 'tid=2', 'select_list' => \Phpcmf\Service::M()->dbprefix('member_verify').'.*,'.\Phpcmf\Service::M()->dbprefix('member').'.username', ]); \Phpcmf\Service::V()->assign([ 'menu' => \Phpcmf\Service::M('auth')->_admin_menu( [ '用户资料审核' => ['member/'.\Phpcmf\Service::L('Router')->class.'/index', 'fa fa-edit'], ] ), 'field' => $this->my_field, ]); } // 用户管理 public function index() { $this->_List(); $this->mytable = [ 'foot_tpl' => '', 'link_tpl' => '', 'link_var' => 'html = html.replace(/\{id\}/g, row.id); html = html.replace(/\{uid\}/g, row.id);', ]; $uriprefix = APP_DIR.'/'.\Phpcmf\Service::L('Router')->class; if ($this->_is_admin_auth('del') || $this->_is_admin_auth('edit')) { $this->mytable['foot_tpl'].= ''; } if ($this->_is_admin_auth('del')) { $this->mytable['foot_tpl'].= ''; } if ($this->_is_admin_auth('edit')) { $this->mytable['link_tpl'].= ''; } \Phpcmf\Service::V()->assign([ 'mytable' => $this->mytable, ]); \Phpcmf\Service::V()->display('edit_verify_list.html'); } // 修改内容 public function edit() { list($tpl) = $this->_Post(intval(\Phpcmf\Service::L('input')->get('id'))); $verify_msg = []; if ($this->member_cache['config']['verify_msg']) { $msg = @explode(PHP_EOL, $this->member_cache['config']['verify_msg']); $msg && $verify_msg = $msg; } \Phpcmf\Service::V()->assign([ 'verify_msg' => $verify_msg, ]); \Phpcmf\Service::V()->display('edit_verify_post.html'); } // 删除内容 public function del() { $this->_Del( \Phpcmf\Service::L('Input')->get_post_ids(), function($rows) { // 删除前的验证 return dr_return_data(1, 'ok', $rows); }, function($rows) { // 删除后的处理 return dr_return_data(1, 'ok'); }, \Phpcmf\Service::M()->dbprefix($this->init['table']) ); } /** * 获取内容 * $id 内容id,新增为0 * */ protected function _Data($id = 0) { $row = parent::_Data($id); // 这里可以对内容进行格式化显示操处理 $data = \Phpcmf\Service::M()->table('member')->get($row['uid']); $row['username'] = $data['username']; $row['avatar'] = $row['uid']; return $row; } // 格式化保存数据 protected function _Format_Data($id, $data, $old) { if ($old['status'] == 2) { $this->_json(0, '已通过无法编辑'); } $post = \Phpcmf\Service::L('input')->post('data'); $save = [ 'status' => $post['status'] ? 2 : 0, 'updatetime' => SYS_TIME, 'result' => $post['result'], ]; // 后台提醒 \Phpcmf\Service::M('member')->todo_admin_notice('member/avatar_verify/edit:id/'.$id, 0); // 通知 $call = $save; $call['uid'] = $old['uid']; $call['inputtime'] = $old['inputtime']; if ($post['status']) { list($cache_path, $cache_url) = dr_avatar_path(); $dir = dr_avatar_dir($old['uid']); if (is_file($cache_path.$dir.$old['uid'].'_verify.jpg')) { copy($cache_path.$dir.$old['uid'].'_verify.jpg', $cache_path.$dir.$old['uid'].'.jpg'); @unlink($cache_path.$dir.$old['uid'].'_verify.jpg'); } $call['avatar'] = $cache_url.$dir.$old['uid'].'.jpg'; \Phpcmf\Service::L('Notice')->send_notice('member_avatar_verify_1', $call); // 头像上传成功之后 $member = \Phpcmf\Service::M('member')->get_member($call['uid']); // 头像认证成功 if (!$member['is_avatar']) { \Phpcmf\Service::M('member')->do_avatar($member); } \Phpcmf\Service::M('member')->clear_cache($member['id']); } else { \Phpcmf\Service::M()->db->table('member_data')->where('id', $call['uid'])->update(['is_avatar' => 0]); $call['avatar'] = dr_member_verify_avatar_url($call['uid']); \Phpcmf\Service::L('Notice')->send_notice('member_avatar_verify_0', $call); } return $save; } // 保存内容 protected function _Save($id = 0, $data = [], $old = [], $func = null, $func2 = null) { return parent::_Save($id, $data, $old, function($id, $data, $old){ // 验证数据 /* if (!$data[1]['title']) { return dr_return_data(0, '标题不能为空!', ['field' => 'title']); }*/ // 保存之前执行的函数,并返回新的数据 if (!$id) { // 当提交新数据时,把当前时间插入进去 //$data[1]['inputtime'] = SYS_TIME; } return dr_return_data(1, null, $data); }, function ($id, $data, $old) { // 保存之后执行的动作 $post = \Phpcmf\Service::L('input')->post('data'); if ($post['status']) { \Phpcmf\Service::M()->table('member_verify')->delete($id); } }); } }