Portions created by the Initial Developer are Copyright (C) 2008-2012 the Initial Developer. All Rights Reserved. Contributor(s): Mark J Crane */ require_once "root.php"; require_once "includes/require.php"; require_once "includes/checkauth.php"; if (permission_exists('services_view')) { //access granted } else { echo "access denied"; exit; } require_once "includes/header.php"; require_once "includes/paging.php"; $order_by = $_GET["order_by"]; $order = $_GET["order"]; if (strlen($_GET["a"]) > 0) { $service_uuid = $_GET["id"]; $sql = ""; $sql .= "select * from v_services "; $sql .= "where service_uuid = '$service_uuid' "; $prep_statement = $db->prepare(check_sql($sql)); $prep_statement->execute(); $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); foreach ($result as &$row) { $domain_uuid = $row["domain_uuid"]; $service_name = $row["service_name"]; $service_type = $row["service_type"]; $service_data = $row["service_data"]; $service_cmd_start = $row["service_cmd_start"]; $service_cmd_stop = $row["service_cmd_stop"]; $service_description = $row["service_description"]; break; //limit to 1 row } unset ($prep_statement); if ($_GET["a"] == "stop") { $msg = 'Service: '.$service_name. ' stopping. '; shell_exec($service_cmd_stop); } if ($_GET["a"] == "start") { $msg = 'Service: '.$service_name. ' starting. '; shell_exec($service_cmd_start); } require_once "includes/header.php"; echo "\n"; echo "
\n"; echo $msg."\n"; echo "
\n"; require_once "includes/footer.php"; return; } //check if a process is running function is_process_running($pid) { $status = shell_exec( 'ps -p ' . $pid ); $status_array = explode ("\n", $status); if (strlen(trim($status_array[1])) > 0) { return true; } else { return false; } } echo "
"; echo "\n"; echo "\n"; echo " "; echo ""; echo "
\n"; echo "
"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "
Services 
\n"; echo "Shows a list of processes, the status of the process and provides control to start and stop the process.

\n"; echo "
\n"; $sql = ""; $sql .= " select * from v_services "; if (strlen($order_by)> 0) { $sql .= "order by $order_by $order "; } $prep_statement = $db->prepare(check_sql($sql)); $prep_statement->execute(); $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); $num_rows = count($result); unset ($prep_statement, $result, $sql); $rows_per_page = 10; $param = ""; $page = $_GET['page']; if (strlen($page) == 0) { $page = 0; $_GET['page'] = 0; } list($paging_controls, $rows_per_page, $var_3) = paging($num_rows, $param, $rows_per_page); $offset = $rows_per_page * $page; $sql = ""; $sql .= " select * from v_services "; if (strlen($order_by)> 0) { $sql .= "order by $order_by $order "; } $sql .= " limit $rows_per_page offset $offset "; $prep_statement = $db->prepare(check_sql($sql)); $prep_statement->execute(); $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); $result_count = count($result); unset ($prep_statement, $sql); $c = 0; $row_style["0"] = "row_style0"; $row_style["1"] = "row_style1"; echo "
\n"; echo "\n"; echo "\n"; echo th_order_by('service_name', 'Name', $order_by, $order); echo th_order_by('service_description', 'Description', $order_by, $order); echo "\n"; echo "\n"; echo "\n"; echo "\n"; if ($result_count == 0) { //no results } else { //received results foreach($result as $row) { echo "\n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo "\n"; if ($c==0) { $c=1; } else { $c=0; } } //end foreach unset($sql, $result, $row_count); } //end if results echo "\n"; echo "\n"; echo "\n"; echo "
StatusAction\n"; if (permission_exists('services_add')) { echo " $v_link_label_add\n"; } echo "
".$row[service_name]."".$row[service_description]."\n"; $pid = file_get_contents($row[service_data]); if (is_process_running($pid)) { echo "Running"; } else { echo "Stopped"; } echo "\n"; if (is_process_running($pid)) { echo " Stop"; } else { echo " Start"; } echo "\n"; if (permission_exists('services_edit')) { echo " $v_link_label_edit\n"; } if (permission_exists('services_delete')) { echo " $v_link_label_delete\n"; } echo "
\n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo "
 $paging_controls\n"; if (permission_exists('services_add')) { echo " $v_link_label_add\n"; } echo "
\n"; echo "
"; echo "
"; echo "

"; echo "

"; echo "
"; echo "
"; echo "

"; //include the footer require_once "includes/footer.php"; ?>