首页 OA二次开发手册

OA二次开发手册

举报
开通vip

OA二次开发手册OfficeAnywhere网络智能办公系统二次开发手册V7.5.131120(2013增强版)通达信科中国兵器工业信息中心http://www.tongda2000.com目录TOC\o"1-3"\h\z\u目录1前言1第一章软件开发环境简介21.1编程环境21.3参数配置31.3.1Apache配置31.3.2PHP配置41.3.2MySQL配置4第二章数据库管理52.1phpMyAdmin的安装52.2phpMyAdmin的使用5第三章如何创建一个模块83.1建立模块目录83.2创建菜单83.3分配菜单权限9...

OA二次开发手册
OfficeAnywhere网络智能办公系统二次开发手册V7.5.131120(2013增强版)通达信科中国兵器工业信息中心http://www.tongda2000.com目录TOC\o"1-3"\h\z\u目录1前言1第一章软件开发环境简介21.1编程环境21.3参数配置31.3.1Apache配置31.3.2PHP配置41.3.2MySQL配置4第二章数据库管理52.1phpMyAdmin的安装52.2phpMyAdmin的使用5第三章如何创建一个模块83.1建立模块目录83.2创建菜单83.3分配菜单权限93.4编码和测试93.4.1系统变量93.4.2PHP代码样例103.4.3连接数据库代码10第四章内置函数参考124.1utility.php124.1.1Message124.1.2Button_Back124.1.3find_id134.1.4get_client_ip134.2utility_all.php134.2.1csubstr134.2.2is_ip144.2.3add_log144.2.4get_code_name154.2.5dept_long_name154.2.6get_sys_para154.2.7set_sys_para164.3utility_org.php164.3.1is_dept_parent164.3.2top_dept174.3.3GetDeptNameById174.3.4GetPrivNameById174.3.5GetUserNameById184.3.6GetUserNameByUid184.3.7my_exclude_uid184.4utility_sms1.php194.4.1send_sms194.4.2delete_sms194.5utility_sms2.php204.5.1send_mobile_sms_user204.5.2send_mobile_sms204.6utility_file.php214.6.1upload214.6.2delete_attach214.6.3attach_size214.6.4copy_attach224.6.5is_uploadable224.6.6is_text234.6.7is_office234.6.8is_image234.6.9is_viewable244.6.10is_media244.6.11dir_size244.6.12delete_dir254.6.13attach_sub_dir254.6.14attach_real_path264.6.15attach_id_encode264.6.16attach_id_decode264.6.17td_copy274.6.18td_rename274.6.19td_move_uploaded_file284.6.20td_file_put_contents284.6.21add_attach_module284.6.22attach_module_id294.6.23attach_sign_key294.6.24attach_sign_key_netdisk294.6.25attach_real_path_netdisk304.6.26cache_attach_para304.6.27attach_url304.6.28attach_url_pda314.6.29attach_link324.6.30attach_link_pda324.6.31attach_url_old334.6.32upload_old334.6.33add_attach_old344.6.34delete_attach_old344.6.35add_attach344.6.36copy_attach_netdisk354.6.37copy_sel_attach354.6.38office_attach364.6.39create_attach364.6.40is_editable364.6.41is_wps374.6.42is_ ppt 关于艾滋病ppt课件精益管理ppt下载地图下载ppt可编辑假如ppt教学课件下载triz基础知识ppt _xls374.6.43is_thumbable374.6.44image_mimetype384.6.45Is_SysFile384.6.46file_type384.6.47mime_type394.6.48trim_office_attach394.6.49dir_file_nums394.6.50CreateThumb404.6.51ReplaceImageSrc404.6.52trim_inserted_image404.6.53backup_file414.6.54oc_log414.6.55attach_id_explode424.6.56attach_id_implode42第五章公用组件参考435.1人员多选435.2人员单选435.3部门多选445.4部门单选455.5角色多选46前言OfficeAnywhere网络智能办公系统(以下简称通达OA),不仅是一套成熟的网络办公系统,同时也是一个完整、精巧的软件开发平台,不仅集成了Web开发的全套环境,并提供了管理架构、系统资源的开放性支持,是开发中小型管理应用系统的理想平台。本文将从不同的技术层面向您揭示通达OA的二次开发细节,是主要针对专职程序设计人员、编程爱好者、软件产品技术支持人员编写的OA二次开发入门教程。通过阅读本文,您将不仅可以了解通达OA的设计奥秘,也将能够运用本文所介绍的知识和技巧,轻松构建属于自己的应用系统或模块,文中将结合具体实例加以说明。第一章软件开发环境简介1.1编程环境通达OA主要采用PHP语言开发,系统使用MySQL数据库。在Windows平台下,通达OA主要注册了9个系统服务,可以通过控制面板-〉管理工具-〉服务,查看这9项服务,服务名分别是Office_Anywhere、MySQL5_OA、memcachedServer、OfficeDaemon、OfficeIm、OfficeIndex、OfficeMail、OfficePOP3、OfficeTask,Office_Anywhere服务实际是集成了PHP模块的Apache服务,Apache是通达OA所使用的WebServer,通达OA也可以支持IIS作为WebServer,具体配置 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 参见通达网站OA知识库相关文档。关于PHP语言的使用,可参阅http://www.php.net,下载PHP手册,作为开发指导;关于MySQL数据库的管理与使用,将在第二章进行详细介绍。1.2目录层次结构通达OA的目录层次结构清晰,体现出对服务程序、应用程序、WEB页面的巧妙整合与组织,便于理解和扩充,下面对目录结构加以说明:MYOA├─attachOA附件文件存放目录├─binApache、PHP、Zend等主程序及配置文件,服务配置程序等├─confApache配置文件├─data5MySQL数据库文件目录│├─BUS公交线路查询数据库│├─TD_OA通达OA主数据库│├─MySQLMySQL系统数据库│├─TD_OA_ARCHIVE通达OA归档数据库│├─ib_logfile0InnoDB引擎使用的日志文件│├─ib_logfile1InnoDB引擎使用的日志文件│└─ibdata1InnoDB引擎存储数据与索引的数据文件├─logsApache等日志文件目录├─modulesApache的模块文件├─MyAdmin通达OA的MySQL管理工具├─mysql5MySQL主程序文件├─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系统通用程序及函数目录├─ispiritOA精灵页面 ├─mobileOA移动界面 ├─module系统组件 │├─dept_select部门选择组件 │├─editor简易HTML编辑器组件 │├─OCOffice文档在线编辑与阅读 │├─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.1Apache配置(MYOA\conf\httpd.conf)Timeout300//连接超时,单位秒ServerTokensProd//Apache信息,Full,OS,Minor,Minimal,Major,ProdErrorDocument//错误文档ErrorLoglogs/error.log//错误日志CustomLoglogs/access.logcombined//访问日志1.3.2PHP配置(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//表单提交最大数据量,单位MBupload_max_filesize=200M//上传单个附件大小,单位MB1.3.2MySQL配置(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数据压缩注:以上所有的配置选项修改后都需要重启服务才会生效。第二章数据库管理2.1phpMyAdmin的安装MySQL的数据库管理工具很多,phpMyAdmin是使用PHP编写的免费MySQL数据库管理工具。由于OA的MySQL数据库出于安全考虑,被配置为仅能从本机访问,所以使用phpMyAdmin这样的B/S结构的管理工具,可实现数据库的远程管理。第一步、下载程序包phpMyAdmin程序可以从其官方网站http://www.phpmyadmin.net下载,建议下载最新的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第四步、使用phpMyAdminMySQL管理工具地址:http://OA地址/mysql,注意,进入后先选择中文界面(中文-Chinesesimplified)。该管理工具的使用需具有一定数据库基础,请勿进行危险操作,以免导致数据丢失。2.2phpMyAdmin的使用phpMyAdmin主界面如下在左侧选择TD数据库,可查看OA所有的数据表,如下图点击左侧的表名,则右侧列出该表的结构和字段、索引、记录数等信息,如下图phpMyAdmin的具体使用教程方法可以参考通达网站/OA知识库/OfficeAnywhere高级应用技巧/OA数据库管理工具/mysql网页方式管理工具/phpMyAdmin的安装和使用.wmv。第三章如何创建一个模块创建一个模块一般需要经过以下几个步骤:根据功能建立程序存放目录、创建菜单、分配菜单权限、编码、测试等。3.1建立模块目录在MYOA\webroot\general下建议一个目录abc,作为自己开发模块的目录,将程序放置于该目录下,默认页面是index.php或index.html或index.htm3.2创建菜单用管理员帐号进入OA,打开系统管理->菜单设置,在相应的一级菜单后点击“下一级”链接,在右侧的界面上点击“增加子菜单项”按钮,如下图所示:详细阅读上图界面中的说明信息,按界面上说明的要求定义好菜单:子菜单项ID:系统自动生成,无须调整上级菜单:根据自己的实际应用情况调整子菜单项代码:两位的数字或字母,作为排序之用子菜单项名称:根据自己的实际应用自行填写子菜单模块路径:该菜单对应的程序目录,应为上一个步骤创建的目录名称。如果为abc,则该菜单对应的菜单图片名称为MYOA\webroot\static\images\menu\abc.gif,需要自己创建或拷贝abc.gif拷贝至MYOA\webroot\static\images\menu下.3.3分配菜单权限用管理员帐号进入OA,打开系统管理->组织机构设置->角色与权限管理,给相关的角色分配刚创建的菜单的使用权限,则相关角色的人员就可以在OA界面左侧的菜单中看到并访问该菜单。3.4编码和测试为便于用户开发自己的模块,通达科技在用户服务区提供了OfficeAnywhere部份模块源码的下载,供开发人员参考。用户自行开发OA的功能模块,需要根据OA的相关规范进行开发,这样既可以使自行开发的模块和OA的界面效果一致,又可以保证自行开发的程序在OA安全框架的保护之下,这样不仅可以保证新模块数据的安全,又可以使开发人员集中精力投入到模块功能的开发上。OA的各功能模块下的每个程序都需要包含OA的安全验证程序:inc/auth.inc.php。该程序包含了对用户登录信息、是否有权限访问该路径等的检查等。具体的语法为:include_once("inc/auth.inc.php");为更好兼容更多版本的浏览器,需要使用 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 统一的HTML解析模式对页面进行解析和渲染,在所有包含HTML代码输出的页面,都需要包含:inc/header.inc.php,输出统一的HTML头信息,包括采用的HTML标准、页面字符集、页面标题、标准界面样式表(style.css)等。在没有HTML代码输出的页面,不需要包含该文件。OA数据库的所有表名全部使用小写字母,字段名称全部使用大写字母,新模块中字段名也建议与表名统一使用小写字母,开发过程请注意。在开发自己的功能模块时可以参考现有OA模块,把功能相似的OA模块代码复制一份,然后在OA代码的基础上修改。以下几个小节介绍OA系统变量和数据库的使用。3.4.1系统变量OA系统提供了16个通过SESSION保存的当前用户的系统变量,分别是$_SESSION["LOGIN_UID"]//用户数字ID$_SESSION["LOGIN_USER_ID"]//用户名,登录使用$_SESSION["LOGIN_BYNAME"]//用户别名$_SESSION["LOGIN_USER_NAME"]//用户真实姓名$_SESSION["LOGIN_USER_PRIV"]//用户角色ID$_SESSION["LOGIN_USER_PRIV_OTHER"]//用户辅助角色ID$_SESSION["LOGIN_SYS_ADMIN"]//用户是否有系统管理员权限$_SESSION["LOGIN_DEPT_ID"]//用户部门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_ID_JUNIOR"]//用户所在部门和所属部门合集字符串$_SESSION["LOGIN_CLIENT"]//用户登录OA的设备类型$_SESSION["LOGIN_USER_SEX"]//用户性别如需使用这些系统变量,程序需要包含auth.inc.php,如下代码:3.4.2PHP代码样例以下是一段样例代码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.1utility.php4.1.1Message函数原型:Message($TITLE,$CONTENT,$STYLE="",$BUTTONS=array())功能描述:输出一个信息提示框的HTML代码参数:$TITLE//信息框标题$CONTENT//信息框提示信息$STYLE//信息框样式,可选的值有error、warning、stop、forbidden、help、info$BUTTONS//操作按钮数组返回值:无4.1.2Button_Back函数原型:Button_Back($HTML_CHARSET='')功能描述:输出一个返回按钮的HTML代码参数:$HTML_CHARSET//解析编码返回值:无4.1.3find_id函数原型:find_id($STRING,$ID)功能描述:在字符串$STRING中查找子串$ID参数:$STRING//以英文逗号(,)连接的N个ID值的一个字符串,如a,b,c,d$ID//要查找的子符串,如c返回值:找到则返回true,否则返回false,布尔值4.1.4get_client_ip函数原型:get_client_ip()功能描述:获取用户的客户端IP地址参数:无返回值:用户的客户端IP地址字符串4.2utility_all.php4.2.1csubstr函数原型:csubstr(&$str,$start=0,$long=0,$ltor=true,$cn_len=2)功能描述:截取中文字符串参数:$str//要截取的字符串$start//截取起始位置,默认从头开始$long//要截取的长度$ltor//系统保留$cn_len//系统保留返回值:截取后的中文字符串。4.2.2is_ip函数原型:is_ip($IP)功能描述:判断一个字符串是否是一个合法的IP地址参数:$IP//IP地址字符串返回值:如果$IP是一个IP地址则返回true,否则返回false。4.2.3add_log函数原型:add_log($TYPE,$REMARK,$OPERATOR)功能描述:添加系统日志参数:$TYPE//日志类型代码,参考系统代码设置下的“系统日志类型”$REMARK//备注$OPERATOR//产生日志的用户的用户名,一般为当前用户返回值:无4.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');//输出“个人短信,公告通知”4.2.5dept_long_name函数原型:dept_long_name($DEPT_ID)功能描述:获取部门ID为$DEPT_ID的多级部门名称参数:$DEPT_ID//部门ID返回值:$DEPT_ID对应的部门长名称,如“系统处/OA开发组”4.2.6get_sys_para函数原型:get_sys_para($PARA_NAME_STR,$USE_CACHE=true)功能描述:获取系统参数设置的参数值并返回一个数组参数:$PARA_NAME_STR//系统参数名称字符串,多个的话用英文逗号隔开$USE_CACHE//是否从缓存中获取返回值:系统参数值的数组代码示例:$PARA_ARRAY=get_sys_para("MENU_DISPLAY,MENU_EXPAND_SINGLE");$PARA_ARRAY为array("MENU_DISPLAY"=>"1","MENU_EXPAND_SINGLE"=>"0");4.2.7set_sys_para函数原型:set_sys_para($PARA_ARRAY)功能描述:批量设置系统参数参数:$PARA_ARRAY//系统参数数组,数组键值为参数名,如array("MENU_DISPLAY"=>"1")返回值:无4.3utility_org.php4.3.1is_dept_parent函数原型:is_dept_parent($DEPT_ID,$PARENT_ID)功能描述:判断一个部门是否是另外一个部门的上级部门参数:$DEPT_ID//要判断的部门ID$PARENT_ID//上级部门ID返回值:是则返回true,否则返回false。4.3.2top_dept函数原型:top_dept($DEPT_ID)功能描述:获取部门ID为$DEPT_ID的部门的最上级部门的ID。参数:$DEPT_ID//部门ID返回值:最上级部门的ID。4.3.3GetDeptNameById函数原型:GetDeptNameById($ID_STR)功能描述:获取N个部门的部门名称。参数:$ID_STR//N个部门的ID,用逗号串起来,如“1,2,”返回值:N个部门名称字符串,用逗号串起来,如“系统部,OA开发组”。4.3.4GetPrivNameById函数原型:GetPrivNameById($ID_STR)功能描述:获取N个角色的角色名称。参数:$ID_STR//N个角色的ID,用逗号串起来,如“1,2,”返回值:N个角色名称字符串,用逗号串起来,如“OA管理员,职员”。4.3.5GetUserNameById函数原型:GetUserNameById($ID_STR)功能描述:获取N个用户的用户姓名。参数:$ID_STR//N个用户的用户名,用逗号串起来,如“admin,lqh,”返回值:N个用户的真实姓名字符串,用逗号串起来,如“系统管理员,刘清华”。4.3.6GetUserNameByUid函数原型:GetUserNameByUid($ID_STR)功能描述:获取N个用户的用户姓名。参数:$ID_STR//N个用户的数字,用逗号串起来,如“1,2,”返回值:N个用户的真实姓名字符串,用逗号串起来,如“系统管理员,刘清华”。4.3.7my_exclude_uid函数原型:my_exclude_uid()功能描述:获取当前用户不能与之通讯的用户的数字ID(UID)。参数:无返回值:当前用户不能与之通讯的用户的数字ID(UID)。4.4utility_sms1.php4.4.1send_sms函数原型:send_sms($SEND_TIME,$FROM_ID,$TO_ID,$SMS_TYPE,$CONTENT,$REMIND_URL="")功能描述:发送内部短消息。参数:$SEND_TIME//发送时间字符串,如“2013-11-2009:00:00”$FROM_ID//发送人用户名,如“admin”$TO_ID//接收人用户名用逗号串起来的字符串,如“lqh,lxq”$SMS_TYPE//短信类型代码,参考系统代码设置下的“内部短消息类型”$CONTENT//短信内容$REMIND_URL//点击短信提醒弹出窗口的“查看详情”打开的地址返回值:无4.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删除发送的短信返回值:无4.5utility_sms2.php4.5.1send_mobile_sms_user函数原型:send_mobile_sms_user($SEND_TIME,$FROM_ID,$TO_ID,$CONTENT,$TYPE)功能描述:给OA用户发送手机短信。参数:$SEND_TIME//发送时间字符串,如“2013-11-2009:00:00”$FROM_ID//发送人用户名,如“admin”$TO_ID//接收人用户名用逗号串起来的字符串,如“lqh,lxq”$CONTENT//短信内容$TYPE//短信类型代码,参考系统代码设置下的“内部短消息类型”返回值:无4.5.2send_mobile_sms函数原型:send_mobile_sms($SEND_TIME,$FROM_ID,$PHONE,$CONTENT)功能描述:向指定号码发送手机短信。参数:$SEND_TIME//发送时间字符串,如“2013-11-2009:00:00”$FROM_ID//发送人用户名,如“admin”$PHONE//接收手机号码字符串,如“138xxxxxxxx,139xxxxxxxx”$CONTENT//短信内容返回值:无4.6utility_file.php4.6.1upload函数原型:upload($PREFIX="ATTACHMENT",$MODULE="",$OUTPUT=true)功能描述:上传附件,可以一次上传多个附件。参数:$PREFIX//表单File控件名称的前缀,一般为默认即可$MODULE//模块代码,如内部邮件为email,为空则根据程序路径自动判断$OUTPUT//参数判断返回值:无4.6.2delete_attach函数原型:delete_attach($ATTACHMENT_ID,$ATTACHMENT_NAME,$MODULE="")功能描述:删除附件,可以一次删除多个附件。参数:$ATTACHMENT_ID//附件ID,多个附件ID用逗号隔开$ATTACHMENT_NAME//附件名称,多个附件名称用*号隔开$MODULE//模块代码,如内部邮件为email,为空则根据程序路径自动判断断返回值:无4.6.3attach_size函数原型:attach_size($ATTACHMENT_ID,$ATTACHMENT_NAME,$MODULE="")功能描述:获取附件大小。参数:$ATTACHMENT_ID//附件ID$ATTACHMENT_NAME//附件名称$MODULE//模块代码,如内部邮件为email,为空则根据程序路径自动判断断返回值:附件大小,单位字节。4.6.4copy_attach函数原型:copy_attach($ATTACHMENT_ID,$ATTACHMENT_NAME,$MODULE_SRC="",$MODULE_DESC="",$ID_IS_REAL=true)功能描述:拷贝一个或多个附件。参数:$ATTACHMENT_ID//附件ID,多个附件ID用逗号隔开$ATTACHMENT_NAME//附件名称,多个附件名称用*号隔开$MODULE_SRC//原附件所属模块代码,为空则根据程序路径自动判断断$MODULE_DESC//新附件所属模块代码,为空则根据程序路径自动判断断$ID_IS_REAL//$ATTACHMENT_ID是文件的真实ID,还是attach_id_decode过之后的,数据库中存的一般是真实的返回值:新附件的附件ID串,多个附件的话用逗号隔开。4.6.5is_uploadable函数原型:is_uploadable($FILE_NAME)功能描述:根据附件名称判断该类型的文件是否允许上传。参数:$FILE_NAME//要判断的文件名返回值:允许上传则返回true,否则返回false。4.6.6is_text函数原型:is_text($FILE_NAME)功能描述:根据附件名称判断该类型的文件是否是文本文件。参数:$FILE_NAME//要判断的文件名返回值:是文本文件则返回true,否则返回false。4.6.7is_office函数原型:is_office($FILE_NAME)功能描述:根据附件名称判断该类型的文件是否是Office文档。参数:$FILE_NAME//要判断的文件名返回值:是Office文档则返回true,否则返回false。4.6.8is_image函数原型:is_image($FILE_NAME)功能描述:根据附件名称判断该类型的文件是否是图片。参数:$FILE_NAME//要判断的文件名返回值:是图片则返回true,否则返回false。4.6.9is_viewable函数原型:is_viewable($FILE_NAME)功能描述:根据附件名称判断该类型的文件是否可以直接浏览,如htm、pdf、图片等。参数:$FILE_NAME//要判断的文件名返回值:可以直接浏览则返回true,否则返回false。4.6.10is_media函数原型:is_media($FILE_NAME)功能描述:根据附件名称判断该类型的文件是否是媒体文件,如视频、音频文件等。参数:$FILE_NAME//要判断的文件名返回值:RealPlayer播放类型返回1,如rm、rmvb等MediaPlayer播放类型返回2,如wmv、mpeg等可直接在浏览器里打开的类型返回3,如图片、pdf、html等Flash播放类型返回4,如flv,fla等其它返回04.6.11dir_size函数原型:dir_size($dir)功能描述:根据目录路径返回其下属子目录和文件的大小。参数:$dir//服务器目录路径,如D:/MYOA返回值:目录大小,单位字节。4.6.12delete_dir函数原型:delete_dir($DIR,$RECYCLE=true,$MODULE="")功能描述:根据目录路径删除该目录及其所有下属子目录和文件。参数:$DIR//服务器目录路径,如D:/MYOA$RECYCLE//删除目录和文件前,是否放到oa指定的回收目录,true放到回收目录$MODULE//指定回收目录的模块代码返回值:无4.6.13attach_sub_dir函数原型:attach_sub_dir()功能描述:根据程序路径判断其所属模块。参数:无返回值:附件所属模块代码,如在/general/email/new/submit.php中调用该函数则返回email。4.6.14attach_real_path函数原型:attach_real_path($ATTACHMENT_ID,$ATTACHMENT_NAME,$MODULE="")功能描述:根据附件的ID、名称等获取该附件在服务器上存储的物理路径。参数:$ATTACHMENT_ID//附件ID$ATTACHMENT_NAME//附件名称$MODULE//附件所述模块代码返回值:附件在服务器上的物理路径,如D:/MYOA/attach/email/1311/123456789.二次开发手册.doc。4.6.15attach_id_encode函数原型:attach_id_encode($ATTACHMENT_ID,$ATTACHMENT_NAME)功能描述:根据附件的真实ID和名称获取在前台代码中显示的ID。参数:$ATTACHMENT_ID//附件ID$ATTACHMENT_NAME//附件名称返回值:经过加密处理的ID。4.6.16attach_id_decode函数原型:attach_id_decode($ATTACHMENT_ID,$ATTACHMENT_NAME)功能描述:根据附件的加密ID和真实名称获取真实ID。参数:$ATTACHMENT_ID//附件加密ID$ATTACHMENT_NAME//附件真实名称返回值:附件的真实ID。4.6.17td_copy函数原型:td_copy($source,$dest)功能描述:拷贝文件。参数:$source//要复制的文件$dest//复制文件的目标路径返回值:成功则返回true,否则返回FALSE4.6.18td_rename函数原型:td_rename($oldname,$newname)功能描述:重命名文件或目录。参数:$oldname//要重命名的文件或目录$newname//文件或目录的新名称返回值:成功则返回true,否则返回FALSE4.6.19td_move_uploaded_file函数原型:td_move_uploaded_file($filename,$destination)功能描述:将上传的文件移动到新位置。参数:$filename//要移动的文件$destination//文件的新位置返回值:成功则返回true,否则返回false4.6.20td_file_put_contents函数原型:td_file_put_contents($filename,$data,$flag=FALSE)功能描述:把一个字符串写入文件中。参数:$filename//要写入数据的文件$data//要写入的数据$flag//如何打开/写入文件,一般为默认即可返回值:写入到文件内数据的字节数4.6.21add_attach_module函数原型:add_attach_module($MODULE,$MODULE_NAME="")功能描述:在数据库attachment_module表中增加一条模块记录。参数:$MODULE//附件所属模块代码$MODULE_NAME//附件所属模块名称返回值:无4.6.22attach_module_id函数原型:attach_module_id($MODULE)功能描述:根据模块名称取得attachment_module表中模块的id参数:$MODULE//附件所属模块代码返回值:attachment_module表中模块的id4.6.23attach_sign_key函数原型:attach_sign_key($ATTACHMENT_ID,$ATTACHMENT_NAME,$ID_IS_REAL=false)功能描述:获取office文档的签章的密钥参数:$ATTACHMENT_ID//附件的ID$ATTACHMENT_NAME//附件的名称$ID_IS_REAL//$ATTACHMENT_ID是否是真实ID返回值:Office文档返回签章密钥,其他文件返回04.6.24attach_sign_key_netdisk函数原型:attach_sign_key_netdisk($FILE_PATH)功能描述:通过网络硬盘信息,获取office文档的签章的密钥参数:$FILE_PATH//通过网路硬盘信息获得的附件在服务器上存储的物理路径返回值:Office文档返回签章密钥,其他文件返回04.6.25attach_real_path_netdisk函数原型:attach_real_path_netdisk($DISK_ID,$ATTACH_DIR,$ATTACH_NAME="")功能描述:通过网络硬盘获取附件在服务器上存储的物理路径参数:$DISK_ID//对应网络硬盘表中DISK_ID值$ATTACH_DIR//附件的路径$ATTACH_NAME//附件名称返回值:附件在服务器上存储的物理路径4.6.26cache_attach_para函数原型:cache_attach_para()功能描述:更新附件参数缓存参数:无返回值:无4.6.27attach_url函数原型:attach_url($ATTACHMENT_ID,$ATTACHMENT_NAME,$MODULE,$OTHER=array())功能描述:根据附件信息获得附件的相关链接地址,如下载、查看、阅读、编辑等参数:$ATTACHMENT_ID//附件ID$ATTACHMENT_NAME//附件名称$MODULE//附件所属模块代码$OTHER//office文档操作权限,默认不填返回值:附件链接地址数组,$URL_ARRAY=array(‘down’=>xxx,//下载‘rename’=>xxx,//重命名调用ReNameFile(attachment_id,attachment_name)‘delete’=>xxx,//删除,调用delete_attach(attachment_id,attachment_name)‘office_read’=>xxx,//阅读‘office_edit’=>xxx,//编辑‘office_preview’=>xxx,//Excel文件在线预览‘view’=>xxx,//图片等直接查看‘save’=>xxx,//转存,调用SaveFile(attachment_id,attachment_name));标准附件显示方式可以直接调用attach_link函数实现相关链接输出显示,如果需要直接获取附件的下载路径等信息,可调用attach_url函数获取相关链接地址数组。4.6.28attach_url_pda函数原型:attach_url_pda($ATTACHMENT_ID,$ATTACHMENT_NAME,$P,$MODULE)功能描述:根据附件信息获得附件操作时的跳转路径,pda访问时参数:$ATTACHMENT_ID//附件ID$ATTACHMENT_NAME//附件名称$P//密钥$MODULE//模块所属模块代码返回值:附件链接地址数组,pda访问时URL_ARRAY=array(‘down’=>xxx,//下载);4.6.29attach_link函数原型:attach_link($ATTACHMENT_ID,$ATTACHMENT_NAME,$SHOW_SIZE=0,$DOWN_PRIV=1,$DOWN_PRIV_OFFICE=1,$EDIT_PRIV=0,$DELETE_PRIV=0,$NEW_LINE=1,$SAVE_FILE=1,$CREATE_IMAGE=0,$MODULE="",$IS_UTF8=false,$FORMAT=0)功能描述:附件的操作权限参数:$ATTACHMENT_ID//附件ID$ATTACHMENT_NAME//附件名称$SHOW_SIZE//是否显示文件大小$DOWN_PRIV//是否可以下载$DOWN_PRIV_OFFICE//office文档是否可以下载$EDIT_PRIV//是否可以编辑$DELETE_PRIV//文件是否可以删除,文件柜中文件时候可以重命名$NEW_LINE//操作按钮是否换行,默认1$SAVE_FILE//文件是否可以转存$CREATE_IMAGE//图片是否可以插入正文$MODULE//原附件所属模块代码,为空则根据程序路径自动判断断$IS_UTF8//是否是UTF8编码返回值:文件操作集合组成的按钮4.6.30attach_link_pda函数原型:attach_link_pda($ATTACHMENT_ID,$ATTACHMENT_NAME,$P,$MODULE="",$SHOW_SIZE=1,$DOWN_PRIV=1,$NEW_LINE=0)功能描述:pda访问时,附件的操作权限参数:$ATTACHMENT_ID//附件ID$ATTACHMENT_NAME//附件名称$P//$MODULE//原附件所属模块代码,为空则根据程序路径自动判断断$SHOW_SIZE//是否显示文件大小$DOWN_PRIV//文件是否可以下载$NEW_LINE//操作按钮是否换行,默认0返回值:pda访问时的文件操作集合组成的按钮4.6.31attach_url_old函数原型:attach_url_old($ATTACHMENT_ID,$ATTACHMENT_NAME)功能描述:根据附件信息获得附件操作时的跳转路径参数:$ATTACHMENT_ID//附件ID$ATTACHMENT_NAME//附件名称返回值:同attach_url,但只适用于webroot/attachment目录下存储的URL_ARRAY=array(‘down’=>xxx,//下载‘view’=>xxx,//查看);4.6.32upload_old函数原型:upload_old($ATTACHMENT,$ATTACHMENT_NAME)功能描述:上传附件。存储在webroot\attachment目录下的附件参数:$ATTACHMENT//表单File控件名称的前缀,一般为默认即可$ATTACHMENT_NAME//附件名称返回值:一个随机生成数,即附件的ID4.6.33add_attach_old函数原型:add_attach_old($SOURCE_FILE,$ATTACHMENT_ID,$ATTACHMENT_NAME)功能描述:添加附件(webroot\attachment目录下的附件)参数:$SOURCE_FILE//附件文件$ATTACHMENT_ID//附件ID$ATTACHMENT_NAME//附件名称返回值:成功返回ture,失败返回false4.6.34delete_attach_old函数原型:delete_attach_old($ATTACHMENT_ID,$ATTACHMENT_NAME)功能描述:删除附件,可以一次删除多个附件。删除的是webroot\attachment目录下的附件参数:$ATTACHMENT_ID//附件ID,多个附件ID用逗号隔开$ATTACHMENT_NAME//附件名称,多个附件名称用*号隔开返回值:无4.6.35add_attach函数原型:add_attach($SOURCE_FILE,$ATTACH_NAME,$MODULE="",$YM="",$ATTACH_SIGN=0,$ATTACH_ID="")功能描述:将附件转存,返回转存后得到的附件的新id参数:$SOURCE_FILE//附件文件$ATTACH_NAME//附件名称$MODULE//附件所属模块代码$YM//年月信息$ATTACH_SIGN//office文档签章的密钥$ATTACH_ID//附件ID返回值:新的附件的新ID4.6.36copy_attach_netdisk函数原型:copy_attach_netdisk($ATTACH_DIR,$ATTACH_NAME,$DISK_ID,$MODULE="")功能描述:通过网络硬盘方式复制一个或多个附件参数:$ATTACH_DIR//附件目录$ATTACH_NAME//附件名
本文档为【OA二次开发手册】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
xiaowu0912
多年轨道交通运输经验
格式:doc
大小:532KB
软件:Word
页数:0
分类:教育学
上传时间:2021-02-19
浏览量:5