ServerParams.php 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. <?php
  2. namespace ModulesGarden\Servers\KerioEmail\App\Traits;
  3. use ModulesGarden\Servers\KerioEmail\Core\Models\Whmcs\Hosting;
  4. use ModulesGarden\Servers\KerioEmail\Core\Models\Whmcs\Server;
  5. use WHMCS\Database\Capsule as DB;
  6. /**
  7. *
  8. * Created by PhpStorm.
  9. * User: Tomasz Bielecki ( tomasz.bi@modulesgarden.com )
  10. * Date: 09.09.19
  11. * Time: 13:53
  12. * Class ServerParams
  13. */
  14. trait ServerParams
  15. {
  16. /**
  17. * @param $id
  18. * @return array
  19. */
  20. public function getServerParamsByProductId($id)
  21. {
  22. $serverId = DB::table('tblproducts')
  23. ->join('tblservergroups', 'tblproducts.servergroup', '=', 'tblservergroups.id')
  24. ->join('tblservergroupsrel', 'tblservergroups.id', '=', 'tblservergroupsrel.groupid')
  25. ->join('tblservers', 'tblservergroupsrel.serverid', '=', 'tblservers.id')
  26. ->where('tblproducts.id', '=', $id)
  27. ->first(['tblservers.id'])
  28. ->id;
  29. if($serverId)
  30. {
  31. return $this->getServerParamsById($serverId);
  32. }
  33. }
  34. /**
  35. * @param $id
  36. * @return array
  37. */
  38. public function getServerParamsByHostingId($id)
  39. {
  40. $hosting = Hosting::where('id', $id)->first();
  41. if($hosting)
  42. {
  43. return $this->getServerParamsById($hosting->server);
  44. }
  45. }
  46. /**
  47. * @param $id
  48. * @return array
  49. */
  50. public function getServerParamsById($id)
  51. {
  52. $server = Server::where('id', $id)->first();
  53. if ($server)
  54. {
  55. return [
  56. 'serverid' => $server->id,
  57. 'serverip' => $server->ipaddress,
  58. 'serverhostname' => $server->hostname,
  59. 'serversecure' => $server->secure,
  60. 'serverusername' => $server->username,
  61. 'serverpassword' => decrypt($server->password) ? decrypt($server->password) : $server->password,
  62. 'serveraccesshash' => $server->accesshash,
  63. 'serverport' => $server->port,
  64. ];
  65. }
  66. }
  67. }