DeleteRessourceDataProvider.php 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. <?php
  2. namespace ThurData\Servers\KerioEmail\App\UI\Client\Ressource\Providers;
  3. use ThurData\Servers\KerioEmail\App\Helpers\KerioManager;
  4. use ThurData\Servers\KerioEmail\App\Libs\Product\ProductManager;
  5. use ThurData\Servers\KerioEmail\App\Libs\Kerio\Components\Api\Soap\Services\Delete\DeleteRessource;
  6. use ThurData\Servers\KerioEmail\Core\UI\ResponseTemplates\HtmlDataJsonResponse;
  7. use ThurData\Servers\KerioEmail\Core\UI\Widget\Forms\DataProviders\BaseDataProvider;
  8. /**
  9. *
  10. * Created by PhpStorm.
  11. * User: ThurData
  12. * Date: 18.09.19
  13. * Time: 11:28
  14. * Class DeleteRessourceDataProvider
  15. */
  16. class DeleteRessourceDataProvider extends BaseDataProvider
  17. {
  18. public function read()
  19. {
  20. $this->data['id'] = $this->actionElementId;
  21. }
  22. public function update()
  23. {
  24. // TODO: Implement update() method.
  25. }
  26. public function delete()
  27. {
  28. logModuleCall(
  29. 'kerioEmail',
  30. __FUNCTION__,
  31. $this->formData,
  32. 'Debug Data',
  33. $this->data
  34. );
  35. return (new HtmlDataJsonResponse())->setMessageAndTranslate('ressourceHasBeenDeleted')->setStatusSuccess();
  36. }
  37. public function massDelete()
  38. {
  39. /**
  40. * hosting id
  41. */
  42. $hid = $this->request->get('id');
  43. /**
  44. * product manager allow to check product settings
  45. */
  46. $productManager = new ProductManager();
  47. $productManager->loadByHostingId($hid);
  48. /**
  49. *
  50. * get soap create domain service
  51. */
  52. $service =(new KerioManager())
  53. ->getApiByHosting($hid)
  54. ->soap
  55. ->service()
  56. ->deleteRessource();
  57. /**
  58. *
  59. */
  60. foreach($this->request->get('massActions') as $id)
  61. {
  62. $service->setFormData(['id' => $id]);
  63. $result = $service->run();
  64. }
  65. return (new HtmlDataJsonResponse())->setMessageAndTranslate('massRessourceHasBeenDeleted')->setStatusSuccess();
  66. }
  67. }