/**
  * 修改
  */
 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');
 }
Example #2
0
 /**
  * 修改站点
  *
  * @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'])));
 }
Example #3
0
 /**
  * 字段入库值
  */
 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);
 }
Example #4
0
 /**
  * 添加表单
  * 
  * @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;
 }
Example #5
0
 /**
  * 字段入库值
  */
 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;
     }
 }
Example #6
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);
 }
Example #7
0
 /**
  * 配置存/取
  *
  * @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;
 }
Example #8
0
 /**
  * 字段入库值
  */
 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);
 }
Example #9
0
 /**
  * 会员权限划分
  */
 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');
 }
Example #10
0
 /**
  * 修改
  */
 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');
 }
Example #11
0
 /**
  * 修改
  */
 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');
 }
Example #12
0
 /**
  * 网站搬家
  */
 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');
     }
 }
Example #13
0
 /**
  * 字段入库值
  */
 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;
    }
Example #15
0
 /**
  * 配置
  */
 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');
 }
Example #16
0
 /**
  * 添加表单
  * 
  * @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');
 }
Example #18
0
 /**
  * 修改
  */
 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'])));
 }
Example #20
0
 /**
  * 修改模型
  * 
  * @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);
}
Example #22
0
 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));
     }
 }
Example #23
0
 /**
  * 字段入库值
  */
 public function insert_value($field)
 {
     $this->ci->data[$field['ismain']][$field['fieldname']] = dr_array2string($this->ci->post[$field['fieldname']]);
 }
Example #24
0
 /**
  * 修改字段
  *
  * @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);
 }
Example #25
0
 /**
  * 更新
  */
 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&param=' . 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');
 }
Example #26
0
 /**
  * 会员配置
  *
  * @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;
 }
Example #27
0
 /**
  * 更新权限
  *
  * @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();
 }
Example #28
0
 /**
  * 修改
  *
  * @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;
 }
Example #29
0
 /**
  * 栏目选择
  *
  * @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();
 }