UpdateLimit.php 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. <?php
  2. namespace ThurData\Servers\KerioEmail\Core\Helper;
  3. use ThurData\Servers\KerioEmail\Core\FileReader\Reader;
  4. use ThurData\Servers\KerioEmail\Core\ServiceLocator;
  5. use WHMCS\Database\Capsule;
  6. /**
  7. * Autometes some of database queries
  8. *
  9. * @author
  10. */
  11. class UpdateLimit
  12. {
  13. /**
  14. * Helper to perform DiskLimit queries for module
  15. *
  16. * @param int $serviceID
  17. * @return Object
  18. */
  19. public function getDiskLimit(int $serviceID) {
  20. $diskLimit = Capsule::table('tblhosting')
  21. ->where('id', '=', $serviceID)
  22. ->select('disklimit')
  23. ->get();
  24. return $diskLimit->pull(0);
  25. }
  26. /**
  27. * Helper to perform DiskLimit queries for module
  28. *
  29. * @param int $serviceID
  30. * @return Object
  31. */
  32. public function getBWLimit(int $serviceID) {
  33. $BWLimit = Capsule::table('tblhosting')
  34. ->where('id', '=', $serviceID)
  35. ->select('bwlimit')
  36. ->get();
  37. return $BWLimit->pull(0);
  38. }
  39. /**
  40. * Helper to perform DiskLimit queries for module
  41. *
  42. * @param int $serviceID
  43. * @param int $diskLimitValue
  44. * @return bool
  45. */
  46. public function updateDiskLimit(int $serviceID, int $diskLimitValue) {
  47. try {
  48. $diskLimit = Capsule::table('tblhosting')
  49. ->where('id', $serviceID)
  50. ->update(['disklimit' => $diskLimitValue]);
  51. } catch (\Exception $e) {
  52. logModuleCall(
  53. 'kerioEmail',
  54. __FUNCTION__,
  55. $diskLimit,
  56. 'Error: could not update disklimit for ' . $serviceID .' in database.',
  57. $e->getMessage()
  58. );
  59. return false;
  60. }
  61. return true;
  62. }
  63. /**
  64. * Helper to perform BWLimit queries for module
  65. *
  66. * @param int $serverID
  67. * @param string $domainName
  68. * @param int $usageUpdateValue
  69. * @return bool
  70. */
  71. public function updateBWLimit(int $serviceID, int $bwLimitValue) {
  72. logModuleCall(
  73. 'kerioEmail',
  74. __FUNCTION__,
  75. $serverID,
  76. 'Debug Usage Limits',
  77. $bwLimitValue
  78. );
  79. try {
  80. $usage = Capsule::table('tblhosting')
  81. ->where('server', $serverId)
  82. ->where('domain', $domainName)
  83. ->update(['bwlimit' => $bwLimitValue]);
  84. } catch (\Exception $e) {
  85. logModuleCall(
  86. 'kerioEmail',
  87. __FUNCTION__,
  88. $usage,
  89. 'Error: could not update bwlimit for ' . $serviceID .' in database.',
  90. $e->getMessage()
  91. );
  92. return false;
  93. }
  94. return true;
  95. }
  96. }