小杜学习笔记

记录生活学习点滴

正在浏览标签为 原创 的文章

先来解释下什么是Groupware,它是一种基于web的群组协同办公的软件,通常包含:文件共享、文档流转、邮件、交流区等,在国内大多以办公自动化(OA)系统出现。

1.phpGroupware
这是一款比较老的程序,从05年的0.9.16到去年才发布的0.9.18,其实一直没有太多的变化 ,后台界面简单,甚至可以用丑陋来形容。功能上也十分简单,提供了很常规的邮件、地址簿、记事本功能。但是他还是有很多模块可以根据你的需求来选择安装。
官方地址:http://phpgroupware.org/

2.Group-office
Group-Office 是一个基于Web的办公套件,其功能包括用户管理、模块管理、邮件客户端、文件管理器、日程、项目管理以及客户关系管理等等。
功能丰富,界面采用了ajax技术来模拟桌面软件的效果。可以与PDA和Outlook同步。
安装和配置,对服务器会有比较多的特殊要求,虚拟主机用户可能不太适合使用。
官方网站:http://www.group-office.com/

3.more.Groupware
安装简单,支持多国语言,包含English、简体中文和繁体中文等(简体中文翻译不全)。包含的模块有:Webmail,记事本,待办事项,通讯录,项目管理,文件管理,日历等。
同样基于模块化管理 ,有专门针对权限控制的模块,模块的安装卸载都比较容易~
官方网址:http://www.moregroupware.de/

4.eGroupware
使用最新的php5开发,是一个多用户、基于PHP开发的协同工作套件。目前可用的模块包括:电子邮件(IMAP/POP3)、通讯录、行事历、文档管理、书签、Wiki、工作流等
支持超过25种语言,包含简体中文,所以安装过程不算很困难,从官方的wiki和svn上,你可以找到更多需要的模块和知识。使用上,eGroupware拥有清晰的后台界面和灵活的权限控制,非常适合小型企业协同办公。
官方网址:http://www.egroupware.org/

这些都是国外的比较知名的PHP开源的 协同办公软件,功能上各有千秋。其中我最感觉比较好用的就是eGroupware了
当然,我更期待国内PHP开源圈里,能出现这样的软件……

原帖发表于ECshop官方论坛 http://bbs.ecshop.com/thread-69730-1-1.html

新版ECshop(V2.61)增加了留言板功能,这个是很有用的,但是在论坛上看到有朋友说,需要审核功能 ,而官方没有给出,就去看了看这个新版的留言本功能.
留言本前台程序是message.php , 后台仍然在会员管理-会员留言 菜单下。数据表在ecs_feedback,控制留言是否显示的字段为msg_area
程序十分简单,留言默认提交时 msg_area为1,所以就直接显示了,增加审核功能,无非就是在提交时候将msg_area设置为0,在后台管理处增加审核按钮,执行一个将该字段设置为1的动作即可
1- 打开message.php,找到79行 ‘msg_area’ => 1 将其修改为 ‘msg_area’ => 0
2- 打开admin/user_msg.php ,在适当的位置添加如代码:

if ($_REQUEST['act']==’checked’)
{
/* 权限判断 */
admin_priv(’feedback_priv’);
$id = empty($_GET['id']) ? 0 : intval($_GET['id']);
$sql = ‘UPDATE’. $ecs->table(’feedback’).’ SET msg_area =1 WHERE msg_id =’.$id;
$db->query($sql);

/* 返回列表 */
$link[] = array(’text’ => $_LANG['go_back'], ‘href’ =>‘javascript:history.back(-1)’);
sys_msg($_LANG['attradd_succed'], 0, $link);
// ecs_header(”Location: user_msg.php?act=list_all\n”);
exit;
}

3- 修改模板文件 admin/templates/msg_list.htm, 在





之后增加代码





好了,审核功能就实现了。
其实这个功能非常的简单,之所以写下来,是想表达一个想法:不管需求大小,对于真正需要它的人,都是重要的。
其实每个ECshop的功能扩展,都是这样的步骤,希望大家都能来感受一下亲手DIY的乐趣 ,这也是我非常喜欢EC的原因

Ecshop的模板标签

经常在ec的论坛看到要求官方发布EC模板标签列表的呼声,甚至有热心网友也在整理一些标签列表
其实我知道,很多希望制作模板的人,就是因为对标签的不熟悉,无法下手
今天我就来说一说,官方为什么不能给这个列表,以及教会你怎么掌握EC的模板机制,通过这篇文章,你就不再需要官方发布什么”标签列表”就能随心所欲的使用EC的标签,制作你的模板了!
通过一个小例子来解释一下EC模板运行的大致原理。比如登录用户中心我们看到的第一句话:“admin,欢迎你回到ecshop”。
先来看一下EC的模板是怎么做的,代码如下: 

复制内容到剪贴板 

代码:

  
    <h3 style="margin:0px;color:#555;"> {$info.username} {$lang.welcome_to} {$info.shop_name}!</h3>

这里的标签{$info.username} 是怎么来的呢?

简单说一下EC模板工作原理:
假设在new.php文件里有这样一段代码

复制内容到剪贴板 

代码:

    $username = "xiaodu";
    $smarty->assign('myname',   $username);
    $smarty->display('new.htm');

那么我们在设计new.htm的时候就可以使用{$myname}这个标签了,运行new.php将显示:xiaodu

PHP程序就是这样和模板挂起钩的,这样大家就应该明白为什么没有所谓的 标签列表 了吧。你可以任意的定义任何你想要的变量到你的模板!

————————————————————————————–
作者:xiaodu

发表: 2008-9-21

网站: http://www.eblhost.cn/forum/viewthread.php?tid=18
————————————————————————————–

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’    => strpos($actions, ‘,order_ss_edit,’) !== false,
‘ps’    => strpos($actions, ‘,order_ps_edit,’) !== false,
‘edit’  => strpos($actions, ‘,order_edit,’) !== false,
‘pdf_manage’  => strpos($actions, ‘,pdf_manage,’) !== false

);
}
if ($priv_list['pdf_manage'])
{
$list['pdf_manage']    = true; // 确认
}
最后,在模板admin/templates/order_info.htm中找到合适的位置添加如下代码:
{if $operable_list.pdf_manage}
<input name=”pdf_creat” type=”submit” value=”{$lang.pdf_creat}” class=”button” />
{/if}
好了一次简单的”订单操作权限”扩展功能就完成,接下来该做什么了呢?呵呵,还不是该去喝口茶的时候
测试–花费更多的时间测试以保证你所做的一切是可用的。这个更重要~

(注:以上代码均以ECshop当前最新版本2.60为基础)