global.func.php 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  1. <?php
  2. /**
  3. * 返回附件类型图标
  4. * @param $file 附件名称
  5. * @param $type png为大图标,gif为小图标
  6. */
  7. function file_icon($file,$type = 'png') {
  8. $ext_arr = array('doc','docx','ppt','xls','txt','pdf','mdb','jpg','gif','png','bmp','jpeg','rar','zip','swf','flv');
  9. $ext = fileext($file);
  10. if($type == 'png') {
  11. if($ext == 'zip' || $ext == 'rar') $ext = 'rar';
  12. elseif($ext == 'doc' || $ext == 'docx') $ext = 'doc';
  13. elseif($ext == 'xls' || $ext == 'xlsx') $ext = 'xls';
  14. elseif($ext == 'ppt' || $ext == 'pptx') $ext = 'ppt';
  15. elseif ($ext == 'flv' || $ext == 'swf' || $ext == 'rm' || $ext == 'rmvb') $ext = 'flv';
  16. else $ext = 'do';
  17. }
  18. if(in_array($ext,$ext_arr)) return 'statics/images/ext/'.$ext.'.'.$type;
  19. else return 'statics/images/ext/blank.'.$type;
  20. }
  21. /**
  22. * 附件目录列表,暂时没用
  23. * @param $dirpath 目录路径
  24. * @param $currentdir 当前目录
  25. */
  26. function file_list($dirpath,$currentdir) {
  27. $filepath = $dirpath.$currentdir;
  28. $list['list'] = glob($filepath.DIRECTORY_SEPARATOR.'*');
  29. if(!empty($list['list'])) rsort($list['list']);
  30. $list['local'] = str_replace(array(PC_PATH, DIRECTORY_SEPARATOR.DIRECTORY_SEPARATOR), array('',DIRECTORY_SEPARATOR), $filepath);
  31. return $list;
  32. }
  33. /**
  34. * flash上传初始化
  35. * 初始化swfupload上传中需要的参数
  36. * @param $module 模块名称
  37. * @param $catid 栏目id
  38. * @param $args 传递参数
  39. * @param $userid 用户id
  40. * @param $groupid 用户组id
  41. * @param $isadmin 是否为管理员模式
  42. */
  43. function initupload($module, $catid,$args, $userid, $groupid = '8', $isadmin = '0',$userid_flash='0'){
  44. $grouplist = getcache('grouplist','member');
  45. if($isadmin==0 && !$grouplist[$groupid]['allowattachment']) return false;
  46. extract(getswfinit($args));
  47. $siteid = param::get_cookie('siteid');
  48. $site_setting = get_site_setting($siteid);
  49. $file_size_limit = $site_setting['upload_maxsize'];
  50. $sess_id = SYS_TIME;
  51. $admin_url = pc_base::load_config('system','admin_url');
  52. $upload_path = empty($admin_url) ? APP_PATH : 'http://'.$admin_url.'/';
  53. $swf_auth_key = md5(pc_base::load_config('system','auth_key').$sess_id);
  54. $init = 'var swfu = \'\';
  55. $(document).ready(function(){
  56. swfu = new SWFUpload({
  57. flash_url:"'.JS_PATH.'swfupload/swfupload.swf?"+Math.random(),
  58. upload_url:"'.$upload_path.'index.php?m=attachment&c=attachments&a=swfupload&dosubmit=1",
  59. file_post_name : "Filedata",
  60. post_params:{"SWFUPLOADSESSID":"'.$sess_id.'","module":"'.$module.'","catid":"'.$_GET['catid'].'","userid":"'.$userid.'","siteid":"'.$siteid.'","dosubmit":"1","thumb_width":"'.$thumb_width.'","thumb_height":"'.$thumb_height.'","watermark_enable":"'.$watermark_enable.'","filetype_post":"'.$file_types_post.'","swf_auth_key":"'.$swf_auth_key.'","isadmin":"'.$isadmin.'","groupid":"'.$groupid.'","userid_flash":"'.$userid_flash.'"},
  61. file_size_limit:"'.$file_size_limit.'",
  62. file_types:"'.$file_types.'",
  63. file_types_description:"All Files",
  64. file_upload_limit:"'.$file_upload_limit.'",
  65. custom_settings : {progressTarget : "fsUploadProgress",cancelButtonId : "btnCancel"},
  66. button_image_url: "",
  67. button_width: 75,
  68. button_height: 28,
  69. button_placeholder_id: "buttonPlaceHolder",
  70. button_text_style: "",
  71. button_text_top_padding: 3,
  72. button_text_left_padding: 12,
  73. button_window_mode: SWFUpload.WINDOW_MODE.TRANSPARENT,
  74. button_cursor: SWFUpload.CURSOR.HAND,
  75. file_dialog_start_handler : fileDialogStart,
  76. file_queued_handler : fileQueued,
  77. file_queue_error_handler:fileQueueError,
  78. file_dialog_complete_handler:fileDialogComplete,
  79. upload_progress_handler:uploadProgress,
  80. upload_error_handler:uploadError,
  81. upload_success_handler:uploadSuccess,
  82. upload_complete_handler:uploadComplete
  83. });
  84. })';
  85. return $init;
  86. }
  87. /**
  88. * 获取站点配置信息
  89. * @param $siteid 站点id
  90. */
  91. function get_site_setting($siteid) {
  92. $siteinfo = getcache('sitelist', 'commons');
  93. return string2array($siteinfo[$siteid]['setting']);
  94. }
  95. /**
  96. * 读取swfupload配置类型
  97. * @param array $args flash上传配置信息
  98. */
  99. function getswfinit($args) {
  100. $siteid = get_siteid();
  101. $site_setting = get_site_setting($siteid);
  102. $site_allowext = $site_setting['upload_allowext'];
  103. $args = explode(',',$args);
  104. $arr['file_upload_limit'] = intval($args[0]) ? intval($args[0]) : '8';
  105. $args['1'] = ($args[1]!='') ? $args[1] : $site_allowext;
  106. $arr_allowext = explode('|', $args[1]);
  107. foreach($arr_allowext as $k=>$v) {
  108. $v = '*.'.$v;
  109. $array[$k] = $v;
  110. }
  111. $upload_allowext = implode(';', $array);
  112. $arr['file_types'] = $upload_allowext;
  113. $arr['file_types_post'] = $args[1];
  114. $arr['allowupload'] = intval($args[2]);
  115. $arr['thumb_width'] = intval($args[3]);
  116. $arr['thumb_height'] = intval($args[4]);
  117. $arr['watermark_enable'] = ($args[5]=='') ? 1 : intval($args[5]);
  118. return $arr;
  119. }
  120. /**
  121. * 判断是否为图片
  122. */
  123. function is_image($file) {
  124. $ext_arr = array('jpg','gif','png','bmp','jpeg','tiff');
  125. $ext = fileext($file);
  126. return in_array($ext,$ext_arr) ? $ext_arr :false;
  127. }
  128. /**
  129. * 判断是否为视频
  130. */
  131. function is_video($file) {
  132. $ext_arr = array('rm','mpg','avi','mpeg','wmv','flv','asf','rmvb');
  133. $ext = fileext($file);
  134. return in_array($ext,$ext_arr) ? $ext_arr :false;
  135. }
  136. ?>