通达OA二次开发手册_第1页
通达OA二次开发手册_第2页
通达OA二次开发手册_第3页
通达OA二次开发手册_第4页
通达OA二次开发手册_第5页
已阅读5页,还剩71页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

OfficeAnywhere网络智能办公系统

二次开发手册

V8.1.150425(2015版)

通达信科

中国兵器工业信息中心

目录

目录

刖百

第一章软件开发环境简介

1.1编程环境

L3参数配置

1.3.1OfficeFPM配置

1.3.2OfficWeb配置

1.3.3PHP配置

1.3.4MySQL配置

1.3.5OfficWeb、OfficeFPM和PHP的关系

L4核心文件

1.4.4conn.php(MYOA\webroot\inc\)

第二章数据库管理

2.1phpMyAdmin的安装

2.2phpMyAdmin的使用

第三章如何创建一个模块

3.1建立模块目录

3.2创建菜单

3.3分配菜单权限

3.4编码和测试

3.4.1系统变量

3.4.2PHP代码样例

3.4.3连接数据库代码

第四章内置类库参考

4.1TD类

4.1.1成员函数

4.2PortalData类

4.2」成员函数

4.3ExcelReader类

4.3.1成员函数

4.4Workflow相关类

4.4.1TworkFomi类的成员函数

4.4.2TworkRun类的成员函数

第五章内置函数参考

5.1utility.php

5.1.1Message

5.1.2ButtonBack

5.1.3findid

5.1.4getclientip

5.2utilityall.php

5.2.1csubstr

5.2.2isip

5.2.3addlog

5.2.4getcodename

5.2.5deptlongname

5.2.6getsyspara

5.2.7setsyspara

5.3utilityorg.php

5.3.1isdeptparent

5.3.2topdept

5.3.3GetDeptNameByld

5.3.4GetPrivNameByld

5.3.5GetUserNameByld

5.3.6GetUserNameByUid

5.3.7myexcludeuid

5.3.8GetUnionSetOfChildDeptld

5.3.9GetfunmenuByuserlD

5.4utilitysmsl.php

5.4.1sendsms

5.4.2deletesms

5.5utilitysms2.php

5.5.1sendmobilesmsuser

5.5.2sendmobilesms

5.6utilityfile.php

5.6.1upload

5.6.2deleteattach

5.6.3attachsize

5.6.4copyattach

5.6.5isuploadable

5.6.6istext

5.6.7isoffice

5.6.8isimage

5.6.9isviewable

5.6.30attachlinkpda

5.7utilityemail.php

5.7.1GetWebMailNumByUid

5.7.2GetSentMailNum

5.7.3trimnotlogin

5.7.4inserttoaddress

5.7.5getemaildata

5.7.6removeemail

5.7.7getsentboxdata

5.7.8deleteemail

5.7.9destroyemail

5.8utilitycalendar.php

5.8.1inserttaskcenter

5.8.2addcalendar

5.8.3updatecalendar

5.8.4getlistdata

5.8.5deletecalendar

第六章公用组件参考

6.1人员多选

6.2人员单选

6.3部门多选

6.4部门单选

6.5角色多选

第七章典型功能简析

7」用户名相关

7.2登录密码加密

7.3系统缓存机制

7.4OA升级产生的变化

7.4」2013版升级至I]2013增强版

7.4.22013增强版升级到2015版

前B

OfficeAnywhere网络智能办公系统(以下简称通达0A),不仅是一套成熟的网络办公系

统,同时也是一个完整、精巧的软件开发平台,不仅集成了Web开发的全套环境,并提供了管

理架构、系统资源的开放性支持,是开发中小型管理应用系统的理想平台。

本文将从不同的技术层面向您揭示通达0A的二次开发细节,是主要针对专职程序设计人

员、编程爱好者、软件产品技术支持人员编写的0A二次开发入门教程。

通过阅读本文,您将不仅可以了解通达0A的设计奥秘,也将能够运用本文所介绍的知识和

技巧,轻松构建属于自己的应用系统或模块,文中将结合具体实例加以说明。

第一章软件开发环境简介

1.1编程环境

通达0A主要采用PHP语言开发,系统使用MySQL数据库。

在Windows平台下,通达0A主要注册了9个系统服务,可以通过控制面板-〉管理工具-〉

服务,查看这9项服务,服务名分别是Office_Web、MySQL5_OA>Office_Redis、

OfficeDaemon,Officelm>Officeindex,OfficeMaiROfficePOP3>OfficeTask,OfficeWeb

是管理ngnix进程的服务,Office_Web是通达OA所使用的WebServer,通达OA也可以支持HS

作为WebServer,具体配置方法参见通达网站OA知识库相关文档。

关于PHP语言的使用,可参阅,下载PHP手册,作为开发指导,PHP版本已升级至5.3,该

