• 首页
  • 关于我们
  • 招聘职位
  • 企业博客
  • 联系我们
EN

ECshop订单操作权限的开发      文章属于:设计开发

[原创]ECshop订单操作权限的开发
                                                                 作者:xiaodu@softwe
ECshop是当前最流行的电子商城软件,而且由于完全开源,对于我们二次开发出符合我们自身特点的系统,非常有利。下面就以一个简单的实例,描述一次关于订单操作权限的添加过程。
一 基础知识
首先我们需要了解以下一些基本的知识:
1.ECshop的所有可用权限列表存储在数据库’ecs_admin_action’表中
2.权限判断通过admin_priv函数实现
3.管理员的权限设置可以通过后台编辑管理员信息来分配
二 权限详解
 1、商品管理,共有9个权限项目,以下分别是:
goods_manage,商品添加/编辑
remove_back,商品删除/恢复
cat_manage,分类添加/编辑
cat_drop,分类转移/删除
attr_manage,商品属性管理
brand_manage,商品品牌管理
comment_priv,用户评论管理
tag_manage,标签管理
goods_type,商品类型
2、文章管理,共有6个权限项目,以下分别是:
article_cat,文章分类管理
article_manage,文章内容管理
shopinfo_manage,网店信息管理
shophelp_manage,网店帮助管理
vote_priv,在线调查管理
topic_manage,专题管理
3、会员管理,共有8个权限项目,以下分别是:
feedback_priv,会员留言管理
integrate_users,会员数据整合
sync_users,同步会员数据
users_manage,会员管理
users_drop,会员删除
user_rank,会员等级管理
surplus_manage,会员余额管理
account_manage,会员账户管理
4、权限管理,共有7个权限项目,以下分别是:
 template_manage,模板管理
admin_manage,管理员添加/编辑
admin_drop,删除管理员
allot_priv,分派权限
logs_manage,管理日志列表
logs_drop,删除管理日志
agency_manage,办事处管理
5、系统设置,共有9个权限项目,以下分别是:
shop_config,商店设置
ship_manage, 配送方式管理
payment,支付方式管理
shiparea_manage,配送区域管理
area_manage,地区列表管理
friendlink,友情链接管理
db_backup,数据库备份
db_renew,数据库恢复
flash_manage,Flash 播放器管理
6、订单管理,共有10个权限项目,以下分别是:
order_os_edit,编辑订单状态
order_ps_edit,编辑付款状态
order_ss_edit,编辑发货状态
order_edit,添加编辑订单
order_view,查看未完成订单
order_view_finished,查看已完成订单
repay_manage,退款申请管理
booking,缺货登记管理
sale_order_stats,订单销售统计
client_flow_stats,客户流量统计
7、促销管理,共有6个权限项目,以下分别是:
snatch_manage,夺宝奇兵
ad_manage,广告管理
gift_manage,赠品管理
card_manage,祝福贺卡
pack,商品包装
bonus_manage,红包管理
三 订单操作权限的开发
上面提到的权限列表是我们比较常用的一些,我们具体来看下针对订单操作权限,主要是
order_os_edit,编辑订单状态
order_ps_edit,编辑付款状态
order_ss_edit,编辑发货状态
order_edit,添加编辑订单
order_view,查看未完成订单
假如我们某一个管理员需要”PDF打印订单”权限,(假设”PDF打印”功能已经实现),我们来看以下具体的操作步骤
1.首先在数据库ecs_admin_action中插入一行code为”pdf_manage”,parents_id为6(sql语句)
2.在language/admin/priv_action.php中找到”//订单管理部分权限”,在下面新加一行
   $_LANG['pdf_manage'] = ‘PDF打印管理’;
