<commit_before><?php
/*
 * Copyright 2005-2015 CENTREON
 * Centreon is developped by : <NAME> and <NAME> under
 * GPL Licence 2.0.
 *
 * 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 ; either version 2 of the License.
 *
 * 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.
 *
 * You should have received a copy of the GNU General Public License along with
 * this program; if not, see <http://www.gnu.org/licenses>.
 *
 * Linking this program statically or dynamically with other modules is making a
 * combined work based on this program. Thus, the terms and conditions of the GNU
 * General Public License cover the whole combination.
 *
 * As a special exception, the copyright holders of this program give CENTREON
 * permission to link this program with independent modules to produce an executable,
 * regardless of the license terms of these independent modules, and to copy and
 * distribute the resulting executable under terms of CENTREON choice, provided that
 * CENTREON also meet, for each linked independent module, the terms  and conditions
 * of the license of that module. An independent module is a module which is not
 * derived from this program. If you modify this program, you may extend this
 * exception to your version of the program, but you are not obliged to do so. If you
 * do not wish to do so, delete this exception statement from your version.
 *
 * For more information : <EMAIL>
 *
 */

require_once "../../require.php";
require_once $centreon_path . 'www/class/centreon.class.php';
require_once $centreon_path . 'www/class/centreonSession.class.php';
require_once $centreon_path . 'www/class/centreonDB.class.php';
require_once $centreon_path . 'www/class/centreonWidget.class.php';
require_once $centreon_path . 'www/class/centreonDuration.class.php';
require_once $centreon_path . 'www/class/centreonUtils.class.php';
require_once $centreon_path . 'www/class/centreonACL.class.php';
require_once $centreon_path ."GPL_LIB/Smarty/libs/Smarty.class.php";

session_start();
if (!isset($_SESSION['centreon']) || !isset($_POST['widgetId'])) {
    print "Session Errors";
    exit;
}

$path = $centreon_path . "www/widgets/service-monitoring/src/";
$template = new Smarty();
$template = initSmartyTplForPopup($path, $template, "./", $centreon_path);

$centreon = $_SESSION['centreon'];
$widgetId = $_POST['widgetId'];
$db = new CentreonDB();
$widgetObj = new CentreonWidget($centreon, $db);
$preferences = $widgetObj->getWidgetPreferences($widgetId);

$pearDB = new CentreonDB();
$admin = $centreon->user->admin;
$canDoAction = false;
if ($admin) {
    $canDoAction = true;
}
$actions  = "<option value='0'>-- "._("More actions")." -- </option>";
if ($canDoAction || $centreon->user->access->checkAction("service_schedule_check")) {
    $actions .= "<option value='3'>"._("Service: Schedule Immediate Check")."</option>";
}
if ($canDoAction || $centreon->user->access->checkAction("service_schedule_forced_check")) {
    $actions .= "<option value='4'>"._("Service: Schedule Immediate Forced Check")."</option>";
}
if ($canDoAction || $centreon->user->access->checkAction("service_acknowledgement")) {
    $actions .= "<option value='70'>"._("Service: Acknowledge")."</option>";
}
if ($canDoAction || $centreon->user->access->checkAction("service_acknowledgement")) {
    $actions .= "<option value='71'>"._("Service: Remove Acknowledgement")."</option>";
}
if ($canDoAction || $centreon->user->access->checkAction("service_schedule_downtime")) {
    $actions .= "<option value='74'>"._("Service: Set Downtime")."</option>";
}
if ($canDoAction || $centreon->user->access->checkAction("service_notifications")) {
    $actions .= "<option value='80'>"._("Service: Enable Notification")."</option>";
}
if ($canDoAction || $centreon->user->access->checkAction("service_notifications")) {
    $actions .= "<option value='81'>"._("Service: Disable Notification")."</option>";
}
if ($canDoAction || $centreon->user->access->checkAction("service_checks")) {
    $actions .= "<option value='90'>"._("Service: Enable Check")."</option>";
}
if ($canDoAction || $centreon->user->access->checkAction("service_checks")) {
    $actions .= "<option value='91'>"._("Service: Disable Check")."</option>";
}
if ($canDoAction || $centreon->user->access->checkAction("host_acknowledgement")) {
    $actions .= "<option value='72'>"._("Host: Acknowledge")."</option>";
}
if ($canDoAction || $centreon->user->access->checkAction("host_acknowledgement")) {
    $actions .= "<option value='73'>"._("Host: Remove Acknowledgement")."</option>";
}
if ($canDoAction || $centreon->user->access->checkAction("host_schedule_downtime")) {
    $actions .= "<option value='75'>"._("Host: Set Downtime")."</option>";
}
if ($canDoAction || $centreon->user->access->checkAction("host_notifications")) {
    $actions .= "<option value='82'>"._("Host: Enable Host Notification")."</option>";
}
if ($canDoAction || $centreon->user->access->checkAction("host_notifications")) {
    $actions .= "<option value='83'>"._("Host: Disable Host Notification")."</option>";
}
if ($canDoAction || $centreon->user->access->checkAction("host_checks")) {
    $actions .= "<option value='92'>"._("Host: Enable Host Check")."</option>";
}
if ($canDoAction || $centreon->user->access->checkAction("host_checks")) {
    $actions .= "<option value='93'>"._("Host: Disable Host Check")."</option>";
}

