static function generateOdt($params) { global $LANG; $config = array('PATH_TO_TMP' => GLPI_DOC_DIR . '/_tmp'); if (PluginMreportingPreference::atLeastOneTemplateExists()) { $template = PluginMreportingPreference::checkPreferenceTemplateValue(Session::getLoginUserID()); $withdatas = $params[0]["withdata"]; if ($withdatas == 0) { $odf = new odf("../templates/withoutdata.odt", $config); } else { $odf = new odf("../templates/{$template}", $config); } $titre = ''; $short_classname = str_replace('PluginMreporting', '', $params[0]['class']); if (isset($LANG['plugin_mreporting'][$short_classname]['title'])) { $titre = $LANG['plugin_mreporting'][$short_classname]['title']; } $odf->setVars('titre', $titre, true, 'UTF-8'); $newpage = $odf->setSegment('newpage'); foreach ($params as $result => $page) { // Default values of parameters $title = ""; $f_name = ""; $raw_datas = array(); foreach ($page as $key => $val) { ${$key} = $val; } $datas = $raw_datas['datas']; $labels2 = array(); if (isset($raw_datas['labels2'])) { $labels2 = $raw_datas['labels2']; } $configs = PluginMreportingConfig::initConfigParams($f_name, $class); foreach ($configs as $k => $v) { ${$k} = $v; } if ($unit == '%') { $datas = PluginMreportingCommon::compileDatasForUnit($datas, $unit); } $newpage->setVars('message', $title, true, 'UTF-8'); $path = GLPI_PLUGIN_DOC_DIR . "/mreporting/" . $f_name . ".png"; if ($show_graph) { $newpage->setImage('image', $path); } else { $newpage->setVars('image', "", true, 'UTF-8'); } if ($withdatas > 0) { $simpledatas = false; //simple array if (!$labels2) { $labels2 = array(); $simpledatas = true; } if ($flip_data == true) { $labels2 = array_flip($labels2); } $types = array(); foreach ($datas as $k => $v) { if (is_array($v)) { foreach ($v as $key => $val) { if (isset($labels2[$key])) { $types[$key][$k] = $val; } } } else { $types[$k] = $v; } } if ($flip_data != true) { $tmp = $datas; $datas = $types; $types = $tmp; } //simple array if ($simpledatas) { $label = $LANG['plugin_mreporting']["export"][1]; if ($template == "word.odt") { $newpage->data0->label_0(utf8_decode($label)); $newpage->data0->merge(); } else { $newpage->csvdata->setVars('TitreCategorie', $label, true, 'UTF-8'); } if ($template == "word.odt") { foreach ($types as $label2 => $cols) { $newpage->csvdata->label1->label_1(utf8_decode($label2)); $newpage->csvdata->label1->merge(); if (!empty($unit)) { $cols = $cols . " " . $unit; } $newpage->csvdata->data1->data_1($cols); $newpage->csvdata->merge(); } } else { foreach ($types as $label2 => $cols) { if (!empty($unit)) { $cols = $cols . " " . $unit; } $newpage->csvdata->csvdata2->label_1(utf8_decode($label2)); $newpage->csvdata->csvdata2->data_1($cols); $newpage->csvdata->csvdata2->merge(); } $newpage->csvdata->merge(); } } else { if ($template == "word.odt") { foreach ($datas as $label => $val) { $newpage->data0->label_0(utf8_decode($label)); $newpage->data0->merge(); } foreach ($types as $label2 => $cols) { $newpage->csvdata->label1->label_1(utf8_decode($label2)); $newpage->csvdata->label1->merge(); foreach ($cols as $date => $nb) { if (!empty($unit)) { $nb = $nb . " " . $unit; } if (!is_array($nb)) { $newpage->csvdata->data1->data_1(utf8_decode($nb)); } $newpage->csvdata->data1->merge(); } $newpage->csvdata->merge(); } } else { foreach ($types as $label2 => $cols) { foreach ($cols as $label1 => $nb) { if (!empty($unit)) { $nb = $nb . " " . $unit; } $newpage->csvdata->setVars('TitreCategorie', $label2, true, 'UTF-8'); $newpage->csvdata->csvdata2->setVars('label_1', utf8_decode($label1), true, 'UTF-8'); if (!is_array($nb)) { $newpage->csvdata->csvdata2->setVars('data_1', utf8_decode($nb), true, 'UTF-8'); } $newpage->csvdata->csvdata2->merge(); } $newpage->csvdata->merge(); } } } } $newpage->merge(); } $odf->mergeSegment($newpage); // We export the file $odf->exportAsAttachedFile(); unset($_SESSION['glpi_plugin_mreporting_odtarray']); } }
<p> <label for="nom">Nom :</label> <input type="text" id="nom" name="nom" size="40" value=""/> </p> <p> <label for="total">Total :</label> <input type="text" id="total" name="total" size="40" value=""/> </p> <p> <input type="submit" name="submit" /> </p> </form> </body> </html> <?php // sinon on envoie le fichier généré } else { // date du jour $odf->setVars('cyb_date', date("d/m/Y")); // données du formulaire $odf->setVars('cyb_invite', $_POST["invite"]); // gestion des accents via cet artifice html_entity_decode(htmlentities(... $odf->setVars('cyb_prenom', html_entity_decode(htmlentities($_POST["prenom"], ENT_NOQUOTES, "utf-8"))); $odf->setVars('cyb_nom', html_entity_decode(htmlentities($_POST["nom"], ENT_NOQUOTES, "utf-8"))); $odf->setVars('cyb_total', $_POST["total"]); // création du fichier $odf->exportAsAttachedFile(); } ?>
$end_sql = strftime("%Y-%m-%d ", $EndDate) . $EndTime; } if (count($sql_filter) > 0) { $req = "SELECT * FROM " . $cfg_syslog["db_table_logs_merge"] . " WHERE datetime > '{$start_sql}' AND datetime <= '{$end_sql}' AND " . $req_sql_filter . " ORDER BY datetime"; } else { $req = "SELECT * FROM " . $cfg_syslog["db_table_logs_merge"] . " WHERE datetime > '{$start_sql}' AND datetime <= '{$end_sql}' ORDER BY datetime"; } $nom = "syslog_events"; $DBRESULT =& $pearSyslogDB->query($req); if (PEAR::isError($DBRESULT)) { print "Mysql Error : " . $DBRESULT->getMessage() . "\n"; } $odf->setVars('tdatetime', _("Date / Time"), true, 'UTF-8'); $odf->setVars('thost', _("Host"), true, 'UTF-8'); $odf->setVars('tfacility', _("Facility"), true, 'UTF-8'); $odf->setVars('tseverity', _("Severity"), true, 'UTF-8'); $odf->setVars('tprogram', _("Program"), true, 'UTF-8'); $odf->setVars('tmessage', _("Message")); $resource = $odf->setSegment('s'); while ($DBRESULT->fetchInto($data)) { $resource->setVars('datetime', $data["datetime"], true, 'UTF-8'); $resource->setVars('host', $data["host"], true, 'UTF-8'); $resource->setVars('facility', $data["facility"], true, 'UTF-8'); $resource->setVars('severity', $data["priority"], true, 'UTF-8'); $resource->setVars('program', $data["program"], true, 'UTF-8'); $resource->setVars('message', utf8_decode($data["msg"])); $resource->merge(); } $odf->mergeSegment($resource); $odf->exportAsAttachedFile("syslog_events.odt");