installer.php 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. <?php defined('BX_DOL') or die('hack attempt');
  2. /**
  3. * Copyright (c) UNA, Inc - https://una.io
  4. * MIT License - https://opensource.org/licenses/MIT
  5. *
  6. * @defgroup ElasticSearch ElasticSearch
  7. * @ingroup UnaModules
  8. *
  9. * @{
  10. */
  11. class BxElsInstaller extends BxDolStudioInstaller
  12. {
  13. protected $_oDb;
  14. function __construct($aConfig)
  15. {
  16. parent::__construct($aConfig);
  17. $this->_aActions = array_merge($this->_aActions, array(
  18. 'process_content_alerts' => array(
  19. 'title' => 'Process content alerts',
  20. ),
  21. ));
  22. $this->_oDb = BxDolDb::getInstance();
  23. }
  24. public function actionProcessContentAlerts($sOperation)
  25. {
  26. if($sOperation != 'enable')
  27. return BX_DOL_STUDIO_INSTALLER_SUCCESS;
  28. $aCiObjects = BxDolContentInfo::getSystems();
  29. if(empty($aCiObjects) || !is_array($aCiObjects))
  30. return BX_DOL_STUDIO_INSTALLER_SUCCESS;
  31. $iHandlerId = $this->_oDb->getOne("SELECT `id` FROM `sys_alerts_handlers` WHERE `name`=:name", array(
  32. 'name' => $this->_aConfig['name']
  33. ));
  34. $aActions = array('add', 'update', 'delete');
  35. foreach($aCiObjects as $aCiObject)
  36. foreach($aActions as $sAction) {
  37. if(empty($aCiObject['alert_action_' . $sAction]))
  38. continue;
  39. $this->_oDb->query("INSERT INTO `sys_alerts` (`unit`, `action`, `handler_id`) VALUES (:unit, :action, :handler);", array(
  40. 'unit' => $aCiObject['alert_unit'],
  41. 'action' => $aCiObject['alert_action_' . $sAction],
  42. 'handler' => $iHandlerId
  43. ));
  44. }
  45. return BX_DOL_STUDIO_INSTALLER_SUCCESS;
  46. }
  47. }
  48. /** @} */