$template->assign("widgetId", $_POST['widgetId']);
$template->assign("actions", $actions);
$template->display('toolbar.ihtml');

?>
<script type="text/javascript" src="../../include/common/javascript/centreon/popin.js"></script>
<script type='text/javascript'>
var tab = new Array();
var actions = "<?php echo $actions;?>";
$(function() {
    $(".toolbar").change(function() {
	if (jQuery(this).val() != 0) {
	  var checkValues = $("input:checked").map(function() {
	      var tmp = $(this).attr('id').split("_");
	      return tmp[1];
	    }).get().join(",");
	  if (checkValues != '') {
	    var url = "./widgets/service-monitoring/src/action.php?selection="+checkValues+"&cmd="+jQuery(this).val();
	    parent.jQuery('#widgetPopin').parent().remove();
	    var popin = parent.jQuery('<div id="widgetPopin">');
	    popin.centreonPopin({
	      open:true,
		  url:url
		  });
	  } else {
	    alert("<?php echo _('Please select one or more items'); ?>"); 
	    return false;
	  }
        }
    });
});
</script>
<commit_msg>#MON-1278 : fix freeze selected action on default action's select$<commit_after><?php
/*
 * Copyright 2005-2015 CENTREON
 * Centreon is developped by : <NAME> and <NAME> under
 * GPL Licence 2.0.
 *
 * 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 ; either version 2 of the License.
 *
 * 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.
 *
 * You should have received a copy of the GNU General Public License along with
 * this program; if not, see <http://www.gnu.org/licenses>.
 *
 * Linking this program statically or dynamically with other modules is making a
 * combined work based on this program. Thus, the terms and conditions of the GNU
 * General Public License cover the whole combination.
 *
 * As a special exception, the copyright holders of this program give CENTREON
 * permission to link this program with independent modules to produce an executable,
 * regardless of the license terms of these independent modules, and to copy and
 * distribute the resulting executable under terms of CENTREON choice, provided that
 * CENTREON also meet, for each linked independent module, the terms  and conditions
 * of the license of that module. An independent module is a module which is not
 * derived from this program. If you modify this program, you may extend this
 * exception to your version of the program, but you are not obliged to do so. If you
 * do not wish to do so, delete this exception statement from your version.
 *
 * For more information : <EMAIL>
 *
 */

require_once "../../require.php";
require_once $centreon_path . 'www/class/centreon.class.php';
require_once $centreon_path . 'www/class/centreonSession.class.php';
require_once $centreon_path . 'www/class/centreonDB.class.php';
require_once $centreon_path . 'www/class/centreonWidget.class.php';
require_once $centreon_path . 'www/class/centreonDuration.class.php';
require_once $centreon_path . 'www/class/centreonUtils.class.php';
require_once $centreon_path . 'www/class/centreonACL.class.php';
require_once $centreon_path ."GPL_LIB/Smarty/libs/Smarty.class.php";

session_start();
if (!isset($_SESSION['centreon']) || !isset($_POST['widgetId'])) {
    print "Session Errors";
    exit;
}

$path = $centreon_path . "www/widgets/service-monitoring/src/";
$template = new Smarty();
$template = initSmartyTplForPopup($path, $template, "./", $centreon_path);

$centreon = $_SESSION['centreon'];
$widgetId = $_POST['widgetId'];
$db = new CentreonDB();
$widgetObj = new CentreonWidget($centreon, $db);
$preferences = $widgetObj->getWidgetPreferences($widgetId);

