/** * 编辑公告 * @author 郑钟良<*****@*****.**> */ public function edit() { $aId = I('id', 0, 'intval'); $title = $aId ? "编辑" : "新增"; if (IS_POST) { $aId && ($data['id'] = $aId); $data['title'] = I('post.title', '', 'op_t'); $data['icon'] = I('post.icon', 'icon-star', 'op_t'); $data['link'] = I('post.link'); if (mb_strlen($data['link'], 'utf-8') && !in_array(strtolower(substr($data['link'], 0, 6)), array('http:/', 'https:', 'ftp://', 'rtsp:/', 'mms://'))) { $data['link'] = 'http://' . $data['link']; } $data['content'] = I('post.content', '', 'op_t'); $data['end_time'] = intval(I('post.end_time')); $result = $this->announcementModel->editData($data); if ($result) { S('Announcement_list', null); //清空缓存 $this->success($title . '公告成功!', addons_url('Announcement://admin/buildList')); } else { $this->error($title . '公告失败!' . $this->announcementModel->getError()); } } else { if ($aId) { $data = $this->announcementModel->where(array('id' => $aId))->find(); } $builder = new AdminConfigBuilder(); $builder->title($title . '公告')->data($data); $builder->keyId()->keyText('title', '标题')->keyIcon('icon', '图标')->keyText('link', '链接')->keyTextArea('content', '内容')->keyTime('end_time', '有效期')->keyDefault('end_time', time() + 604800); $builder->buttonSubmit()->buttonBack()->display(); } }
public function config() { $builder = new AdminConfigBuilder(); $data = $builder->handleConfig(); $builder->title('基本配置'); $builder->keyText('WEBSITE_NAME', '网站名称显示')->keyEditor('COPY_RIGHT', '网站版权信息')->group('通用设置', 'WEBSITE_NAME,COPY_RIGHT'); $builder->keyTextArea('SUMMARY', '登陆页导语', '不要过长,一句话即可')->group('登陆页设置', 'SUMMARY'); $builder->buttonSubmit(); $builder->data($data); $builder->display(); }
public function config() { $builder = new AdminConfigBuilder(); $data = $builder->handleConfig(); $builder->title(L('_BASIC_CONF_')); $data['MAX_SHOW_HEIGHT'] = $data['MAX_SHOW_HEIGHT'] ? $data['MAX_SHOW_HEIGHT'] : 160; $builder->keyInteger('MAX_SHOW_HEIGHT', L('_MAX_SHOW_HEIGHT_'))->keyDefault('MAX_SHOW_HEIGHT', 160); $role_list = M('Role')->where(array('status' => 1))->field('id,title')->select(); foreach ($role_list as &$val) { $val = array('data-id' => $val['id'], 'title' => $val['title']); } unset($val); $default = array(array('data-id' => 'disable', 'title' => L('_DISABLE_'), 'items' => $role_list), array('data-id' => 'enable', 'title' => L('_ENABLED_'), 'items' => array())); $builder->keyKanban('SHOW_ROLE_TAB', L('_IDENTITY_TAB_'), L('_IDENTITY_TAB_AFFIX_')); $data['SHOW_ROLE_TAB'] = $builder->parseKanbanArray($data['SHOW_ROLE_TAB'], $role_list, $default); $builder->group(L('_BASIC_CONF_'), 'MAX_SHOW_HEIGHT,SHOW_ROLE_TAB'); $data['USER_SHOW_TITLE1'] = $data['USER_SHOW_TITLE1'] ? $data['USER_SHOW_TITLE1'] : L('_ACTIVE_MEMBER_'); $data['USER_SHOW_COUNT1'] = $data['USER_SHOW_COUNT1'] ? $data['USER_SHOW_COUNT1'] : 5; $data['USER_SHOW_ORDER_FIELD1'] = $data['USER_SHOW_ORDER_FIELD1'] ? $data['USER_SHOW_ORDER_FIELD1'] : 'score1'; $data['USER_SHOW_ORDER_TYPE1'] = $data['USER_SHOW_ORDER_TYPE1'] ? $data['USER_SHOW_ORDER_TYPE1'] : 'desc'; $data['USER_SHOW_CACHE_TIME1'] = $data['USER_SHOW_CACHE_TIME1'] ? $data['USER_SHOW_CACHE_TIME1'] : '600'; $data['USER_SHOW_TITLE2'] = $data['USER_SHOW_TITLE2'] ? $data['USER_SHOW_TITLE2'] : L('_NEW_MEMBER_'); $data['USER_SHOW_COUNT2'] = $data['USER_SHOW_COUNT2'] ? $data['USER_SHOW_COUNT2'] : 5; $data['USER_SHOW_ORDER_FIELD2'] = $data['USER_SHOW_ORDER_FIELD2'] ? $data['USER_SHOW_ORDER_FIELD2'] : 'reg_time'; $data['USER_SHOW_ORDER_TYPE2'] = $data['USER_SHOW_ORDER_TYPE2'] ? $data['USER_SHOW_ORDER_TYPE2'] : 'desc'; $data['USER_SHOW_CACHE_TIME2'] = $data['USER_SHOW_CACHE_TIME2'] ? $data['USER_SHOW_CACHE_TIME2'] : '600'; $score = D("Ucenter/Score")->getTypeList(array('status' => 1)); $order['reg_time'] = L('_REGISTER_TIME_'); $order['last_login_time'] = L('_LAST_LOGIN_TIME_'); foreach ($score as $s) { $order['score' . $s['id']] = '【' . $s['title'] . '】'; } $builder->keyText('USER_SHOW_TITLE1', L('_TITLE_NAME_'), L('_BLOCK_TITLE_')); $builder->keyText('USER_SHOW_COUNT1', L('_SHOW_PEOPLE_'), L('_TIP_AFTER_ENABLED_')); $builder->keyRadio('USER_SHOW_ORDER_FIELD1', L('_SORT_NUMBER_'), L('_SHOW_SORT_STYLE_'), $order); $builder->keyRadio('USER_SHOW_ORDER_TYPE1', L('_SORT_STYLE_'), L('_SHOW_SORT_STYLE_'), array('desc' => L('_COUNTER_'), 'asc' => L('_DIRECT_'))); $builder->keyText('USER_SHOW_CACHE_TIME1', L('_CACHE_TIME_'), L('_TIP_CACHE_TIME_')); $builder->keyText('USER_SHOW_TITLE2', L('_TITLE_NAME_'), L('_BLOCK_TITLE_')); $builder->keyText('USER_SHOW_COUNT2', L('_SHOW_PEOPLE_'), L('_TIP_AFTER_ENABLED_')); $builder->keyRadio('USER_SHOW_ORDER_FIELD2', L('_SORT_NUMBER_'), L('_SHOW_SORT_STYLE_'), $order); $builder->keyRadio('USER_SHOW_ORDER_TYPE2', L('_SORT_STYLE_'), L('_SHOW_SORT_STYLE_'), array('desc' => L('_COUNTER_'), 'asc' => L('_DIRECT_'))); $builder->keyText('USER_SHOW_CACHE_TIME2', L('_CACHE_TIME_'), L('_TIP_CACHE_TIME_')); $builder->group(L('_HOME_SHOW_LEFT_'), 'USER_SHOW_TITLE1,USER_SHOW_COUNT1,USER_SHOW_ORDER_FIELD1,USER_SHOW_ORDER_TYPE1,USER_SHOW_CACHE_TIME1'); $builder->group(L('_HOME_SHOW_RIGHT_'), 'USER_SHOW_TITLE2,USER_SHOW_COUNT2,USER_SHOW_ORDER_FIELD2,USER_SHOW_ORDER_TYPE2,USER_SHOW_CACHE_TIME2'); $builder->data($data); $builder->buttonSubmit(); $builder->display(); }
public function config() { $builder = new AdminConfigBuilder(); $data = $builder->handleConfig(); $builder->title('基本设置'); $data['MAX_SHOW_HEIGHT'] = $data['MAX_SHOW_HEIGHT'] ? $data['MAX_SHOW_HEIGHT'] : 160; $builder->keyInteger('MAX_SHOW_HEIGHT', '标签面板初始最大展示高度')->keyDefault('MAX_SHOW_HEIGHT', 160); $role_list = M('Role')->where(array('status' => 1))->field('id,title')->select(); foreach ($role_list as &$val) { $val = array('data-id' => $val['id'], 'title' => $val['title']); } unset($val); $default = array(array('data-id' => 'disable', 'title' => '禁用', 'items' => $role_list), array('data-id' => 'enable', 'title' => '启用', 'items' => array())); $builder->keyKanban('SHOW_ROLE_TAB', '找人界面展示身份tab', '拖拽到右侧以展示这些身份tab,操作的项目对应系统身份'); $data['SHOW_ROLE_TAB'] = $builder->parseKanbanArray($data['SHOW_ROLE_TAB'], $role_list, $default); $builder->group('基本设置', 'MAX_SHOW_HEIGHT,SHOW_ROLE_TAB'); $data['USER_SHOW_TITLE1'] = $data['USER_SHOW_TITLE1'] ? $data['USER_SHOW_TITLE1'] : '活跃会员'; $data['USER_SHOW_COUNT1'] = $data['USER_SHOW_COUNT1'] ? $data['USER_SHOW_COUNT1'] : 5; $data['USER_SHOW_ORDER_FIELD1'] = $data['USER_SHOW_ORDER_FIELD1'] ? $data['USER_SHOW_ORDER_FIELD1'] : 'score1'; $data['USER_SHOW_ORDER_TYPE1'] = $data['USER_SHOW_ORDER_TYPE1'] ? $data['USER_SHOW_ORDER_TYPE1'] : 'desc'; $data['USER_SHOW_CACHE_TIME1'] = $data['USER_SHOW_CACHE_TIME1'] ? $data['USER_SHOW_CACHE_TIME1'] : '600'; $data['USER_SHOW_TITLE2'] = $data['USER_SHOW_TITLE2'] ? $data['USER_SHOW_TITLE2'] : '最新会员'; $data['USER_SHOW_COUNT2'] = $data['USER_SHOW_COUNT2'] ? $data['USER_SHOW_COUNT2'] : 5; $data['USER_SHOW_ORDER_FIELD2'] = $data['USER_SHOW_ORDER_FIELD2'] ? $data['USER_SHOW_ORDER_FIELD2'] : 'reg_time'; $data['USER_SHOW_ORDER_TYPE2'] = $data['USER_SHOW_ORDER_TYPE2'] ? $data['USER_SHOW_ORDER_TYPE2'] : 'desc'; $data['USER_SHOW_CACHE_TIME2'] = $data['USER_SHOW_CACHE_TIME2'] ? $data['USER_SHOW_CACHE_TIME2'] : '600'; $score = D("Ucenter/Score")->getTypeList(array('status' => 1)); $order['reg_time'] = '注册时间'; $order['last_login_time'] = '最后登录时间'; foreach ($score as $s) { $order['score' . $s['id']] = '【' . $s['title'] . '】'; } $builder->keyText('USER_SHOW_TITLE1', '标题名称', '在首页展示块的标题'); $builder->keyText('USER_SHOW_COUNT1', '显示人数', '只有在网站首页模块中启用了专辑块之后才会显示'); $builder->keyRadio('USER_SHOW_ORDER_FIELD1', '排序值', '展示模块的数据排序方式', $order); $builder->keyRadio('USER_SHOW_ORDER_TYPE1', '排序方式', '展示模块的数据排序方式', array('desc' => '倒序,从大到小', 'asc' => '正序,从小到大')); $builder->keyText('USER_SHOW_CACHE_TIME1', '缓存时间', '默认600秒,以秒为单位'); $builder->keyText('USER_SHOW_TITLE2', '标题名称', '在首页展示块的标题'); $builder->keyText('USER_SHOW_COUNT2', '显示人数', '只有在网站首页模块中启用了专辑块之后才会显示'); $builder->keyRadio('USER_SHOW_ORDER_FIELD2', '排序值', '展示模块的数据排序方式', $order); $builder->keyRadio('USER_SHOW_ORDER_TYPE2', '排序方式', '展示模块的数据排序方式', array('desc' => '倒序,从大到小', 'asc' => '正序,从小到大')); $builder->keyText('USER_SHOW_CACHE_TIME2', '缓存时间', '默认600秒,以秒为单位'); $builder->group('首页展示左侧栏', 'USER_SHOW_TITLE1,USER_SHOW_COUNT1,USER_SHOW_ORDER_FIELD1,USER_SHOW_ORDER_TYPE1,USER_SHOW_CACHE_TIME1'); $builder->group('首页展示右侧栏', 'USER_SHOW_TITLE2,USER_SHOW_COUNT2,USER_SHOW_ORDER_FIELD2,USER_SHOW_ORDER_TYPE2,USER_SHOW_CACHE_TIME2'); $builder->data($data); $builder->buttonSubmit(); $builder->display(); }
public function config() { $admin_config = new AdminConfigBuilder(); if (IS_POST) { S('forum_recommand_forum', null); S('forum_hot_forum', null); S('forum_suggestion_posts', null); } $data = $admin_config->handleConfig(); if (!$data) { $data['LIMIT_IMAGE'] = 10; $data['FORUM_BLOCK_SIZE'] = 4; $data['CACHE_TIME'] = 300; } $admin_config->title('论坛设置')->data($data)->keyInteger('LIMIT_IMAGE', '帖子图片解析数量限制', '超过数量限制就不会被解析出来,不填则默认为10张')->keyInteger('CACHE_TIME', '板块数据缓存时间', '默认300秒')->keyText('SUGGESTION_POSTS', '首页推荐帖子,竖线|分割,填帖子ID,最多填5个,如1|2|3|4|5,第一个为大图')->keyText('HOT_FORUM', '热门版块', '逗号,分隔')->keyDefault('HOT_FORUM', '1,2,3')->keyText('RECOMMAND_FORUM', '推荐版块', '逗号,分隔')->keyDefault('RECOMMAND_FORUM', '1,2,3')->keyInteger('FORM_POST_SHOW_NUM_INDEX', '论坛首页每页展示贴子数量', '')->keyDefault('FORM_POST_SHOW_NUM_INDEX', '5')->keyInteger('FORM_POST_SHOW_NUM_PAGE', '每页展示贴子数量', '对前台除了首页以外的贴子列表有效,')->keyDefault('FORM_POST_SHOW_NUM_PAGE', '10')->keyText('FORUM_SHOW_TITLE', '标题名称', '在首页展示块的标题')->keyDefault('FORUM_SHOW_TITLE', '论坛板块')->keyText('FORUM_SHOW', '显示板块', '竖线|分割,填板块ID,如1|2|3|4|5')->keyText('FORUM_SHOW_CACHE_TIME', '缓存时间', '默认600秒,以秒为单位')->keyDefault('FORUM_SHOW_CACHE_TIME', '600')->keyText('FORUM_POST_SHOW_TITLE', '标题名称', '在首页展示块的标题')->keyDefault('FORUM_POST_SHOW_TITLE', '热门贴子')->keyText('FORUM_POST_SHOW_NUM', '贴子显示数量')->keyDefault('FORUM_POST_SHOW_NUM', 5)->keyRadio('FORUM_POST_ORDER', '贴子排序字段', '', array('update_time' => '更新时间', 'last_reply_time' => '最后回复时间', 'view_count' => '阅读量', 'reply_count' => '回复数'))->keyDefault('FORUM_POST_ORDER', 'last_reply_time')->keyRadio('FORUM_POST_TYPE', '贴子排序方式', '', array('asc' => '升序', 'desc' => '降序'))->keyDefault('FORUM_POST_TYPE', 'desc')->keyText('FORUM_POST_CACHE_TIME', '缓存时间', '默认600秒,以秒为单位')->keyDefault('FORUM_POST_CACHE_TIME', '600')->group('基础设置', 'LIMIT_IMAGE,FORUM_BLOCK_SIZE,CACHE_TIME,SUGGESTION_POSTS,HOT_FORUM,RECOMMAND_FORUM,FORM_POST_SHOW_NUM_INDEX,FORM_POST_SHOW_NUM_PAGE')->group('首页展示板块设置', 'FORUM_SHOW_TITLE,FORUM_SHOW,FORUM_SHOW_CACHE_TIME')->group('首页展示贴子设置', 'FORUM_POST_SHOW_TITLE,FORUM_POST_SHOW_NUM,FORUM_POST_ORDER,FORUM_POST_TYPE,NEWS_SHOW_CACHE_TIME'); $admin_config->buttonSubmit('', '保存')->display(); }
public function config() { $builder = new AdminConfigBuilder(); $data = $builder->handleConfig(); $data['OPEN_LOGIN_PANEL'] = $data['OPEN_LOGIN_PANEL'] ? $data['OPEN_LOGIN_PANEL'] : 1; $builder->title('首页设置'); $modules = D('Common/Module')->getAll(); foreach ($modules as $m) { if ($m['is_setup'] == 1 && $m['entry'] != '') { if (file_exists(APP_PATH . $m['name'] . '/Widget/HomeBlockWidget.class.php')) { $module[] = array('data-id' => $m['name'], 'title' => $m['alias']); } } } $module[] = array('data-id' => 'slider', 'title' => '轮播'); $default = array(array('data-id' => 'disable', 'title' => '禁用', 'items' => $module), array('data-id' => 'enable', 'title' => '启用', 'items' => array())); $builder->keyKanban('BLOCK', '展示模块', '拖拽到右侧以展示这些模块,新的模块安装后会多出一些可操作的项目'); $data['BLOCK'] = $builder->parseKanbanArray($data['BLOCK'], $module, $default); $builder->group('展示模块', 'BLOCK'); $builder->keySingleImage('PIC1', '图片'); $builder->keyText('URL1', '链接'); $builder->keyText('TITLE1', '标题'); $builder->keyRadio('TARGET1', '新窗口打开', '', array('_blank' => '新窗口', '_self' => '本窗口')); $builder->group('幻灯片1', 'PIC1,URL1,TITLE1,TARGET1'); $builder->keySingleImage('PIC2', '图片'); $builder->keyText('URL2', '链接'); $builder->keyText('TITLE2', '标题'); $builder->keyRadio('TARGET2', '新窗口打开', '', array('_blank' => '新窗口', '_self' => '本窗口')); $builder->group('幻灯片2', 'PIC2,URL2,TITLE2,TARGET2'); $builder->keySingleImage('PIC3', '图片'); $builder->keyText('URL3', '链接'); $builder->keyText('TITLE3', '标题'); $builder->keyRadio('TARGET3', '新窗口打开', '', array('_blank' => '新窗口', '_self' => '本窗口')); $builder->group('幻灯片3', 'PIC3,URL3,TITLE3,TARGET3'); $show_blocks = get_kanban_config('BLOCK_SORT', 'enable', array(), 'Home'); $builder->buttonSubmit(); $builder->data($data); $builder->display(); }
public function config() { $field = D('Ucenter/Score')->getTypeList(array('status' => 1)); $configBuilder = new AdminConfigBuilder(); $data = $configBuilder->callback('configCallback')->handleConfig(); $param = array(); $param['opt'] = $field; $de_data = $data['RE_FIELD']; $param['jsonData'] = $de_data; $param['data'] = json_decode($de_data, true); $param_w = array(); $param_w['opt'] = $field; $w_data = $data['WITHDRAW_FIELD']; $param_w['jsonData'] = $w_data; $param_w['data'] = json_decode($w_data, true); $configBuilder->title('充值设置')->data($data)->keyBool('OPEN_RECHARGE', '开启充值')->keyTextArea('RECHARGE_AMOUNT', '充值面额', '一行一个')->keyBool('CAN_INPUT', '允许自由充值')->keyText('MIN_AMOUNT', '最小充值面额,0为不限制,只对自由充值开启有效')->keyCheckBox('METHOD', '支付方式', '选择支付种类', array('alipay' => '支付宝'))->keyUserDefined('RE_FIELD', '支持充值的积分类型', '选择支持充值的积分类型和积分的兑率,如填写100则表示1RMB=100积分', T('Recharge@Recharge/config'), $param)->keyDefault('METHOD', 'alipay')->keyDefault('MIN_AMOUNT', 0)->keyBool('OPEN_WITHDRAW', '开启提现')->keyTextArea('WITHDRAW_AMOUNT', '提现面额', '一行一个')->keyBool('WITHDRAW_CAN_INPUT', '允许自由提现')->keyText('WITHDRAW_MIN_AMOUNT', '最小提现面额,0为不限制,只对自由提现开启有效')->keyCheckBox('WITHDRAW_METHOD', '支付方式', '选择支付种类', array('alipay' => '支付宝'))->keyUserDefined('WITHDRAW_FIELD', '支持提现的积分类型', '选择支持提现的积分类型和积分的兑率,如填写100则表示100积分=1RMB', T('Recharge@Recharge/config'), $param_w)->keyDefault('WITHDRAW_METHOD', 'alipay')->keyDefault('WITHDRAW_MIN_AMOUNT', 0)->group('充值设置', 'OPEN_RECHARGE,RECHARGE_AMOUNT,CAN_INPUT,MIN_AMOUNT,METHOD,RE_FIELD')->group('提现设置', 'OPEN_WITHDRAW,WITHDRAW_AMOUNT,WITHDRAW_CAN_INPUT,WITHDRAW_MIN_AMOUNT,WITHDRAW_METHOD,WITHDRAW_FIELD'); if (check_is_in_config('alipay', $data['METHOD'])) { $configBuilder->keyText('ALIPAY_PARTNER', '合作身份者id', '以2088开头的16位纯数字')->keyText('ALIPAY_SELLER_EMAIL', '收款支付宝账号')->keyText('ALIPAY_KEY', '安全检验码', '以数字和字母组成的32位字符')->group('支付宝配置', 'ALIPAY_PARTNER,ALIPAY_SELLER_EMAIL,ALIPAY_KEY'); } $configBuilder->buttonSubmit()->buttonBack(); $configBuilder->display(); }
public function config() { $builder = new AdminConfigBuilder(); $data = $builder->handleConfig(); $data['OPEN_LOGIN_PANEL'] = $data['OPEN_LOGIN_PANEL'] ? $data['OPEN_LOGIN_PANEL'] : 1; $builder->title(L('_HOME_SETTING_')); $modules = D('Common/Module')->getAll(); foreach ($modules as $m) { if ($m['is_setup'] == 1 && $m['entry'] != '') { if (file_exists(APP_PATH . $m['name'] . '/Widget/HomeBlockWidget.class.php')) { $module[] = array('data-id' => $m['name'], 'title' => $m['alias']); } } } $module[] = array('data-id' => 'slider', 'title' => L('_CAROUSEL_')); $default = array(array('data-id' => 'disable', 'title' => L('_DISABLED_'), 'items' => $module), array('data-id' => 'enable', 'title' => L('_ENABLED_'), 'items' => array())); $builder->keyKanban('BLOCK', L('_DISPLAY_BLOCK_'), L('_TIP_DISPLAY_BLOCK_')); $data['BLOCK'] = $builder->parseKanbanArray($data['BLOCK'], $module, $default); $builder->group(L('_DISPLAY_BLOCK_'), 'BLOCK'); $builder->keySingleImage('PIC1', L('_PICTURE_')); $builder->keyText('URL1', L('_LINK_')); $builder->keyText('TITLE1', L('_TITLE_')); $builder->keyRadio('TARGET1', L('_NEW_WINDOW_OPEN_'), '', array('_blank' => L('_NEW_WINDOW_'), '_self' => L('_SELF_WINDOW_'))); $builder->group(L('_SLIDE1_'), 'PIC1,URL1,TITLE1,TARGET1'); $builder->keySingleImage('PIC2', L('_PICTURE_')); $builder->keyText('URL2', L('_LINK_')); $builder->keyText('TITLE2', L('_TITLE_')); $builder->keyRadio('TARGET2', L('_NEW_WINDOW_OPEN_'), '', array('_blank' => L('_NEW_WINDOW_'), '_self' => L('_SELF_WINDOW_'))); $builder->group(L('_SLIDE2_'), 'PIC2,URL2,TITLE2,TARGET2'); $builder->keySingleImage('PIC3', L('_PICTURE_')); $builder->keyText('URL3', L('_LINK_')); $builder->keyText('TITLE3', L('_TITLE_')); $builder->keyRadio('TARGET3', L('_NEW_WINDOW_OPEN_'), '', array('_blank' => L('_NEW_WINDOW_'), '_self' => L('_SELF_WINDOW_'))); $builder->group(L('_SLIDE3_'), 'PIC3,URL3,TITLE3,TARGET3'); $show_blocks = get_kanban_config('BLOCK_SORT', 'enable', array(), 'Home'); $builder->buttonSubmit(); $builder->data($data); $builder->display(); }
public function config() { $builder = new AdminConfigBuilder(); $data = $builder->handleConfig(); $builder->title('基本设置'); $data['USER_SHOW_TITLE1'] = $data['USER_SHOW_TITLE1'] ? $data['USER_SHOW_TITLE1'] : '活跃会员'; $data['USER_SHOW_COUNT1'] = $data['USER_SHOW_COUNT1'] ? $data['USER_SHOW_COUNT1'] : 5; $data['USER_SHOW_ORDER_FIELD1'] = $data['USER_SHOW_ORDER_FIELD1'] ? $data['USER_SHOW_ORDER_FIELD1'] : 'score1'; $data['USER_SHOW_ORDER_TYPE1'] = $data['USER_SHOW_ORDER_TYPE1'] ? $data['USER_SHOW_ORDER_TYPE1'] : 'desc'; $data['USER_SHOW_CACHE_TIME1'] = $data['USER_SHOW_CACHE_TIME1'] ? $data['USER_SHOW_CACHE_TIME1'] : '600'; $data['USER_SHOW_TITLE2'] = $data['USER_SHOW_TITLE2'] ? $data['USER_SHOW_TITLE2'] : '最新会员'; $data['USER_SHOW_COUNT2'] = $data['USER_SHOW_COUNT2'] ? $data['USER_SHOW_COUNT2'] : 5; $data['USER_SHOW_ORDER_FIELD2'] = $data['USER_SHOW_ORDER_FIELD2'] ? $data['USER_SHOW_ORDER_FIELD2'] : 'reg_time'; $data['USER_SHOW_ORDER_TYPE2'] = $data['USER_SHOW_ORDER_TYPE2'] ? $data['USER_SHOW_ORDER_TYPE2'] : 'desc'; $data['USER_SHOW_CACHE_TIME2'] = $data['USER_SHOW_CACHE_TIME2'] ? $data['USER_SHOW_CACHE_TIME2'] : '600'; $score = D("Ucenter/Score")->getTypeList(array('status' => 1)); $order['reg_time'] = '注册时间'; $order['last_login_time'] = '最后登录时间'; foreach ($score as $s) { $order['score' . $s['id']] = '【' . $s['title'] . '】'; } $builder->keyText('USER_SHOW_TITLE1', '标题名称', '在首页展示块的标题'); $builder->keyText('USER_SHOW_COUNT1', '显示人数', '只有在网站首页模块中启用了专辑块之后才会显示'); $builder->keyRadio('USER_SHOW_ORDER_FIELD1', '排序值', '展示模块的数据排序方式', $order); $builder->keyRadio('USER_SHOW_ORDER_TYPE1', '排序方式', '展示模块的数据排序方式', array('desc' => '倒序,从大到小', 'asc' => '正序,从小到大')); $builder->keyText('USER_SHOW_CACHE_TIME1', '缓存时间', '默认600秒,以秒为单位'); $builder->keyText('USER_SHOW_TITLE2', '标题名称', '在首页展示块的标题'); $builder->keyText('USER_SHOW_COUNT2', '显示人数', '只有在网站首页模块中启用了专辑块之后才会显示'); $builder->keyRadio('USER_SHOW_ORDER_FIELD2', '排序值', '展示模块的数据排序方式', $order); $builder->keyRadio('USER_SHOW_ORDER_TYPE2', '排序方式', '展示模块的数据排序方式', array('desc' => '倒序,从大到小', 'asc' => '正序,从小到大')); $builder->keyText('USER_SHOW_CACHE_TIME2', '缓存时间', '默认600秒,以秒为单位'); $builder->group('首页展示左侧栏', 'USER_SHOW_TITLE1,USER_SHOW_COUNT1,USER_SHOW_ORDER_FIELD1,USER_SHOW_ORDER_TYPE1,USER_SHOW_CACHE_TIME1'); $builder->group('首页展示右侧栏', 'USER_SHOW_TITLE2,USER_SHOW_COUNT2,USER_SHOW_ORDER_FIELD2,USER_SHOW_ORDER_TYPE2,USER_SHOW_CACHE_TIME2'); $builder->data($data); $builder->buttonSubmit(); $builder->display(); }
public function config() { $builder = new AdminConfigBuilder(); $data = $builder->handleConfig(); $data['OPEN_LOGIN_PANEL'] = $data['OPEN_LOGIN_PANEL'] ? $data['OPEN_LOGIN_PANEL'] : 1; $builder->title(L('_HOME_SETTING_')); $modules = D('Common/Module')->getAll(); foreach ($modules as $m) { if ($m['is_setup'] == 1 && $m['entry'] != '') { if (file_exists(APP_PATH . $m['name'] . '/Widget/HomeBlockWidget.class.php')) { $module[] = array('data-id' => $m['name'], 'title' => $m['alias']); } } } $module[] = array('data-id' => 'slider', 'title' => L('_CAROUSEL_')); $default = array(array('data-id' => 'disable', 'title' => L('_DISABLED_'), 'items' => $module), array('data-id' => 'enable', 'title' => L('_ENABLED_'), 'items' => array())); $builder->keyKanban('BLOCK', L('_DISPLAY_BLOCK_'), L('_TIP_DISPLAY_BLOCK_')); $data['BLOCK'] = $builder->parseKanbanArray($data['BLOCK'], $module, $default); $builder->group(L('_DISPLAY_BLOCK_'), 'BLOCK'); $show_blocks = get_kanban_config('BLOCK_SORT', 'enable', array(), 'Home'); $builder->buttonSubmit(); $builder->data($data); $builder->display(); }
/** * 打开内容修改表单 * @param integer $id 内容id * @return void */ public function content_edit($id) { if (!check_auth('editIssueContent')) { $this->error('抱歉,您不具备投稿权限。'); } $issue_content = D('Issue/IssueContent')->find($id); if (!$issue_content) { $this->error('404 not found'); } if (!check_auth('editIssueContent')) { //不是管理员则进行检测 if ($issue_content['uid'] != is_login()) { $this->error('404 not found'); } } $issue = D('Issue/Issue')->find($issue_content['issue_id']); $issues = D('Issue/Issue')->where(array('status' => 1, 'pid' => 0))->order('sort')->getField('id,title'); $builder = new AdminConfigBuilder(); $this->setTitle('修改文章'); $builder->title('修改文章'); $builder->keyId()->keyRelationSelect('issue_id', '分类', null, $issues, U('issue_list'), array('cat_0' => $issue['pid'], 'cat_1' => $issue_content['issue_id']))->keyText('title', '标题')->keySingleImage('cover_id', '封面图片')->keyText('url', '网址')->keyEditor('content', '内容'); $builder->data($issue_content); $builder->buttonSubmit(U('content_post'))->buttonBack()->display(); }
public function install() { $aName = I('get.name', '', 'text'); $aNav = I('add_nav', 0, 'intval'); $module = $this->moduleModel->getModule($aName); if (IS_POST) { //执行guide中的内容 $res = $this->moduleModel->install($module['id']); if ($res === true) { if ($aNav) { $channel['title'] = $module['alias']; $channel['url'] = $module['entry']; $channel['sort'] = 100; $channel['status'] = 1; $channel['icon'] = $module['icon']; M('Channel')->add($channel); S('common_nav', null); } $this->success(L('_INSTALLATION_MODULE_SUCCESS_'), U('lists')); } else { $this->error(L('_SETUP_MODULE_FAILED_') . $this->moduleModel->getError()); } } else { $builder = new AdminConfigBuilder(); $builder->title($module['alias'] . L('_DASH_') . L('_GUIDE_MODULE_INSTALL_')); $builder->keyId()->keyReadOnly('name', L('_MODULE_NAME_'))->keyText('alias', L('_MODULE_CHINESE_NAME_'))->keyReadOnly('version', L('_VERSION_'))->keyText('icon', L('_ICON_'))->keyTextArea('summary', L('_MODULE_INTRODUCTION_'))->keyReadOnly('developer', L('_DEVELOPER_'))->keyText('entry', L('_FRONT_ENTRANCE_'))->keyText('admin_entry', L('_BACKGROUND_ENTRY_')); //, 'repair' => L('_FIX_MODE_')修复模式不会导入模块专用数据表,只导入菜单、权限、行为、行为限制 $builder->keyRadio('mode', L('_INSTALLATION_MODE_'), '', array('install' => L('_COVER_INSTALLATION_MODE_'))); if ($module['entry']) { $builder->keyBool('add_nav', L('_ADD_NAVIGATION_'), L('_INSTALL_AUTO_ADD_MENU_', array('link' => U('channel/index')))); } /* $builder->keyRadio('add_nav',L('_ADD_NAVIGATION_MENU_'),L('_DEFAULT_WILL_NOT_ADD_NAVIGATION_'),array(1=>L('_DO_NOT_ADD_'),2=>L('_ADD_')));*/ $builder->group(L('_INSTALL_OPTION_'), 'mode,add_nav'); /* $builder->group(L('_MODULE_INFORMATION_'), 'id,name,alias,version,icon,summary,developer,entry,admin_entry');*/ $module['mode'] = 'install'; $module['add_nav'] = '1'; $builder->data($module); $builder->buttonSubmit(); $builder->buttonBack(); $builder->display(); } /* */ }
public function editProfile($id = 0, $profile_name = '', $visiable = 1) { if (IS_POST) { $data['profile_name'] = $profile_name; $data['visiable'] = $visiable; if ($data['profile_name'] == '') { $this->error('分组名称不能为空!'); } if ($id != '') { $res = D('field_group')->where('id=' . $id)->save($data); } else { $map['profile_name'] = $profile_name; $map['status'] = array('egt', 0); if (D('field_group')->where($map)->count() > 0) { $this->error('已经有同名分组,请使用其他分组名称!'); } $data['status'] = 1; $data['createTime'] = time(); $res = D('field_group')->add($data); } if ($res) { $this->success($id == '' ? "添加分组成功" : "编辑分组成功", U('profile')); } else { $this->error($id == '' ? "添加分组失败" : "编辑分组失败"); } } else { $builder = new AdminConfigBuilder(); if ($id != 0) { $profile = D('field_group')->where('id=' . $id)->find(); $builder->title("修改分组信息"); $builder->meta_title = '修改分组信息'; } else { $builder->title("添加扩展信息分组"); $builder->meta_title = '新增分组'; } $builder->keyReadOnly("id", "标识")->keyText('profile_name', '分组名称')->keyBool('visiable', '是否公开'); $builder->data($profile); $builder->buttonSubmit(U('editProfile'), $id == 0 ? "添加" : "修改")->buttonBack(); $builder->display(); } }
public function website() { $builder = new AdminConfigBuilder(); $data = $builder->handleConfig(); $builder->title('网站信息')->suggest('此处配置网站的一般信息。'); $builder->keyText('WEB_SITE_NAME', '网站名', '用于邮件,短信,站内信显示'); $builder->keyText('ICP', '网站备案号', '设置在网站底部显示的备案号,如“沪ICP备12007941号-2'); $builder->keySingleImage('LOGO', '网站Logo', '网站的logo设置,建议尺寸156*50'); $builder->keySingleImage('QRCODE', '微信二维码', '悬浮微信二维码'); $builder->keySingleImage('JUMP_BACKGROUND', '跳转页背景图片', '跳转页背景图片'); $builder->keyText('SUCCESS_WAIT_TIME', '成功等待时间', '设置成功时页面等待页面'); $builder->keyText('ERROR_WAIT_TIME', '失败等待时间', '设置失败时页面等待页面'); $builder->keyEditor('ABOUT_US', '关于我们内容', '页脚关于我们介绍'); $builder->keyEditor('SUBSCRIB_US', '关注我们', '页脚关注我们内容'); $builder->keyEditor('COPY_RIGHT', '版权信息', '页脚版权信息'); $builder->group('基本信息', array('WEB_SITE_NAME', 'ICP', 'LOGO', 'QRCODE')); $builder->group('页脚信息', array('ABOUT_US', 'SUBSCRIB_US', 'COPY_RIGHT')); $builder->group('跳转页面', array('JUMP_BACKGROUND', 'SUCCESS_WAIT_TIME', 'ERROR_WAIT_TIME')); $builder->data($data); $builder->keyDefault('SUCCESS_WAIT_TIME', 2); $builder->keyDefault('ERROR_WAIT_TIME', 5); $builder->buttonSubmit(); $builder->display(); }
public function editAdv() { $advModel = D('Common/Adv'); $aId = I('id', 0, 'intval'); if ($aId != 0) { $adv = $advModel->find($aId); $aPosId = $adv['pos_id']; } else { $aPosId = I('get.pos_id', 0, 'intval'); } $advPosModel = D('Common/AdvPos'); $pos = $advPosModel->find($aPosId); if (IS_POST) { $adv['title'] = I('title', '', 'text'); $adv['pos_id'] = $aPosId; $adv['url'] = I('url', '', 'text'); $adv['sort'] = I('sort', 1, 'intval'); $adv['status'] = I('status', 1, 'intval'); $adv['create_time'] = I('create_time', '', 'intval'); $adv['start_time'] = I('start_time', '', 'intval'); $adv['end_time'] = I('end_time', '', 'intval'); $adv['target'] = I('target', '', 'text'); S('adv_list_' . $pos['name'] . $pos['path'], null); if ($pos['type'] == 2) { //todo 多图 $aTitles = I('title', '', 'text'); $aUrl = I('url', '', 'text'); $aSort = I('sort', '', 'intval'); $aStartTime = I('start_time', '', 'intval'); $aEndTime = I('end_time', '', 'intval'); $aTarget = I('target', '', 'text'); $added = 0; $advModel->where(array('pos_id' => $aPosId))->delete(); foreach (I('pic', 0, 'intval') as $key => $v) { $data['pic'] = $v; $data['target'] = $aTarget[$key]; $adv_temp['title'] = $aTitles[$key]; $adv_temp['pos_id'] = $adv['pos_id']; $adv_temp['url'] = $aUrl[$key]; $adv_temp['sort'] = $aSort[$key]; $adv_temp['status'] = 1; $adv_temp['create_time'] = time(); $adv_temp['start_time'] = $aStartTime[$key]; $adv_temp['end_time'] = $aEndTime[$key]; $adv_temp['target'] = $aTarget[$key]; $adv_temp['data'] = json_encode($data); $result = $advModel->add($adv_temp); if ($result !== false) { $added++; } //todo添加 } $this->success('成功改动' . $added . '个广告。'); } else { switch ($pos['type']) { case 1: //todo 单图 $data['pic'] = I('pic', 0, 'intval'); $data['target'] = I('target', 0, 'text'); break; case 3: $data['text'] = I('text', '', 'text'); $data['text_color'] = I('text_color', '', 'text'); $data['text_font_size'] = I('text_font_size', '', 'text'); $data['target'] = I('target', 0, 'text'); //todo 文字 break; case 4: //todo 代码 $data['code'] = I('code', '', ''); break; } $adv['data'] = json_encode($data); if ($aId == 0) { $result = $advModel->add($adv); } else { $adv['id'] = $aId; $result = $advModel->save($adv); } if ($result === false) { $this->error('保存失败。'); } else { $this->success('保存成功。'); } } } else { //快速添加广告位逻辑 //todo 快速添加 $builder = new AdminConfigBuilder(); $adv['pos'] = $pos['title'] . '——' . $pos['name'] . '——' . $pos['path']; $adv['pos_id'] = $aPosId; $builder->keyReadOnly('pos', '所属广告位'); $builder->keyReadOnly('pos_id', '广告位ID'); $builder->keyId()->keyTitle('title', '广告说明'); $builder->title($pos['title'] . '设置——' . $advPosModel->switchType($pos['type'])); $builder->keyTime('start_time', '开始生效时间', '不设置则立即生效')->keyTime('end_time', '失效时间', '不设置则一直有效')->keyText('sort', '排序')->keyCreateTime()->keyStatus(); $builder->buttonSubmit(); $data = json_decode($adv['data'], true); if (!empty($data)) { $adv = array_merge($adv, $data); } if ($aId) { $builder->data($adv); } else { $builder->data(array('pos' => $adv['pos'], 'pos_id' => $aPosId)); } switch ($pos['type']) { case 1: //todo 单图 $builder->keySingleImage('pic', '图片', '选图上传,建议尺寸' . $pos['width'] . '*' . $pos['height']); $builder->keyText('url', '链接地址'); $builder->keySelect('target', '打开方式', null, array('_blank' => '新窗口:_blank', '_self' => '当前层:_self', '_parent' => '父框架:_parent', '_top' => '整个框架:_top')); break; case 2: //todo 多图 break; case 3: $builder->keyText('text', '文字内容', '广告展示文字'); $builder->keyText('url', '链接地址'); $builder->keyColor('text_color', '文字颜色', '文字颜色')->keyDefault('data[text_color]', '#000000'); $builder->keyText('text_font_size', '文字大小,需带单位,例如:14px')->keyDefault('data[text_font_size]', '12px'); $builder->keySelect('target', '打开方式', null, array('_blank' => '新窗口:_blank', '_self' => '当前层:_self', '_parent' => '父框架:_parent', '_top' => '整个框架:_top')); //todo 文字 break; case 4: //todo 代码 $builder->keyTextArea('code', '代码内容', '不对此字段进行过滤,可填写js、html'); break; } $builder->keyDefault('status', 1)->keyDefault('sort', 1); $builder->keyDefault('title', $pos['title'] . '的广告 ' . date('m月d日', time()) . ' 添加')->keyDefault('end_time', time() + 60 * 60 * 24 * 7); if ($pos['type'] == 2) { $this->_meta_title = $pos['title'] . '设置——' . $advPosModel->switchType($pos['type']); $adv['start_time'] = isset($adv['start_time']) ? $adv['start_time'] : time(); $adv['end_time'] = isset($adv['end_time']) ? $adv['end_time'] : time() + 60 * 60 * 24 * 7; $adv['create_time'] = isset($adv['create_time']) ? $adv['create_time'] : time(); $adv['sort'] = isset($adv['sort']) ? $adv['sort'] : 1; $adv['status'] = isset($adv['status']) ? $adv['status'] : 1; $advs = D('Adv')->where(array('pos_id' => $aPosId))->select(); foreach ($advs as &$v) { $data = json_decode($v['data'], true); if (!empty($data)) { $v = array_merge($v, $data); } } unset($v); $this->assign('list', $advs); $this->assign('pos', $pos); $this->display('editslider'); } else { $builder->display(); } } }
public function hotSellConfig($id = 0, $cname = 0) { if (IS_POST) { if (!(is_numeric($cname) && $cname >= 0)) { $this->error('请正确输入阀值,阀值是一个不小于0的数字'); } $id = $id ? $id : $this->shop_configModel->where('ename=' . "'min_sell_num'")->getField('id'); $data['cname'] = $cname; $data['changetime'] = time(); $rs = $this->shop_configModel->where('id=' . $id)->save($data); if ($rs) { $this->success('保存成功'); } else { $this->error('保存失败'); } } else { $hotSell = $this->shop_configModel->where('ename=' . "'min_sell_num'")->find(); $builder = new AdminConfigBuilder(); $builder->title('热销商品阀值配置'); $builder->meta_title = '热销商品阀值配置'; $builder->keyId()->keyReadOnly('ename', '标识')->keyText('cname', '热销阀值', '当已售出量高于该值时,即为热销商品'); $builder->data($hotSell); $builder->buttonSubmit(U('Shop/hotSellConfig'), '保存'); $builder->display(); } }
public function install() { $aName = I('get.name', '', 'text'); $aNav = I('add_nav', 0, 'intval'); $module = $this->moduleModel->getModule($aName); if (IS_POST) { //执行guide中的内容 $res = $this->moduleModel->install($module['id']); if ($res === true) { if ($aNav) { $channel['title'] = $module['alias']; $channel['url'] = $module['entry']; $channel['sort'] = 100; $channel['status'] = 1; $channel['icon'] = $module['icon']; M('Channel')->add($channel); S('common_nav', null); } $this->success('安装模块成功。', U('lists')); } else { $this->error('安装模块失败。' . $this->moduleModel->getError()); } } else { $builder = new AdminConfigBuilder(); $builder->title($module['alias'] . '——模块安装向导'); $builder->keyId()->keyReadOnly('name', '模块名')->keyText('alias', '模块中文名')->keyReadOnly('version', '版本')->keyText('icon', '图标')->keyTextArea('summary', '模块介绍')->keyReadOnly('developer', '开发者')->keyText('entry', '前台入口')->keyText('admin_entry', '后台入口'); //, 'repair' => '修复模式'修复模式不会导入模块专用数据表,只导入菜单、权限、行为、行为限制 $builder->keyRadio('mode', '安装模式', '', array('install' => '覆盖安装模式')); if ($module['entry']) { $builder->keyBool('add_nav', '添加导航', '安装后自动在导航栏中加入菜单,或者<a target="_blank" href="' . U('channel/index') . '">手动设置</a>'); } /* $builder->keyRadio('add_nav','添加导航菜单','默认不会添加导航',array(1=>'不添加',2=>'添加'));*/ $builder->group('安装选项', 'mode,add_nav'); /* $builder->group('模块信息', 'id,name,alias,version,icon,summary,developer,entry,admin_entry');*/ $module['mode'] = 'install'; $module['add_nav'] = '1'; $builder->data($module); $builder->buttonSubmit(); $builder->buttonBack(); $builder->display(); } /* */ }
/** * 创建新模块 * @return void * @author swh <*****@*****.**> */ public function create() { $module = array('name' => 'Example', 'alias' => '示例模块', 'version' => '1.0.0', 'icon' => 'code', 'summary' => '示例模块', 'developer' => 'admpub.com', 'website' => 'http://www.admpub.com', 'entry' => 'example/index/index', 'admin_entry' => 'admin/example/index', 'show_nav' => true, 'is_com' => false); if (IS_POST) { foreach ($module as $key => &$value) { $value = I('post.' . $key, '', 'text'); } if (!preg_match('/^[a-z][\\w]*$/i', $module['name'])) { $this->error('模块英文名必须以字母开头,并且不能包含除了字母、数字、下划线以外的字符'); } $module['show_nav'] = $module['show_nav'] ? 1 : 0; $module['is_com'] = $module['is_com'] ? 1 : 0; $name = ucfirst($module['name']); $modulePath = APP_PATH . $name . '/'; if (is_dir($modulePath)) { $this->error('已经存在英文名为“' . $module['name'] . '”的模块。'); } $dirs = array('Conf', 'Controller', 'Info', 'Model', 'Static/js', 'Static/css', 'View/default/Index'); foreach ($dirs as $value) { if (!is_dir($modulePath . $value)) { mkdir($modulePath . $value, TRUE, 0777); } } file_put_contents($modulePath . 'Conf/config.php', '<?php ' . PHP_EOL . "return array(\n // 预先加载的标签库\n 'TAGLIB_PRE_LOAD' => 'OT\\TagLib\\Article,OT\\TagLib\\Think',\n\n /* 主题设置 */\n 'DEFAULT_THEME' => 'default', // 默认模板主题名称\n\n /* 模板相关配置 */\n 'TMPL_PARSE_STRING' => array(\n '__STATIC__' => __ROOT__ . '/Public/static',\n '__ADDONS__' => __ROOT__ . '/Public/' . MODULE_NAME . '/Addons',\n '__IMG__' => __ROOT__ . '/Application/'.MODULE_NAME . '/Static/images',\n '__CSS__' => __ROOT__ . '/Application/'.MODULE_NAME .'/Static/css',\n '__JS__' => __ROOT__ . '/Application/'.MODULE_NAME. '/Static/js',\n '__ZUI__' => __ROOT__ . '/Public/zui'\n ),\n\n 'NEED_VERIFY'=>true,//此处控制默认是否需要审核,该配置项为了便于部署起见,暂时通过在此修改来设定。\n);"); file_put_contents($modulePath . 'Controller/IndexController.class.php', '<?php /** * 前台首页控制器 * @author ' . $module['developer'] . ' * generated by ' . date('Y-m-d H:i:s') . ' */ namespace ' . $name . '\\Controller; use Common\\Controller\\Base; class IndexController extends Base { protected function _initialize() { parent::_initialize(); } /** * [index description] * @return void * @author ' . $module['developer'] . ' */ public function index(){ //your code at here. $this->display(); } } '); file_put_contents($modulePath . 'Controller/' . $name . 'Controller.class.php', '<?php /** * 后台管理控制器 * @author ' . $module['developer'] . ' * generated by ' . date('Y-m-d H:i:s') . ' */ namespace Admin\\Controller; use Admin\\Builder\\AdminConfigBuilder; use Admin\\Builder\\AdminListBuilder; use Admin\\Builder\\AdminTreeListBuilder; class ' . $name . 'Controller extends AdminController { protected function _initialize() { parent::_initialize(); } /** * 后台' . $module['alias'] . '首页 * @param integer $page 页码 * @param integer $rows 每页行数 * @return void * @author ' . $module['developer'] . ' */ public function index($page = 1, $rows = 10){ $list = $map = array(); $totalCount = 0; //因为此类继承于AdminController,所以用D函数时要使用“模块英文名/模型英文名”的格式调用该模块的模型实例, //否则它将会试图调用Admin模块下的模型实例,这点要特别注意。 //$model = D(\'' . $name . '/' . $name . '\'); //$list = $model->where($map)->page($page, $rows)->select(); //$totalCount = $model->where($map)->count(); //显示页面 $builder = new AdminListBuilder(); $attr[\'class\'] = \'btn ajax-post\'; $attr[\'target-form\'] = \'ids\'; $builder->title(\'' . $module['alias'] . '管理\') ->setStatusUrl(U(\'setStatus\'))->buttonDisable(\'\', \'审核不通过\')->buttonDelete() ->keyId()->keyLink(\'title\', \'标题\', \'' . $name . '/Index/detail?id=###\') ->keyUid()->keyCreateTime()->keyStatus() ->data($list) ->pagination($totalCount, $rows) ->display(); } /** * ' . $module['alias'] . '设置 * @return void * @author ' . $module['developer'] . ' */ public function config() { $builder = new AdminConfigBuilder(); $data = $builder->handleConfig(); $builder->title(\'' . $module['alias'] . '基本设置\') ->keyBool(\'NEED_VERIFY\', \'投稿是否需要审核\', \'默认无需审核\') ->buttonSubmit(\'\', \'保存\')->data($data); $builder->display(); } /** * 添加' . $module['alias'] . ' * @return void * @author ' . $module['developer'] . ' */ public function add($id = 0) { $id = intval($id); if (IS_POST) { if (false) { $this->error(\'添加失败\'); } $this->success(\'添加成功\'); } else { $builder = new AdminConfigBuilder(); $opt = array(); $data = array(); $builder->title(\'新增' . $module['alias'] . '\')->keyId()->keyText(\'title\', \'标题\') ->keySelect(\'pid\', \'父分类\', \'选择父级分类\', array(\'0\' => \'顶级分类\') + $opt) ->keyStatus()->keyCreateTime()->keyUpdateTime() ->data($data) ->buttonSubmit(U(\'' . $name . '/add\'))->buttonBack()->display(); } } /** * 删除' . $module['alias'] . ' * @return void * @author ' . $module['developer'] . ' */ public function del($id = 0) { $id = intval($id); if (false) { $this->error(\'删除失败\'); } $this->success(\'删除成功\'); } } '); file_put_contents($modulePath . 'Model/' . $name . 'Model.class.php', '<?php /** * ' . $module['alias'] . '模型 * @author ' . $module['developer'] . ' * generated by ' . date('Y-m-d H:i:s') . ' */ namespace ' . $name . '\\Model; use Common\\Model\\Base; class ' . $name . 'Model extends Base { //设置自动验证 protected $_validate = array( //array(\'url\',\'require\',\'url必须填写\'), ); //设置指定填值 protected $_auto = array( //array(\'create_time\', NOW_TIME, self::MODEL_INSERT), ); protected function _initialize() { parent::_initialize(); } } '); $module['can_uninstall'] = 1; $dumped = var_export($module, TRUE); file_put_contents($modulePath . 'Info/info.php', '<?php ' . PHP_EOL . 'return ' . $dumped . ';'); file_put_contents($modulePath . 'Info/install.sql', '-- 安装模块sql' . PHP_EOL . PHP_EOL . PHP_EOL); file_put_contents($modulePath . 'Info/uninstall.sql', '-- 卸载模块sql' . PHP_EOL . PHP_EOL . PHP_EOL); file_put_contents($modulePath . 'View/default/Index/index.html', '<extend name="Base/common"/> <block name="style"> <link href="__CSS__/' . $module['name'] . '.css" rel="stylesheet" type="text/css"/> </block> <block name="body"> 是的,你没有看错,本模块就是你创建的!:) </block> '); file_put_contents($modulePath . 'Static/css/' . $module['name'] . '.css', ''); $this->moduleModel->cleanModulesCache(); $this->success('创建成功', U('lists')); return; } $builder = new AdminConfigBuilder(); $builder->title('创建模块'); $builder->keyText('name', L('模块英文名'), L('必须以字母开头,且整个名称只能由字母、数字、下划线构成'))->keyText('alias', L('模块中文名'))->keyText('version', L('版本号'))->keyText('icon', L('图标'))->keyTextArea('summary', L('模块简述'))->keyText('developer', L('开发者'))->keyText('website', L('官方网站'))->keyText('entry', L('前台入口'), L('支持U函数的网址'))->keyText('admin_entry', L('后台入口'), L('支持U函数的网址'))->keyBool('show_nav', L('显示在导航菜单中'))->keyBool('is_com', L('是否商业模块')); $module = array('name' => 'Example', 'alias' => '示例模块', 'version' => '1.0.0', 'icon' => 'code', 'summary' => '示例模块', 'developer' => 'admpub.com', 'website' => 'http://www.admpub.com', 'entry' => 'example/index/index', 'admin_entry' => 'admin/example/index', 'show_nav' => true, 'is_com' => false); $builder->data($module); $builder->buttonSubmit()->buttonBack()->display(); }
/** * @param int $id * @param $goods_name * @param $goods_ico * @param $goods_introduct * @param $goods_detail * @param $money_need * @param $goods_num * @param $status * @param $category_id * @param $is_new * @param $sell_num * @author 郑钟良<*****@*****.**> */ public function goodsEdit($id = 0, $goods_name = '', $goods_ico = '', $goods_introduct = '', $goods_detail = '', $money_need = '', $goods_num = '', $status = '', $category_id = 0, $is_new = 0, $sell_num = 0) { $isEdit = $id ? 1 : 0; if (IS_POST) { if ($goods_name == '' || $goods_name == null) { $this->error('请输入商品名称'); } if (!is_numeric($goods_ico)) { $this->error('请上传商品图标'); } if ($goods_introduct == '' || $goods_introduct == null) { if ($goods_detail == '' || $goods_detail == null) { $this->error('请输入商品广告语'); } else { $goods_introduct = substr($goods_detail, 0, 25); } } if (!(is_numeric($money_need) && $money_need >= 0)) { $this->error('请正确输入商品价格'); } if (!(is_numeric($goods_num) && $goods_num >= 0)) { $this->error('请正确输入商品剩余量'); } if (!(is_numeric($sell_num) && $sell_num >= 0)) { $this->error('请正确输入商品已售量'); } $goods['goods_name'] = $goods_name; $goods['goods_ico'] = $goods_ico; $goods['goods_introduct'] = $goods_introduct; $goods['goods_detail'] = $goods_detail; $goods['money_need'] = $money_need; $goods['goods_num'] = $goods_num; $goods['status'] = $status; $goods['category_id'] = $category_id; $goods['is_new'] = $is_new; $goods['sell_num'] = $sell_num; $goods['changetime'] = time(); if ($isEdit) { $rs = $this->shopModel->where('id=' . $id)->save($goods); } else { //商品名存在验证 $map['status'] = array('egt', 0); $map['goods_name'] = $goods_name; if ($this->shopModel->where($map)->count()) { $this->error('已存在同名商品'); } $goods['createtime'] = time(); $rs = $this->shopModel->add($goods); } if ($rs) { $this->success($isEdit ? '编辑成功' : '添加成功', U('Shop/goodsList')); } else { $this->error($isEdit ? '编辑失败' : '添加失败'); } } else { $builder = new AdminConfigBuilder(); $builder->title($isEdit ? '编辑商品' : '添加商品'); $builder->meta_title = $isEdit ? '编辑商品' : '添加商品'; //获取分类列表 $category_map['status'] = array('egt', 0); $goods_category_list = $this->shop_categoryModel->where($category_id)->order('pid desc')->select(); $options = array_combine(array_column($goods_category_list, 'id'), array_column($goods_category_list, 'title')); $builder->keyId()->keyText('goods_name', '商品名称')->keySingleImage('goods_ico', '商品图标')->keySelect('category_id', '商品分类', '', $options)->keyText('goods_introduct', '商品广告语')->keyEditor('goods_detail', '商品详情')->keyInteger('money_need', '商品价格')->keyInteger('goods_num', '商品余量')->keyInteger('sell_num', '已售出量')->keyBool('is_new', '是否为新品')->keyStatus('status', '出售状态'); if ($isEdit) { $goods = $this->shopModel->where('id=' . $id)->find(); $builder->data($goods); $builder->buttonSubmit(U('Shop/goodsEdit')); $builder->buttonBack(); $builder->display(); } else { $goods['status'] = 1; $builder->buttonSubmit(U('Shop/goodsEdit')); $builder->buttonBack(); $builder->data($goods); $builder->display(); } } }
public function editProfile($id = 0, $profile_name = '', $visiable = 1) { if (IS_POST) { $data['profile_name'] = $profile_name; $data['visiable'] = $visiable; if ($data['profile_name'] == '') { $this->error(L('_GROUP_NAME_CANNOT_BE_EMPTY_')); } if ($id != '') { $res = D('field_group')->where('id=' . $id)->save($data); } else { $map['profile_name'] = $profile_name; $map['status'] = array('egt', 0); if (D('field_group')->where($map)->count() > 0) { $this->error(L('_ALREADY_HAS_THE_SAME_NAME_GROUP_PLEASE_USE_THE_OTHER_GROUP_NAME_')); } $data['status'] = 1; $data['createTime'] = time(); $res = D('field_group')->add($data); } if ($res) { $this->success($id == '' ? L('_ADD_GROUP_SUCCESS_') : L('_EDIT_GROUP_SUCCESS_'), U('profile')); } else { $this->error($id == '' ? L('_ADD_GROUP_FAILURE_') : L('_EDIT_GROUP_FAILED_')); } } else { $builder = new AdminConfigBuilder(); if ($id != 0) { $profile = D('field_group')->where('id=' . $id)->find(); $builder->title(L('_MODIFIED_GROUP_INFORMATION_')); $builder->meta_title = L('_MODIFIED_GROUP_INFORMATION_'); } else { $builder->title(L('_ADD_EXTENDED_INFORMATION_PACKET_')); $builder->meta_title = L('_NEW_GROUP_'); } $builder->keyReadOnly("id", L('_LOGO_'))->keyText('profile_name', L('_GROUP_NAME_'))->keyBool('visiable', L('_OPEN_YE_OR_NO_')); $builder->data($profile); $builder->buttonSubmit(U('editProfile'), $id == 0 ? L('_ADD_') : L('_MODIFY_'))->buttonBack(); $builder->display(); } }
public function website() { $builder = new AdminConfigBuilder(); $data = $builder->handleConfig(); $builder->title(L('_SITE_INFO_'))->suggest(L('_SITE_INFO_VICE_')); /* $builder->keySelect('LANG', L('_WEBSITE_LANGUAGE_'), L('_SELECT_THE_DEFAULT_LANGUAGE_'), array('zh-cn' => L('_SIMPLIFIED_CHINESE_'), 'en-us' => L('_ENGLISH_')));*/ $builder->keyText('WEB_SITE_NAME', L('_SITE_NAME_'), L('_SITE_NAME_VICE_')); $builder->keyText('ICP', L('_LICENSE_NO_'), L('_LICENSE_NO_VICE_')); $builder->keySingleImage('LOGO', L('_SITE_LOGO_'), L('_SITE_LOGO_VICE_')); $builder->keySingleImage('QRCODE', L('_QR_WEIXIN_'), L('_QR_WEIXIN_VICE_')); $builder->keySingleImage('JUMP_BACKGROUND', L('_IMG_BG_REDIRECTED_'), L('_IMG_BG_REDIRECTED_')); $builder->keyText('SUCCESS_WAIT_TIME', L(''), L('')); $builder->keyText('ERROR_WAIT_TIME', L(''), L('')); $builder->keyEditor('ABOUT_US', L(''), L('')); $builder->keyEditor('SUBSCRIB_US', L(''), L('')); $builder->keyEditor('COPY_RIGHT', L(''), L('')); $addons = \Think\Hook::get('uploadDriver'); $opt = array('local' => L('_LOCAL_')); foreach ($addons as $name) { if (class_exists($name)) { $class = new $name(); $config = $class->getConfig(); if ($config['switch']) { $opt[$class->info['name']] = $class->info['title']; } } } $builder->keySelect('PICTURE_UPLOAD_DRIVER', L('_PICTURE_UPLOAD_DRIVER_'), L('_PICTURE_UPLOAD_DRIVER_'), $opt); $builder->keySelect('DOWNLOAD_UPLOAD_DRIVER', L('_ATTACHMENT_UPLOAD_DRIVER_'), L('_ATTACHMENT_UPLOAD_DRIVER_'), $opt); $builder->group(L('_BASIC_INFORMATION_'), array('WEB_SITE_NAME', 'ICP', 'LOGO', 'QRCODE', 'LANG')); $builder->group(L('_THE_FOOTER_INFORMATION_'), array('ABOUT_US', 'SUBSCRIB_US', 'COPY_RIGHT')); $builder->group(L('_JUMP_PAGE_'), array('JUMP_BACKGROUND', 'SUCCESS_WAIT_TIME', 'ERROR_WAIT_TIME')); $builder->keyBool('GET_INFORMATION', L('_OPEN_INSTANT_ACCESS_TO_THE_MESSAGE_'), L('_OPEN_INSTANT_ACCESS_TO_THE_MESSAGE_VICE_')); $builder->keyText('GET_INFORMATION_INTERNAL', L('_MESSAGE_POLLING_INTERVAL_'), L('_MESSAGE_POLLING_INTERVAL_VICE_')); $builder->group(L('_PERFORMANCE_SETTINGS_'), array('GET_INFORMATION', 'GET_INFORMATION_INTERNAL')); $builder->group(L('_UPLOAD_CONFIGURATION_'), array('PICTURE_UPLOAD_DRIVER', 'DOWNLOAD_UPLOAD_DRIVER')); $builder->data($data); $builder->keyDefault('SUCCESS_WAIT_TIME', 2); $builder->keyDefault('ERROR_WAIT_TIME', 5); $builder->keyDefault('LANG', 'zh-cn'); $builder->keyDefault('GET_INFORMATION', 1); $builder->keyDefault('GET_INFORMATION_INTERNAL', 10); $builder->buttonSubmit(); $builder->display(); }
public function website() { $builder = new AdminConfigBuilder(); $data = $builder->handleConfig(); $builder->title('网站信息')->suggest('此处配置网站的一般信息。'); $builder->keyText('WEB_SITE_NAME', '网站名', '用于邮件,短信,站内信显示'); $builder->keyText('ICP', '网站备案号', '设置在网站底部显示的备案号,如“沪ICP备12007941号-2'); $builder->keySingleImage('LOGO', '网站Logo', '网站的logo设置,建议尺寸156*50'); $builder->keySingleImage('QRCODE', '微信二维码', '悬浮微信二维码'); $builder->keySingleImage('JUMP_BACKGROUND', '跳转页背景图片', '跳转页背景图片'); $builder->keyText('SUCCESS_WAIT_TIME', '成功等待时间', '设置成功时页面等待页面'); $builder->keyText('ERROR_WAIT_TIME', '失败等待时间', '设置失败时页面等待页面'); $builder->keyEditor('ABOUT_US', '关于我们内容', '页脚关于我们介绍'); $builder->keyEditor('SUBSCRIB_US', '关注我们', '页脚关注我们内容'); $builder->keyEditor('COPY_RIGHT', '版权信息', '页脚版权信息'); $addons = \Think\Hook::get('uploadDriver'); $opt = array('local' => '本地'); foreach ($addons as $name) { if (class_exists($name)) { $class = new $name(); $config = $class->getConfig(); if ($config['switch']) { $opt[$class->info['name']] = $class->info['title']; } } } $builder->keySelect('PICTURE_UPLOAD_DRIVER', '图片上传驱动', '图片上传驱动', $opt); $builder->keySelect('DOWNLOAD_UPLOAD_DRIVER', '附件上传驱动', '附件上传驱动', $opt); $builder->group('基本信息', array('WEB_SITE_NAME', 'ICP', 'LOGO', 'QRCODE')); $builder->group('页脚信息', array('ABOUT_US', 'SUBSCRIB_US', 'COPY_RIGHT')); $builder->group('跳转页面', array('JUMP_BACKGROUND', 'SUCCESS_WAIT_TIME', 'ERROR_WAIT_TIME')); $builder->group('上传配置', array('PICTURE_UPLOAD_DRIVER', 'DOWNLOAD_UPLOAD_DRIVER')); $builder->data($data); $builder->keyDefault('SUCCESS_WAIT_TIME', 2); $builder->keyDefault('ERROR_WAIT_TIME', 5); $builder->buttonSubmit(); $builder->display(); }