首页 通达OA二次开发手册

通达OA二次开发手册

举报
开通vip

通达OA二次开发手册Office Anywhere 网络智能办公系统 Office Anywhere 网络智能办公系统 二次开发手册 V3.4.090120(测试版) 中国兵器工业信息中心 http://www.tongda2000.com 目 录 TOC \o "1-3" \h \u HYPERLINK \l _Toc8286 前 言 1 HYPERLINK \l _Toc5848 第一章 软件开发环境简介 2 HYPERLINK \l _Toc28956 1.1 编程环境 2 HYPERLINK \l _Toc22955 1.3...

通达OA二次开发手册
Office Anywhere 网络智能办公系统 Office Anywhere 网络智能办公系统 二次开发手册 V3.4.090120(测试版) 中国兵器工业信息中心 http://www.tongda2000.com 目 录 TOC \o "1-3" \h \u HYPERLINK \l _Toc8286 前 言 1 HYPERLINK \l _Toc5848 第一章 软件开发环境简介 2 HYPERLINK \l _Toc28956 1.1 编程环境 2 HYPERLINK \l _Toc22955 1.3参数配置 3 HYPERLINK \l _Toc26779 第二章 数据库管理 5 HYPERLINK \l _Toc5605 2.1 phpMyAdmin的安装 5 HYPERLINK \l _Toc9189 2.2 phpMyAdmin的使用 5 HYPERLINK \l _Toc3004 第三章 如何创建一个模块 8 HYPERLINK \l _Toc25700 3.1建立模块目录 8 HYPERLINK \l _Toc6353 3.2 创建菜单 8 HYPERLINK \l _Toc13200 3.3 分配菜单权限 9 HYPERLINK \l _Toc8622 3.4 编码和测试 9 HYPERLINK \l _Toc10482 3.4.1 系统变量 9 HYPERLINK \l _Toc14397 3.4.2 PHP代码样例 10 HYPERLINK \l _Toc3399 3.4.3 连接数据库代码 10 HYPERLINK \l _Toc28374 第四章 内置函数参考 12 HYPERLINK \l _Toc11218 4.1 utility.php 12 HYPERLINK \l _Toc1238 4.1.1 Message 12 HYPERLINK \l _Toc27414 4.1.2 Button_Back 12 HYPERLINK \l _Toc16607 4.1.3 find_id 12 HYPERLINK \l _Toc20629 4.2 utility_all.php 13 HYPERLINK \l _Toc11827 4.2.1 csubstr 13 HYPERLINK \l _Toc28483 4.2.2 is_ip 13 HYPERLINK \l _Toc24009 4.2.3 add_log 14 HYPERLINK \l _Toc32458 4.2.4 get_code_name 14 HYPERLINK \l _Toc4352 4.2.5 get_client_ip 15 HYPERLINK \l _Toc2526 4.2.6 dept_long_name 15 HYPERLINK \l _Toc9008 4.2.7 get_sys_para 15 HYPERLINK \l _Toc21545 4.2.8 set_sys_para 16 HYPERLINK \l _Toc28765 4.3 utility_org.php 16 HYPERLINK \l _Toc23704 4.3.1 is_dept_parent 16 HYPERLINK \l _Toc10962 4.3.2 top_dept 16 HYPERLINK \l _Toc18193 4.3.3 GetDeptNameById 17 HYPERLINK \l _Toc24193 4.3.4 GetPrivNameById 17 HYPERLINK \l _Toc4313 4.3.5 GetUserNameById 18 HYPERLINK \l _Toc6220 4.3.6 GetUserNameByUid 18 HYPERLINK \l _Toc19765 4.3.7 my_exclude_uid 18 HYPERLINK \l _Toc6307 4.4 utility_sms1.php 19 HYPERLINK \l _Toc21516 4.4.1 send_sms 19 HYPERLINK \l _Toc29732 4.4.2 delete_sms 19 HYPERLINK \l _Toc23186 4.5 utility_sms2.php 20 HYPERLINK \l _Toc23066 4.5.1 send_mobile_sms_user 20 HYPERLINK \l _Toc28222 4.5.2 send_mobile_sms 20 HYPERLINK \l _Toc14348 4.6 utility_file.php 21 HYPERLINK \l _Toc19620 4.6.1 upload 21 HYPERLINK \l _Toc27331 4.6.2 delete_attach 21 HYPERLINK \l _Toc9959 4.6.3 attach_size 21 HYPERLINK \l _Toc28773 4.6.4 copy_attach 22 HYPERLINK \l _Toc5593 4.6.5 is_uploadable 22 HYPERLINK \l _Toc27811 4.6.6 is_text 23 HYPERLINK \l _Toc27655 4.6.7 is_office 23 HYPERLINK \l _Toc5891 4.6.8 is_image 23 HYPERLINK \l _Toc15686 4.6.9 is_viewable 24 HYPERLINK \l _Toc28533 4.6.10 is_media 24 HYPERLINK \l _Toc2864 4.6.11 dir_size 24 HYPERLINK \l _Toc1688 4.6.12 delete_dir 25 HYPERLINK \l _Toc31622 4.6.13 attach_sub_dir 25 HYPERLINK \l _Toc11892 4.6.14 attach_real_path 25 HYPERLINK \l _Toc19187 4.6.15 attach_id_encode 26 HYPERLINK \l _Toc22094 4.6.16 attach_id_decode 26 HYPERLINK \l _Toc20392 第五章 公用组件参考 27 HYPERLINK \l _Toc6024 5.1 日期选择 27 HYPERLINK \l _Toc20882 5.2 人员多选 27 HYPERLINK \l _Toc9766 5.3 人员单选 28 HYPERLINK \l _Toc14660 5.4 部门多选 29 HYPERLINK \l _Toc17032 5.5 部门单选 29 HYPERLINK \l _Toc16213 5.6 角色多选 30 前 言 Office Anywhere网络智能办公系统(以下简称通达OA),不仅是一套成熟的网络办公系统,同时也是一个完整、精巧的软件开发平台,不仅集成了Web开发的全套环境,并提供了管理架构、系统资源的开放性支持,是开发中小型管理应用系统的理想平台。 本文将从不同的技术层面向您揭示通达OA的二次开发细节,是主要针对专职程序 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 人员、编程爱好者、软件产品技术支持人员编写的OA二次开发入门教程。 通过阅读本文,您将不仅可以了解通达OA的设计奥秘,也将能够运用本文所介绍的知识和技巧,轻松构建属于自己的应用系统或模块,文中将结合具体实例加以说明。 第一章 软件开发环境简介 1.1 编程环境 通达OA主要采用PHP语言开发,系统使用MySQL数据库。 在Windows平台下,通达OA主要注册了2个系统服务,可以通过控制面板-〉管理工具-〉服务,查看这2项服务,服务名分别是Office_Anywhere和MySQL_OA,Office_Anywhere服务实际是集成了PHP模块的Apache服务,Apache是通达OA所使用的Web Server,通达OA也可以支持IIS作为Web Server,具体配置 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 参见通达网站OA知识库相关文档。 关于PHP语言的使用,可参阅http://www.php.net,下载PHP手册,作为开发指导;关于MySQL数据库的管理与使用,将在第二章进行详细介绍。 1.2目录层次结构 通达OA的目录层次结构清晰,体现出对服务程序、应用程序、WEB页面的巧妙整合与组织,便于理解和扩充,下面对目录结构加以说明: MYOA ├─attach OA附件文件存放目录 ├─bin Apache、PHP、Zend等主程序及配置文件,服务配置程序等 ├─conf Apache配置文件 ├─data MySQL数据库文件目录 │ ├─BUS 公交线路查询数据库 │ ├─TD_OA 通达OA主数据库 │ ├─MySQL MySQL系统数据库 │ └─TRAIN 通达OA主数据库 ├─logs Apache等日志文件目录 ├─modules Apache的模块文件 ├─MySQL MySQL主程序文件 ├─tmp 临时文件目录 └─webroot 通达OA的WEB根目录(PHP程序目录) ├─attachment 部分OA附件文件存放目录   │ ├─hrms_pic 人事 档案 肢体残疾康复训练教师个人成长档案教师师德档案表人事档案装订标准员工三级安全教育档案 照片目录   │ ├─product_pic 销售管理产品照片存放目录   │ ├─new_sms 新短消息提醒状态文件   │ ├─rss 今日资讯信息缓存文件 │ ├─weather 天气预报缓存文件   │ └─wm 外部邮件存储目录   ├─general 主要模块目录   │ ├─ …… 一般模块目录(略)   │ ├─ipanel 主控面板,集成了菜单、短信箱等应用控制界面   │ ├─mytable 桌面模块程序   │ └─system 系统功能模块,下级目录略   ├─images 系统图片目录   │ ├─avatar 自定义头像图片   │ └─menu 菜单前小图标   ├─inc 系统通用程序及函数目录   ├─ispirit OA精灵页面   ├─module 系统组件   │ ├─dept_select 部门选择组件   │ ├─editor 简易HTML编辑器组件   │ ├─OC Office 文档在线编辑与阅读   │ ├─OC_NETDISK 文档在线编辑与阅读-仅适用于网络硬盘   │ ├─save_file 文件转存组件   │ ├─user_select 用户多选组件   │ └─user_select_single 用户单选组件   ├─theme 界面主题   ├─update 系统升级,该文件夹下如存在1.php会被自动执行并删除   └─wav 系统声音,Flash格式 注:上表中红色颜色标示的目录是备份数据时需要备份的,是OA的所有数据所存放的目录。 1.3参数配置 1.3.1 Apache配置(MYOA\conf\httpd.conf) Timeout 300 //连接超时,单位秒 ServerTokens Ful //Apache信息,Full,OS,Minor,Minimal,Major,Prod ErrorDocument //错误文档 ErrorLog logs/error.log //错误日志 CustomLog logs/access.log combined //访问日志 1.3.2 PHP配置(MYOA\bin\php.ini) display_errors = On //是否显示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.2 MySQL配置(MYOA\MySQL\my.ini) basedir=D:\MYOA\MySQL\ MySQL主程序路径 datadir=D:\MYOA\data\ MySQL数据库路径 default-character-set=gbk MySQL数据库字符集 port=3306 //端口(mysql 5后为3336) set-variable=max_connections=1000 //全局最大连接数 set-variable=wait_timeout=1200 //SQL语句执行结束后自动断开时间 set-variable=long_query_time=5 //长SQL语句查询时间 set-variable=log-slow-queries=slow.log //超时的查询则会被记录在该日志文件里 注:以上所有的配置选项修改后都需要重启服务才会生效。 第二章 数据库管理 2.1 phpMyAdmin的安装 MySQL的数据库管理工具很多,phpMyAdmin是使用PHP编写的免费MySQL数据库管理工具。由于OA的MySQL数据库出于安全考虑,被配置为仅能从本机访问,所以使用phpMyAdmin这样的B/S结构的管理工具,可实现数据库的远程管理。 第一步、下载程序包 phpMyAdmin程序可以从其官方网站http://www.phpmyadmin.net下载,建议下载2.x系列包含所有语言的非UTF-8版。 第二步、解压缩 在MYOA\webroot目录下新建一个目录,如mysql369(为了防止他人利用该工具侵入数据库系统,可把目录名设为比较复杂的,如MySQL2345,避免目录名被猜测到。),将下载的程序包解压后拷贝至mysql369目录下。 第三步、修改配置文件 用文本编辑器,如记事本,打开MySQL管理工具目录下的config.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'] = '3306'; //数据库端口,默认为3306 $cfg['Servers'][$i]['user'] = 'root'; //数据库用户名,默认为root $cfg['Servers'][$i]['password'] = ''; //数据库密码,默认为myoa888 第四步、使用phpMyAdmin MySQL管理工具地址:http://OA地址/mysql,注意,进入后先选择中文界面(Chinese simplified (zh-gb2312))。该管理工具的使用需具有一定数据库基础,请勿进行危险操作,以免导致数据丢失。 2.2 phpMyAdmin的使用 phpMyAdmin主界面如下 在左侧选择TD_OA数据库,可查看OA所有的数据表,如下图 点击左侧的表名,则右侧列出该表的结构和字段、索引、记录数等信息,如下图 phpMyAdmin的具体使用教程方法可以参考 通达网站/OA知识库/Office Anywhere 高级应用技巧/OA数据库管理工具/mysql网页方式管理工具/phpMyAdmin的安装和使用.wmv 。 第三章 如何创建一个模块 创建一个模块一般需要经过以下几个 步骤 新产品开发流程的步骤课题研究的五个步骤成本核算步骤微型课题研究步骤数控铣床操作步骤 :根据功能建立程序存放目录、创建菜单、分配菜单权限、编码、测试等。 3.1建立模块目录 在MYOA\webroot\general下建议一个目录abc,作为自己开发模块的目录,将程序放置于该目录下,默认页面是index.php或index.html或index.htm 3.2 创建菜单 用管理员帐号进入OA,打开 系统管理->菜单设置,在相应的一级菜单后点击“下一级”链接,在右侧的界面上点击“新建子菜单项”按钮,如下图所示: 详细阅读上图界面中的说明信息,按界面上说明的要求定义好菜单: 子菜单项ID:系统自动生成,无须调整 上级菜单:根据自己的实际应用情况调整 子菜单项代码:两位的数字或字母,作为排序之用 子菜单项名称:根据自己的实际应用自行填写 子菜单模块路径:该菜单对应的程序目录,应为上一个步骤创建的目录名称。如果为abc,则该菜单对应的菜单图片名称为MYOA\webroot\images\menu\abc.gif,需要自己创建或拷贝abc.gif拷贝至MYOA\webroot\images\menu下. 3.3 分配菜单权限 用管理员帐号进入OA,打开 系统管理->组织机构设置->角色与权限管理,给相关的角色分配刚创建的菜单的使用权限,则相关角色的人员就可以在OA界面左侧的菜单中看到并访问该菜单。 3.4 编码和测试 为便于用户开发自己的模块,通达科技在用户服务区提供了Office Anywhere部份模块源码的下载,供开发人员参考。 用户自行开发OA的功能模块,需要根据OA的相关 规范 编程规范下载gsp规范下载钢格栅规范下载警徽规范下载建设厅规范下载 进行开发,这样既可以使自行开发的模块和OA的界面效果一直,又可以保证自行开发的程序在OA安全框架的保护之下,这样不仅可以保证新模块数据的安全,又可以使开发人员集中精力投入到模块功能的开发上。 OA的各功能模块下的每个程序都需要包含OA的安全验证程序:inc/auth.php。该程序包含了对用户登录信息、是否有权限访问该路径等的检查,以及OA界面效果的基本样式表等。具体的语法为:include_once("inc/auth.php");OA数据库的所有表名和字段名称全部使用大写字母,开发过程请注意。 在开发自己的功能模块时可以参考现有OA模块,把功能相似的OA模块代码复制一份,然后在OA 代码的基础上修改。以下几个小节介绍OA系统变量和数据库的使用。 PHP、HTML、Javascript等开发的基础知识请参考 通达网站/OA知识库/通达科技历届培训会议资料/2006年9月-通达OA用户培训与交流研讨会资料/会议技术资料/通达OA开发平台基础知识.ppt 3.4.1 系统变量 OA系统提供了5个通过SESSION保存的当前用户的系统变量,分别是 $LOGIN_UID //用户数字ID $LOGIN_USER_ID //用户名,登录使用 $LOGIN_USER_NAME //用户真实姓名 $LOGIN_USER_PRIV //用户角色ID $LOGIN_DEPT_ID //用户部门ID $LOGIN_AVATAR //用户头像 $LOGIN_THEME //用户界面主题 如需使用这些系统变量,程序需要包含auth.php,如下代码: 3.4.2 PHP代码样例 以下是一段样例代码index.php,可放置于abc目录下,可作为开发OA应用程序的模版。//或/*…*/是PHP的注释语句。 功能模块名称 程序运行结果如下: 3.4.3 连接数据库代码 以下程序代码为读取admin用户所属部门的示例: 功能模块名称 ".dept_long_name($DEPT_ID).""; ?> 执行效果如下图: 从这段程序可以看出,使用OA系统提供的系统头文件和函数,访问数据库将是一件很轻松的事,不用操心数据库的连接参数等问题,只需简单的写下SQL语句,执行它。 MySQL数据库的连接参数在 MYOA\webroot\inc\oa_config.php文件中配置,如果自己安装MySQL数据库,可自行修改连接参数。 第四章 内置函数参考 4.1 utility.php 4.1.1 Message 函数原型: Message($TITLE, $CONTENT, $STYLE="") 功能描述: 输出一个信息提示框的HTML代码 参数: $TITLE //信息框标题 $CONTENT //信息框提示信息 $STYLE //信息框样式,可选的值有error、warning、stop、forbidden、help、info 返回值: 无 4.1.2 Button_Back 函数原型: Button_Back() 功能描述: 输出一个返回按钮的HTML代码 参数: 无 返回值: 无 4.1.3 find_id 函数原型: find_id($STRING, $ID) 功能描述: 在字符串$STRING中查找子串$ID 参数: $STRING //以英文逗号(,)连接的N个ID值的一个字符串,如a,b,c,d $ID //要查找的子符串,如c 返回值: 找到则返回true,否则返回false,布尔值 4.2 utility_all.php 4.2.1 csubstr 函数原型: csubstr(&$str, $start=0, $long=0, $ltor=true, $cn_len=2) 功能描述: 截取中文字符串 参数: $str //要截取的字符串 $start //截取起始位置,默认从头开始 $long //要截取的长度 $ltor //系统保留 $cn_len //系统保留 返回值: 截取后的中文字符串。 4.2.2 is_ip 函数原型: is_ip($IP) 功能描述: 判断一个字符串是否是一个合法的IP地址 参数: $IP //IP地址字符串 返回值: 如果$IP是一个IP地址则返回true,否则返回false。 4.2.3 add_log 函数原型: add_log($TYPE,$REMARK,$OPERATOR) 功能描述: 添加系统日志 参数: $TYPE //日志类型代码,参考系统代码设置下的“系统日志类型” $REMARK //备注 $OPERATOR //产生日志的用户的用户名,一般为当前用户 返回值: 无 4.2.4 get_code_name 函数原型: get_code_name($CODE_NO,$PARENT_NO) 功能描述: 获取系统代码的描述 参数: $CODE_NO //系统代码的代码值,如果多个代码则用英文逗号串起来 $PARENT_NO //父类型代码值 返回值: 对应代码值的文字描述 示例代码: echo get_code_name('0','SMS_REMIND'); //输出“个人短信” echo get_code_name('0,1','SMS_REMIND'); //输出“个人短信,公告通知” 4.2.5 get_client_ip 函数原型: get_client_ip() 功能描述: 获取用户的客户端IP地址 参数: 无 返回值: 用户的客户端IP地址字符串 4.2.6 dept_long_name 函数原型: dept_long_name($DEPT_ID) 功能描述: 获取部门ID为$DEPT_ID的多级部门名称 参数: $DEPT_ID //部门ID 返回值: $DEPT_ID对应的部门长名称,如“系统处/OA开发组” 4.2.7 get_sys_para 函数原型: get_sys_para($PARA_NAME_STR) 功能描述: 获取系统参数设置的参数值并返回一个数组 参数: $PARA_NAME_STR //系统参数名称字符串,多个的话用英文逗号隔开 返回值: 系统参数值的数组 代码示例: $PARA_ARRAY=get_sys_para("MENU_DISPLAY,MENU_EXPAND_SINGLE"); $PARA_ARRAY为array( "MENU_DISPLAY" => "1", "MENU_EXPAND_SINGLE" => "0"); 4.2.8 set_sys_para 函数原型: set_sys_para($PARA_ARRAY) 功能描述: 批量设置系统参数 参数: $PARA_ARRAY //系统参数数组,数组键值为参数名,如array("MENU_DISPLAY"=>"1") 返回值: 无 4.3 utility_org.php 4.3.1 is_dept_parent 函数原型: is_dept_parent($DEPT_ID,$PARENT_ID) 功能描述: 判断一个部门是否是另外一个部门的上级部门 参数: $DEPT_ID //要判断的部门ID $PARENT_ID //上级部门ID 返回值: 是则返回true,否则返回false。 4.3.2 top_dept 函数原型: top_dept($DEPT_ID) 功能描述: 获取部门ID为$DEPT_ID的部门的最上级部门的ID。 参数: $DEPT_ID //部门ID 返回值: 最上级部门的ID。 4.3.3 GetDeptNameById 函数原型: GetDeptNameById($ID_STR) 功能描述: 获取N个部门的部门名称。 参数: $ID_STR //N个部门的ID,用逗号串起来,如“1,2,” 返回值: N个部门名称字符串,用逗号串起来,如“系统部,OA开发组”。 4.3.4 GetPrivNameById 函数原型: GetPrivNameById($ID_STR) 功能描述: 获取N个角色的角色名称。 参数: $ID_STR //N个角色的ID,用逗号串起来,如“1,2,” 返回值: N个角色名称字符串,用逗号串起来,如“OA管理员,职员”。 4.3.5 GetUserNameById 函数原型: GetUserNameById($ID_STR) 功能描述: 获取N个用户的用户姓名。 参数: $ID_STR //N个用户的用户名,用逗号串起来,如“admin,lxq,” 返回值: N个用户的真实姓名字符串,用逗号串起来,如“系统管理员,刘向前”。 4.3.6 GetUserNameByUid 函数原型: GetUserNameByUid($ID_STR) 功能描述: 获取N个用户的用户姓名。 参数: $ID_STR //N个用户的数字,用逗号串起来,如“1,2,” 返回值: N个用户的真实姓名字符串,用逗号串起来,如“系统管理员,刘向前”。 4.3.7 my_exclude_uid 函数原型: my_exclude_uid() 功能描述: 获取当前用户不能与之通讯的用户的数字ID(UID)。 参数: 无 返回值: 当前用户不能与之通讯的用户的数字ID(UID)。 4.4 utility_sms1.php 4.4.1 send_sms 函数原型: send_sms($SEND_TIME,$FROM_ID,$TO_ID,$SMS_TYPE,$CONTENT,$REMIND_URL="") 功能描述: 发送内部短消息。 参数: $SEND_TIME //发送时间字符串,如“2009-01-12 02:00:00” $FROM_ID //发送人用户名,如“admin” $TO_ID //接收人用户名用逗号串起来的字符串,如“lxq,xfn” $SMS_TYPE //短信类型代码,参考系统代码设置下的“内部短消息类型” $CONTENT //短信内容 $REMIND_URL //点击短信提醒弹出窗口的“查看详情”打开的地址 返回值: 无 4.4.2 delete_sms 函数原型: delete_sms($SMS_ID_STR,$DEL_TYPE) 功能描述: 删除内部短消息。 参数: $SMS_ID_STR //要删除的短信ID串,用逗号串起来,如“1,2,3” $DEL_TYPE //DEL_TYPE=1 删除收到的短信,DEL_TYPE=2 删除发送的短信 返回值: 无 4.5 utility_sms2.php 4.5.1 send_mobile_sms_user 函数原型: send_mobile_sms_user($SEND_TIME,$FROM_ID,$TO_ID,$CONTENT,$TYPE) 功能描述: 给OA用户发送手机短信。 参数: $SEND_TIME //发送时间字符串,如“2009-01-12 02:00:00” $FROM_ID //发送人用户名,如“admin” $TO_ID //接收人用户名用逗号串起来的字符串,如“lxq,xfn” $CONTENT //短信内容 $TYPE //短信类型代码,参考系统代码设置下的“内部短消息类型” 返回值: 无 4.5.2 send_mobile_sms 函数原型: send_mobile_sms($SEND_TIME,$FROM_ID,$PHONE,$CONTENT) 功能描述: 向指定号码发送手机短信。 参数: $SEND_TIME //发送时间字符串,如“2009-01-12 02:00:00” $FROM_ID //发送人用户名,如“admin” $PHONE //接收手机号码字符串,如“138xxxxxxxx,139xxxxxxxx” $CONTENT //短信内容 返回值: 无 4.6 utility_file.php 4.6.1 upload 函数原型: upload($PREFIX="ATTACHMENT",$MODULE="") 功能描述: 上传附件,可以一次上传多个附件。 参数: $PREFIX //表单File控件名称的前缀,一般为默认即可 $MODULE //模块代码,如内部邮件为email,为空则根据程序路径自动判断 返回值: 无 4.6.2 delete_attach 函数原型: delete_attach($ATTACHMENT_ID,$ATTACHMENT_NAME,$MODULE="") 功能描述: 删除附件,可以一次删除多个附件。 参数: $ATTACHMENT_ID //附件ID,多个附件ID用逗号隔开 $ATTACHMENT_NAME //附件名称,多个附件名称用*号隔开 $MODULE //模块代码,如内部邮件为email,为空则根据程序路径自动判断断 返回值: 无 4.6.3 attach_size 函数原型: attach_size($ATTACHMENT_ID,$ATTACHMENT_NAME,$MODULE="") 功能描述: 获取附件大小。 参数: $ATTACHMENT_ID //附件ID $ATTACHMENT_NAME //附件名称 $MODULE //模块代码,如内部邮件为email,为空则根据程序路径自动判断断 返回值: 附件大小,单位字节。 4.6.4 copy_attach 函数原型: copy_attach($ATTACHMENT_ID,$ATTACHMENT_NAME,$MODULE_SRC="",$MODULE_DESC="") 功能描述: 拷贝一个或多个附件。 参数: $ATTACHMENT_ID //附件ID,多个附件ID用逗号隔开 $ATTACHMENT_NAME //附件名称,多个附件名称用*号隔开 $MODULE_SRC //原附件所属模块代码,为空则根据程序路径自动判断断 $MODULE_DESC //新附件所属模块代码,为空则根据程序路径自动判断断 返回值: 新附件的附件ID串,多个附件的话用逗号隔开。 4.6.5 is_uploadable 函数原型: is_uploadable($FILE_NAME) 功能描述: 根据附件名称判断该类型的文件是否允许上传。 参数: $FILE_NAME //要判断的文件名 返回值: 允许上传则返回true,否则返回false。 4.6.6 is_text 函数原型: is_text($FILE_NAME) 功能描述: 根据附件名称判断该类型的文件是否是文本文件。 参数: $FILE_NAME //要判断的文件名 返回值: 是文本文件则返回true,否则返回false。 4.6.7 is_office 函数原型: is_office($FILE_NAME) 功能描述: 根据附件名称判断该类型的文件是否是Office文档。 参数: $FILE_NAME //要判断的文件名 返回值: 是Office文档则返回true,否则返回false。 4.6.8 is_image 函数原型: is_image($FILE_NAME) 功能描述: 根据附件名称判断该类型的文件是否是图片。 参数: $FILE_NAME //要判断的文件名 返回值: 是图片则返回true,否则返回false。 4.6.9 is_viewable 函数原型: is_viewable($FILE_NAME) 功能描述: 根据附件名称判断该类型的文件是否可以直接浏览,如htm、pdf、图片等。 参数: $FILE_NAME //要判断的文件名 返回值: 可以直接浏览则返回true,否则返回false。 4.6.10 is_media 函数原型: is_media($FILE_NAME) 功能描述: 根据附件名称判断该类型的文件是否是媒体文件,如视频、音频文件等。 参数: $FILE_NAME //要判断的文件名 返回值: RealPlayer播放类型返回1,如rm、rmvb等 MediaPlayer播放类型返回2,如wmv、mpeg等 可直接在浏览器里打开的类型返回3,如图片、pdf、html等 Flash播放类型返回4,如flv,fla等 其它返回0 4.6.11 dir_size 函数原型: dir_size($dir) 功能描述: 根据目录路径返回其下属子目录和文件的大小。 参数: $dir //服务器目录路径,如D:/MYOA 返回值: 目录大小,单位字节。 4.6.12 delete_dir 函数原型: delete_dir($dir) 功能描述: 根据目录路径删除该目录及其所有下属子目录和文件。 参数: $dir //服务器目录路径,如D:/MYOA 返回值: 无 4.6.13 attach_sub_dir 函数原型: attach_sub_dir() 功能描述: 根据程序路径判断其所属模块。 参数: 无 返回值: 附件所属模块代码,如在/general/email/new/submit.php中调用该函数则返回email。 4.6.14 attach_real_path 函数原型: attach_real_path($ATTACHMENT_ID,$ATTACHMENT_NAME,$MODULE="") 功能描述: 根据附件的ID、名称等获取该附件在服务器上存储的物理路径。 参数: $ATTACHMENT_ID //附件ID $ATTACHMENT_NAME //附件名称 $MODULE //附件所述模块代码 返回值: 附件在服务器上的物理路径,如D:/MYOA/attach/0901/123456789.二次开发手册.doc。 4.6.15 attach_id_encode 函数原型: attach_id_encode($ATTACHMENT_ID,$ATTACHMENT_NAME) 功能描述: 根据附件的真实ID和名称获取在前台代码中显示的ID。 参数: $ATTACHMENT_ID //附件ID $ATTACHMENT_NAME //附件名称 返回值: 经过加密处理的ID。 4.6.16 attach_id_decode 函数原型: attach_id_decode($ATTACHMENT_ID,$ATTACHMENT_NAME) 功能描述: 根据附件的加密ID和真实名称获取真实ID。 参数: $ATTACHMENT_ID //附件加密ID $ATTACHMENT_NAME //附件真实名称 返回值: 附件的真实ID。 第五章 公用组件参考 公用组件为JavaScript脚本的前台代码,目的是为了简化前端程序的二次开发,开发出和OA结合更紧密、更一致的功能。 5.1 日期选择 函数原型: td_calendar(fieldname) 功能描述: 弹出一个日期选择窗口 加载文件: /inc/js/module.js 参数: fieldname //表单对应字段的对象,如form1.BEGIN_DATE 返回值: 无 示例代码:
生效日期:
5.2 人员多选 函数原型: SelectUser(MODULE_ID,TO_ID, TO_NAME, MANAGE_FLAG,FORM_NAME) 功能描述: 弹出一个人员多选窗口 加载文件: /inc/js/module.js 参数: MODULE_ID //模块ID,系统保留,传递空值即可 TO_ID //存放已选人员用户名的字段名,多个用户名用英文逗号隔开 TO_NAME //存放已选人员用户真实姓名的字段名,多个姓名用英文逗号隔开 MANAGE_FLAG //是否显示不允许登录OA人员,默认为0 FORM_NAME //表单名称,默认为“form1” 返回值: 无 示例代码:
添加 清空
5.3 人员单选 函数原型: SelectUserSingle(MODULE_ID,TO_ID, TO_NAME, MANAGE_FLAG,FORM_NAME) 功能描述: 弹出一个人员单选窗口 加载文件: /inc/js/module.js 参数: MODULE_ID //模块ID,系统保留,传递空值即可 TO_ID //存放已选人员用户名的字段名 TO_NAME //存放已选人员用户真实姓名的字段名 MANAGE_FLAG //是否显示不允许登录OA人员,默认为0 FORM_NAME //表单名称,默认为“form1” 返回值: 无 示例代码:
添加 清空
5.4 部门多选 函数原型: SelectDept(MODULE_ID,TO_ID, TO_NAME, PRIV_OP) 功能描述: 弹出一个部门多选窗口 加载文件: /inc/js/module.js 参数: MODULE_ID //模块ID,系统保留,传递空值即可 TO_ID //存放已选部门ID的字段名,多个ID用英文逗号隔开 TO_NAME //存放已选部门名称的字段名,多个名称用英文逗号隔开 PRIV_OP //选择部门的范围,0所有部门,1用户管理范围内的部门 返回值: 无 示例代码:
添加 清空
5.5 部门单选 函数原型: SelectDeptSingle(MODULE_ID,TO_ID, TO_NAME, PRIV_OP) 功能描述: 弹出一个部门单选窗口 加载文件: /inc/js/module.js 参数: MODULE_ID //模块ID,系统保留,传递空值即可 TO_ID //存放已选部门ID的字段名 TO_NAME //存放已选部门名称的字段名 PRIV_OP //选择部门的范围,0所有部门,1用户管理范围内的部门 返回值: 无 示例代码:
添加 清空
5.6 角色多选 函数原型: SelectPriv(MODULE_ID,TO_ID, TO_NAME, PRIV_OP) 功能描述: 弹出一个角色多选窗口 加载文件: /inc/js/module.js 参数: MODULE_ID //模块ID,系统保留,传递空值即可 TO_ID //存放已选角色ID的字段名,多个ID用英文逗号隔开 TO_NAME //存放已选角色名称的字段名,多个名称用英文逗号隔开 PRIV_OP //默认0,如果当前用户非OA管理员且该参数为1,则不列出OA管理员 返回值: 无 示例代码:
添加 清空
本文档为【通达OA二次开发手册】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_668026
暂无简介~
格式:doc
大小:454KB
软件:Word
页数:34
分类:
上传时间:2010-10-23
浏览量:62