Example #1
0
 function controlServicio($sServicio, $sAccion)
 {
     $oPalo = new paloSantoSysInfo();
     $flag = 0;
     $acciones = array('processcontrol_start' => 'start', 'processcontrol_restart' => 'restart', 'processcontrol_stop' => 'stop', 'processcontrol_activate' => 'on', 'processcontrol_deactivate' => 'off');
     $servicios = array('Asterisk' => 'asterisk', 'OpenFire' => 'openfire', 'Hylafax' => 'hylafax', 'Postfix' => 'postfix', 'MySQL' => 'mysqld', 'Apache' => 'httpd', 'Dialer' => 'elastixdialer');
     if (!in_array($sServicio, array_keys($servicios))) {
         return FALSE;
     }
     if (!in_array($sAccion, array_keys($acciones))) {
         return FALSE;
     }
     $output = $retval = NULL;
     if ($sAccion == "processcontrol_deactivate" || $sAccion == "processcontrol_activate") {
         //  exec('sudo -u root chkconfig --level 3 '.escapeshellarg($servicios[$sServicio]).' '.escapeshellarg($acciones[$sAccion]),$output,$retval);
         exec('/usr/bin/elastix-helper rchkconfig --level 3 ' . escapeshellarg($servicios[$sServicio]) . ' ' . escapeshellarg($acciones[$sAccion]), $output, $retval);
         $arrServices = $oPalo->getStatusServices();
         if ($arrServices[$sServicio]["status_service"] == "Shutdown" && $sAccion == "processcontrol_activate" || $arrServices[$sServicio]["status_service"] == "OK" && $sAccion == "processcontrol_deactivate") {
             $sAccion = $sAccion == "processcontrol_deactivate" ? 'processcontrol_stop' : 'processcontrol_start';
         } else {
             $flag = 1;
         }
     }
     if ($flag != 1) {
         exec('sudo -u root service generic-cloexec ' . $servicios[$sServicio] . ' ' . $acciones[$sAccion] . ' 1>/dev/null 2>/dev/null');
     }
     return TRUE;
 }
    function getDataApplet_ProcessesStatus()
    {
        $oPalo = new paloSantoSysInfo();
        $arrServices = $oPalo->getStatusServices();
        $sMsgStart = _tr('Start process');
        $sMsgStop = _tr('Stop process');
        $sMsgRestart = _tr('Restart process');
        $sMsgActivate = _tr('Enable process');
        $sMsgDeactivate = _tr('Disable process');
        $sListaServicios = <<<PLANTILLA_POSICIONABLE
<div class="neo-applet-processes-menu">
<input type="hidden" id="neo_applet_selected_process" value="" />
<div id="neo-applet-processes-controles">
<input type="button" class="neo_applet_process" name="processcontrol_stop" id="neo_applet_process_stop" value="{$sMsgStop}" />
<input type="button" class="neo_applet_process" name="processcontrol_start" id="neo_applet_process_start" value="{$sMsgStart}" />
<input type="button" class="neo_applet_process" name="processcontrol_restart" id="neo_applet_process_restart" value="{$sMsgRestart}" />
<input type="button" class="neo_applet_process" name="processcontrol_activate" id="neo_applet_process_activate" value="{$sMsgActivate}" />
<input type="button" class="neo_applet_process" name="processcontrol_deactivate" id="neo_applet_process_deactivate" value="{$sMsgDeactivate}" />
</div>
<img id="neo-applet-processes-processing" src="modules/{$this->module_name}/images/loading.gif" style="display: none;" alt="" />
</div>
PLANTILLA_POSICIONABLE;
        $listaIconos = array('Asterisk' => 'icon_pbx.png', 'OpenFire' => 'icon_im.png', 'Hylafax' => 'icon_fax.png', 'Postfix' => 'icon_email.png', 'MySQL' => 'icon_db.png', 'Apache' => 'icon_www.png', 'Dialer' => 'icon_headphones.png');
        $sIconoDesconocido = 'system.png';
        $sPlantilla = <<<PLANTILLA_PROCESS_ROW
<div class="neo-applet-processes-row">
    <div class="neo-applet-processes-row-icon"><img src="modules/dashboard/images/%s" width="32" height="28" alt="%s" /></div>
    <div class="neo-applet-processes-row-name">%s</div>
    <div class="neo-applet-processes-row-menu">
        <input type="hidden" name="key-servicio" id="key-servicio" value="%s" />
        <input type="hidden" name="status-servicio" id="status-servicio" value="%s" />
        <input type="hidden" name="activate-process" id="activate-process" value="%s" />
        <img src="modules/dashboard/images/%s" style="cursor:%s;" width="15" height="15" alt="menu" />
    </div>
    <div class="neo-applet-processes-row-status-msg" style="color: %s">%s</div>
    <div class="neo-applet-processes-row-status-icon"></div></div>
PLANTILLA_PROCESS_ROW;
        // onclick="neoAppletProcesses_manejarMenu(this, '%s', '%s');">
        foreach ($arrServices as $sServicio => $infoServicio) {
            switch ($infoServicio['status_service']) {
                case 'OK':
                    $sDescStatus = _tr('Running');
                    $sColorStatus = '#006600';
                    break;
                case 'Shutdown':
                    $sDescStatus = _tr('Not running');
                    $sColorStatus = '#880000';
                    break;
                default:
                    $sDescStatus = _tr('Not installed');
                    $sColorStatus = '#000088';
                    break;
            }
            $sListaServicios .= sprintf($sPlantilla, isset($listaIconos[$sServicio]) ? $listaIconos[$sServicio] : $sIconoDesconocido, $sServicio, _tr($infoServicio['name_service']), $sServicio, $infoServicio['status_service'], $infoServicio['activate'], in_array($infoServicio['status_service'], array('OK', 'Shutdown')) ? 'icon_arrowdown.png' : 'icon_arrowdown-disabled.png', in_array($infoServicio['status_service'], array('OK', 'Shutdown')) ? 'pointer' : '', $sColorStatus, strtoupper($sDescStatus));
        }
        return $sListaServicios;
    }