<?php /** * Module processes */ if (! $authentication->accessBasedOnLogin ()) { $authentication->logout (); header ( "Location: " . $configuration->url ( "login", "processes" ) ); } else { if (isset ( $_GET ["suboperation"] ) && is_string ( $_GET ["suboperation"] ) && trim ( $_GET ["suboperation"] ) != "") { if (isset ( $_GET ["subsuboperation"] ) && is_string ( $_GET ["subsuboperation"] ) && trim ( $_GET ["subsuboperation"] ) != "") { if(isset($configuration->solr) && isset($configuration->solr[$_GET["subsuboperation"]])) { $smarty->assign ( "_processesConfiguration", $_GET ["subsuboperation"] ); } else { header ( "Location: " . $configuration->url ( "processes") ); exit (); } if ($_GET ["suboperation"] == "running" || $_GET ["suboperation"] == "history" || $_GET ["suboperation"] == "error") { $smarty->assign ( "_processesType", $_GET ["suboperation"] ); } else if ($_GET ["suboperation"] == "api") { if (strtoupper ( $_SERVER ['REQUEST_METHOD'] ) == "POST") { $response = array (); header ( "Content-Type: application/json" ); if ($apiRequest = json_decode ( file_get_contents ( "php://input" ) )) { $response ["status"] = "ok"; if (! isset ( $apiRequest->type ) || ! is_string ( $apiRequest->type )) { $response ["status"] = "error"; $response ["error"] = "no (valid) type in request"; } if (! isset ( $apiRequest->configuration ) || ! is_string ( $apiRequest->configuration ) || !isset($configuration->config ["solr"] [$apiRequest->configuration])) { $response ["status"] = "error"; $response ["error"] = "no (valid) configuration in request"; } else if($configuration->solr[$apiRequest->configuration]["mtasHandler"]) { $coreUrl = $configuration->config ["solr"] [$apiRequest->configuration] ["url"].$configuration->solr[$apiRequest->configuration]["mtasHandler"]; $ch = curl_init ( $coreUrl . "?action=".urlencode($apiRequest->type)."&key=".((isset($apiRequest->key)&&is_string($apiRequest->key))?urlencode($apiRequest->key):"") ); $options = array ( CURLOPT_RETURNTRANSFER => true ); curl_setopt_array ( $ch, $options ); $result = curl_exec ( $ch ); if ($data = json_decode ( $result )) { $response ["data"] = $data; } else { $response ["status"] = "error"; $response ["data"] = $result; $response ["error"] = "problem with status"; } } } else { $response ["status"] = "error"; $response ["error"] = "no valid json"; } echo json_encode ( $response ); } else { // only allow post header ( "Location: " . $configuration->url ( "api" ) ); } exit (); } else { header ( "Location: " . $configuration->url ( "processes") ); exit (); } } else { header ( "Location: " . $configuration->url ( "processes") ); } } else { $smarty->assign ( "_processesConfiguration", null ); $smarty->assign ( "_processesType", null ); } } ?>