通达OA二次开发手册.doc

上传人:wj 文档编号:239841 上传时间:2023-04-28 格式:DOC 页数:76 大小:687KB
下载 相关 举报
通达OA二次开发手册.doc_第1页
第1页 / 共76页
通达OA二次开发手册.doc_第2页
第2页 / 共76页
通达OA二次开发手册.doc_第3页
第3页 / 共76页
通达OA二次开发手册.doc_第4页
第4页 / 共76页
通达OA二次开发手册.doc_第5页
第5页 / 共76页
通达OA二次开发手册.doc_第6页
第6页 / 共76页
通达OA二次开发手册.doc_第7页
第7页 / 共76页
通达OA二次开发手册.doc_第8页
第8页 / 共76页
通达OA二次开发手册.doc_第9页
第9页 / 共76页
通达OA二次开发手册.doc_第10页
第10页 / 共76页
通达OA二次开发手册.doc_第11页
第11页 / 共76页
通达OA二次开发手册.doc_第12页
第12页 / 共76页
通达OA二次开发手册.doc_第13页
第13页 / 共76页
通达OA二次开发手册.doc_第14页
第14页 / 共76页
通达OA二次开发手册.doc_第15页
第15页 / 共76页
通达OA二次开发手册.doc_第16页
第16页 / 共76页
通达OA二次开发手册.doc_第17页
第17页 / 共76页
通达OA二次开发手册.doc_第18页
第18页 / 共76页
通达OA二次开发手册.doc_第19页
第19页 / 共76页
通达OA二次开发手册.doc_第20页
第20页 / 共76页
亲,该文档总共76页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

通达OA二次开发手册.doc

《通达OA二次开发手册.doc》由会员分享,可在线阅读,更多相关《通达OA二次开发手册.doc(76页珍藏版)》请在冰点文库上搜索。

通达OA二次开发手册.doc

OfficeAnywhere网络智能办公系统二次开发手册

OfficeAnywhere网络智能办公系统

二次开发手册

V8.1.150425(2015版)

通达信科

中国兵器工业信息中心

/

目录

目录 1

前言 1

第一章软件开发环境简介 2

1.1编程环境 2

1.3参数配置 4

1.3.1OfficeFPM配置 4

1.3.2OfficWeb配置 4

1.3.3PHP配置 4

1.3.4MySQL配置 4

1.3.5OfficWeb、OfficeFPM和PHP的关系 4

1.4核心文件 5

1.4.1auth.inc.php(MYOA\webroot\inc\) 5

1.4.2header.inc.php(MYOA\webroot\inc\) 5

1.4.3common.inc.php(MYOA\webroot\inc\) 5

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

第二章数据库管理 7

2.1phpMyAdmin的安装 7

2.2phpMyAdmin的使用 7

第三章如何创建一个模块 10

3.1建立模块目录 10

3.2创建菜单 10

3.3分配菜单权限 11

3.4编码和测试 11

3.4.1系统变量 12

3.4.2PHP代码样例 12

3.4.3连接数据库代码 13

第四章内置类库参考 14

4.1TD类 14

4.1.1成员函数 14

4.2PortalData类 15

4.2.1成员函数 15

4.3ExcelReader类 18

4.3.1成员函数 18

4.4Workflow相关类 19

4.4.1TworkForm类的成员函数 19

4.4.2TworkRun类的成员函数 20

第五章内置函数参考 25

5.1utility.php 25

5.1.1Message 25

5.1.2Button_Back 25

5.1.3find_id 26

5.1.4get_client_ip 26

5.2utility_all.php 26

5.2.1csubstr 26

5.2.2is_ip 27

5.2.3add_log 27

5.2.4get_code_name 28

5.2.5dept_long_name 28

5.2.6get_sys_para 28

5.2.7set_sys_para 29

5.3utility_org.php 29

5.3.1is_dept_parent 29

5.3.2top_dept 30

5.3.3GetDeptNameById 30

5.3.4GetPrivNameById 30

5.3.5GetUserNameById 31

5.3.6GetUserNameByUid 31

5.3.7my_exclude_uid 31

