通达OA二次开发手册文档格式.doc
- 文档编号:411172
- 上传时间:2023-04-28
- 格式:DOC
- 页数:76
- 大小:687KB
通达OA二次开发手册文档格式.doc
《通达OA二次开发手册文档格式.doc》由会员分享,可在线阅读,更多相关《通达OA二次开发手册文档格式.doc(76页珍藏版)》请在冰点文库上搜索。
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网络智能办公系统(以下简称通达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 所有代码中的<
img>
标签src引用的图片文件
├─templates 登录界面模版
├─theme 界面主题
├─wav 微讯提醒声音
├─js 界面主题
└─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=_("
页面标题"
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,则无需再单独包含。
1.4.4conn.php(MYOA\webroot\inc\)
为方便用户快速连接操作数据库,且对SQL语句安全验证,原则上在进行数据库操作的所有php页面都需要包含conn.php程序,但如果页面已经包含auth.inc.php程序,则无需再单独包含;
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等信息
Servers'
][$i]['
auth_type'
http'
//http,config,cookie,建议使用http
host'
localhost'
//数据库地址,默认为localhost
port'
3336'
//数据库端口,默认为3336
user'
root'
//数据库用户名,默认为root
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:
系统自动生成,无须调整
上级菜单:
根据自己的实际应用情况调整
子菜单项代码:
两位的数字或字母,作为排序之用
子菜单项名称:
根据自己的实际应用自行填写
子菜单模块路径:
该菜单对应的程序目
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 通达 OA 二次开发 手册