PageRenderTime 82ms CodeModel.GetById 24ms RepoModel.GetById 1ms app.codeStats 0ms

/helpers/time.php

https://github.com/MilkZoft/zan
PHP | 435 lines | 435 code | 0 blank | 0 comment | 1 complexity | 90f1b4103ce32476d4282f5642d77a98 MD5 | raw file
Possible License(s): LGPL-2.1
  1. <?php
  2. if (!defined("ACCESS")) {
  3. die("Error: You don't have permission to access here...");
  4. }
  5. if (!function_exists("getHour")) {
  6. function getHour($date)
  7. {
  8. $date = explode(" ", $date);
  9. $time = (count($date) > 1) ? explode(":", $date[1]) : explode(":", $date[0]);
  10. $hours = (int) $time[0];
  11. $minutes = $time[1];
  12. if ($hours > 12) {
  13. $day = "P.M.";
  14. if ($hours === 13) {
  15. $hour = "01";
  16. } elseif ($hours === 14) {
  17. $hour = "02";
  18. } elseif ($hours === 15) {
  19. $hour = "03";
  20. } elseif ($hours === 16) {
  21. $hour = "04";
  22. } elseif ($hours === 17) {
  23. $hour = "05";
  24. } elseif ($hours === 18) {
  25. $hour = "06";
  26. } elseif ($hours === 19) {
  27. $hour = "07";
  28. } elseif ($hours === 20) {
  29. $hour = "08";
  30. } elseif ($hours === 21) {
  31. $hour = "09";
  32. } elseif ($hours === 22) {
  33. $hour = "10";
  34. } elseif ($hours === 23) {
  35. $hour = "11";
  36. } elseif ($hours === 00) {
  37. $hour = "12";
  38. }
  39. } else {
  40. $day = "A.M.";
  41. $hour = $hours;
  42. }
  43. return "$hour : $minutes $day";
  44. }
  45. }
  46. if (!function_exists("getSeconds")) {
  47. function getSeconds($time)
  48. {
  49. return intval($time / 1000) ." ". __("seconds");
  50. }
  51. }
  52. if (!function_exists("getTime")) {
  53. function getTime($date)
  54. {
  55. return strtotime($date);
  56. }
  57. }
  58. if (!function_exists("howLong")) {
  59. function howLong($value)
  60. {
  61. $language = whichLanguage();
  62. $default = "H:i:s j-n-Y";
  63. if (stristr($value, "-") or stristr($value, ":") or stristr($value, ".") or stristr($value, ",")) {
  64. if (stristr($value, "[")) {
  65. $parts = explode("[", $value);
  66. $value = trim($parts[0]);
  67. $format = str_replace("]", "", $parts[1]);
  68. } else {
  69. $format = $default;
  70. }
  71. $value = str_replace("-", " ", $value);
  72. $value = str_replace(":", " ", $value);
  73. $value = str_replace(".", " ", $value);
  74. $value = str_replace(",", " ", $value);
  75. $number = explode(" ", $value);
  76. $format = str_replace("-", " ", $format);
  77. $format = str_replace(":", " ", $format);
  78. $format = str_replace(".", " ", $format);
  79. $format = str_replace(",", " ", $format);
  80. $format = str_replace("d", "j", $format);
  81. $format = str_replace("m", "n", $format);
  82. $format = str_replace("G", "H", $format);
  83. $letter = explode(" ", $format);
  84. $relation[$letter[0]] = $number[0];
  85. $relation[$letter[1]] = $number[1];
  86. $relation[$letter[2]] = $number[2];
  87. $relation[$letter[3]] = $number[3];
  88. $relation[$letter[4]] = $number[4];
  89. $relation[$letter[5]] = $number[5];
  90. $value = mktime($relation["H"], $relation["i"], $relation["s"], $relation["n"], $relation["j"], $relation["Y"]);
  91. }
  92. $time = time() - $value;
  93. if ($time > 30242054.045) {
  94. $date = date("d/M/Y", $value);
  95. $parts = explode("/", $date);
  96. $month = getMonth($parts[1], $language);
  97. if ($language == "Spanish") {
  98. $date = __("on") ." ". $parts[0] ."/". $month ."/". $parts[2];
  99. } else {
  100. $date = __("on") ." ". $month ."/". $parts[0] ."/". $parts[2];
  101. }
  102. } elseif ($time < 30242054.045) {
  103. $rTime = round($time / 2629743.83);
  104. if ($rTime > 1) {
  105. if ($language === "English") {
  106. $date = $rTime ." months ago";
  107. } elseif ($language === "Spanish") {
  108. $date = "hace ". $rTime ." meses";
  109. } elseif ($language === "French") {
  110. $date = "il ya ". $rTime ." mois";
  111. } elseif ($language === "Portuguese") {
  112. $date = "há ". $rTime ." meses";
  113. } elseif ($language === "Italian") {
  114. $date = $rTime ." mesi";
  115. }
  116. } else {
  117. if ($language === "English") {
  118. $date = $rTime ." month ago";
  119. } elseif ($language === "Spanish") {
  120. $date = "hace ". $rTime ." mes";
  121. } elseif ($language === "French") {
  122. $date = "il ya ". $rTime ." mois";
  123. } elseif ($language === "Portuguese") {
  124. $date = $rTime ." m&ecirc;s atr&aacute;s";
  125. } elseif ($language === "Italian") {
  126. $date = $rTime ." mese fa";
  127. }
  128. }
  129. }
  130. if ($time < 2116800) {
  131. $rTime = round($time / 604800);
  132. if ($rTime > 1) {
  133. if ($language === "English") {
  134. $date = $rTime ." weeks ago";
  135. } elseif ($language === "Spanish") {
  136. $date = "hace ". $rTime ." semanas";
  137. } elseif ($language === "French") {
  138. $date = "il ya ". $rTime ." semaines";
  139. } elseif ($language === "Portuguese") {
  140. $date = $rTime ." semanas atr&aacute;s";
  141. } elseif ($language === "Italian") {
  142. $date = $rTime ." settimane fa";
  143. }
  144. } else {
  145. if ($language === "English") {
  146. $date = $rTime ." week ago";
  147. } elseif ($language === "Spanish") {
  148. $date = "hace ". $rTime ." semana";
  149. } elseif ($language === "French") {
  150. $date = "il ya ". $rTime ." semaine";
  151. } elseif ($language === "Portuguese") {
  152. $date = $rTime ." semana atr&aacute;s";
  153. } elseif ($language === "Italian") {
  154. $date = $rTime ." settimana fa";
  155. }
  156. }
  157. }
  158. if ($time < 561600) {
  159. $rTime = (int) round($time / 86400);
  160. if ($rTime === 1) {
  161. $date = __("yesterday");
  162. }
  163. if ($rTime === 2) {
  164. $date = __("before yesterday");
  165. }
  166. if ($rTime > 2) {
  167. if ($language === "English") {
  168. $date = $rTime ." days ago";
  169. } elseif ($language === "Spanish") {
  170. $date = "hace ". $rTime ." d&iacute;as";
  171. } elseif ($language === "French") {
  172. $date = "il ya ". $rTime ." jours";
  173. } elseif ($language === "Portuguese") {
  174. $date = $rTime ." dias atr&aacute;s";
  175. } elseif ($language === "Italian") {
  176. $date = $rTime ." giorni fa";
  177. }
  178. }
  179. }
  180. if ($time < 84600) {
  181. $rTime = round($time / 3600);
  182. if ($rTime > 1) {
  183. if ($language === "English") {
  184. $date = $rTime ." hours ago";
  185. } elseif ($language === "Spanish") {
  186. $date = "hace ". $rTime ." horas";
  187. } elseif ($language === "French") {
  188. $date = "il ya ". $rTime ." heures";
  189. } elseif ($language === "Portuguese") {
  190. $date = $rTime ." horas atr&aacute;s";
  191. } elseif ($language === "Italian") {
  192. $date = $rTime ." ore fa";
  193. }
  194. } else {
  195. if ($language === "English") {
  196. $date = $rTime ." hour ago";
  197. } elseif ($language === "Spanish") {
  198. $date = "hace ". $rTime ." hora";
  199. } elseif ($language === "French") {
  200. $date = "il ya ". $rTime ." heures";
  201. } elseif ($language === "Portuguese") {
  202. $date = $rTime ." hora atr&aacute;s";
  203. } elseif ($language === "Italian") {
  204. $date = $rTime ." ora fa";
  205. }
  206. }
  207. if ($time > 4200 and $time < 5400) {
  208. $date = __("more than an hour ago");
  209. }
  210. }
  211. if ($time < 3570) {
  212. $rTime = round($time / 60);
  213. if ($rTime > 1) {
  214. if ($language === "English") {
  215. $date = $rTime ." minutes ago";
  216. } elseif ($language === "Spanish") {
  217. $date = "hace ". $rTime ." minutos";
  218. } elseif ($language === "French") {
  219. $date = "il ya ". $rTime ." minutes";
  220. } elseif ($language === "Portuguese") {
  221. $date = $rTime ." minutos atr&aacute;s";
  222. } elseif ($language === "Italian") {
  223. $date = $rTime ." minuti fa";
  224. }
  225. } else {
  226. if ($language === "English") {
  227. $date = $rTime ." minute ago";
  228. } elseif ($language === "Spanish") {
  229. $date = "hace ". $rTime ." minuto";
  230. } elseif ($language === "French") {
  231. $date = "il ya ". $rTime ." minute";
  232. } elseif ($language === "Portuguese") {
  233. $date = $rTime ." minuto atr&aacute;s";
  234. } elseif ($language === "Italian") {
  235. $date = $rTime ." minuto fa";
  236. }
  237. }
  238. if ($time < 60) {
  239. if ($language === "English") {
  240. $date = $time ." seconds ago";
  241. } elseif ($language === "Spanish") {
  242. $date = "hace ". $time ." segundos";
  243. } elseif ($language === "French") {
  244. $date = "il ya ". $time ." secondes";
  245. } elseif ($language === "Portuguese") {
  246. $date = $time ." segundos atr&aacute;s";
  247. } elseif ($language === "Italian") {
  248. $date = $time ." secondi fa";
  249. }
  250. }
  251. if ($time <= 3) {
  252. $date = __("now");
  253. }
  254. }
  255. return $date;
  256. }
  257. }
  258. if (!function_exists("month")) {
  259. function month($month)
  260. {
  261. $month = (int) $month;
  262. if ($month === 1) {
  263. return __("January");
  264. } elseif ($month === 2) {
  265. return __("February");
  266. } elseif ($month === 3) {
  267. return __("March");
  268. } elseif ($month === 4) {
  269. return __("April");
  270. } elseif ($month === 5) {
  271. return __("May");
  272. } elseif ($month === 6) {
  273. return __("June");
  274. } elseif ($month === 7) {
  275. return __("July");
  276. } elseif ($month === 8) {
  277. return __("August");
  278. } elseif ($month === 9) {
  279. return __("September");
  280. } elseif ($month === 10) {
  281. return __("October");
  282. } elseif ($month === 11) {
  283. return __("November");
  284. } elseif ($month === 12) {
  285. return __("December");
  286. }
  287. }
  288. }
  289. if (!function_exists("now")) {
  290. function now($format, $hour = false, $language = null)
  291. {
  292. $language = is_null($language) ? whichLanguage() : $language;
  293. if ($hour === true) {
  294. $time = time() + 7200;
  295. $hours = (int) date("H", $time);
  296. $minutes = date("i", $time);
  297. $seconds = date("s", $time);
  298. if ($hours > 12) {
  299. $hour = ($hours === 13) ? "01" : $hours;
  300. $hour = ($hours === 14) ? "02" : $hours;
  301. $hour = ($hours === 15) ? "03" : $hours;
  302. $hour = ($hours === 16) ? "04" : $hours;
  303. $hour = ($hours === 17) ? "05" : $hours;
  304. $hour = ($hours === 18) ? "06" : $hours;
  305. $hour = ($hours === 19) ? "07" : $hours;
  306. $hour = ($hours === 20) ? "08" : $hours;
  307. $hour = ($hours === 21) ? "09" : $hours;
  308. $hour = ($hours === 22) ? "10" : $hours;
  309. $hour = ($hours === 23) ? "11" : $hours;
  310. $hour = ($hours === 00) ? "12" : $hours;
  311. return "$hour:$minutes P.M.";
  312. }
  313. return "$hours:$minutes A.M.";
  314. }
  315. if ($format === 1) {
  316. return date("d") . SH . date("m") . SH . date("y");
  317. } elseif ($format === 2) {
  318. $day = __(date("l"));
  319. $month = __(date("F"));
  320. if ($language === "English") {
  321. return "$day, $month ". date("d") .", ". date("Y");
  322. } elseif ($language === "Spanish") {
  323. return "$day, ". date("d") ." de $month de ". date("Y");
  324. } elseif ($language === "French") {
  325. return "$day, ". date("d") ." $month ". date("Y");
  326. } else {
  327. return "$day, $month ". date("d") .", ". date("Y");
  328. }
  329. } elseif ($format === 3) {
  330. return date("d/m/Y H:i:s", time());
  331. } elseif ($format === 4) {
  332. return time();
  333. } elseif ($format === 5) {
  334. return strtotime($hour);
  335. } elseif ($format === 6) {
  336. return date("m/d/Y H:i:s", time());
  337. } elseif ($format === 7) {
  338. return date("Y-m-d H:i:s", time());
  339. } elseif ($format === 8) {
  340. return date("Y-m-d", time());
  341. } else {
  342. return date("d/m/Y", time());
  343. }
  344. }
  345. }
  346. if (!function_exists("getMonth")) {
  347. function getMonth($month, $language)
  348. {
  349. switch ($month) {
  350. case 'Jan':
  351. return ($language == "Spanish") ? "Ene" : $month;
  352. break;
  353. case 'Apr':
  354. return ($language == "Spanish") ? "Abr" : $month;
  355. break;
  356. case 'Aug':
  357. return ($language == "Spanish") ? "Ago" : $month;
  358. break;
  359. case 'Dec':
  360. return ($language == "Spanish") ? "Dic" : $month;
  361. break;
  362. default:
  363. return $month;
  364. }
  365. }
  366. }
  367. if (!function_exists("getAllDays")) {
  368. function getAllDays($day, $endDate)
  369. {
  370. $currentDate = strtotime($day, strtotime(now(8)));
  371. $endDate = strtotime($endDate, strtotime(now(8)));
  372. $days = array();
  373. while ($currentDate < $endDate) {
  374. $day = date("l d \of F Y", $currentDate);
  375. $day = str_replace("Saturday", __("Saturday"), $day);
  376. $day = str_replace("January", __("January"), $day);
  377. $day = str_replace("February", __("February"), $day);
  378. $day = str_replace("March", __("March"), $day);
  379. $day = str_replace("April", __("April"), $day);
  380. $day = str_replace("May", __("May"), $day);
  381. $day = str_replace("June", __("June"), $day);
  382. $day = str_replace("July", __("July"), $day);
  383. $day = str_replace("August", __("August"), $day);
  384. $day = str_replace("September", __("September"), $day);
  385. $day = str_replace("October", __("October"), $day);
  386. $day = str_replace("November", __("November"), $day);
  387. $day = str_replace("December", __("December"), $day);
  388. $day = str_replace("of", __("of"), $day);
  389. $days[] = $day;
  390. $currentDate = strtotime("+1 week", $currentDate);
  391. }
  392. return $days;
  393. }
  394. }