AccountHelper.php 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. <?php
  2. namespace ThurData\Servers\KerioEmail\App\Libs\Kerio\Components\Api\Soap\Helpers;
  3. use ThurData\Servers\KerioEmail\App\Enums\ProductParams;
  4. use ThurData\Servers\KerioEmail\App\Enums\Size;
  5. /**
  6. *
  7. * Created by PhpStorm.
  8. * User: ThurData
  9. * Date: 18.09.19
  10. * Time: 09:22
  11. * Class AccountHelper
  12. */
  13. class AccountHelper
  14. {
  15. /**
  16. * @description return formatted data per API data
  17. * @param $date
  18. * @return false|string|null
  19. */
  20. public static function getFormattedData($date, $format = 'd/m/Y')
  21. {
  22. if(!$date)
  23. {
  24. return null;
  25. }
  26. $mydate = new \DateTime("@$date", new \DateTimeZone('UTC'));
  27. $localTZ = (new \DateTime)->getTimezone();
  28. $mydate->setTimezone($localTZ);
  29. return $mydate->format($format);
  30. }
  31. /**
  32. * @param $quote
  33. * @return float|int|string
  34. */
  35. public static function getQuotaAsMb($quote, $unit = 'Bytes')
  36. {
  37. switch($unit) {
  38. case 'Bytes' :
  39. $quote = $quote/1024/1024;
  40. break;
  41. case 'KiloBytes' :
  42. $quote = $quote/1024;
  43. break;
  44. case 'MegaBytes' :
  45. $quote = $quote;
  46. break;
  47. case 'GigaBytes' :
  48. $quote = $quote*1024;
  49. break;
  50. }
  51. return isset($quote) ? $quote : ProductParams::SIZE_UNLIMITED;
  52. }
  53. }