1: <?php
2:
3: if ( ! function_exists('action'))
4: {
5: 6: 7: 8: 9: 10: 11: 12:
13: function action($name, $parameters = array(), $absolute = true)
14: {
15: return app('url')->action($name, $parameters, $absolute);
16: }
17: }
18:
19: if ( ! function_exists('app'))
20: {
21: 22: 23: 24: 25: 26:
27: function app($make = null)
28: {
29: if ( ! is_null($make))
30: {
31: return app()->make($make);
32: }
33:
34: return Illuminate\Support\Facades\Facade::getFacadeApplication();
35: }
36: }
37:
38: if ( ! function_exists('app_path'))
39: {
40: 41: 42: 43: 44:
45: function app_path()
46: {
47: return app('path');
48: }
49: }
50:
51: if ( ! function_exists('array_add'))
52: {
53: 54: 55: 56: 57: 58: 59: 60:
61: function array_add($array, $key, $value)
62: {
63: if ( ! isset($array[$key])) $array[$key] = $value;
64:
65: return $array;
66: }
67: }
68:
69: if ( ! function_exists('array_build'))
70: {
71: 72: 73: 74: 75: 76: 77:
78: function array_build($array, Closure $callback)
79: {
80: $results = array();
81:
82: foreach ($array as $key => $value)
83: {
84: list($innerKey, $innerValue) = call_user_func($callback, $key, $value);
85:
86: $results[$innerKey] = $innerValue;
87: }
88:
89: return $results;
90: }
91: }
92:
93: if ( ! function_exists('array_divide'))
94: {
95: 96: 97: 98: 99: 100:
101: function array_divide($array)
102: {
103: return array(array_keys($array), array_values($array));
104: }
105: }
106:
107: if ( ! function_exists('array_dot'))
108: {
109: 110: 111: 112: 113: 114: 115:
116: function array_dot($array, $prepend = '')
117: {
118: $results = array();
119:
120: foreach ($array as $key => $value)
121: {
122: if (is_array($value))
123: {
124: $results = array_merge($results, array_dot($value, $prepend.$key.'.'));
125: }
126: else
127: {
128: $results[$prepend.$key] = $value;
129: }
130: }
131:
132: return $results;
133: }
134: }
135:
136: if ( ! function_exists('array_except'))
137: {
138: 139: 140: 141: 142: 143: 144:
145: function array_except($array, $keys)
146: {
147: return array_diff_key($array, array_flip((array) $keys));
148: }
149: }
150:
151: if ( ! function_exists('array_fetch'))
152: {
153: 154: 155: 156: 157: 158: 159:
160: function array_fetch($array, $key)
161: {
162: foreach (explode('.', $key) as $segment)
163: {
164: $results = array();
165:
166: foreach ($array as $value)
167: {
168: $value = (array) $value;
169:
170: $results[] = $value[$segment];
171: }
172:
173: $array = array_values($results);
174: }
175:
176: return array_values($results);
177: }
178: }
179:
180: if ( ! function_exists('array_first'))
181: {
182: 183: 184: 185: 186: 187: 188: 189:
190: function array_first($array, $callback, $default = null)
191: {
192: foreach ($array as $key => $value)
193: {
194: if (call_user_func($callback, $key, $value)) return $value;
195: }
196:
197: return value($default);
198: }
199: }
200:
201: if ( ! function_exists('array_flatten'))
202: {
203: 204: 205: 206: 207: 208:
209: function array_flatten($array)
210: {
211: $return = array();
212:
213: array_walk_recursive($array, function($x) use (&$return) { $return[] = $x; });
214:
215: return $return;
216: }
217: }
218:
219: if ( ! function_exists('array_forget'))
220: {
221: 222: 223: 224: 225: 226: 227:
228: function array_forget(&$array, $key)
229: {
230: $keys = explode('.', $key);
231:
232: while (count($keys) > 1)
233: {
234: $key = array_shift($keys);
235:
236: if ( ! isset($array[$key]) or ! is_array($array[$key]))
237: {
238: return;
239: }
240:
241: $array =& $array[$key];
242: }
243:
244: unset($array[array_shift($keys)]);
245: }
246: }
247:
248: if ( ! function_exists('array_get'))
249: {
250: 251: 252: 253: 254: 255: 256: 257:
258: function array_get($array, $key, $default = null)
259: {
260: if (is_null($key)) return $array;
261:
262: if (isset($array[$key])) return $array[$key];
263:
264: foreach (explode('.', $key) as $segment)
265: {
266: if ( ! is_array($array) or ! array_key_exists($segment, $array))
267: {
268: return value($default);
269: }
270:
271: $array = $array[$segment];
272: }
273:
274: return $array;
275: }
276: }
277:
278: if ( ! function_exists('array_only'))
279: {
280: 281: 282: 283: 284: 285: 286:
287: function array_only($array, $keys)
288: {
289: return array_intersect_key($array, array_flip((array) $keys));
290: }
291: }
292:
293: if ( ! function_exists('array_pluck'))
294: {
295: 296: 297: 298: 299: 300: 301:
302: function array_pluck($array, $key)
303: {
304: return array_map(function($value) use ($key)
305: {
306: return is_object($value) ? $value->$key : $value[$key];
307:
308: }, $array);
309: }
310: }
311:
312: if ( ! function_exists('array_pull'))
313: {
314: 315: 316: 317: 318: 319: 320:
321: function array_pull(&$array, $key)
322: {
323: $value = array_get($array, $key);
324:
325: array_forget($array, $key);
326:
327: return $value;
328: }
329: }
330:
331: if ( ! function_exists('array_set'))
332: {
333: 334: 335: 336: 337: 338: 339: 340: 341: 342:
343: function array_set(&$array, $key, $value)
344: {
345: if (is_null($key)) return $array = $value;
346:
347: $keys = explode('.', $key);
348:
349: while (count($keys) > 1)
350: {
351: $key = array_shift($keys);
352:
353:
354:
355:
356: if ( ! isset($array[$key]) or ! is_array($array[$key]))
357: {
358: $array[$key] = array();
359: }
360:
361: $array =& $array[$key];
362: }
363:
364: $array[array_shift($keys)] = $value;
365: }
366: }
367:
368: if ( ! function_exists('array_sort'))
369: {
370: 371: 372: 373: 374: 375: 376:
377: function array_sort($array, Closure $callback)
378: {
379: return Illuminate\Support\Collection::make($array)->sortBy($callback)->all();
380: }
381: }
382:
383: if ( ! function_exists('asset'))
384: {
385: 386: 387: 388: 389: 390: 391:
392: function asset($path, $secure = null)
393: {
394: return app('url')->asset($path, $secure);
395: }
396: }
397:
398: if ( ! function_exists('base_path'))
399: {
400: 401: 402: 403: 404:
405: function base_path()
406: {
407: return app()->make('path.base');
408: }
409: }
410:
411: if ( ! function_exists('camel_case'))
412: {
413: 414: 415: 416: 417: 418:
419: function camel_case($value)
420: {
421: return Illuminate\Support\Str::camel($value);
422: }
423: }
424:
425: if ( ! function_exists('class_basename'))
426: {
427: 428: 429: 430: 431: 432:
433: function class_basename($class)
434: {
435: $class = is_object($class) ? get_class($class) : $class;
436:
437: return basename(str_replace('\\', '/', $class));
438: }
439: }
440:
441: if ( ! function_exists('csrf_token'))
442: {
443: 444: 445: 446: 447:
448: function csrf_token()
449: {
450: $session = app('session');
451:
452: if (isset($session))
453: {
454: return $session->getToken();
455: }
456: else
457: {
458: throw new RuntimeException("Application session store not set.");
459: }
460: }
461: }
462:
463: if ( ! function_exists('dd'))
464: {
465: 466: 467: 468: 469: 470:
471: function dd()
472: {
473: array_map(function($x) { var_dump($x); }, func_get_args()); die;
474: }
475: }
476:
477: if ( ! function_exists('e'))
478: {
479: 480: 481: 482: 483: 484:
485: function e($value)
486: {
487: return htmlentities($value, ENT_QUOTES, 'UTF-8', false);
488: }
489: }
490:
491: if ( ! function_exists('ends_with'))
492: {
493: 494: 495: 496: 497: 498: 499:
500: function ends_with($haystack, $needle)
501: {
502: return Illuminate\Support\Str::endsWith($haystack, $needle);
503: }
504: }
505:
506: if ( ! function_exists('head'))
507: {
508: 509: 510: 511: 512: 513:
514: function head($array)
515: {
516: return reset($array);
517: }
518: }
519:
520: if ( ! function_exists('link_to'))
521: {
522: 523: 524: 525: 526: 527: 528: 529: 530:
531: function link_to($url, $title = null, $attributes = array(), $secure = null)
532: {
533: return app('html')->link($url, $title, $attributes, $secure);
534: }
535: }
536:
537: if ( ! function_exists('last'))
538: {
539: 540: 541: 542: 543: 544:
545: function last($array)
546: {
547: return end($array);
548: }
549: }
550:
551: if ( ! function_exists('link_to_asset'))
552: {
553: 554: 555: 556: 557: 558: 559: 560: 561:
562: function link_to_asset($url, $title = null, $attributes = array(), $secure = null)
563: {
564: return app('html')->linkAsset($url, $title, $attributes, $secure);
565: }
566: }
567:
568: if ( ! function_exists('link_to_route'))
569: {
570: 571: 572: 573: 574: 575: 576: 577: 578:
579: function link_to_route($name, $title = null, $parameters = array(), $attributes = array())
580: {
581: return app('html')->linkRoute($name, $title, $parameters, $attributes);
582: }
583: }
584:
585: if ( ! function_exists('link_to_action'))
586: {
587: 588: 589: 590: 591: 592: 593: 594: 595:
596: function link_to_action($action, $title = null, $parameters = array(), $attributes = array())
597: {
598: return app('html')->linkAction($action, $title, $parameters, $attributes);
599: }
600: }
601:
602: if ( ! function_exists('object_get'))
603: {
604: 605: 606: 607: 608: 609: 610: 611:
612: function object_get($object, $key, $default = null)
613: {
614: if (is_null($key)) return $object;
615:
616: foreach (explode('.', $key) as $segment)
617: {
618: if ( ! is_object($object) or ! isset($object->{$segment}))
619: {
620: return value($default);
621: }
622:
623: $object = $object->{$segment};
624: }
625:
626: return $object;
627: }
628: }
629:
630: if ( ! function_exists('public_path'))
631: {
632: 633: 634: 635: 636:
637: function public_path()
638: {
639: return app()->make('path.public');
640: }
641: }
642:
643: if ( ! function_exists('route'))
644: {
645: 646: 647: 648: 649: 650: 651: 652:
653: function route($route, $parameters = array(), $absolute = true)
654: {
655: return app('url')->route($route, $parameters, $absolute);
656: }
657: }
658:
659: if ( ! function_exists('secure_asset'))
660: {
661: 662: 663: 664: 665: 666:
667: function secure_asset($path)
668: {
669: return asset($path, true);
670: }
671: }
672:
673: if ( ! function_exists('secure_url'))
674: {
675: 676: 677: 678: 679: 680: 681:
682: function secure_url($path, $parameters = array())
683: {
684: return url($path, $parameters, true);
685: }
686: }
687:
688: if ( ! function_exists('snake_case'))
689: {
690: 691: 692: 693: 694: 695: 696:
697: function snake_case($value, $delimiter = '_')
698: {
699: return Illuminate\Support\Str::snake($value, $delimiter);
700: }
701: }
702:
703: if ( ! function_exists('starts_with'))
704: {
705: 706: 707: 708: 709: 710: 711:
712: function starts_with($haystack, $needle)
713: {
714: return Illuminate\Support\Str::startsWith($haystack, $needle);
715: }
716: }
717:
718: if ( ! function_exists('storage_path'))
719: {
720: 721: 722: 723: 724:
725: function storage_path()
726: {
727: return app('path.storage');
728: }
729: }
730:
731: if ( ! function_exists('str_contains'))
732: {
733: 734: 735: 736: 737: 738: 739:
740: function str_contains($haystack, $needle)
741: {
742: return Illuminate\Support\Str::contains($haystack, $needle);
743: }
744: }
745:
746: if ( ! function_exists('str_finish'))
747: {
748: 749: 750: 751: 752: 753: 754:
755: function str_finish($value, $cap)
756: {
757: return Illuminate\Support\Str::finish($value, $cap);
758: }
759: }
760:
761: if ( ! function_exists('str_is'))
762: {
763: 764: 765: 766: 767: 768: 769:
770: function str_is($pattern, $value)
771: {
772: return Illuminate\Support\Str::is($pattern, $value);
773: }
774: }
775:
776: if ( ! function_exists('str_plural'))
777: {
778: 779: 780: 781: 782: 783: 784:
785: function str_plural($value, $count = 2)
786: {
787: return Illuminate\Support\Str::plural($value, $count);
788: }
789: }
790:
791: if ( ! function_exists('str_random'))
792: {
793: 794: 795: 796: 797: 798: 799: 800:
801: function str_random($length = 16)
802: {
803: return Illuminate\Support\Str::random($length);
804: }
805: }
806:
807: if ( ! function_exists('str_singular'))
808: {
809: 810: 811: 812: 813: 814:
815: function str_singular($value)
816: {
817: return Illuminate\Support\Str::singular($value);
818: }
819: }
820:
821: if ( ! function_exists('studly_case'))
822: {
823: 824: 825: 826: 827: 828:
829: function studly_case($value)
830: {
831: return Illuminate\Support\Str::studly($value);
832: }
833: }
834:
835: if ( ! function_exists('trans'))
836: {
837: 838: 839: 840: 841: 842: 843: 844: 845:
846: function trans($id, $parameters = array(), $domain = 'messages', $locale = null)
847: {
848: return app('translator')->trans($id, $parameters, $domain, $locale);
849: }
850: }
851:
852: if ( ! function_exists('trans_choice'))
853: {
854: 855: 856: 857: 858: 859: 860: 861: 862: 863:
864: function trans_choice($id, $number, array $parameters = array(), $domain = 'messages', $locale = null)
865: {
866: return app('translator')->transChoice($id, $number, $parameters, $domain, $locale);
867: }
868: }
869:
870: if ( ! function_exists('url'))
871: {
872: 873: 874: 875: 876: 877: 878: 879:
880: function url($path = null, $parameters = array(), $secure = null)
881: {
882: return app('url')->to($path, $parameters, $secure);
883: }
884: }
885:
886: if ( ! function_exists('value'))
887: {
888: 889: 890: 891: 892: 893:
894: function value($value)
895: {
896: return $value instanceof Closure ? $value() : $value;
897: }
898: }
899:
900: if ( ! function_exists('with'))
901: {
902: 903: 904: 905: 906: 907:
908: function with($object)
909: {
910: return $object;
911: }
912: }
913: