/** * Display debug information for current object * NotificationTemplateTranslation => translation preview * * @since version 0.84 **/ function showDebug() { $template = new NotificationTemplate(); if (!$template->getFromDB($this->fields['notificationtemplates_id'])) { return; } $itemtype = $template->getField('itemtype'); if (!($item = getItemForItemtype($itemtype))) { return; } echo "<div class='spaced'>"; echo "<table class='tab_cadre_fixe'>"; echo "<tr><th colspan='2'>" . __('Preview') . "</th></tr>"; $oktypes = array('CartridgeItem', 'Change', 'ConsumableItem', 'Contract', 'Crontask', 'Problem', 'Project', 'Ticket', 'User'); if (!in_array($itemtype, $oktypes)) { // this itemtype doesn't work, need to be fixed echo "<tr class='tab_bg_2 center'><td>" . NOT_AVAILABLE . "</td>"; echo "</table></div>"; return; } // Criteria Form $key = getForeignKeyFieldForItemType($item->getType()); $id = Session::getSavedOption(__CLASS__, $key, 0); $event = Session::getSavedOption(__CLASS__, $key . '_event', ''); echo "<tr class='tab_bg_2'><td>" . $item->getTypeName(1) . " "; $item->dropdown(array('value' => $id, 'on_change' => 'reloadTab("' . $key . '="+this.value)')); echo "</td><td>" . NotificationEvent::getTypeName(1) . " "; NotificationEvent::dropdownEvents($item->getType(), array('value' => $event, 'on_change' => 'reloadTab("' . $key . '_event="+this.value)')); echo "</td>"; // Preview if ($event && $item->getFromDB($id)) { $options = array('_debug' => true); // TODO Awfull Hack waiting for https://forge.indepnet.net/issues/3439 $multi = array('alert', 'alertnotclosed', 'end', 'notice', 'periodicity', 'periodicitynotice'); if (in_array($event, $multi)) { // Won't work for Cardridge and Consumable $options['entities_id'] = $item->getEntityID(); $options['items'] = array($item->getID() => $item->fields); } $target = NotificationTarget::getInstance($item, $event, $options); $infos = array('language' => $_SESSION['glpilanguage'], 'additionnaloption' => array('usertype' => NotificationTarget::GLPI_USER)); $template->resetComputedTemplates(); $template->setSignature(Notification::getMailingSignature($_SESSION['glpiactive_entity'])); if ($tid = $template->getTemplateByLanguage($target, $infos, $event, $options)) { $data = $template->templates_by_languages[$tid]; echo "<tr><th colspan='2'>" . __('Subject') . "</th></tr>"; echo "<tr class='tab_bg_2 b'><td colspan='2'>" . $data['subject'] . "</td></tr>"; echo "<tr><th>" . __('Email text body') . "</th>"; echo "<th>" . __('Email HTML body') . "</th></tr>"; echo "<tr class='tab_bg_2'><td>" . nl2br($data['content_text']) . "</td>"; echo "<td>" . $data['content_html'] . "</td></tr>"; } } echo "</table></div>"; }
function showSummary(NotificationTemplate $template, $options = array()) { global $DB, $LANG, $CFG_GLPI; $nID = $template->getField('id'); $canedit = haveRight("config", "w"); if ($canedit) { echo "<div class='center'>" . "<a href='" . getItemTypeFormURL('NotificationTemplateTranslation') . "?notificationtemplates_id=" . $nID . "'>" . $LANG['mailing'][124] . "</a></div><br>"; } echo "<div class='center' id='tabsbody'>"; initNavigateListItems('NotificationTemplateTranslation', $template->getTypeName() . " = " . $template->fields["name"]); echo "<form name='form_language' id='form_language' method='post'>"; echo "<table class='tab_cadre_fixe'>"; echo "<tr class='tab_bg_1'><th></th><th>" . $LANG['setup'][41] . "</th></tr>"; foreach ($DB->request('glpi_notificationtemplatetranslations', array('notificationtemplates_id' => $nID)) as $data) { if ($this->getFromDB($data['id'])) { addToNavigateListItems('NotificationTemplateTranslation', $data['id']); echo "<tr class='tab_bg_1'><td class='center'>"; echo "<input type='checkbox' name=\"languages[" . $data['id'] . "]\"></td>"; echo "<td class='center'>"; echo "<a href='" . getItemTypeFormURL('NotificationTemplateTranslation') . "?id=" . $data['id'] . "¬ificationtemplates_id=" . $nID . "'>"; if ($data['language'] != '') { echo $CFG_GLPI['languages'][$data['language']][0]; } else { echo $LANG['mailing'][125]; } echo "</a></td></tr>"; } } echo "</table>"; if ($canedit) { openArrowMassive("form_language", true); closeArrowMassive("delete_languages", $LANG["buttons"][6]); } }