5.3.8GetUnionSetOfChildDeptId 32

5.3.9GetfunmenuByuserID 32

5.3.10is_module_manager 32

5.3.11set_priv_menu_priv 33

5.3.12set_uid_menu_priv 33

5.3.12del_user_menu_priv 34

5.3.13GetUidByOther 34

5.4utility_sms1.php 34

5.4.1send_sms 34

5.4.2delete_sms 35

5.5utility_sms2.php 35

5.5.1send_mobile_sms_user 35

5.5.2send_mobile_sms 36

5.6utility_file.php 36

5.6.1upload 36

5.6.2delete_attach 37

5.6.3attach_size 37

5.6.4copy_attach 37

5.6.5is_uploadable 38

5.6.6is_text 38

5.6.7is_office 39

5.6.8is_image 39

5.6.9is_viewable 39

5.6.10is_media 40

5.6.11dir_size 40

5.6.12delete_dir 40

5.6.13attach_sub_dir 41

5.6.14attach_real_path 41

5.6.15attach_id_encode 42

5.6.16attach_id_decode 42

5.6.17td_copy 42

5.6.18td_rename 43

5.6.19td_move_uploaded_file 43

5.6.20td_file_put_contents 43

5.6.21add_attach_module 44

5.6.22attach_module_id 44

5.6.23attach_sign_key 44

5.6.24attach_sign_key_netdisk 45

5.6.25attach_real_path_netdisk 45

5.6.26cache_attach_para 46

5.6.27attach_url 46

5.6.28attach_url_pda 47

5.6.29attach_link 47

5.6.30attach_link_pda 48

5.6.31attach_url_old 48

5.6.32upload_old 49

5.6.33add_attach_old 49

5.6.34delete_attach_old 50

5.6.35add_attach 50

5.6.36copy_attach_netdisk 50

5.6.37copy_sel_attach 51

5.6.38office_attach 51

5.6.39create_attach 52

5.6.40is_editable 52

5.6.41is_wps 52

5.6.42is_ppt_xls 53

5.6.43is_thumbable 53

5.6.44image_mimetype 53

5.6.45Is_SysFile 54

5.6.46file_type 54

5.6.47mime_type 54

5.6.48trim_office_attach 55

5.6.49dir_file_nums 55

5.6.50CreateThumb 55

5.6.51ReplaceImageSrc 56

5.6.52trim_inserted_image 56

5.6.53backup_file 56

5.6.54oc_log 57

5.6.55attach_id_explode 57

5.6.56attach_id_implode 57

5.7utility_email.php 58

5.7.1GetWebMailNumByUid 58

5.7.2GetSentMailNum 58

5.7.3trim_notlogin 59

5.7.4insert_to_address 59

5.7.5get_email_data 59

5.7.6remove_email 60

5.7.7get_sentbox_data 60

5.7.8delete_email 61

5.7.9destroy_email 61

5.7.10get_time 61

5.7.11email_count 62

5.7.12get_outbox_data 62

5.7.13delete_outbox_email 62

5.8utility_calendar.php 63

5.8.1insert_taskcenter 63

5.8.2add_calendar 63

5.8.3update_calendar 63

5.8.4get_list_data 64

5.8.5delete_calendar 64

第六章公用组件参考 65

6.1人员多选 65

6.2人员单选 65

6.3部门多选 66

6.4部门单选 67

6.5角色多选 68

第七章典型功能简析 68

7.1用户名相关 69

7.2登录密码加密 69

7.3系统缓存机制 69

7.4OA升级产生的变化 70

7.4.12013版升级到2013增强版 70

7.4.22013增强版升级到2015版 71

OfficeAnywhere网络智能办公系统二次开发手册

前言

OfficeAnywhere网络智能办公系统(以下简称通达OA),不仅是一套成熟的网络办公系统,同时也是一个完整、精巧的软件开发平台,不仅集成了Web开发的全套环境,并提供了管理架构、系统资源的开放性支持,是开发中小型管理应用系统的理想平台。

本文将从不同的技术层面向您揭示通达OA的二次开发细节,是主要针对专职程序设计人员、编程爱好者、软件产品技术支持人员编写的OA二次开发入门教程。