版本中许多函数或方法有调整,使用时需要注意;关于MySQL数据库的管理与使用,将在第二

章进行详细介绍。

1.2目录层次结构

通达0A的目录层次结构清晰,体现出对服务程序、应用程序、WEB页面的巧妙整合与组

织,便于理解和扩充,下面对目录结构加以说明:

MYOA

|--attach0A附件文件存放目录

|--binPHP、Zend等主程序及配置文件,服务配置程序等

|--data5MySQL数据库文件目录

|—BUS公交线路查询数据库

|-TD_OA通达0A主数据库

|--crscell报表数据库

|—MySQLMySQL系统数据库

|-TD_OA_ARCHIVE通达0A归档数据库

|--ib_logfileOInnoDB引擎使用的日志文件

|--ib_logfilelInnoDB引擎使用的日志文件

I1--ibdatalInnoDB引擎存储数据与索引的数据文件

I--logsOA服务等的日志文件目录

|--MyAdmin通达0A的MySQL管理工具

|--mysql5MySQL主程序文件

|--nginx高性能的通达NginxWeb应用服务

|tmp临时文件目录

1webroot通达0A的WEB根目录(PHP程序目录)

|attachment部分0A附件文件存放目录

||hrms_pic人事档案照片目录

||product_pic销售管理产品照片存放目录

■newsms新短消息提醒状态文件

部分附件目录(略)

|rss今日资讯信息缓存文件

|update系统升级,该文件夹下如存在Lphp会被自动执行并删除

|weather天气预报缓存文件

|1wm外部邮件存储目录

|general主要模块目录

一般模块目录(略)

||ipanel主控面板,集成了菜单、短信箱等应用控制界面

||mytable桌面模块程序

|1system系统功能模块,下级目录略

|inc系统通用程序及函数目录

|ispirit0A精灵页面

|mobile0A移动界面

|module系统组件

I|-dept_select部门选择组件

||editor简易HTML编辑器组件

||—OCOffice文档在线编辑与阅读

||-OC_NETDISK文档在线编辑与阅读-仅适用于网络硬盘

I|-savefile文件转存组件

IIuserselect用户多选组件

■user_select_single用户单选组件

|portal门户界面

1static系统通用程序及静态文件目录

|common通用css文件及其引用的图片文件

|images所有代码中的<img>标签src引用的图片文件

|templates登录界面模版

|theme界面主题

|wav微讯提醒声音

I~js界面主题

|templates登录界面模版

1modules所有模块非通用的CSS文件及其引用的图片文件等的目录

|address通讯簿非通用CSS文件及其引用的图片文件

部分模块目录(略)

匚■workflow工作流非通用css文件及其引用的图片文件

注:上表中红色颜色标示的目录是备份数据时需要备份的,是0A的所有数据所存放的目录。

1.3参数配置

1.3.1OfficeFPM配置(MYOA\bin\service.ini)

Listen=8266〃监听端口

ProcessNumber=10//fastcgi进程数

1.3.2OfficWeb配置(MYOA\bin\service.ini)

Listen=2367〃监听端口

MemoryWarning=100//非工作时间OfficeNginx.exe占用内存的最大值,

单位为兆字节(MB)

MemoryMax=200//工作时间OfficeNginx.exe占用内存的最大值,单

位为兆字节(MB)

1.3.3PHP配置(MYOA\bin\php.ini)

display_errors=Off〃是否显示PHP程序错误

log_errors=Off//是否记录错误日志

error_log=filename//错误日志记录文件

max_execution_time=1200//程序最大执行时间,单位秒

memory_limit=256M〃单个程序占用内存上限

post_max_size=1000M〃表单提交最大数据量,单位MB

upload_max_filesize=200M//上传单个附件大小,单位MB

1.3.4MySQL配置(MYOA\mysql5\my.ini)

basedir=D:/MYOA/mysql5///MySQL主程序路径

datadir=D:/MYOA/data5///MySQL数据库路径

tmpdir=D:/MYOA/tmp/〃缓存路径

character-set-server=gbk//MySQL数据库字编码

port=3336//端口

wait_timeout=30//SQL语句执行结束后自动断开时间

interact!ve_timeout=30//运行SQL语句时段开时间

skip-name-resolve//避免外部锁定(默认是ON)

//允许远程连接

innodb_file_per_table=1//启用独立表空间模式

innodb_file_fbrmat=Barracuda//InnoDB数据压缩

注:以上所有的配置选项修改后都需要重启服务才会生效。

1.3.5OfficWeb>OfficeFPM和PHP的关系

OfficeWeb服务守护O笛ceFPM进程和OfficeNginx。OfficeFPM进程启动多个

(ProcessNumber)FastCGI进程。OfficeWeb根据配置参数(MemoryWarning和MemoryMax)

