<?php // Pandora FMS - http://pandorafms.com // ================================================== // Copyright (c) 2005-2010 Artica Soluciones Tecnologicas // Please see http://pandorafms.org for full contribution list // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation for version 2. // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // Load global vars global $config; check_login (); if (! check_acl ($config['id_user'], 0, "PM")) { db_pandora_audit("ACL Violation", "Trying to access Link Management"); require ("general/noaccess.php"); exit; } // Header ui_print_page_header (__('Site news management'), "", false, "", true); if (isset ($_POST["create"])) { // If create $subject = get_parameter ("subject"); $text = get_parameter ("text"); $timestamp = db_get_value ('NOW()', 'tconfig_os', 'id_os', 1); $id_group = get_parameter ("id_group"); $modal = get_parameter ("modal"); $expire = get_parameter ("expire"); $expire_date = get_parameter("expire_date"); $expire_time = get_parameter("expire_time"); // Change the user's timezone to the system's timezone $expire_timestamp = strtotime("$expire_date $expire_time") - get_fixed_offset(); $expire_timestamp = date("Y-m-d H:i:s", $expire_timestamp); $values = array('subject' => $subject, 'text' => $text, 'author' => $config["id_user"], 'timestamp' => $timestamp, 'id_group' => $id_group, 'modal' => $modal, 'expire' => $expire, 'expire_timestamp' => $expire_timestamp); $id_link = db_process_sql_insert('tnews', $values); ui_print_result_message ($id_link, __('Successfully created'), __('Could not be created')); } if (isset ($_POST["update"])) { // if update $id_news = (int) get_parameter ("id_news", 0); $subject = get_parameter ("subject"); $text = get_parameter ("text"); $id_group = get_parameter ("id_group"); $modal = get_parameter ("modal"); $expire = get_parameter ("expire"); $expire_date = get_parameter("expire_date"); $expire_time = get_parameter("expire_time"); // Change the user's timezone to the system's timezone $expire_timestamp = strtotime("$expire_date $expire_time") - get_fixed_offset(); $expire_timestamp = date("Y-m-d H:i:s", $expire_timestamp); //NOW() column exists in any table and always displays the current date and time, so let's get the value from a row in a table which can't be deleted. //This way we prevent getting no value for this variable $timestamp = db_get_value ('NOW()', 'tconfig_os', 'id_os', 1); $values = array('subject' => $subject, 'text' => $text, 'timestamp' => $timestamp, 'id_group' => $id_group, 'modal' => $modal, 'expire' => $expire, 'expire_timestamp' => $expire_timestamp); $result = db_process_sql_update('tnews', $values, array('id_news' => $id_news)); ui_print_result_message ($result, __('Successfully updated'), __('Not updated. Error updating data')); } if (isset ($_GET["borrar"])) { // if delete $id_news = (int) get_parameter ("borrar", 0); $result = db_process_sql_delete ('tnews', array ('id_news' => $id_news)); ui_print_result_message ($result, __('Successfully deleted'), __('Could not be deleted')); } // Main form view for Links edit if ((isset ($_GET["form_add"])) || (isset ($_GET["form_edit"]))) { if (isset($_GET["form_edit"])) { $creation_mode = 0; $id_news = (int) get_parameter ("id_news", 0); $result = db_get_row ("tnews", "id_news", $id_news); if ($result !== false) { $subject = $result["subject"]; $text = $result["text"]; $author = $result["author"]; $timestamp = $result["timestamp"]; $id_group = $result["id_group"]; $modal = $result["modal"]; $expire = $result["expire"]; if ($expire) { $expire_timestamp = $result["expire_timestamp"]; $expire_utimestamp = time_w_fixed_tz($expire_timestamp); } else { $expire_utimestamp = get_system_time() + SECONDS_1WEEK; } $expire_date = date('Y/m/d', $expire_utimestamp); $expire_time = date('H:i:s', $expire_utimestamp); } else { ui_print_error_message(__('Name error')); } } else { // form_add $creation_mode = 1; $text = ""; $subject = ""; $author = $config['id_user']; $id_group = 0; $modal = 0; $expire = 0; $expire_date = date('Y/m/d', get_system_time() + SECONDS_1WEEK); $expire_time = date('H:i:s', get_system_time()); } // Create news $table = new stdClass(); $table->width = '100%'; $table->id = "news"; $table->cellpadding = 4; $table->cellspacing = 4; $table->class = "databox filters"; $table->head = array (); $table->data = array (); $table->style[0] = 'font-weight: bold;'; $table->style[1] = 'font-weight: bold;'; $table->style[2] = 'font-weight: bold;'; $table->style[3] = 'font-weight: bold;'; $table->style[4] = 'font-weight: bold;'; $data = array(); $data[0] = __('Subject') . '<br>'; $data[0] .= '<input type="text" name="subject" size="35" value="'.$subject.'">'; $data[1] = __('Group') . '<br>'; $data[1] .= html_print_select_groups($config["id_user"], "ER", users_can_manage_group_all(), 'id_group', $id_group, '', '', 0, true, false, false, ''); $data[2] = __('Modal screen') . '<br>'; $data[2] .= html_print_checkbox_extended('modal', 1, $modal, false, '', 'style="margin-top: 5px;margin-bottom: 7px;"', true); $data[3] = __('Expire') . '<br>'; $data[3] .= html_print_checkbox_extended('expire', 1, $expire, false, '', 'style="margin-top: 5px;margin-bottom: 7px;"', true); $data[4] = __('Expiration') . '<br>'; $data[4] .= html_print_input_text ('expire_date', $expire_date, '', 12, 10, true). ' '; $data[4] .= html_print_input_text ('expire_time', $expire_time, '', 10, 7, true). ' '; $table->rowclass[] = ''; $table->data[] = $data; $data = array(); $data[0] = __('Text') . '<br>'; $data[0] .= html_print_textarea('text', 25, 15, $text, '', true); $table->rowclass[] = ''; $table->colspan[1][0] = 5; $table->data[] = $data; echo '<form name="ilink" method="post" action="index.php?sec=gsetup&sec2=godmode/setup/news">'; if ($creation_mode == 1) echo "<input type='hidden' name='create' value='1'>"; else echo "<input type='hidden' name='update' value='1'>"; echo "<input type='hidden' name='id_news' value='"; if (isset($id_news)) { echo $id_news; } echo "'>"; html_print_table($table); echo "<table width='" . $table->width . "'>"; echo "<tr><td align='right'>"; if (isset($_GET["form_add"])) { echo "<input name='crtbutton' type='submit' class='sub wand' value='".__('Create')."'>"; } else { echo "<input name='crtbutton' type='submit' class='sub upd' value='".__('Update')."'>"; } echo '</form></td></tr></table>'; } else { $rows = db_get_all_rows_in_table("tnews", "timestamp"); if ($rows === false) { $rows = array(); ui_print_info_message ( array('no_close'=>true, 'message'=> __("There are no defined news") ) ); } else { // Main list view for Links editor echo "<table cellpadding='4' cellspacing='4' class='databox data' width=100%>"; echo "<th>".__('Subject')."</th>"; echo "<th>".__('Type')."</th>"; echo "<th>".__('Author')."</th>"; echo "<th>".__('Timestamp')."</th>"; echo "<th>".__('Expiration')."</th>"; echo "<th>".__('Delete')."</th>"; $color = 1; foreach ($rows as $row) { if ($color == 1) { $tdcolor = "datos"; $color = 0; } else { $tdcolor = "datos2"; $color = 1; } echo "<tr><td class='$tdcolor'><b><a href='index.php?sec=gsetup&sec2=godmode/setup/news&form_edit=1&id_news=".$row["id_news"]."'>".$row["subject"]."</a></b></td>"; if ($row['modal']) { echo "<td class='$tdcolor'>".__('Modal')."</b></td>"; } else { echo "<td class='$tdcolor'>".__('Board')."</b></td>"; } echo "<td class='$tdcolor'>".$row["author"]."</b></td>"; $utimestamp = time_w_fixed_tz($row["timestamp"]); echo "<td class='$tdcolor'>" . date($config['date_format'], $utimestamp) . "</b></td>"; if ($row["expire"]) { $expire_utimestamp = time_w_fixed_tz($row["expire_timestamp"]); $expire_in_secs = $expire_utimestamp - $utimestamp; if( $expire_in_secs <= 0) { echo "<td class='$tdcolor'>" . __('Expired') . "</b></td>"; } else { $expire_in = human_time_description_raw($expire_in_secs, false, 'large'); echo "<td class='$tdcolor'>" . $expire_in . "</b></td>"; } } else { echo "<td class='$tdcolor'>".__('No')."</b></td>"; } echo '<td class="'.$tdcolor.'"><a href="index.php?sec=gsetup&sec2=godmode/setup/news&id_news='.$row["id_news"].'&borrar='.$row["id_news"].'" onClick="if (!confirm(\' '.__('Are you sure?').'\')) return false;">' . html_print_image("images/cross.png", true, array("border" => '0')) . '</a></td></tr>'; } echo "</table>"; } echo "<table width='100%'>"; echo "<tr><td align='right'>"; echo "<form method='post' action='index.php?sec=gsetup&sec2=godmode/setup/news&form_add=1'>"; echo "<input type='submit' class='sub next' name='form_add' value='".__('Add')."'>"; echo "</form></table>"; } /* * We must add javascript here. Otherwise, the date picker won't * work if the date is not correct because php is returning. */ ui_include_time_picker(); ui_require_jquery_file("ui.datepicker-" . get_user_language(), "include/javascript/i18n/"); // Include tiny for wysiwyg editor ui_require_javascript_file('tiny_mce', 'include/javascript/tiny_mce/'); ?> <script language="javascript" type="text/javascript"> $(document).ready (function () { $("#text-expire_time").timepicker({ showSecond: true, timeFormat: '<?php echo TIME_FORMAT_JS; ?>', timeOnlyTitle: '<?php echo __('Choose time');?>', timeText: '<?php echo __('Time');?>', hourText: '<?php echo __('Hour');?>', minuteText: '<?php echo __('Minute');?>', secondText: '<?php echo __('Second');?>', currentText: '<?php echo __('Now');?>', closeText: '<?php echo __('Close');?>'}); $.datepicker.setDefaults($.datepicker.regional[ "<?php echo get_user_language(); ?>"]); $("#text-expire_date").datepicker({ dateFormat: "<?php echo DATE_FORMAT_JS; ?>", changeMonth: true, changeYear: true, showAnim: "slideDown"}); tinyMCE.init({ mode : "exact", elements: "textarea_text", theme : "advanced", theme_advanced_toolbar_location : "top", theme_advanced_toolbar_align : "left", theme_advanced_buttons1 : "bold,italic, |, image, link, |, cut, copy, paste, |, undo, redo, |, forecolor, |, fontsizeselect, |, justifyleft, justifycenter, justifyright", theme_advanced_buttons2 : "", theme_advanced_buttons3 : "", convert_urls : false, theme_advanced_statusbar_location : "none" }); $("#checkbox-expire").click(function() { check_expire(); }); }); check_expire(); function check_expire() { if ($("#checkbox-expire").is(":checked")) { $('#news-0-4').css('visibility', ''); } else { $('#news-0-4').css('visibility', 'hidden'); } } </script>