grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026. -------------------------------------------------------------------------- */ /** @file * @brief */ if (!defined('GLPI_ROOT')) { die("Sorry. You can't access this file directly"); } // Class NotificationTarget class NotificationTargetDBConnection extends NotificationTarget { /** * Overwrite the function in NotificationTarget because there's only one target to be notified * * @see NotificationTarget::getNotificationTargets() **/ function getNotificationTargets($entity) { $this->addProfilesToTargets(); $this->addGroupsToTargets($entity); $this->addTarget(Notification::GLOBAL_ADMINISTRATOR, __('Administrator')); } function getEvents() { return array('desynchronization' => __('Desynchronization SQL replica')); } /** * @param $event * @param $options array **/ function getDatasForTemplate($event, $options=array()) { if ($options['diff'] > 1000000000) { $tmp = __("Can't connect to the database."); } else { $tmp = Html::timestampToString($options['diff'], true); } $this->datas['##dbconnection.delay##'] = $tmp." (".$options['name'].")"; $this->getTags(); foreach ($this->tag_descriptions[NotificationTarget::TAG_LANGUAGE] as $tag => $values) { if (!isset($this->datas[$tag])) { $this->datas[$tag] = $values['label']; } } } function getTags() { $tags = array('dbconnection.delay' => __('Difference between master and slave')); foreach ($tags as $tag => $label) { $this->addTagToList(array('tag' => $tag, 'label' => $label, 'value' => true, 'lang' => true)); } //Tags with just lang $tags = array('dbconnection.title' => __('Slave database out of sync!'), 'dbconnection.delay' => __('The slave database is desynchronized. The difference is of:')); foreach ($tags as $tag => $label) { $this->addTagToList(array('tag' => $tag, 'label' => $label, 'value' => false, 'lang' => true)); } asort($this->tag_descriptions); } } ?>