3.在后台编辑某管理员权限页面,我们可以看到这个选项,分配给他。
当然这个时候该管理员还没有真正拥有这个权限。打开admin/order.php 搜索$priv_list(大概在2950行)
修改代码为以下部分:
    /* 取得订单操作权限 */
    $actions = $_SESSION['action_list'];
    if ($actions == ‘all’)
    {
        $priv_list  = array(’os’ => true, ’ss’ => true, ‘ps’ => true, ‘edit’ => true,‘pdf_manage’=>true);
//如果是拥有所有权限(比如admin),分配他PDF打印权限,当然如果你希望是特定的某一个人,这行可以不加
    }
    else
    {
        $actions    = ‘,’ . $actions . ‘,’;
        $priv_list  = array(
            ‘os’    => strpos($actions, ‘,order_os_edit,’) !== false,
            ’ss’    [...]

[0916]EBL平台正式上线      文章属于:公司发展

http://www.eblhost.cn EBL平台是一站式提供建站服务的销售和服务平台,集网站开发、托管、推广、维护等服务于一体,提供基于互联网的产品和相关服务。
现阶段主要以销售虚拟主机并提供技术支持为主。

抓取页面数据的讨论(正则表达式)      文章属于:设计开发

抓取页面数据的讨论
提示:如果这不能成为一项脑力活,那么将成为一项体力活。
如果我们善于去探究数据所在页面的规律和页面组成的规律,事实上我们的工作将变的非常轻松,考虑一下比较平
衡的抓取规则(如果数据量大,而服务器又限制或者被发现,就惨了),然后就进入到了实施阶段。
我们最常见的是
preg_match_all(”|<[^>]+>(.*)</[^>]+>|U”,$b,$a);

取出<></>标签,能够去除大量的HTML标签,却并不是很完全,因为有一些复杂的写,例如有大量的<>嵌套使用,还是无法完全清理的。
除了运用正确的正则表达式和PHP函数外,我们要理解其中的贪婪模式和非贪婪模式,其中贪婪模式顾名思义就是
指尽可能的匹配,而非贪婪模式指的是存在即可。
(d)(\w+)就是一个贪婪模式,如果字符串是“dxxxaaabbb”的话,匹配结果就是“xxxaaabbb”。
(d)(\w+?)是非贪婪模式,匹配的结果是“x”,即存在即可,而不会去匹配更多的相似结果。
其实就是指匹配的次数和匹配的精度。
所以我们在抓取数据的时候,要分析页面和数据的规律,选择适合的模式进行匹配和提取。
以下是一些基本的正则表达式
匹配中文字符的正则表达式: [\u4e00-\u9fa5]
匹配双字节字符(包括汉字在内):[^\x00-\xff]
匹配空白行的正则表达式:\n\s*\r
匹配HTML标记的正则表达式:<(\S*?)[^>]*>.*?</\1>|<.*? />
匹配首尾空白字符的正则表达式:^\s*|\s*$
匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
匹配网址URL的正则表达式:[a-zA-z]+://[^\s]*
匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
匹配国内电话号码:\d{3}-\d{8}|\d{4}-\d{7}
匹配QQ号:[1-9][0-9]{4,}
匹配中国邮政编码:[1-9]\d{5}(?!\d)
匹配身份证(15位或18位):\d{15}|\d{18}
匹配ip地址:\d+\.\d+\.\d+\.\d+
匹配特定数字:
^[1-9]\d*$    //匹配正整数
^-[1-9]\d*$   //匹配负整数
^-?[1-9]\d*$   //匹配整数
^[1-9]\d*|0$  //匹配非负整数(正整数 + 0)
^-[1-9]\d*|0$   //匹配非正整数(负整数 + 0)
^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$   //匹配正浮点数
^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$  //匹配负浮点数
^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$  //匹配浮点数
^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$   //匹配非负浮点数(正浮点数 + 0)
^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$  //匹配非正浮点数(负浮点数 + 0)
匹配特定字符串:
^[A-Za-z]+$  //匹配由26个英文字母组成的字符串
^[A-Z]+$  //匹配由26个英文字母的大写组成的字符串
^[a-z]+$  //匹配由26个英文字母的小写组成的字符串
^[A-Za-z0-9]+$  //匹配由数字和26个英文字母组成的字符串
^\w+$  //匹配由数字、26个英文字母或者下划线组成的字符串
附加一条
//提取img标签的属性串
preg_match_all(”/src=\”(.*)\”[ src| width| height| alt| align| style| border| hspace| vspace|>]?/iU”,$s,$arr);

程序员的基本素质要求      文章属于:设计开发

 程序员7种基本素质:          
  1:团队精神和协作能力    
  2:文档习惯    
  3:规范化,标准化的代码编写习惯    
  4:需求理解能力    
  5:复用性,模块化思维能力    
  6:测试习惯    
  7:学习和总结的能力    
看完这7点要求,想要从中取出最重要的两点,可是仔细看完每一点的要求,才发现每一点都是不可或缺的,对于一个coder来说都是最重要的。首先讲到的就是团队的协作能力,团队的存在是为了提高开发效率,整合各自的优势,如果不能够融入团队中去,后果只有两个,要么拖累这个团队,要么被淘汰。我们在工作中不论大小项目,只要是两个或两个以上人员参与的工作都必须协同工作来提高工作效率和开发速度,因为两个人也是一个团队。众人拾柴火焰高,柴木摆放的位置如果均是理想状态,火焰也将是最旺盛的。
其次是编码的编写习惯。良好的编码习惯有这样几个好处,1、代码外观完美 2、方便检查错误 3、方便别人阅读 4、方便后续开发。其实编码习惯反应了一个人的思维逻辑,思维的清晰程度其实都反映在了代码上。如果今天完成的代码到了明天连自己都读不懂的话,那将是程序员最大的悲哀。
文档习惯和需求理解能力确实是最基本的素质了。1、经常写文档,哪怕项目没有要求,这是对自己负责,对项目负责,一个项目可能需要很长的时间,时间一长,很多东西可能会遗忘,而文档将帮助你迅速了解整个系统和开发过程。2、需求理解能力如果都不能做到的话,如何去进行一个项目?只有充分深入的了解了整个项目和系统的要求,才知道自己在开发中应该做什么,如何做。
复用性、模块化思维能力的要求,不仅仅指代码的重用性和方法的重用性,更重要的是逻辑的重用性,所谓以不变应万变。我们要学会分割,将大块分割成小块,将难题分割成简单的问题,将复杂的逻辑分割成简单的算法,这样就会提高开发的效率和降低开发的难度,如果能够做到模块间的耦合成都最小,整个系统就像是由几个模块组合而成,并且模块之间相互影响的程度最小,我们何乐而不为呢?或许一个系统开发完成后就能够应用于多个方面。
测试能力是一种必备能力,我们要善于发现自己的错误,及时修改和弥补,而不能等错误来找我们。
每一行代码,每一分钟的开发其实都是一种学习和总结,只不过要善于应用自己已有的知识和总结新知识,只有这样不断的学习和总结,才能不断进步。克服一个难题的目的不仅仅是克服它,而是要学习解决它的方法。

  • 文章分类

    • 公司发展 (24)
    • 杂谈妄想 (2)
    • 设计开发 (6)
  • 文章存档

    • 2009年12月
    • 2009年11月
    • 2009年10月
    • 2009年09月
    • 2009年07月
    • 2009年06月
    • 2009年05月
    • 2009年04月
    • 2009年03月
    • 2009年02月
    • 2009年01月
    • 2008年12月
    • 2008年11月
    • 2008年10月
    • 2008年09月
    • 2008年07月
  • 友情链接

    • EBL团队日志
      HostingInChina
      MelonKing Seo
      WordPress Planet
      嘟嘟网开发日志

网站首页  联系我们  网站地图  EBLHOST  HostingInChina
Copyright: 2008 © 郑州炜一软件开发有限公司