PageRenderTime 25ms CodeModel.GetById 24ms RepoModel.GetById 0ms app.codeStats 0ms

/system/application/libraries/functions.php

http://xtraupload.googlecode.com/
PHP | 280 lines | 219 code | 36 blank | 25 comment | 24 complexity | ab4c2630f49d35aee9d64a1be97cf9fe MD5 | raw file
Possible License(s): Apache-2.0
  1. <?php if (!defined('BASEPATH')) exit('No direct script access allowed');
  2. /**
  3. * XtraUpload
  4. *
  5. * A turn-key open source web 2.0 PHP file uploading package requiring PHP v5
  6. *
  7. * @package XtraUpload
  8. * @author Matthew Glinski
  9. * @copyright Copyright (c) 2006, XtraFile.com
  10. * @license http://xtrafile.com/docs/license
  11. * @link http://xtrafile.com
  12. * @since Version 2.0
  13. * @filesource
  14. */
  15. // ------------------------------------------------------------------------
  16. /**
  17. * XtraUpload Functions Library
  18. *
  19. * @package XtraUpload
  20. * @subpackage Library
  21. * @category Library
  22. * @author Matthew Glinski
  23. * @link http://xtrafile.com/docs/pages/files
  24. */
  25. // ------------------------------------------------------------------------
  26. class Functions
  27. {
  28. function getRandId($length=10)
  29. {
  30. $password = "";
  31. $vals = 'abcdefghijklmnopqrstuvwxyz'.strtoupper('abcdefghijklmnopqrstuvwxyz').'0123456789_-';
  32. while (strlen($password) < $length)
  33. {
  34. $num = mt_rand() % strlen($vals);
  35. if($num > 60)
  36. {
  37. $num = mt_rand(0, 60);
  38. }
  39. $password .= substr($vals, $num+4, 1);
  40. }
  41. return $password;
  42. }
  43. public function genPass($length, $caps=true)
  44. {
  45. $password = "";
  46. if(!$caps)
  47. {
  48. $vals = 'abchefghjkmnpqrstuvwxyz0123456789';
  49. }
  50. else
  51. {
  52. $vals = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabchefghjkmnpqrstuvwxyz0123456789';
  53. }
  54. $length;
  55. while (strlen($password) < $length)
  56. {
  57. mt_getrandmax();
  58. $num = rand() % strlen($vals);
  59. $password .= substr($vals, $num+4, 1);
  60. }
  61. return $password;
  62. }
  63. function checkLogin($send='/user/login')
  64. {
  65. $CI =& get_instance();
  66. if(!$CI->session->userdata('id'))
  67. {
  68. redirect($send);
  69. exit();
  70. }
  71. }
  72. function elipsis($str, $count = 13)
  73. {
  74. if(strlen($str) <= ($count*3))
  75. {
  76. return $str;
  77. }
  78. $parts = str_split($str, 3);
  79. $i=0;
  80. $return='';
  81. while(($count-3) >= ($i))
  82. {
  83. $return .= $parts[$i];
  84. $i++;
  85. }
  86. $return .= '&hellip;';
  87. $return .= $parts[(count($parts) - 3)].$parts[(count($parts) - 2)].end($parts);
  88. return $return;
  89. }
  90. function is_image($file)
  91. {
  92. $img_ext = array('jpg', 'gif', 'jpeg', 'png');
  93. $file_ext = end(explode('.', basename($file)));
  94. if (in_array(strtolower($file_ext), $img_ext))
  95. {
  96. return TRUE;
  97. }
  98. else
  99. {
  100. return FALSE;
  101. }
  102. }
  103. function getFileTypeIcon($type)
  104. {
  105. if(file_exists('./img/files/'.$type.'.png'))
  106. {
  107. return $type.'.png';
  108. }
  109. else
  110. {
  111. return 'default.png';
  112. }
  113. }
  114. function getJSONFileTypeList()
  115. {
  116. return '"3gp", "7z", "aca", "ai", "api", "app", "as", "ascx", "asmx", "asp", "aspx", "avi", "avs", "axt", "bash", "bat", "bmp", "c", "cab", "cal", "cat", "cda", "cf", "chm", "cnf", "conf", "config", "cpl", "cpp", "crt", "cs", "csproj", "css", "csv", "cue", "dar", "db", "dbp", "dem", "disco", "dll", "dng", "doc", "dot", "dpk", "dpr", "dps", "dtq", "dun", "etp", "exe", "fdb", "fhf", "fla", "flv", "fnd", "fon", "gif", "gz", "h", "hlp", "hol", "htm", "html", "htt", "hxc", "hxi", "hxk", "hxs", "hxt", "icm", "ini", "ins", "iqy", "iso", "its", "jar", "java", "jbf", "job", "jpeg", "jpf", "jpg", "js", "lnk", "m3u", "m3v", "m4a", "m4p", "m4v", "mad", "map", "mapup", "mat", "mdb", "mdf", "mht", "mml", "mov", "mp3", "mp4", "mpeg", "mpg", "msc", "msg", "msi", "ncd", "nfo", "none", "nrg", "ogg", "ost", "otf", "pas", "pdf", "pdi", "pet", "pfm", "php", "pif", "plg", "pmc", "", "pot", "ppk", "pps", "ppt", "prf", "psd", "psp", "pub", "qbb", "rar", "rb", "rc", "rct", "rdp", "refresh", "reg", "res", "resx", "rmvb", "rss", "rtf", "sdl", "sea", "sh", "shs", "sln", "sql", "suo", "swf", "tar", "tdf", "tdl", "theme", "tiff", "ttf", "txt", "url", "vb", "vbproj", "vbs", "vcard", "vcf", "vob", "vsmacros", "wab", "wma", "wmv", "wpl", "wri", "wsc", "xhtml", "xla", "xls", "xml", "xpi", "xsd", "xsl", "xslt", "xsn", "zip"';
  117. }
  118. function getFilesizePrefix($size, $mode = 0)
  119. {
  120. $times = 0;
  121. $comma = '.';
  122. while (1024 < $size)
  123. {
  124. ++$times;
  125. $size = $size / 1024;
  126. }
  127. $size2 = floor ($size);
  128. $rest = $size - $size2;
  129. $rest = $rest * 100;
  130. $decimal = floor ($rest);
  131. $addsize = $decimal;
  132. if ($decimal < 10)
  133. {
  134. $addsize .= '0';
  135. }
  136. if ($times == 0)
  137. {
  138. $addsize = $size2;
  139. }
  140. else
  141. {
  142. $addsize = $size2 . $comma . substr ($addsize, 0, 2);
  143. }
  144. switch ($times)
  145. {
  146. case 0:
  147. {
  148. $mega = ' Byte';
  149. break;
  150. }
  151. case 1:
  152. {
  153. $mega = ' KB';
  154. break;
  155. }
  156. case 2:
  157. {
  158. $mega = ' MB';
  159. break;
  160. }
  161. case 3:
  162. {
  163. $mega = ' GB';
  164. break;
  165. }
  166. case 4:
  167. {
  168. $mega = ' TB';
  169. break;
  170. }
  171. case 5:
  172. {
  173. $mega = ' PB';
  174. break;
  175. }
  176. case 6:
  177. {
  178. $mega = ' EB';
  179. break;
  180. }
  181. case 7:
  182. {
  183. $mega = ' ZB';
  184. break;
  185. }
  186. case 8:
  187. {
  188. $mega = ' YB';
  189. break;
  190. }
  191. }
  192. if (($mode == 1 AND $pos = strrpos ($addsize, '.') !== false))
  193. {
  194. $addsize = substr ($addsize, 0, $pos);
  195. }
  196. $addsize .= $mega;
  197. return $addsize;
  198. }
  199. public function parseVersion($v, $details=true)
  200. {
  201. if(!stristr($v, ','))
  202. {
  203. return 'Not Valid Version Number!';
  204. }
  205. $parts = explode(',',$v);
  206. $version = $parts[0];
  207. if($details)
  208. {
  209. $part = (int)str_replace('.','',$parts[1]);
  210. if($part < 10)
  211. {
  212. $ver = explode('.',$parts[1]);
  213. $part = (int)($ver[3]);
  214. $version .= ' [ALPHA-'.round($part / 1).']';
  215. }
  216. else if($part < 100)
  217. {
  218. $ver = explode('.',$parts[1]);
  219. $part = (int)($ver[2].'0');
  220. $version .= ' [BETA-'.round($part / 10).']';
  221. }
  222. else if($part < 1000)
  223. {
  224. $ver = explode('.',$parts[1]);
  225. $part = (int)($ver[1].'00');
  226. $version .= ' [RC-'.round($part / 100).']';
  227. }
  228. else
  229. {
  230. if($part > 1000)
  231. {
  232. //$version .= '; Build: '.(int)substr($part,1,3);
  233. $version .= ' r'.(int)substr($part,1,3).' STABLE';
  234. }
  235. else
  236. {
  237. $version .= ' [STABLE]';
  238. }
  239. }
  240. }
  241. return $version;
  242. }
  243. }
  244. ?>