$pearDB = new CentreonDB();
$admin = $centreon->user->admin;
$canDoAction = false;
if ($admin) {
    $canDoAction = true;
}
$actions  = "<option value='0'>-- "._("More actions")." -- </option>";
if ($canDoAction || $centreon->user->access->checkAction("service_schedule_check")) {
    $actions .= "<option value='3'>"._("Service: Schedule Immediate Check")."</option>";
}
if ($canDoAction || $centreon->user->access->checkAction("service_schedule_forced_check")) {
    $actions .= "<option value='4'>"._("Service: Schedule Immediate Forced Check")."</option>";
}
if ($canDoAction || $centreon->user->access->checkAction("service_acknowledgement")) {
    $actions .= "<option value='70'>"._("Service: Acknowledge")."</option>";
}
if ($canDoAction || $centreon->user->access->checkAction("service_acknowledgement")) {
    $actions .= "<option value='71'>"._("Service: Remove Acknowledgement")."</option>";
}
if ($canDoAction || $centreon->user->access->checkAction("service_schedule_downtime")) {
    $actions .= "<option value='74'>"._("Service: Set Downtime")."</option>";
}
if ($canDoAction || $centreon->user->access->checkAction("service_notifications")) {
    $actions .= "<option value='80'>"._("Service: Enable Notification")."</option>";
}
if ($canDoAction || $centreon->user->access->checkAction("service_notifications")) {
    $actions .= "<option value='81'>"._("Service: Disable Notification")."</option>";
}
if ($canDoAction || $centreon->user->access->checkAction("service_checks")) {
    $actions .= "<option value='90'>"._("Service: Enable Check")."</option>";
}
if ($canDoAction || $centreon->user->access->checkAction("service_checks")) {
    $actions .= "<option value='91'>"._("Service: Disable Check")."</option>";
}
if ($canDoAction || $centreon->user->access->checkAction("host_acknowledgement")) {
    $actions .= "<option value='72'>"._("Host: Acknowledge")."</option>";
}
if ($canDoAction || $centreon->user->access->checkAction("host_acknowledgement")) {
    $actions .= "<option value='73'>"._("Host: Remove Acknowledgement")."</option>";
}
if ($canDoAction || $centreon->user->access->checkAction("host_schedule_downtime")) {
    $actions .= "<option value='75'>"._("Host: Set Downtime")."</option>";
}
if ($canDoAction || $centreon->user->access->checkAction("host_notifications")) {
    $actions .= "<option value='82'>"._("Host: Enable Host Notification")."</option>";
}
if ($canDoAction || $centreon->user->access->checkAction("host_notifications")) {
    $actions .= "<option value='83'>"._("Host: Disable Host Notification")."</option>";
}
if ($canDoAction || $centreon->user->access->checkAction("host_checks")) {
    $actions .= "<option value='92'>"._("Host: Enable Host Check")."</option>";
}
if ($canDoAction || $centreon->user->access->checkAction("host_checks")) {
    $actions .= "<option value='93'>"._("Host: Disable Host Check")."</option>";
}

$template->assign("widgetId", $_POST['widgetId']);
$template->assign("actions", $actions);
$template->display('toolbar.ihtml');

?>
<script type="text/javascript" src="../../include/common/javascript/centreon/popin.js"></script>
<script type='text/javascript'>
var tab = new Array();
var actions = "<?php echo $actions;?>";


jQuery( function() {
    jQuery(".toolbar").change( function() {
        
        if (jQuery(this).val() != 0) {
            var checkValues = jQuery("input:checked")
                .map( function() {
                      var tmp = jQuery(this).attr('id').split("_");
                      return tmp[1];
                })
                .get().join(",");

            if (checkValues != '') {
                var url = "./widgets/service-monitoring/src/action.php?selection="+checkValues+"&cmd="+jQuery(this).val();
                parent.jQuery('#widgetPopin').parent().remove();
                var popin = parent.jQuery('<div id="widgetPopin">');

                popin.centreonPopin({
                  open:true,
                  url:url
                  });

            } else {
                alert("<?php echo _('Please select one or more items'); ?>");
            }

            jQuery(this).val(0);
        }
    });
});
</script>

{'fraction_non_alphanumeric': 0.1768984579575211, 'fraction_numerical': 0.006764620308408496, 'mean_word_length': 4.493008389932082, 'pattern_counts': {'":': 0, '<': 95, '<?xml version=': 0, '>': 203, 'https://': 0, 'lorem ipsum': 0, 'www.': 18, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1893604', 'n_tokens_mistral': 4208, 'n_tokens_neox': 3971, 'n_words': 1065}