/** * 修改 */ public function edit() { $id = (int) $this->input->get('id'); $data = $this->db->where('id', $id)->get('module_form')->row_array(); if (!$data) { $this->admin_msg(lang('019')); } if (IS_POST) { $this->system_log('修改模块【' . $this->dir . '】表单【' . $data['table'] . '】'); // 记录日志 $post = $this->input->post('data'); $this->db->where('id', $id)->update('module_form', array('name' => $post['name'], 'setting' => dr_array2string($post['setting']), 'permission' => dr_array2string($post['permission']))); if ($m = $this->db->where('mark', 'module-' . $this->dir . '-' . $id)->get('admin_menu')->row_array()) { $this->db->where('id', $m['id'])->update('admin_menu', array('uri' => $this->dir . '/admin/form_' . $data['table'] . '/index', 'name' => $post['name'] . '管理')); } else { $menu = $this->db->where('pid<>0')->where('uri', '')->where('mark', 'module-' . $this->dir)->order_by('displayorder ASC,id ASC')->get('admin_menu')->row_array(); if ($menu) { // 将此表单放在模块菜单中 $this->db->insert('admin_menu', array('uri' => $this->dir . '/admin/form_' . $data['table'] . '/index', 'url' => '', 'pid' => $menu['id'], 'name' => $post['name'] . '管理', 'mark' => 'module-' . $this->dir . '-' . $id, 'hidden' => 0, 'displayorder' => 0)); } } $this->clear_cache('module'); $this->admin_msg(lang('000'), dr_url('mform/index', array('dir' => $this->dir)), 1); } $data['setting'] = dr_string2array($data['setting']); $data['permission'] = dr_string2array($data['permission']); $this->template->assign(array('data' => $data)); $this->template->display('mform_add.html'); }
/** * 修改站点 * * @return void */ public function edit_site($id, $data) { if (!$data || !$id) { return NULL; } $this->db->where('id', $id)->update('site', array('name' => $data['name'], 'domain' => $data['domain'], 'setting' => dr_array2string($data['setting']))); }
/** * 字段入库值 */ public function insert_value($field) { $data = $this->ci->post[$field['fieldname']]; if (!$data['use']) { $data = array(); } $this->ci->data[$field['ismain']][$field['fieldname']] = dr_array2string($data); }
/** * 添加表单 * * @param array $data * @return string|TRUE */ public function add($dir, $data) { if (!$data['name'] || !$data['table']) { return lang('332'); } // 判断表名称是否存在 if ($this->db->where('module', $dir)->where('table', $data['table'])->count_all_results('module_form')) { return lang('333'); } // 插入表单数据 $this->db->insert('module_form', array('name' => $data['name'], 'table' => $data['table'], 'module' => $dir, 'setting' => dr_array2string($data['setting']), 'disabled' => 0, 'permission' => dr_array2string($data['permission']))); // 执行成功的操作 if ($id = $this->db->insert_id()) { // 表单控制器名称 $name = 'Form_' . $data['table']; // 管理控制器 $file = FCPATH . $dir . '/controllers/admin/' . $name . '.php'; if (!file_put_contents($file, '<?php' . PHP_EOL . PHP_EOL . 'require FCPATH.\'dayrui/core/D_Admin_Form.php\';' . PHP_EOL . PHP_EOL . 'class ' . $name . ' extends D_Admin_Form {' . PHP_EOL . PHP_EOL . ' public function __construct() {' . PHP_EOL . ' parent::__construct();' . PHP_EOL . ' }' . PHP_EOL . '}')) { $this->db->where('id', $id)->delete('module_form'); return dr_lang('243', FCPATH . $dir . '/controllers/admin/'); } // 会员控制器 $file = FCPATH . $dir . '/controllers/member/' . $name . '.php'; if (!file_put_contents($file, '<?php' . PHP_EOL . PHP_EOL . 'require FCPATH.\'dayrui/core/D_Member_Form.php\';' . PHP_EOL . PHP_EOL . 'class ' . $name . ' extends D_Member_Form {' . PHP_EOL . PHP_EOL . ' public function __construct() {' . PHP_EOL . ' parent::__construct();' . PHP_EOL . ' }' . PHP_EOL . '}')) { $this->db->where('id', $id)->delete('module_form'); return dr_lang('243', FCPATH . $dir . '/controllers/member/'); } // 前端发布控制器 $file = FCPATH . $dir . '/controllers/' . $name . '.php'; if (!file_put_contents($file, '<?php' . PHP_EOL . PHP_EOL . 'require FCPATH.\'dayrui/core/D_Home_Form.php\';' . PHP_EOL . PHP_EOL . 'class ' . $name . ' extends D_Home_Form {' . PHP_EOL . PHP_EOL . ' public function __construct() {' . PHP_EOL . ' parent::__construct();' . PHP_EOL . ' }' . PHP_EOL . '}')) { $this->db->where('id', $id)->delete('module_form'); return dr_lang('243', APPPATH . 'controllers/'); } // 按站点更新模块表数据 $sql = "\n\t\t\tCREATE TABLE IF NOT EXISTS `{tablename}` (\n\t\t\t `id` int(10) unsigned NOT NULL AUTO_INCREMENT,\n\t\t\t `cid` int(10) unsigned NOT NULL COMMENT '内容id',\n\t\t\t `uid` mediumint(8) unsigned NOT NULL COMMENT '作者id',\n\t\t\t `author` varchar(50) NOT NULL COMMENT '作者名称',\n\t\t\t `inputip` varchar(30) DEFAULT NULL COMMENT '录入者ip',\n\t\t\t `inputtime` int(10) unsigned NOT NULL COMMENT '录入时间',\n\t\t\t `title` varchar(255) DEFAULT NULL COMMENT '内容主题',\n\t\t\t `url` varchar(255) DEFAULT NULL COMMENT '内容地址',\n\t\t\t `subject` varchar(255) DEFAULT NULL COMMENT '表单主题',\n\t\t\t PRIMARY KEY `id` (`id`),\n\t\t\t KEY `cid` (`cid`),\n\t\t\t KEY `uid` (`uid`),\n\t\t\t KEY `author` (`author`),\n\t\t\t KEY `inputtime` (`inputtime`)\n\t\t\t) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='" . $data['name'] . "表单数据表';"; // 获取所有站点的模块 $module = $this->ci->get_cache('module'); foreach ($module as $sid => $mod) { // 更新站点模块 if (!in_array($dir, $mod)) { continue; } // 主表名称 $table = $this->db->dbprefix($sid . '_' . $dir . '_form_' . $data['table']); $this->site[$sid]->query("DROP TABLE IF EXISTS `" . $table . "`"); $this->site[$sid]->query(str_replace('{tablename}', $table, $sql)); } // 字段入库 $this->db->insert('field', array('name' => '主题', 'fieldname' => 'subject', 'fieldtype' => 'Text', 'relatedid' => $id, 'relatedname' => 'mform-' . $this->dir, 'isedit' => 1, 'ismain' => 1, 'ismember' => 1, 'issystem' => 1, 'issearch' => 1, 'disabled' => 0, 'setting' => dr_array2string(array('option' => array('width' => 300, 'fieldtype' => 'VARCHAR', 'fieldlength' => '255'), 'validate' => array('xss' => 1, 'required' => 1))), 'displayorder' => 0)); // 查询后台模块的菜单 $menu = $this->db->where('pid<>0')->where('uri', '')->where('mark', 'module-' . $dir)->order_by('displayorder ASC,id ASC')->get('admin_menu')->row_array(); if ($menu) { // 将此表单放在模块菜单中 $this->db->insert('admin_menu', array('uri' => $this->dir . '/admin/' . strtolower($name) . '/index', 'url' => '', 'pid' => $menu['id'], 'name' => $data['name'] . '管理', 'mark' => 'module-' . $dir . '-' . $id, 'hidden' => 0, 'displayorder' => 0)); } } return FALSE; }
/** * 字段入库值 */ public function insert_value($field) { $value = $this->ci->post[$field['fieldname']]; if ((double) $value['price'] > 0) { $this->ci->data[$field['ismain']][$field['fieldname']] = dr_array2string($value); } else { $this->ci->data[$field['ismain']][$field['fieldname']] = 0; } }
/** * 字段入库值 */ public function insert_value($field) { $data = $this->ci->post[$field['fieldname']]; $value = array(); if ($data) { foreach ($data as $t) { $value[$t['id']] = array('name' => $t['name'], 'content' => $t['content']); } } $this->ci->data[$field['ismain']][$field['fieldname']] = dr_array2string($value); }
/** * 配置存/取 * * @param intval $name name值 * @param array $data 修改数据 * @return array */ private function config($name, $data = NULL) { $table = SITE_ID . '_' . APP_DIR . '_config'; $config = $this->link->where('name', $name)->limit(1)->get($table)->row_array(); $config = dr_string2array($config['value']); if ($data) { // 修改数据 $config = $data; $this->link->replace($table, array('name' => $name, 'value' => dr_array2string($data))); } return $config; }
/** * 字段入库值 */ public function insert_value($field) { $data = $this->ci->post[$field['fieldname']]; if ($data['use']) { foreach ($data as $i => $t) { $data[$i] = abs(intval($t)); } } else { $data = ''; } $this->ci->data[$field['ismain']][$field['fieldname']] = dr_array2string($data); }
/** * 会员权限划分 */ public function permission() { $dir = trim(str_replace('.', '', $this->input->get('dir')), '/'); $file = $this->path . $dir . '/rule.php'; if (IS_POST) { file_put_contents($file, dr_array2string($this->input->post('data'))); echo dr_json(1, lang('000')); exit; } $this->template->assign('data', is_file($file) ? dr_string2array(file_get_contents($file)) : array()); $this->template->assign('space', $dir); $this->template->display('space_permission.html'); }
/** * 修改 */ public function edit() { $id = (int) $this->input->get('id'); $data = $this->db->where('id', $id)->limit(1)->get('urlrule')->row_array(); if (!$data) { $this->admin_msg(lang('019')); } if (IS_POST) { $this->db->where('id', $id)->update('urlrule', array('name' => $this->input->post('name'), 'value' => dr_array2string($this->input->post('data')))); $this->cache(1); $this->admin_msg(lang('000'), dr_url('urlrule/index'), 1); } $data['value'] = dr_string2array($data['value']); $this->template->assign(array('data' => $data)); $this->template->display('urlrule_add.html'); }
/** * 修改 */ public function edit() { $id = (int) $this->input->get('id'); $data = $this->link->where('id', $id)->limit(1)->get($this->table)->row_array(); if (!$data) { $this->admin_msg(lang('019')); } if (IS_POST) { $data = $this->input->post('data', TRUE); $this->link->where('id', $id)->update($this->table, array('name' => $data['name'], 'setting' => dr_array2string($data['setting']), 'permission' => dr_array2string($data['permission']))); $this->admin_msg(lang('000'), dr_url('mform/index', array('dir' => $this->dir)), 1); } $data['setting'] = dr_string2array($data['setting']); $data['permission'] = dr_string2array($data['permission']); $this->template->assign(array('data' => $data)); $this->template->display('mform_add.html'); }
/** * 网站搬家 */ public function move() { if (IS_POST) { $p = (int) $this->input->post('todo'); if ($p) { $this->load->database(); $this->load->model('site_model'); $this->load->library('dconfig'); $data = $this->input->post('site'); $site = $this->db->get('site')->result_array(); foreach ($site as $t) { $domain = $data[$t['id']]; $setting = dr_string2array($t['setting']); $setting['SITE_DOMAIN'] = $domain; $this->db->where('id', $t['id'])->update('site', array('domain' => $domain, 'setting' => dr_array2string($setting))); $this->dconfig->file(FCPATH . 'config/site/' . $t['id'] . '.php')->note('站点配置文件')->space(32)->to_require_one($this->site_model->config, $setting); // 更新导航数据 $this->db->query('update ' . $this->db->dbprefix($t['id'] . '_navigator') . ' set url=REPLACE(url, "http://' . $t['domain'] . '", "http://' . $domain . '")'); } $this->admin_msg('配置成功,请登录后台再更新全站缓存。<br>还需要把各个模块的内容地址更新一下!', '', 1); } else { $ok = 0; $site = array(); require FCPATH . 'config/database.php'; if (!@mysql_connect($db['default']['hostname'] . ':' . $db['default']['port'], $db['default']['username'], $db['default']['password'])) { $ok = '无法连接到数据库服务器,请检查用户名和密码是否正确'; } if (!@mysql_select_db($db['default']['database'])) { $ok = '指定的数据库(' . $db['default']['database'] . ')不存在,系统尝试创建失败,请通过其他方式建立数据库'; } if ($ok == 0) { $this->load->database(); $data = $this->db->get('site')->result_array(); foreach ($data as $t) { $site[$t['id']] = array('id' => $t['id'], 'name' => $t['name'], 'domain' => $t['domain'], 'setting' => dr_string2array($t['setting'])); } } $this->template->assign(array('ok' => $ok, 'site' => $site, 'back' => $_SERVER['HTTP_REFERER'])); $this->template->display('move_2.html'); } } else { $this->template->display('move_1.html'); } }
/** * 字段入库值 */ public function insert_value($field) { $data = $this->ci->post[$field['fieldname']]; if ($data['use']) { $zk = 0; foreach ($data as $i => $t) { if (strpos($i, '_') !== FALSE && $t) { $zk = 1; break; } } if (!$zk || !$data['star'] || !$data['end']) { $data = NULL; } } else { $data = NULL; } $this->ci->data[$field['ismain']][$field['fieldname']] = dr_array2string($data); }
/** * 添加模型 * * @param array $data * @return string|TRUE */ public function add($data) { if (!$data['name'] || !$data['table']) { return lang('238'); } if (in_array($data['table'], array('category', 'model')) || !preg_match('/^[a-z]+[a-z0-9_\\-]+$/i', $data['table']) || $this->db->where('table', $data['table'])->count_all_results('space_model')) { return lang('239'); } $data['setting'] = dr_array2string($data['setting']); if ($this->db->insert('space_model', $data)) { $id = $this->db->insert_id(); $file = FCPATH . 'member/controllers/Space' . $id . '.php'; if (!file_put_contents($file, '<?php class Space' . $id . ' extends M_Controller { public function __construct() { parent::__construct(); } public function add() { $this->space_content_add(); } public function edit() { $this->space_content_edit(); } public function index() { $this->space_content_index(); } }')) { $this->db->where('id', $id)->delete($this->db->dbprefix('space_model')); return dr_lang('243', '/member/controllers/'); } $sql = "\n\t\t\tCREATE TABLE IF NOT EXISTS `{tablename}` (\n\t\t\t `id` int(10) unsigned NOT NULL AUTO_INCREMENT,\n\t\t\t `catid` mediumint(8) unsigned NOT NULL COMMENT '栏目id',\n\t\t\t `title` varchar(255) NOT NULL COMMENT '标题',\n\t\t\t `uid` mediumint(8) unsigned NOT NULL COMMENT '作者uid',\n\t\t\t `author` varchar(50) NOT NULL COMMENT '作者',\n\t\t\t `hits` int(10) unsigned NOT NULL COMMENT '点击量',\n\t\t\t `status` tinyint(1) unsigned NOT NULL COMMENT '审核状态',\n\t\t\t `inputtime` int(10) unsigned NOT NULL COMMENT '录入时间',\n\t\t\t `updatetime` int(10) unsigned NOT NULL COMMENT '更新时间',\n\t\t\t `displayorder` tinyint(3) NOT NULL DEFAULT '0',\n\t\t\t PRIMARY KEY `id` (`id`),\n\t\t\t KEY `uid` (`uid`),\n\t\t\t KEY `hits` (`hits`),\n\t\t\t KEY `catid` (`catid`),\n\t\t\t KEY `status` (`status`),\n\t\t\t KEY `inputtime` (`inputtime`),\n\t\t\t KEY `updatetime` (`updatetime`),\n\t\t\t KEY `displayorder` (`displayorder`)\n\t\t\t) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='会员空间" . $data['name'] . "模型表';"; $this->db->query(str_replace('{tablename}', $this->db->dbprefix('space_' . $data['table']), $sql)); $this->db->insert('admin_menu', array('pid' => 80, 'uri' => 'member/admin/content/index/mid/' . $id, 'url' => '', 'mark' => 'space-' . $id, 'name' => $data['name'] . '管理', 'hidden' => 0, 'displayorder' => $id + 5)); $this->db->insert('member_menu', array('pid' => 26, 'uri' => 'space' . $id . '/index', 'url' => '', 'mark' => 'space-' . $id, 'name' => $data['name'] . '管理', 'hidden' => 0, 'displayorder' => $id + 5)); $this->db->insert('field', array('name' => '主题', 'fieldname' => 'title', 'fieldtype' => 'Text', 'relatedid' => $id, 'relatedname' => 'space', 'isedit' => 1, 'ismain' => 1, 'ismember' => 1, 'issystem' => 1, 'issearch' => 1, 'disabled' => 0, 'setting' => dr_array2string(array('option' => array('width' => 400, 'fieldtype' => 'VARCHAR', 'fieldlength' => '255'), 'validate' => array('xss' => 1, 'required' => 1))), 'displayorder' => 0)); } return TRUE; }
/** * 配置 */ public function index() { $page = (int) $this->input->get('page'); $data = $this->member_model->setting(); $result = 0; if (IS_POST) { $post = $this->input->post('data'); $page = (int) $this->input->post('page'); foreach ($post as $name => $value) { $this->db->replace('member_setting', array('name' => $name, 'value' => is_array($value) ? dr_array2string($value) : $value)); } $data = $post; $cache = $this->member_model->cache(); $result = 1; } else { $cache = $this->member_model->cache(); } $this->template->assign(array('menu' => $this->get_menu(array(lang('m-035') => 'member/admin/setting/index')), 'data' => $data, 'page' => $page, 'result' => $result, 'synurl' => $cache['synurl'], 'mobile' => is_file(FCPATH . 'config/sms.php') ? TRUE : FALSE)); $this->template->display('setting_index.html'); }
/** * 添加表单 * * @param array $data * @return string|TRUE */ public function add($data) { $this->link->insert($this->table, array('name' => $data['name'] ? $data['name'] : 'form', 'setting' => dr_array2string($data['setting']), 'disabled' => 0, 'permission' => dr_array2string($data['permission']))); if ($id = $this->link->insert_id()) { $name = 'Form_' . SITE_ID . '_' . $id; // 管理控制器 $file = FCPATH . $this->dir . '/controllers/admin/' . $name . '.php'; if (!file_put_contents($file, '<?php' . PHP_EOL . PHP_EOL . 'require FCPATH.\'omooo/core/D_Admin_Form.php\';' . PHP_EOL . PHP_EOL . 'class ' . $name . ' extends D_Admin_Form {' . PHP_EOL . PHP_EOL . ' public function __construct() {' . PHP_EOL . ' parent::__construct();' . PHP_EOL . ' }' . PHP_EOL . '}')) { $this->link->where('id', $id)->delete($this->table); return dr_lang('243', FCPATH . $this->dir . '/controllers/admin/'); } // 会员控制器 $file = FCPATH . $this->dir . '/controllers/member/' . $name . '.php'; if (!file_put_contents($file, '<?php' . PHP_EOL . PHP_EOL . 'require FCPATH.\'omooo/core/D_Member_Form.php\';' . PHP_EOL . PHP_EOL . 'class ' . $name . ' extends D_Member_Form {' . PHP_EOL . PHP_EOL . ' public function __construct() {' . PHP_EOL . ' parent::__construct();' . PHP_EOL . ' }' . PHP_EOL . '}')) { $this->link->where('id', $id)->delete($this->table); return dr_lang('243', FCPATH . $this->dir . '/controllers/member/'); } // 前端发布控制器 $file = FCPATH . $this->dir . '/controllers/' . $name . '.php'; if (!file_put_contents($file, '<?php' . PHP_EOL . PHP_EOL . 'require FCPATH.\'omooo/core/D_Home_Form.php\';' . PHP_EOL . PHP_EOL . 'class ' . $name . ' extends D_Home_Form {' . PHP_EOL . PHP_EOL . ' public function __construct() {' . PHP_EOL . ' parent::__construct();' . PHP_EOL . ' }' . PHP_EOL . '}')) { $this->link->where('id', $id)->delete($this->table); return dr_lang('243', APPPATH . 'controllers/'); } // 主表sql $this->link->query("DROP TABLE IF EXISTS `" . $this->table . '_' . $id . "`"); $sql = "\n\t\t\tCREATE TABLE IF NOT EXISTS `" . $this->table . '_' . $id . "` (\n\t\t\t `id` int(10) unsigned NOT NULL AUTO_INCREMENT,\n\t\t\t `cid` int(10) unsigned NOT NULL COMMENT '内容id',\n\t\t\t `uid` mediumint(8) unsigned NOT NULL COMMENT '作者id',\n\t\t\t `author` varchar(50) NOT NULL COMMENT '作者名称',\n\t\t\t `inputip` varchar(30) DEFAULT NULL COMMENT '录入者ip',\n\t\t\t `inputtime` int(10) unsigned NOT NULL COMMENT '录入时间',\n\t\t\t `title` varchar(255) DEFAULT NULL COMMENT '内容主题',\n\t\t\t `url` varchar(255) DEFAULT NULL COMMENT '内容地址',\n\t\t\t `subject` varchar(255) DEFAULT NULL COMMENT '表单主题',\n\t\t\t PRIMARY KEY `id` (`id`),\n\t\t\t KEY `cid` (`cid`),\n\t\t\t KEY `uid` (`uid`),\n\t\t\t KEY `author` (`author`),\n\t\t\t KEY `inputtime` (`inputtime`)\n\t\t\t) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='" . $data['name'] . "表单数据表';"; $this->link->query($sql); $this->db->insert('field', array('name' => '主题', 'fieldname' => 'subject', 'fieldtype' => 'Text', 'relatedid' => $id, 'relatedname' => 'mform-' . $this->dir . '-' . SITE_ID, 'isedit' => 1, 'ismain' => 1, 'ismember' => 1, 'issystem' => 1, 'issearch' => 1, 'disabled' => 0, 'setting' => dr_array2string(array('option' => array('width' => 300, 'fieldtype' => 'VARCHAR', 'fieldlength' => '255'), 'validate' => array('xss' => 1, 'required' => 1))), 'displayorder' => 0)); // 查询后台模块的菜单 $menu = $this->db->where('pid<>0')->where('uri', '')->where('mark', 'module-' . $this->dir)->order_by('displayorder ASC,id ASC')->get('admin_menu')->row_array(); if ($menu) { // 将此表单放在模块菜单中 $this->db->insert('admin_menu', array('uri' => $this->dir . '/admin/' . strtolower($name) . '/index', 'url' => '', 'pid' => $menu['id'], 'name' => $data['name'] . '管理', 'mark' => 'module-' . $this->dir . '-' . SITE_ID . '-' . $id, 'displayorder' => 0)); } } return FALSE; }
/** * 会员权限划分 */ public function permission() { $dir = trim(str_replace('.', '', $this->input->get('dir')), '/'); $file = $this->path . $dir . '/rule.php'; if (IS_POST) { file_put_contents($file, dr_array2string($this->input->post('data'))); $this->system_log('会员空间模板的权限划分'); // 记录日志 echo dr_json(1, lang('000')); exit; } $data = is_file($file) ? dr_string2array(file_get_contents($file)) : array(); if ($data && !isset($data[1]['price'])) { $temp = array(); foreach ($data as $i => $t) { $temp[$i]['use'] = 0; $temp[$i]['price'] = $t; } $data = $temp; } $this->template->assign('data', $data); $this->template->assign('space', $dir); $this->template->display('space_permission.html'); }
/** * 修改 */ public function edit() { $id = (int) $this->input->get('id'); $data = $this->auth_model->get_verify($id); if (!$data) { exit(lang('019')); } if (IS_POST) { $data = $this->input->post('data', TRUE); if (count($data['role']) > 8) { exit(dr_json(0, lang('119'))); } exit(dr_json(1, lang('014'), $this->db->where('id', $id)->update('admin_verify', array('name' => $data['name'], 'verify' => dr_array2string($data['role']))))); } $role = $this->dcache->get('role'); $select = ''; foreach ($role as $t) { if ($t['id'] > 1) { $select .= '<option value="' . $t['id'] . '">' . $t['name'] . '</option>'; } } $this->template->assign(array('data' => $data, 'role' => $role, 'select' => $select)); $this->template->display('verify_add.html'); }
/** * 修改 * * @param array $_data 老数据 * @param array $data 新数据 * @return void */ public function edit($id, $data) { $this->db->where('id', $id)->update('module', array('sitemap' => (int) $data['sitemap'], 'setting' => dr_array2string($data['setting']))); }
/** * 修改模型 * * @param intval $id * @param array $data * @return void */ public function edit($id, $data) { $this->db->where('id', (int) $id)->update($this->prefix, array('name' => $data['name'], 'setting' => dr_array2string($data['setting']))); }
/** * 将实际内容转为语言 * * @param string $value 实际内容 * @param array $data 原语言数据 * @return string */ function dr_name2lang($value, $data = array()) { if (!is_array($data)) { $data = dr_string2array($data); } if (!isset($data['zh-cn'])) { $data['zh-cn'] = $value; } $data[SITE_LANGUAGE] = $value; return dr_array2string($data); }
public function _verify($id, $data, $_where) { // 获得审核数据 $verify = $this->content_model->get_verify($id); if (!$verify) { return; } // 通过审核 if ($this->input->post('flagid') > 0) { // 查询当前的审核状态id $status = $this->_get_verify_status($verify['uid'], $verify['catid'], $verify['status']); // 权限验证 if ($status == 9) { $member = $this->member_model->get_base_member($verify['uid']); $category = $this->get_cache('module-' . SITE_ID . '-' . APP_DIR, 'category', $verify['catid']); // 标示 $rule = $category['permission'][$member['markrule']]; $mark = $this->content_model->prefix . '-' . $id; // 积分处理 if ($rule['experience']) { $this->member_model->update_score(0, $verify['uid'], $rule['experience'], $mark, "lang,m-151,{$category['name']}", 1); } // 虚拟币处理 if ($rule['score']) { // 虚拟币判断重复 if (!$this->db->where('type', 1)->where('mark', $mark)->count_all_results('member_scorelog_' . (int) substr((string) $verify['uid'], -1, 1))) { if ($rule['score'] + $member['score'] < 0) { // 数量不足提示 return dr_lang('m-118', $verify['title'], $member['username'], SITE_SCORE, abs($rule['score'])); } $this->member_model->update_score(1, $verify['uid'], $rule['score'], $mark, "lang,m-151,{$category['name']}", 1); } } } // 筛选字段 if (!$data) { $data = array(); $catid = $data['catid'] ? $data['catid'] : (int) $verify['catid']; $myfield = $this->_get_field($catid); foreach ($myfield as $field) { if ($field['fieldtype'] == 'Group') { continue; } if ($field['fieldtype'] == 'Baidumap') { $data[$field['ismain']][$field['fieldname'] . '_lng'] = (double) $verify[$field['fieldname'] . '_lng']; $data[$field['ismain']][$field['fieldname'] . '_lat'] = (double) $verify[$field['fieldname'] . '_lat']; } else { $value = $verify[$field['fieldname']]; if (strpos($field['setting']['option']['fieldtype'], 'INT') !== FALSE) { $value = (int) $value; } elseif ($field['setting']['option']['fieldtype'] == 'DECIMAL' || $field['setting']['option']['fieldtype'] == 'FLOAT') { $value = (double) $value; } $data[$field['ismain']][$field['fieldname']] = $value; } } $data[1]['id'] = $data[0]['id'] = $id; $data[1]['uid'] = (int) $verify['uid']; $data[1]['catid'] = $catid; $data[1]['author'] = $verify['author']; } else { $myfield = $this->_get_field($verify['catid']); } $data[1]['status'] = $status; // 保存内容 $this->content_model->edit($verify, $data); // 审核通过 if ($status == 9) { $mark = $this->content_model->prefix . '-' . $id; // 操作成功处理附件 $this->attachment_handle($data[1]['uid'], $mark, $myfield, $data); $this->member_model->add_notice($data[1]['uid'], 3, dr_lang('m-084', $verify['title'])); return array('id' => $id, 'catid' => $data[1]['catid']); } } else { // 拒绝审核 // 更改主表状态 $this->link->where($_where)->update($this->content_model->prefix, array('status' => 0)); // 更改索引表状态 $this->link->where($_where)->update($this->content_model->prefix . '_index', array('status' => 0)); // 更改审核表状态 $this->link->where($_where)->update($this->content_model->prefix . '_verify', array('status' => 0, 'backuid' => (int) $this->uid, 'backinfo' => dr_array2string(array('uid' => $this->uid, 'author' => $this->admin['username'], 'rolename' => $this->admin['role']['name'], 'optiontime' => SYS_TIME, 'backcontent' => $this->input->post('backcontent'))))); $this->member_model->add_notice($verify['uid'], 3, dr_lang('m-124', $verify['title'], MEMBER_URL . 'index.php?s=' . APP_DIR . '&c=back&m=edit&id=' . $id)); } }
/** * 字段入库值 */ public function insert_value($field) { $this->ci->data[$field['ismain']][$field['fieldname']] = dr_array2string($this->ci->post[$field['fieldname']]); }
/** * 修改字段 * * @param array $_data 旧数据 * @param array $data 新数据 * @param string $sql 执行该操作的sql语句 * @return string */ public function edit($_data, $data, $sql) { if (!$_data || !$data) { return NULL; } // 如果字段类型、长度变化时,分别更新各站点 if ($data['setting']['option']['fieldtype'] != $_data['setting']['option']['fieldtype'] || $data['setting']['option']['fieldlength'] != $_data['setting']['option']['fieldlength']) { $this->update_table($sql, $_data['ismain']); } $data['setting'] = dr_array2string($data['setting']); $data['issearch'] = (int) $data['issearch']; // 更新字段表 $this->db->where('id', $_data['id'])->update('field', $data); }
/** * 更新 */ public function update() { $key = 0; $dir = $this->input->get('id'); if (is_file(FCPATH . 'app/' . $dir . '/config/app.php')) { $config = (require FCPATH . 'app/' . $dir . '/config/app.php'); $key = (int) $config['key']; } if (!$key) { $this->admin_msg('此应用无法在线更新(key不存在)'); } $url = 'http://store.dayrui.com/index.php?c=down&m=update&action=application¶m=' . dr_base64_encode(dr_array2string(array('site' => SITE_URL, 'name' => SITE_NAME, 'data' => array('id' => $key, 'dir' => $dir, 'version' => $config['version']), 'admin' => SELF, 'domain' => SITE_URL, 'version' => DR_VERSION_ID))); $this->template->assign(array('url' => $url)); $this->template->display('online.html'); }
/** * 会员配置 * * @param array $set 修改数据 * @return array */ public function space($set = NULL) { $data = $this->db->where('name', 'space')->limit(1)->get('member_setting')->row_array(); $data = dr_string2array($data['value']); if ($set) { // 修改数据 $this->db->where('name', 'space')->update('member_setting', array('value' => dr_array2string($set))); $data = $set; } return $data; }
/** * 更新权限 * * @param intval $id 主键id * @param string $name 权限名称 * @param array $data 权限数据 * @return void */ public function update_auth($id, $name, $data) { if (!$id || !$name) { return NULL; } $this->db->where('id', $id)->update('admin_role', array($name => dr_array2string($data))); $this->role_cache(); }
/** * 修改 * * @param intval $id * @param array $data * @return string */ public function edit($id, $data) { if (!$data || !$data['dirname']) { return lang('019'); } if ($this->dirname_exitsts($data['dirname'], $id)) { return lang('111'); } $update = array('pid' => (int) $data['pid'], 'module' => APP_DIR, 'setting' => dr_array2string($this->input->post('setting'))); $update = array_merge($update, $data); $this->link->where('id', $id)->update($this->tablename, $update); $this->repair(); $this->_update_url($id); return $id; }
/** * 栏目选择 * * @param array $data 栏目数据 * @param intval/array $id 被选中的ID,多选是可以是数组 * @param string $str 属性 * @param string $default 默认选项 * @param intval $onlysub 只可选择子栏目 * @param intval $is_push 是否验证权限 * @param intval $is_first 是否返回第一个可用栏目id * @return string */ public function select_category($data, $id = 0, $str = '', $default = ' -- ', $onlysub = 0, $is_push = 0, $is_first = 0) { $cache = md5(dr_array2string($data) . dr_array2string($id) . $str . $default . $onlysub . $is_push . $is_first . $this->member['uid']); if ($cache_data = $this->get_cache_data($cache)) { return $cache_data; } $tree = array(); $first = 0; // 第一个可用栏目 $string = '<select ' . $str . '>'; if ($default) { $string .= "<option value='0'>{$default}</option>"; } if (is_array($data)) { foreach ($data as $t) { // 外部链接不显示 if (isset($t['setting']['linkurl']) && $t['setting']['linkurl']) { continue; } // 验证权限 if ($is_push && $t['child'] == 0) { if (IS_MEMBER && !$this->module_rule[$t['id']]['add']) { continue; } elseif (IS_ADMIN && !$this->is_category_auth($t['id'], 'add') && !$this->is_category_auth($t['id'], 'edit')) { continue; } } // 选中操作 $t['selected'] = ''; if (is_array($id)) { $t['selected'] = in_array($t['id'], $id) ? 'selected' : ''; } elseif (is_numeric($id)) { $t['selected'] = $id == $t['id'] ? 'selected' : ''; } // 是否可选子栏目 $t['html_disabled'] = !empty($onlysub) && $t['child'] != 0 ? 1 : 0; // 第一个可用子栏目 if ($first == 0 && $t['child'] == 0) { $first = $t['id']; } unset($t['permission'], $t['setting'], $t['catids'], $t['url']); $tree[$t['id']] = $t; } } $str = "<option value='\$id' \$selected>\$spacer \$name</option>"; $str2 = "<optgroup label='\$spacer \$name'></optgroup>"; $this->load->library('dtree'); $this->dtree->init($tree); $string .= $this->dtree->get_tree_category(0, $str, $str2); $string .= '</select>'; $data = $is_first ? array($string, $first) : $string; if ($tree) { $this->set_cache_data($cache, $data, 7200); } return $data; }
/** * 更新权限 * * @param intval $id 主键id * @param string $name 权限名称 * @param array $data 权限数据 * @return void */ public function update_auth($id, $name, $data) { if (!$id) { return NULL; } $app = $this->db->get('application')->result_array(); if ($app) { foreach ($app as $i => $t) { $cfg = dr_string2array($t['setting']); $cfg['admin'][$id] = 0; if ($data) { foreach ($data as $uri) { if (strpos($uri, $t['dirname'] . '/admin/') === 0) { $cfg['admin'][$id] = 1; break; } } } if (!$cfg['admin'][$id]) { unset($cfg['admin'][$id]); } $this->db->where('id', $t['id'])->update('application', array('setting' => dr_array2string($cfg))); } } $this->db->where('id', $id)->update('admin_role', array('module' => '', 'system' => dr_array2string($data), 'application' => '')); $this->role_cache(); }