通过阅读本文,您将不仅可以了解通达OA的设计奥秘,也将能够运用本文所介绍的知识和技巧,轻松构建属于自己的应用系统或模块,文中将结合具体实例加以说明。

第一章软件开发环境简介

1.1编程环境

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

在Windows平台下,通达OA主要注册了9个系统服务,可以通过控制面板-〉管理工具-〉服务,查看这9项服务,服务名分别是Office_Web、MySQL5_OA、Office_Redis、OfficeDaemon、OfficeIm、OfficeIndex、OfficeMail、OfficePOP3、OfficeTask,Office_Web是管理ngnix进程的服务,Office_Web是通达OA所使用的WebServer,通达OA也可以支持IIS作为WebServer,具体配置方法参见通达网站OA知识库相关文档。

关于PHP语言的使用,可参阅,下载PHP手册,作为开发指导,PHP版本已升级至5.3,该版本中许多函数或方法有调整,使用时需要注意;关于MySQL数据库的管理与使用,将在第二章进行详细介绍。

1.2目录层次结构

通达OA的目录层次结构清晰,体现出对服务程序、应用程序、WEB页面的巧妙整合与组织,便于理解和扩充,下面对目录结构加以说明:

MYOA

├─attach OA附件文件存放目录

├─bin PHP、Zend等主程序及配置文件,服务配置程序等

├─data5 MySQL数据库文件目录

│├─BUS 公交线路查询数据库

│├─TD_OA 通达OA主数据库

│├─crscell 报表数据库

│├─MySQL MySQL系统数据库

│├─TD_OA_ARCHIVE 通达OA归档数据库

│├─ib_logfile0 InnoDB引擎使用的日志文件

│├─ib_logfile1 InnoDB引擎使用的日志文件

│└─ibdata1 InnoDB引擎存储数据与索引的数据文件

├─logs OA服务等的日志文件目录

├─MyAdmin 通达OA的MySQL管理工具

├─mysql5 MySQL主程序文件

├─nginx 高性能的通达NginxWeb应用服务

├─tmp 临时文件目录

└─webroot 通达OA的WEB根目录(PHP程序目录)

├─attachment 部分OA附件文件存放目录

 │├─hrms_pic 人事档案照片目录

 │├─product_pic 销售管理产品照片存放目录

│├─new_sms 新短消息提醒状态文件

│├─…… 部分附件目录(略)

 │├─rss 今日资讯信息缓存文件

│├─update 系统升级,该文件夹下如存在1.php会被自动执行并删除

│├─weather 天气预报缓存文件

 │└─wm 外部邮件存储目录

 ├─general 主要模块目录

 │├─…… 一般模块目录(略)

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

 │├─mytable 桌面模块程序

 │└─system 系统功能模块,下级目录略

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

├─ispirit OA精灵页面

 ├─mobile OA移动界面

 ├─module 系统组件

 │├─dept_select 部门选择组件

 │├─editor 简易HTML编辑器组件

 │├─OC Office文档在线编辑与阅读

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

 │├─save_file 文件转存组件

 │├─user_select 用户多选组件

 │└─user_select_single 用户单选组件

├─portal 门户界面

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

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

  ├─images 所有代码中的标签src引用的图片文件

├─templates 登录界面模版

├─theme 界面主题

├─wav 微讯提醒声音

├─js 界面主题

├─templates 登录界面模版

└─modules 所有模块非通用的css文件及其引用的图片文件等的目录

├─address 通讯簿非通用css文件及其引用的图片文件

├─…… 部分模块目录(略)

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

注:

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

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语句执行结束后自动断开时间

interactive_timeout=30 //运行SQL语句时段开时间

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

bind-address=0.0.0.0 //允许远程连接

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

innodb_file_format=Barracuda //InnoDB数据压缩

注:

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

1.3.5OfficWeb、OfficeFPM和PHP的关系

OfficeWeb服务守护OfficeFPM进程和OfficeNginx。

OfficeFPM进程启动多个(ProcessNumber)FastCGI进程。

