Ejemplo n.º 1
0
        public function doUpdate($currentVersion)
        {
            // 更新数据库表
            $sqlFileContent = <<<SQL
-- 创建 cron 任务列表
CREATE TABLE IF NOT EXISTS `bzf_cron_task` (
  `task_id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
  `user_name` varchar(32) DEFAULT NULL COMMENT '哪个用户添加的',
  `task_name` varchar(16) DEFAULT NULL COMMENT '任务名称',
  `task_desc` varchar(128) DEFAULT NULL COMMENT '任务描述',
  `task_time` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '任务设定时间',
  `task_run_time` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '任务实际运行时间',
  `task_class` varchar(128) NOT NULL COMMENT '任务的PHP Class',
  `task_param` text DEFAULT NULL,
  `search_param` varchar(64) DEFAULT NULL COMMENT '用于任务搜索',
  `return_code` int DEFAULT 0 COMMENT '任务设定时间',
  `return_message` varchar(128) DEFAULT NULL COMMENT '任务返回消息',

  PRIMARY KEY (`task_id`)
) DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

ALTER TABLE `bzf_cron_task` ADD INDEX ( `task_name` ) ;
ALTER TABLE `bzf_cron_task` ADD INDEX ( `task_time` ) ;
ALTER TABLE `bzf_cron_task` ADD INDEX ( `task_run_time` ) ;
ALTER TABLE `bzf_cron_task` ADD INDEX ( `search_param` ) ;
ALTER TABLE `bzf_cron_task` ADD INDEX ( `return_code` ) ;

-- 记录管理员的行为
CREATE TABLE IF NOT EXISTS `bzf_admin_log` (
  `log_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `user_id` mediumint(8) unsigned NOT NULL ,
  `user_name` varchar(60) DEFAULT NULL ,
  `operate` varchar(16) DEFAULT NULL COMMENT '操作名称',
  `operate_desc` varchar(128) DEFAULT NULL COMMENT '操作描述',
  `operate_time` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '操作时间',
  `operate_data` text DEFAULT NULL COMMENT '操作的数据记录',
  PRIMARY KEY (`log_id`)
) DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
ALTER TABLE `bzf_admin_log` ADD INDEX ( `user_id` ) ;
ALTER TABLE `bzf_admin_log` ADD INDEX ( `operate` ) ;
ALTER TABLE `bzf_admin_log` ADD INDEX ( `operate_time` ) ;

-- 修改价格表,增加价格说明
ALTER TABLE `bzf_goods` ADD `shop_price_notice` VARCHAR( 32 ) NULL DEFAULT NULL COMMENT '价格说明' AFTER `shop_price`;
ALTER TABLE `bzf_goods` ADD `type_id` SMALLINT( 5 ) NOT NULL DEFAULT '0' COMMENT '商品类型' AFTER `cat_id`;

-- 修改 brand 表
ALTER TABLE `bzf_brand` CHANGE `sort_order` `sort_order` TINYINT( 3 ) UNSIGNED NOT NULL DEFAULT '0';
ALTER TABLE `bzf_brand` CHANGE `brand_logo` `brand_logo` VARCHAR( 128 ) NULL DEFAULT NULL ;
ALTER TABLE `bzf_brand` CHANGE `brand_desc` `brand_desc` VARCHAR( 255 ) NULL DEFAULT NULL ;
ALTER TABLE `bzf_brand` ADD `is_custom` int NULL DEFAULT 0 COMMENT '是否自定义页面';
ALTER TABLE `bzf_brand` ADD `custom_page` TEXT NULL DEFAULT NULL COMMENT '品牌自定义页面';

-- 增加 goods_attr 表记录商品的属性值
CREATE TABLE IF NOT EXISTS `bzf_goods_attr` (
  `goods_attr_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `goods_id` int(10) unsigned NOT NULL DEFAULT '0',
  `attr_item_id` int(10) unsigned NOT NULL DEFAULT '0',
  `attr_item_value` varchar(128) NULL,
  PRIMARY KEY (`goods_attr_id`),
  KEY `goods_id` (`goods_id`),
  KEY `attr_item_id` (`attr_item_id`),
  KEY `attr_item_value` (`attr_item_value`)
) DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

SQL;
            $dbEngine = DataMapper::getDbEngine();
            // 解析 sql 文件,导入数据
            $sqlFileContent = SqlHelper::removeComment($sqlFileContent);
            $sqlArray = SqlHelper::splitToSqlArray($sqlFileContent, ';');
            unset($sqlFileContent);
            foreach ($sqlArray as $sqlQuery) {
                $queryObject = $dbEngine->prepare($sqlQuery);
                $queryObject->execute();
                unset($sqlQuery);
                unset($queryObject);
            }
            unset($sqlArray);
            // 权限管理
            $metaPrivilegeService = new MetaPrivilegeService();
            // 删除不用的权限
            $metaPrivilegeService->removePrivilegeItem('manage_goods_attrgroup_listattrgroup');
            $metaPrivilegeService->removePrivilegeItem('manage_goods_attrgroup_create');
            $metaPrivilegeService->removePrivilegeItem('manage_goods_attrgroup_edit');
            // 添加执行权限
            $privilegeGroup = $metaPrivilegeService->loadPrivilegeGroup('manage_misc');
            $metaPrivilegeService->savePrivilegeItem($privilegeGroup['meta_id'], 'manage_misc_cron', '定时任务', '管理系统的定时任务');
            $privilegeGroup = $metaPrivilegeService->loadPrivilegeGroup('manage_account');
            $metaPrivilegeService->savePrivilegeItem($privilegeGroup['meta_id'], 'manage_account_admin_listlog', '管理员日志', '查看管理员的操作日志');
            $privilegeGroup = $metaPrivilegeService->loadPrivilegeGroup('manage_goods');
            $metaPrivilegeService->savePrivilegeItem($privilegeGroup['meta_id'], 'manage_goods_brand_listbrand', '商品品牌', '管理商品品牌');
            $metaPrivilegeService->savePrivilegeItem($privilegeGroup['meta_id'], 'manage_goods_type_listtype', '商品类型', '管理商品类型');
            // 把版本设置为 1.0.1
            ManageThemePlugin::saveOptionValue('version', $this->targetVersion);
            return true;
        }
Ejemplo n.º 2
0
 public function run(array $params)
 {
     printLog('Begin CreatePrivilege', 'CreatePrivilege');
     $metaPrivilegeService = new MetaPrivilegeService();
     // 商品管理权限
     $privilegeGroup = $metaPrivilegeService->savePrivilegeGroup('manage_goods', '商品管理', '管理网站的所有商品');
     $metaPrivilegeService->savePrivilegeItem($privilegeGroup['meta_id'], 'manage_goods_create', '新建商品', '创建一个新商品');
     $metaPrivilegeService->savePrivilegeItem($privilegeGroup['meta_id'], 'manage_goods_search', '查看商品列表', '查看商品列表');
     $metaPrivilegeService->savePrivilegeItem($privilegeGroup['meta_id'], 'manage_goods_edit_edit_get', '商品编辑-查看', '查看商品编辑的内容');
     $metaPrivilegeService->savePrivilegeItem($privilegeGroup['meta_id'], 'manage_goods_edit_edit_post', '商品编辑-保存', '保存商品编辑的内容');
     $metaPrivilegeService->savePrivilegeItem($privilegeGroup['meta_id'], 'manage_goods_attrgroup_listattrgroup', '查看商品类型列表', '查看商品类型列表');
     $metaPrivilegeService->savePrivilegeItem($privilegeGroup['meta_id'], 'manage_goods_attrgroup_create', '新建商品类型', '新建商品类型');
     $metaPrivilegeService->savePrivilegeItem($privilegeGroup['meta_id'], 'manage_goods_attrgroup_edit', '编辑商品类型', '编辑商品类型');
     $metaPrivilegeService->savePrivilegeItem($privilegeGroup['meta_id'], 'manage_goods_category_edit', '编辑商品分类', '编辑商品分类');
     $metaPrivilegeService->savePrivilegeItem($privilegeGroup['meta_id'], 'manage_goods_comment_listcomment', '查看用户评价列表', '查看用户评价列表');
     $metaPrivilegeService->savePrivilegeItem($privilegeGroup['meta_id'], 'manage_goods_comment_edit', '编辑用户评价', '编辑用户评价');
     $metaPrivilegeService->savePrivilegeItem($privilegeGroup['meta_id'], 'manage_goods_comment_create', '新建用户评价', '新建用户评价');
     // 订单管理权限
     $privilegeGroup = $metaPrivilegeService->savePrivilegeGroup('manage_order', '订单管理', '管理网站的订单');
     $metaPrivilegeService->savePrivilegeItem($privilegeGroup['meta_id'], 'manage_order_order_search', '查看订单列表', '查看订单列表');
     $metaPrivilegeService->savePrivilegeItem($privilegeGroup['meta_id'], 'manage_order_order_detail', '查看订单详情', '查看订单详情');
     $metaPrivilegeService->savePrivilegeItem($privilegeGroup['meta_id'], 'manage_order_order_markpay', '订单标记付款', '手动设置订单状态为已经付款');
     $metaPrivilegeService->savePrivilegeItem($privilegeGroup['meta_id'], 'manage_order_goods_search', '查看售出商品列表', '查看售出商品列表');
     $metaPrivilegeService->savePrivilegeItem($privilegeGroup['meta_id'], 'manage_order_goods_detail', '查看售出商品详情', '查看售出商品详情');
     $metaPrivilegeService->savePrivilegeItem($privilegeGroup['meta_id'], 'manage_order_goods_update_set_extra_discount', '商品额外优惠', '售出商品给顾客额外优惠');
     $metaPrivilegeService->savePrivilegeItem($privilegeGroup['meta_id'], 'manage_order_goods_update_set_suppliers_price', '商品修改供货价', '售出商品订单单独修改供货价');
     $metaPrivilegeService->savePrivilegeItem($privilegeGroup['meta_id'], 'manage_order_goods_update_set_shipping_no', '设置快递信息', '设置售出商品的快递信息');
     $metaPrivilegeService->savePrivilegeItem($privilegeGroup['meta_id'], 'manage_order_goods_update_set_memo', '售出商品备注', '对售出商品增加备注信息');
     $metaPrivilegeService->savePrivilegeItem($privilegeGroup['meta_id'], 'manage_order_goods_update_set_refund', '商品申请退款', '对售出商品申请退款');
     $metaPrivilegeService->savePrivilegeItem($privilegeGroup['meta_id'], 'manage_order_goods_update_set_extra_refund', '商品额外退款', '对售出商品操作额外退款');
     $metaPrivilegeService->savePrivilegeItem($privilegeGroup['meta_id'], 'manage_order_refund_search', '查看商品退款', '查看商品退款列表');
     $metaPrivilegeService->savePrivilegeItem($privilegeGroup['meta_id'], 'manage_order_refund_confirm', '确认商品退款', '确认商品退款');
     $metaPrivilegeService->savePrivilegeItem($privilegeGroup['meta_id'], 'manage_order_excel_download', '批量下载订单', '批量下载订单');
     $metaPrivilegeService->savePrivilegeItem($privilegeGroup['meta_id'], 'manage_order_excel_upload', '批量上传快递', '批量上传快递单号');
     $metaPrivilegeService->savePrivilegeItem($privilegeGroup['meta_id'], 'manage_order_statistics_listgoods', '查看商品销售排行', '查看商品的销售排行');
     $metaPrivilegeService->savePrivilegeItem($privilegeGroup['meta_id'], 'manage_order_settle', '订单结算', '对订单做结算操作');
     $metaPrivilegeService->savePrivilegeItem($privilegeGroup['meta_id'], 'manage_order_settle_listsettle', '查看结算历史', '查看订单结算历史');
     $metaPrivilegeService->savePrivilegeItem($privilegeGroup['meta_id'], 'manage_order_settle_listordergoods', '查看结算明细', '查看订单结算明细');
     $metaPrivilegeService->savePrivilegeItem($privilegeGroup['meta_id'], 'manage_order_settle_ajaxdetail', '查看结算详情', '查看订单结算详情');
     $metaPrivilegeService->savePrivilegeItem($privilegeGroup['meta_id'], 'manage_order_settle_update', '修改结算详情', '修改订单结算详情');
     // 文章管理
     $privilegeGroup = $metaPrivilegeService->savePrivilegeGroup('manage_article', '文章管理', '管理网站的文章');
     $metaPrivilegeService->savePrivilegeItem($privilegeGroup['meta_id'], 'manage_article_article_edit', '编辑文章', '编辑文章内容');
     // 账号管理权限
     $privilegeGroup = $metaPrivilegeService->savePrivilegeGroup('manage_account', '账号管理', '管理网站的各种账号');
     $metaPrivilegeService->savePrivilegeItem($privilegeGroup['meta_id'], 'manage_account_supplier_create', '新建供货商', '新建供货商账号');
     $metaPrivilegeService->savePrivilegeItem($privilegeGroup['meta_id'], 'manage_account_supplier_listuser', '查看供货商列表', '查看供货商列表');
     $metaPrivilegeService->savePrivilegeItem($privilegeGroup['meta_id'], 'manage_account_supplier_edit_get', '查看供货商详情', '查看供货商详情');
     $metaPrivilegeService->savePrivilegeItem($privilegeGroup['meta_id'], 'manage_account_supplier_edit_post', '修改供货商详情', '修改供货商详情');
     $metaPrivilegeService->savePrivilegeItem($privilegeGroup['meta_id'], 'manage_account_supplier_edit_change_account_password', '修改供货商密码', '修改供货商的登陆账号、登陆密码');
     $metaPrivilegeService->savePrivilegeItem($privilegeGroup['meta_id'], 'manage_account_admin_create', '新建管理员', '新建管理员账号');
     $metaPrivilegeService->savePrivilegeItem($privilegeGroup['meta_id'], 'manage_account_admin_listuser', '查看管理员列表', '查看管理员列表');
     $metaPrivilegeService->savePrivilegeItem($privilegeGroup['meta_id'], 'manage_account_admin_edit_get', '查看管理员详情', '查看管理员详情');
     $metaPrivilegeService->savePrivilegeItem($privilegeGroup['meta_id'], 'manage_account_admin_edit_post', '修改管理员详情', '修改管理员详情');
     $metaPrivilegeService->savePrivilegeItem($privilegeGroup['meta_id'], 'manage_account_admin_edit_change_account_password', '修改管理员密码', '修改管理员的登陆账号、登陆密码');
     // 用户管理权限
     $metaPrivilegeService->savePrivilegeItem($privilegeGroup['meta_id'], 'manage_account_user_search', '查看用户列表', '查看用户列表');
     $metaPrivilegeService->savePrivilegeItem($privilegeGroup['meta_id'], 'manage_account_user_charge', '给用户充值', '给用户充值');
     $metaPrivilegeService->savePrivilegeItem($privilegeGroup['meta_id'], 'manage_account_user_money', '查看用户资金', '查看用户资金变动明细');
     // 给其它用户授权的权限
     $privilegeGroup = $metaPrivilegeService->savePrivilegeGroup('manage_privilege_grant', '用户授权', '给其他用户授权');
     $metaPrivilegeService->savePrivilegeItem($privilegeGroup['meta_id'], 'manage_account_admin_privilege_get', '查看管理员权限', '查看管理员拥有的权限');
     $metaPrivilegeService->savePrivilegeItem($privilegeGroup['meta_id'], 'manage_account_admin_privilege_post', '修改管理员权限', '修改管理员拥有的权限');
     $metaPrivilegeService->savePrivilegeItem($privilegeGroup['meta_id'], 'manage_account_role_listrole', '查看角色列表', '查看角色列表');
     $metaPrivilegeService->savePrivilegeItem($privilegeGroup['meta_id'], 'manage_account_role_create', '创建角色', '创建角色,比如客服角色');
     $metaPrivilegeService->savePrivilegeItem($privilegeGroup['meta_id'], 'manage_account_role_edit_get', '查询角色详情', '查询角色详情');
     $metaPrivilegeService->savePrivilegeItem($privilegeGroup['meta_id'], 'manage_account_role_edit_post', '修改角色详情', '修改角色详情');
     $metaPrivilegeService->savePrivilegeItem($privilegeGroup['meta_id'], 'manage_account_role_privilege_get', '查看角色权限', '查看用户角色拥有的权限');
     $metaPrivilegeService->savePrivilegeItem($privilegeGroup['meta_id'], 'manage_account_role_privilege_post', '修改角色权限', '修改用户角色拥有的权限');
     // 杂项设置
     $privilegeGroup = $metaPrivilegeService->savePrivilegeGroup('manage_misc', '杂项设置', '网站杂七杂八的其它设置');
     $metaPrivilegeService->savePrivilegeItem($privilegeGroup['meta_id'], 'manage_misc_cache', '缓存管理', '管理系统的各种缓存数据');
     $metaPrivilegeService->savePrivilegeItem($privilegeGroup['meta_id'], 'manage_misc_express_edit', '编辑快递公司', '编辑快递公司的信息');
     $metaPrivilegeService->savePrivilegeItem($privilegeGroup['meta_id'], 'manage_misc_cron', '定时任务', '管理系统的定时任务');
     // 数据统计
     $privilegeGroup = $metaPrivilegeService->savePrivilegeGroup('manage_stat', '数据统计', '网站的各种数据统计');
     $metaPrivilegeService->savePrivilegeItem($privilegeGroup['meta_id'], 'manage_stat_order_refer_get', '来源渠道统计', '订单来源渠道的利润统计');
     $metaPrivilegeService->savePrivilegeItem($privilegeGroup['meta_id'], 'manage_stat_order_refer_download', '来源渠道订单下载', '根据来源渠道下载订单');
     $metaPrivilegeService->savePrivilegeItem($privilegeGroup['meta_id'], 'manage_stat_kaohe_kefu', '查看客服考核', '查看所有客服的考核业绩');
     // 插件管理
     $privilegeGroup = $metaPrivilegeService->savePrivilegeGroup('manage_plugin', '插件主题', '插件和系统主题的管理');
     $metaPrivilegeService->savePrivilegeItem($privilegeGroup['meta_id'], 'manage_plugin_plugin_installplugin', '插件安装', '给系统安装新的插件');
     $metaPrivilegeService->savePrivilegeItem($privilegeGroup['meta_id'], 'manage_plugin_plugin_uninstallplugin', '插件卸载', '卸载系统已经安装的插件');
     $metaPrivilegeService->savePrivilegeItem($privilegeGroup['meta_id'], 'manage_plugin_plugin_activateplugin', '启用插件', '启用系统已经安装的插件');
     $metaPrivilegeService->savePrivilegeItem($privilegeGroup['meta_id'], 'manage_plugin_plugin_deactivateplugin', '停用插件', '停用系统已经安装的插件');
     $metaPrivilegeService->savePrivilegeItem($privilegeGroup['meta_id'], 'manage_plugin_plugin_configure', '配置插件', '调用插件的配置功能');
     $metaPrivilegeService->savePrivilegeItem($privilegeGroup['meta_id'], 'manage_plugin_theme_installtheme', '主题安装', '给系统安装新的主题');
     $metaPrivilegeService->savePrivilegeItem($privilegeGroup['meta_id'], 'manage_plugin_theme_uninstalltheme', '主题卸载', '卸载系统已经安装的主题');
     $metaPrivilegeService->savePrivilegeItem($privilegeGroup['meta_id'], 'manage_plugin_theme_activatetheme', '启用主题', '启用系统已经安装的主题');
     $metaPrivilegeService->savePrivilegeItem($privilegeGroup['meta_id'], 'manage_plugin_theme_configure', '配置主题', '调用主题的配置功能');
     $metaPrivilegeService->savePrivilegeItem($privilegeGroup['meta_id'], 'manage_plugin_theme_adv_configure', '广告设置', '设置主题的广告位置');
     printLog('Finish CreatePrivilege', 'CreatePrivilege');
 }