定时检测OfficeNginx的内存占用情况,保证OfficeNginx时刻处于正常响应状态。

1.4核心文件

1.4.1MYOA\webroot\inc\)

例:

1.4.2(MYOA\webroot\inc\)

例:$HTML_PAGE_TITLE=_("页面标题)

1.4.3MYOA\webroot\inc\)

为了防止用户输入不安全数据等,通达0A为您提供了用户输入数据($_GET、$_POST、

S^COOKIE)过滤和校验程序,原则上所有php页面文件都需要包含,但如果页面已经包含过。

例:

1.4.4conn.php(MYOA\webroot\inc\)

例:include_once("inc/conn.phpn);

第二章数据库管理

2.1phpMyAdmin的安装

MySQL的数据库管理工具很多,phpMyAdmin是使用PHP编写的免费MySQL数据库管理工具。

由于0A的MySQL数据库出于安全考虑,被配置为仅能从本机访问,所以使用phpMyAdmin这样的

B/S结构的管理工具,可实现数据库的远程管理。

第一步、下载程序包

第二步、解压缩

在MYOA\webroot目录下新建一个目录,如mysql369(为了防止他人利用该工具侵入数据库

系统,可把目录名设为比较复杂的,如MySQL2345,避免目录名被猜测到。),将下载的程序包

解压后拷贝至mysql369目录下。

第三步、修改配置文件

用文本编辑器,如记事本,打开MySQL管理工具目录,复制

$cfg['blowfish_secret,]=〃随便输入一个字符串,加密Cookie等信息

$cfg['Serversr|[$i]['auth_type']='http';//http,config,cookie,建议使用http

ScfgfServers*][$i]['host1]=localhost';〃数据库地址,默认为localhost

$cfg『Serversr][$i][por门=3336;〃数据库端口,默认为3336

$cfg['Servers'][$i]fuser*]=Wf;〃数据库用户名,默认为root

ScfgfServers^tSi]['password']=〃数据库密码,默认为myoa888

第四步、使用phpMyAdmin

MySQL管理工具地址:0A地址/mysql,注意,进入后先选择中文界面(中文-Chinese

simplified)。该管理工具的使用需具有一定数据库基础,请勿进行危险操作,以免导致数据

丢失。

2.2phpMyAdmin的使用

phpMyAdmin主界面如下

在左侧选择TD数据库,可查看0A所有的数据表,如下图

点击左侧的表名,则右侧列出该表的结构和字段、索引、记录数等信息,如下图

phpMyAdmin的具体使用教程方法可以参考通达网站/0A知识库/OfficeAnywhere局级应

用技巧/0A数据库管理工具/mysql网页方式管理工具/phpMyAdmin的安装和使用.wmv。

第三章如何创建一个模块

创建一个模块一般需要经过以下几个步骤:根据功能建立程序存放目录、创建菜单、分配

菜单权限、编码、测试等。

3.1建立模块目录

在MYOA\webroot\general下建议一个目录new_module,作为自己开发模块的目录,将程序

放置于该目录下,默认页面是index,php或index,html或index,htm

3.2创建菜单

用管理员帐号进入0A,打开系统管理->菜单设置,在相应的一级菜单后点击“下一级”

链接,在右侧的界面上点击“增加子菜单项”按钮,如下图所示:

详细阅读上图界面中的说明信息,按界面上说明的要求定义好菜单:

子菜单项ID:系统自动生成,无须调整

上级菜单:根据自己的实际应用情况调整

子菜单项代码:两位的数字或字母,作为排序之用

子菜单项名称:根据自己的实际应用自行填写

子菜单模块路径:该菜单对应的程序目录,应为上一个步骤创建的目录名称。如果为

new_module,则该菜单对应的菜单图片名称为MYOA\webroot\static\images\menu\new_mod

ule.gif,需要自己创建或拷贝new_module.gif拷贝至MYOA\webroot\static\images\menu下。

3.3分配菜单权限

用系统管理员账号,在菜单创建完成后跳转界面直接可以给指定菜单分配权限(首次分配

菜单权限时需要验证超级密码,与系统管理-〉组织机构设置->角色与权限管理中超级密码一

致),如下图所示:

也可以使用传统方式给新建菜单分配权限,用管理员帐号进入0A,打开系统管理-〉组织

机构设置-〉角色与权限管理,给相关的角色分配刚创建的菜单的使用权限,则相关角色的人员

就可以在0A界面左侧的菜单中看到并访问该菜单。

3.4编码和测试

为便于用户开发自己的模块,通达科技在用户服务区提供了OfficeAnywhere部份模块源

码的下载,供开发人员参考。

用户自行开发0A的功能模块,需要根据0A的相关规范进行开发,这样既可以使自行开发

的模块和0A的界面效果一致,又可以保证自行开发的程序在0A安全框架的保护之下,这样不仅

可以保证新模块数据的安全,又可以使开发人员集中精力投入到模块功能的开发上。

0A的各功能模块下的每个程序都需要包含0A的安全验证程序:inc/auth.inc.php。该程序

包含了对用户登录信息、是否有权限访问该路径等的检查等。具体的语法为:

include_once("inc/auth.inc

在开发自己的功能模块时可以参考现有0A模块,把功能相似的0A模块代码复制一份,然

后在0A代码的基础上修改。以下几个小节介绍0A系统变量和数据库的使用。

3.4.1系统变量

0A系统提供了多个通过SESSION保存的当前用户的系统变量,分别是

$_SESSION[,/LOGIN_UID,/]〃用户数字ID

$_SESSION[,/LOGIN_USER_ID//]〃用户名,无意义

$_SESSION["LOGIN_BYNAME"]〃用户名,又叫用户别名,登录使用

$_SESSION["LOGIN_USER_NAME”]〃用户真实姓名

$_SESSION["LOGIN_USER_PRIV//]〃用户角色ID

$_SESSION[,ZLOGIN_USER_PRIV_OTHER]〃用户辅助角色ID

$_SESSION[,,LOGIN_SYS_ADMIN,/]〃用户是否有系统管理员权限

$_SESSION[,,LOGIN_DEPT_ID,,1〃用户部门ID

$_SESSION[,/LOGIN_DEPT_ID_OTHER,/]〃用户辅助部门ID

$_SESSION["LOGIN_AVATAR”]〃用户头像

$_SESSION["LOGIN_THEME,/]〃用户界面主题

$_SESSION["LOGIN_FUNC_STR']〃用户模块权限

$_SESSION["LOGIN_NOT_VIEW_USER"]〃用户禁止查看用户列表

$_SESSION[?,LOGIN_DEPT_IDJUNIORZ,]〃用户所在部门和所属部门合集字符串

$_SESSION[z/LOGIN_CLIENTn〃用户登录0A的设备类型

$_SESSION[Z,LOGIN_USER_SEXZ,]〃用户性别

如需使用这些系统变量,程序需要包含auth.inc.php,如下代码:

<?

include_once(z,inc/auth.inc.php〃);

echo〃我的登录用户名是〃.$_SESSION[〃LOGIN_BYNAME〃];〃本句中的.表示字符串连接

?>

3.4.2PHP代码样例

以下是一段样例代码index.php,可放置于newjnodule目录下,可作为开发0A应用程序的

模版。〃或/*…*/是PHP的注释语句。

<?

include_once(z,inc/auth.inc.phpz,);//如需登录验证则包含,未登录将退出

//include_once(z,inc/conn.phpz,);//如需要连接数据库则包含

〃如已包含auth.inc.php,则无须包含conn,php

//include_once(z,inc/utility_all.php,z);//如需要使用公用函数则包含

//include_once(''inc/check_type.phpz,);//如需要使用类型检验函数则包含

$HTML_PAGE_TITLE=_(〃功能模块名称〃);

//如有HTML代码输出则包含

?>

<bodyclass=〃bodycolor〃>

<?

echo〃当前登录的用户为:”.$_SESSION[〃LOGIN_USER_NAME〃].〃,用户名为:

”.$_SESSION[〃LOGIN_BYNAME〃];

?>

</body>

</html>

程序运行结果如下:

3.4.3连接数据库代码

以下程序代码为读取admin用户所属部门的示例:

<?

include_once(z,inc/auth.inc.php,z);//如需登录验证则包含,未登录将退出

include_once(,zinc/uti1ity_al1.phpz,);//如需要使用公用函数则包含

$HTML_PAGE_TITLE=_(〃功能模块名称〃);

//如有HTML代码输出则包含

?>

<bodyclass=〃bodycolor〃>

<?

$query="SELECT*fromUSERwhereUSER_ID=,admin'〃;

$cursor=exequery(TD::conn(),$query);

exequery是OA系统inc/conn.php包装的SQL语句执行函数,TD::conn()是数据库的连接标识

*/

if($ROW=MySQL_fetch_array($cursor))

$DEPT_ID=$ROW[,ZDEPT_ID"];

echo,zadmin用户所在部门为:<u>〃.dept_long_name($DEPT_ID).,z</u>,z;

?>

</body>

</html>

执行效果如下图:

从这段程序可以看出,使用0A系统提供的系统头文件和函数,访问数据库将是一件很轻松

的事,不用操心数据库的连接参数等问题,只需简单的写下SQL语句,执行它。

MySQL数据库的连接参数在MYOA\webroot\inc\oa_config.php文件中配置,如果自己安装

MySQL数据库,可自行修改连接参数。

第四章内置类库参考

4.1TD类

4.1.1成员函数

>conn()

函数说明:

获取数据库连接。

参数:

返回值:

数据库连接

>get_cache($id)

函数说明:

获取缓存内容。

参数:

$id缓存id键值

返回值:

缓存内容

>set_cache($id,$data,$ttl=60)

函数说明:

更新缓存内容。

参数:

$id〃缓存id键值

$data〃缓存内容

$ttl〃更新时间

返回值:

>delete_cache($id)

函数说明:

删除指定缓存。

参数:

$id〃缓存id键值

返回值:

4.2PortalData类

4.2.1成员函数

>get_portal_info()

函数说明:

获取门户的基本信息。

参数:

返回值:

门户的基本信息数组

get_nav_list()

函数说明:

获取门户导航栏的基本信息。

参数:

返回值:

导航栏的基本信息数组,二维数组,$column_id为一级数组键值

get_columns_info($columnid_str)

函数说明:

获取指定栏目的基本信息。

参数:

$column_id_str〃栏目ID串

返回值:

栏目的基本信息,二维数组,$column_id为一级数组键值

get_columnpage($column_id)

函数说明:

获取指定栏目的页面信息。

参数:

$column_id〃栏目ID

返回值:

栏目的页面信息,数组

get_child_columns($column_id)

函数说明:

获取指定栏目的子栏目。

参数:

$column_id〃栏目ID

返回值:

子栏目数组

get_contents_list($column_id,$start=0,=10,$order_by

函数说明:

获取指定栏目的内容列表。

参数:

$column_id〃栏目ID

〃开始条数

〃返回内容条数

$order_by〃内容列表排序

返回值:

内容列表,二维数组

get_contents_info($content_id_str)

函数说明:

根据内容ID串获取多条内容的详细信息。

参数:

$content_id_str〃内容ID串

返回值:

内容的详细信息二维数组,键值为contentid

get_unit_name()

函数说明:

获取单位名称。

参数:

返回值:

单位名称

get_miitbeian_no()

函数说明:

获取网站备案号。

参数:

返回值:

网站备案号

4.3ExcelReader类

4.3.1成员函数

>getHeadO

函数说明:

获取Excel内容头数据信息。

参数:

返回值:

头数据信息数组

>getFirstRowO

函数说明:

获取Excel内容第一行数据信息。

参数:

返回值:

Excel内容第一行数据信息数组

>getFirstRowO

函数说明:

获取Excel内容第一行数据信息。

参数:

返回值:

Excel内容第一行数据信息数组

4.4Workflow相关类

4.4.1TworkForm类的成员函数

Aget_all_supported_ctrls()

函数说明:

public,获取所有支持的控件信息数组。

参数:

返回值:

数组,表单支持的控件类型数组

Array(

1=>Array(〃系统内置控件

‘Text'=>array(

fcontrol_nameJ=>,单行输入框,

fcontrol_type,=>C0J//系统保留

rdiag_width,=>e260J//对话框宽度

fdiag_heightJ=>f300J//对话框高度)

)

0=>Array(//用户自定义控件

)

>get_form_info()

函数说明:

获取表单ID、名称等基本信息。

参数:

返回值:

表单基本信息数组

>getall_fields()

函数说明:

获取表单所有的字段数组。

参数:

返回值:

表单所有字段数组

4.4.2TworkRun类的成员函数

>get_formhtml()

函数说明:

获取当前工作的表单HTML代码。

参数:

返回值:

字符串,表单HTML代码

>get_public_attach_html()

函数说明:

获取公共附件区HTML代码。

参数:

返回值:

公共附件区HTML代码

>get_flow_graph_html()

函数说明:

获取流程图区的HTML代码。

参数:

返回值:

流程图区的HTML代码

get_view_user_html()

函数说明:

获得查阅信息的HTML代码。

参数:

返回值:

查阅信息的HTML代码

get_flow_id()

函数说明:

获取当前工作的FLOWJD。

参数:

返回值:

当前工作的FLOW_ID

get_run_id()

函数说明:

获取当前工作的RUN_ID。

参数:

返回值:

当前工作的RUN_ID

get_prcs_id()

函数说明:

获取当前工作的步骤ID。

参数:

返回值:

当前工作的步骤ID

get_flow_info()

函数说明:

获取当前流程的基本信息,FLOWJYPE中的数据。

参数:

返回值:

当前流程的基本信息数组

get_flow_process_info()

函数说明:

获取流程当前步骤对应设计步骤的基本信息,FLOW_PROCESS中的数据。

参数:

返回值:

流程步骤的基本信息数组

get_run_info()

函数说明:

获取当前工作的基本信息,FLOW_RUN中的数据。

参数:

返回值:

当前工作的基本信息数组

get_run_data()

函数说明:

获取当前工作的表单数据,FLOW_DATA_xxx中的数据。

参数:

返回值:

表单数据数组

get_cur_prcs_info()

函数说明:

获取当前步骤的基本信息(FLOW_RUN_PRCS表中对应$run_id^n$prcs_id的记录)。

参数:

返回值:

当前步骤的基本信息数组

get_pub1ic_attach()

函数说明:

获取当前工作的公共附件。

参数:

返回值:

当前工作的公共附件信息

get_run_feedback()

函数说明:

获取当前工作的会签意见信息。

参数:

返回值:

当前工作的会签意见信息数组

get_writable_fields()

函数说明:

获取当前工作的表单可写字段。

参数:

返回值:

可写字段title字符串,逗号分隔

get_secret_fields()

函数说明:

获取当前工作的表单保密字段。

参数:

返回值:

保密字段title字符串,逗号分隔

第五章内置函数参考

5.1utility.php

5.1.1Message

函数原型:

Message($TITLE,$CONTENT,$STYLE="",$BUTTONS=array())

功能描述:

输出一个信息提示框的HTML代码

参数:

STITLE〃信息框标题

SCONTENT〃信息框提示信息

$STYLE〃信息框样式,可选的值有error、warning、stop、forbidden>help>

info

SBUTTONS〃操作按钮数组

返回值:

5.1.2Button_Back

函数原型:

Button_Back($HTML_CHARSET='')

功能描述:

输出一个返回按钮的HTML代码

参数:

$HTML_CHARSET〃解析编码

返回值:

5.1.3find_id

函数原型:

find_id($STRING,$ID)

功能描述:

在字符串$$丁改四中查找子串$ID

参数:

SSTRING〃以英文逗号(,)连接的N个ID值的一个字符串,如a,b,c,d

$ID〃要查找的子符串,如c

返回值:

找到则返回true,否则返回false,布尔值

5.1.4get_client_ip

函数原型:

get_client_ip()

功能描述:

获取用户的客户端IP地址

参数:

返回值:

用户的客户端IP地址字符串

5.2utility_all.php

5.2.1csubstr

函数原型:

csubstr(&$str,$start=O,$long=0,$ltor=true,$cn_len=2)

功能描述:

截取中文字符串

参数:

$str〃要截取的字符串

$start〃截取起始位置,默认从头开始

$long〃要截取的长度

$ltor〃系统保留

$cn_len〃系统保留

返回值:

截取后的中文字符串。

5.2.2is_ip

函数原型:

isip($IP)

功能描述:

判断一个字符串是否是一个合法的IP地址

参数:

$IP〃:EP地址字符串

返回值:

如果$IP是一个IP地址则返回true,否则返回falseo

5.2.3add_log

函数原型:

add_log($TYPE,$REMARK,$0PERAT0R)

功能描述:

添加系统日志

参数:

STYPE〃日志类型代码,参考系统代码设置下的“系统日志类型”

$REMARK〃备注

S0PERAT0R//产生日志的用户的用户名,一般为当前用户

返回值:

5.2.4get_code_name

函数原型:

get_code_name($CODE_NO,$PARENT_NO)

功能描述:

获取系统代码的描述

参数:

$CODE_NO〃系统代码的代码值,如果多个代码则用英文逗号串起来

$PARENT_NO〃父类型代码值

返回值:

对应代码值的文字描述

示例代码:

echoget_code_name('0','SMS_REMIND');〃输出“个人短信”

echoget_code_name('0,1'/SMS^REMIND');〃输出“个人短信,公告通知

5.2.5dept_long_name

函数原型:

deptlongname($DEPT_ID)

功能描述:

获取部门ID为$DEPT」D的多级部门名称

参数:

$DEPT」D〃部门ID

返回值:

$DEPT」D对应的部门长名称,如“系统处/0A开发组”

5.2.6get_sys_para

函数原型:

get_sys_para($PARA_NAME_STR,$USE_CACHE=true)

功能描述:

获取系统参数设置的参数值并返回一个数组

参数:

$PARA_NAME_STR〃系统参数名称字符串,多个的话用英文逗号隔开

$USE_CACHE〃是否从缓存中获取

返回值:

系统参数值的数组

代码示例:

$PARA_ARRAY=get_sys_paraCMENU_DISPLAY,MENU_EXPAND_SINGLE");

$PARA_ARRAYarray("MENU_DISPLAY"=>T,"MENU_EXPAND_SINGLE"=>"0");

5.2.7set_sys_para

函数原型:

setsyspara($PARA_ARRAY)

功能描述:

批量设置系统参数

参数:

$PARA_ARRAY//系统参数数组,数组键值为参数名,如array("MENU_DISPLAY"=>"1")

返回值:

5.3utility_org.php

5.3.1is_dept_parent

函数原型:

isdeptparent($DEPT_ID,$PARENT_ID)

功能描述:

判断一个部门是否是另外一个部门的上级部门

参数:

$DEPT」D〃要判断的部门ID

$PARENT_ID〃上级部门ID

返回值:

是则返回true,否则返回falseo

5.3.2top_dept

函数原型:

top_dept($DEPT_ID)

功能描述:

获取部门ID为$DEPT」D的部门的最上级部门的IDo

参数:

$DEPT_ID〃部门ID

返回值:

最上级部门的ID。

5.3.3GetDeptNameByld

函数原型:

GetDeptNameByld($ID_STR)

功能描述:

获取N个部门的部门名称。

参数:

$ID_STR&N个部门的ID,用逗号串起来,如“1,2,”

返回值:

N个部门名称字符串,用逗号串起来,如“系统部,0A开发组”。

5.3.4GetPrivNameByld

函数原型:

GetPrivNameByld($ID_STR)

功能描述:

获取N个角色的角色名称。

参数:

$ID_STR//N个角色的ID,用逗号串起来,如“1,2,”

返回值:

N个角色名称字符串,用逗号串起来,如“0A管理员,职员”。

5.3.5GetUserNameByld

函数原型:

GetUserNameByld($ID_STR)

功能描述:

获取N个用户的用户姓名。

参数:

$ID_STR〃N个用户的用户名,用逗号串起来,如“admin,Iqh,”

返回值:

N个用户的真实姓名字符串,用逗号串起来,如“系统管理员,刘清华”。

5.3.6GetUserNameByUid

函数原型:

GetUserNameByUid($ID_STR)

功能描述:

获取N个用户的用户姓名。

参数:

$ID_STR〃Nj用户的数字,用逗号串起来,如“1,2,”

返回值:

N个用户的真实姓名字符串,用逗号串起来,如“系统管理员,刘清华”。

5.3.7my_exclude_uid

函数原型:

myexcludeuid()

功能描述:

获取当前用户不能与之通讯的用户的数字ID(UID)„

参数:

返回值:

当前用户不能与之通讯的用户的数字ID(UID)O

5.3.8GetUnionSetOfChildDeptld

函数原型:

GetUnionSetOfChildDeptld($DEPT_ID_STR)

功能描述:

获得下级部门的并集。

参数:

$DEPT_ID_STR〃部门ID的字符串

返回值:

查询部门的下级部门ID的并集

5.3.9GetfunmenuByuserlD

函数原型:

GetfunmenuByuserlD($USER_ID)

功能描述:

获取用户拥有的菜单权限。

参数:

$USER_ID〃用户的USER_ID

返回值:

有权限的菜单ID的集合

5.3.10is_module_manager

函数原型:

is_module_manager($module_id)

功能描述:

判断当前用户是否有指定模块的管理员角色。

参数:

$module_id〃指定功能模块代号

1-email,2-diary,3-notify,4-knowledge,5-hr,6-workflow

返回值:

True或false

5.3.11set_priv_menu_priv

函数原型:

set_priv_menu_priv($priv_id_str,$user_id_str="")

功能描述:

菜单权限设置,设置角色菜单权限时更新usejfunction表中菜单权限信息,批量修改用

户辅助角色时也更新。

参数:

$priv_id_str〃设置菜单的角色id串

$user_id_str〃设置菜单的用户名串

返回值:

5.3.12set_uid_menu_priv

函数原型:

set_uid_menu_priv($uid,$user_id,$priv_id_str)

功能描述:

新建/修改用户时角色变动时更新菜单权限设置user_function

参数:

$uid〃用户uid

$user_id//用户user_id

$priv_id_str〃用户角色id与辅助角色id合集串

返回值:

5.3.12del_user_menu_priv

函数原型:

del_user_menu_priv($user_id_str)

功能描述:

删除用户时删除菜单权限设置usejfunction表中对应数据

参数:

$user_id_str〃删除的用户名串

返回值:

5.3.13GetUidByOther

函数原型:

GetUidByOther($user_id_str=,,/z,$priv_id_str=",$dept_id_str=")

功能描述:

根据用户名串/角色ID串/部门ID串获取对应UID

参数:

$user_id_str〃用户user_id串

$priv_id_str〃用户角色id与辅助角色id合集串

$dept_id_str〃用户部门id与辅助部门id合集串

返回值:

对应的用户uid串

5.4utility_sms1.php

5.4.1send_sms

函数原型:

send_sms($SEND_TIME,$FR0M_ID,$T0」D,$SMS_TYPE,$C0NTENT,$REMIND_URL=")

功能描述:

发送内部短消息。

参数:

$SEND_TIME〃发送时间字符串,如“2013T1-2009:00:00”

$FR0M_ID〃发送人用户名,如“admin”

$T0_ID〃接收人用户名用逗号串起来的字符串,如“Iqh,Ixq”

$SMS_TYPE〃短信类型代码,参考系统代码设置下的“内部短消息类型”

$C0NTENT〃短信内容

$REMINDJRL〃点击短信提醒弹出窗口的“查看详情”打开的地址

返回值:

5.4.2delete_sms

函数原型:

delete_sms($SMS_ID_STR,$DEL_TYPE)

功能描述:

删除内部短消息。

参数:

$SMS_ID_STR〃要删除的短信ID串,用逗号串起来,如“1,2,3”

$DEL_TYPE//DEL_TYPE=1删除收到的短信,DEL_TYPE=2删除发送的短信

返回值:

5.5utility_sms2.php

5.5.1send_mobile_sms_user

函数原型:

send_mobile_sms_user($SEND_TIME,$FROM_ID,$TO_ID,$CONTENT,$TYPE)

功能描述:

给OA用户发送手机短信。

参数:

$SEND_TIME〃发送时间字符串,如“2013T1-2009:00:00”

$FROM_ID〃发送人用户名,如“admin”

$TO_ID〃接收人用户名用逗号串起来的字符串,如“Iqh,Ixq”

SCONTENT〃短信内容

STYPE〃短信类型代码,参考系统代码设置下的“内部短消息类型”

返回值:

5.5.2send_mobile_sms

函数原型:

send_mobile_sms($SEND_TIME,$FROM_ID,$PHONE,$CONTENT)

功能描述:

向指定号码发送手机短信。

参数:

$SEND_TIME〃发送时间字符串,如“2013T1-2009:00:00”

$FR0M_ID〃发送人用户名,如“admin”

$PH0NE〃接收手机号码字符串,如"138xxxxxxxx,139xxxxxxxx”

SCONTENT〃短信内容

返回值:

5.6utility_file.php

5.6.1upload

函数原型:

upload($PREFIX=Z/ATTACHMENT',$MODULE=",$OUTPUT=true)

功能描述:

上传附件,可以一次上传多个附件。

参数:

$PREFIX〃表单File控件名称的前缀,一般为默认即可

SMODULE〃模块代码,如内部邮件为email,为空则根据程序路径自动判断

$OUTPUT〃参数判断

返回值:

5.6.2delete_attach

函数原型:

delete_attach($ATTACHMENT_ID,$ATTACHMENT_NAME,$MODULE=”")

功能描述:

删除附件,可以一次删除多个附件。

参数:

$ATTACHMENT_ID〃附件ID,多个附件ID用逗号隔开

$ATTACHMENT_NAME〃附件名称,多个附件名称用*号隔开

SMODULE〃模块代码,如内部邮件为email,为空则根据程序路径自动判断断

返回值:

5.6.3attach_size

函数原型:

attach_size($ATTACHMENT_ID,$ATTACHMENT_NAME,$MODULE=")

功能描述:

获取附件大小。

参数:

$ATTACHMENT_ID〃附件ID

$ATTACHMENT_NAME〃附件名称

SMODULE〃模块代码,如内部邮件为email,为空则根据程序路径自动判断断

返回值:

附件大小,单位字节。

5.6.4copy_attach

函数原型:

copy_attach($ATTACHMENT_ID,$ATTACHMENT_NAME,$MODULE_SRC=,Z,/,$MODULE_DESC=/,Z,,

$ID_IS_REAL=true)

功能描述:

拷贝一个或多个附件。

参数:

$ATTACHMENT_ID〃附件ID,多个附件ID用逗号隔开

$ATTACHMENT_NAME〃附件名称,多个附件名称用*号隔开

$MODULE_SRC〃原附件所属模块代码,为空则根据程序路径自动判断断

$MODULE_DESC〃新附件所属模块代码,为空则根据程序路径自动判断断

$ID_IS_REAL//$ATTACHMENT_ID是文件的真实ID,还是attach_id_decode过之后

的,数据库中存的一般是真实的

返回值:

新附件的附件ID串,多个附件的话用逗号隔开。

5.6.5is_uploadable

函数原型:

isuploadable($FILE_NAME)

功能描述:

根据附件名称判断该类型的文件是否允许上传。

参数:

$FILE_NAME〃要判断的文件名

返回值:

允许上传则返回true,否则返回false。

5.6.6is_text

函数原型:

is_text($FILE_NAME)

功能描述:

根据附件名称判断该类型的文件是否是文本文件。

参数:

$FILE_NAME〃要判断的文件名

返回值:

是文本文件则返回true,否则返回falseo

5.6.7is_office

函数原型:

is_office($FILE_NAME)

功能描述:

根据附件名称判断该类型的文件是否是Office文档。

参数:

$FILE_NAME〃要判断的文件名

返回值:

是Office文档则返回true,否则返回false。

5.6.8is_imag

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论