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 "resources/require.php"; require_once "resources/check_auth.php"; if (permission_exists('service_view')) { //access granted } else { echo "access denied"; exit; } //add multi-lingual support require_once "app_languages.php"; foreach($text as $key => $value) { $text[$key] = $value[$_SESSION['domain']['language']['code']]; } require_once "resources/header.php"; require_once "resources/paging.php"; $order_by = $_GET["order_by"]; $order = $_GET["order"]; if (strlen($_GET["a"]) > 0) { $service_uuid = $_GET["id"]; $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") { $_SESSION["message"] = $text['message-stopping'].': '.$service_name; shell_exec($service_cmd_stop); } if ($_GET["a"] == "start") { $_SESSION["message"] = $text['message-starting'].': '.$service_name; shell_exec($service_cmd_start); } header("Location: services.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 = "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 = "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 "\n"; echo "\n"; echo th_order_by('service_description', 'Description', $order_by, $order); echo "\n"; echo "\n"; if ($result_count == 0) { //no results } else { //received results foreach($result as $row) { $tr_link = (permission_exists('service_edit')) ? "href='service_edit.php?id=".$row[service_uuid]."'" : null; 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"; if (permission_exists('service_add')) { echo "$v_link_label_add"; } echo "
"; if (permission_exists('service_edit')) { echo "".$row[service_name].""; } else { echo $row[service_name]; } echo " \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 "".$row[service_description]." "; if (permission_exists('service_edit')) { echo "$v_link_label_edit"; } if (permission_exists('service_delete')) { echo "$v_link_label_delete"; } echo "
\n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo "
 $paging_controls"; if (permission_exists('service_add')) { echo "$v_link_label_add"; } echo "
\n"; echo "
"; echo "
"; echo "

"; echo "

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

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