OfficeWeb根据配置参数(MemoryWarning和MemoryMax)定时检测OfficeNginx的内存占用情况,保证OfficeNginx时刻处于正常响应状态。

1.4核心文件

1.4.1auth.inc.php(MYOA\webroot\inc\)

通达OA为满足用户数据安全,原则上所有的php页面执行都将包含auth.inc.php权限验证程序,其中包含session合法性验证、访问路径授权验证等;

例:

include_once("inc/auth.inc.php");

1.4.2header.inc.php(MYOA\webroot\inc\)

为保证通达OA功能显示标准统一,需要使用标准统一的HTML解析模式对页面进行解析和渲染,在所有包含HTML代码输出的页面都需要包含header.inc.php程序,其中包括采用的HTML标准、页面字符集、页面标题、标准界面样式表(style.css)等;

例:

$HTML_PAGE_TITLE=_("页面标题");

include_once("inc/header.inc.php");

1.4.3common.inc.php(MYOA\webroot\inc\)

为了防止用户输入不安全数据等,通达OA为您提供了用户输入数据($_GET、$_POST、$_COOKIE)过滤和校验程序,原则上所有php页面文件都需要包含,但如果页面已经包含过auth.inc.php、header.inc.php或conn.php,则无需再单独包含。

例:

include_once("inc/auth.inc.php");

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

为方便用户快速连接操作数据库,且对SQL语句安全验证,原则上在进行数据库操作的所有php页面都需要包含conn.php程序,但如果页面已经包含auth.inc.php程序,则无需再单独包含;

例:

include_once("inc/conn.php");

第二章数据库管理

2.1phpMyAdmin的安装

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

由于OA的MySQL数据库出于安全考虑,被配置为仅能从本机访问,所以使用phpMyAdmin这样的B/S结构的管理工具,可实现数据库的远程管理。

第一步、下载程序包

phpMyAdmin程序可以从其官方网站下载,建议下载最新的all-language版本。

第二步、解压缩

在MYOA\webroot目录下新建一个目录,如mysql369(为了防止他人利用该工具侵入数据库系统,可把目录名设为比较复杂的,如MySQL2345,避免目录名被猜测到。

),将下载的程序包解压后拷贝至mysql369目录下。

第三步、修改配置文件

用文本编辑器,如记事本,打开MySQL管理工具目录,复制config.sample.inc.php文件并改名为confing.inc.php,打开后修改以下配置信息:

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

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

$cfg['Servers'][$i]['host']='localhost'; //数据库地址,默认为localhost

$cfg['Servers'][$i]['port']='3336'; //数据库端口,默认为3336

$cfg['Servers'][$i]['user']='root'; //数据库用户名,默认为root

$cfg['Servers'][$i]['password']=''; //数据库密码,默认为myoa888

第四步、使用phpMyAdmin

MySQL管理工具地址:

http:

//OA地址/mysql,注意,进入后先选择中文界面(中文-Chinesesimplified)。

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

2.2phpMyAdmin的使用

phpMyAdmin主界面如下

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

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

phpMyAdmin的具体使用教程方法可以参考通达网站/OA知识库/OfficeAnywhere高级应用技巧/OA数据库管理工具/mysql网页方式管理工具/phpMyAdmin的安装和使用.wmv。

第三章如何创建一个模块

创建一个模块一般需要经过以下几个步骤:

根据功能建立程序存放目录、创建菜单、分配菜单权限、编码、测试等。

3.1建立模块目录

在MYOA\webroot\general下建议一个目录new_module,作为自己开发模块的目录,将程序放置于该目录下,默认页面是index.php或index.html或index.htm

3.2创建菜单

用管理员帐号进入OA,打开系统管理->菜单设置,在相应的一级菜单后点击“下一级”链接,在右侧的界面上点击“增加子菜单项”按钮,如下图所示:

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

子菜单项ID:

系统自动生成,无须调整

上级菜单:

根据自己的实际应用情况调整

子菜单项代码:

两位的数字或字母,作为排序之用

子菜单项名称:

根据自己的实际应用自行填写

子菜单模块路径:

该菜单对应的程序目

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2