Advertisement
Guest User

Untitled

a guest
Nov 19th, 2016
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 5.97 KB | None | 0 0
  1. <?php
  2. use Symfony\Component\HttpFoundation\Request;
  3.  
  4. require('../vendor/autoload.php');
  5.  
  6. $app = new Silex\Application();
  7. $app['debug'] = true;
  8.  
  9.  
  10. $app->register(new Silex\Provider\UrlGeneratorServiceProvider());
  11.  
  12.  
  13. // Our web handlers
  14.  
  15. function json($data)
  16. {
  17.     header('Content-Type: application/json');
  18.     echo json_encode($data);
  19.     die;
  20. }
  21.  
  22. $restApiUri = "http://kara2000.gilak.me";
  23.  
  24. $app->get('/', function (Request $request) {
  25.   return "worked";
  26. });
  27.  
  28. $app->post('authentication', function (Request $request) {
  29.     $url = [
  30.         $request->get("url"),
  31.         ':' . $request->get("port"),
  32.         '/ws/KaraAuthenticationService.asmx?wsdl'
  33.     ];
  34.     $client = new SoapClient(implode('', $url));
  35.  
  36.     $response = $client->LoginValidation([
  37.         'UserName' => $request->get('username'),
  38.         "Password" => $request->get('password')
  39.     ]);
  40.  
  41.     json(["status" => $response->LoginValidationResult, 'response' => $response]);
  42. });
  43.  
  44. $app->get("info-image", function (Request $request) {
  45.     $client = new SoapClient($request->get("url"));
  46.  
  47.     $response = $client->MobileInformation([
  48.         'UserName' => $request->get('username'),
  49.         "Password" => $request->get('password')
  50.     ]);
  51.  
  52.     header('Content-Type: image/jpeg');
  53.     echo $response->MobileInformationResult->mobileInfoModel->PersonnelImage;
  54.     die;
  55. })->bind("info-image");
  56.  
  57. $app->post("info", function (Request $request) use ($app, $restApiUri) {
  58.     $url = [
  59.         $request->get("url"),
  60.         ':' . $request->get("port"),
  61.         '/ws/KaraAuthenticationService.asmx?wsdl'
  62.     ];
  63.     $client = new SoapClient(implode('', $url));
  64.     $response = $client->MobileInformation([
  65.         'UserName' => $request->get('username'),
  66.         "Password" => $request->get('password')
  67.     ]);
  68.  
  69.     json([
  70.         "status" => true,
  71.         "data" => [
  72.             "name" => $response->MobileInformationResult->mobileInfoModel->Name,
  73.             "family" => $response->MobileInformationResult->mobileInfoModel->Family,
  74.             "profession" => $response->MobileInformationResult->mobileInfoModel->Post,
  75.             "image" => $restApiUri . $app['url_generator']->generate('info-image')
  76.                 . "?password=" . $request->get('password') . "&username=" . $request->get('username')
  77.                 . "&url=" . implode('', $url),
  78.         ]
  79.     ]);
  80. });
  81.  
  82. $app->post("traffic", function (Request $request) {
  83.     $url = [
  84.         $request->get("url"),
  85.         ':' . $request->get("port"),
  86.         '/ws/KaraAuthenticationService.asmx?wsdl'
  87.     ];
  88.     $client = new SoapClient(implode('', $url));
  89.  
  90.     $response = $client->MobileTaradod([
  91.         'UserName' => $request->get('username'),
  92.         "Password" => $request->get('password'),
  93.         "token" => $request->get('token'),
  94.     ]);
  95.  
  96.     $data = explode(" ; ", $response->MobileTaradodResult);
  97.  
  98.     if (!is_array($data))
  99.         $data = [];
  100.  
  101.     $purifiedData = [];
  102.     foreach ($data as $row) {
  103.         $rowParts = explode(",", $row);
  104.         if (count($rowParts) == 3) {
  105.             $purifiedData[] = [
  106.                 'clock' => $rowParts[0],
  107.                 'date' => $rowParts[1],
  108.                 'type' => $rowParts[2]
  109.             ];
  110.         }
  111.     }
  112.  
  113.     json($purifiedData);
  114. });
  115.  
  116. $app->post("incomplete-traffic", function (Request $request) {
  117.     $url = [
  118.         $request->get("url"),
  119.         ':' . $request->get("port"),
  120.         '/ws/KaraAuthenticationService.asmx?wsdl'
  121.     ];
  122.     $client = new SoapClient(implode('', $url));
  123.  
  124.     $response = $client->MobileTaradodDefective([
  125.         'UserName' => $request->get('username'),
  126.         "Password" => $request->get('password'),
  127.         "token" => $request->get('token'),
  128.     ]);
  129.  
  130.     $data = explode(" ; ", $response->MobileTaradodDefectiveResult);
  131.  
  132.     if (!is_array($data))
  133.         $data = [];
  134.  
  135.     $purifiedData = [];
  136.     foreach ($data as $row) {
  137.         $rowParts = explode(",", $row);
  138.         if (count($rowParts) == 3) {
  139.             $purifiedData[] = [
  140.                 'clock' => $rowParts[0],
  141.                 'date' => $rowParts[1],
  142.                 'type' => $rowParts[2]
  143.             ];
  144.         }
  145.     }
  146.  
  147.     json($purifiedData);
  148. });
  149.  
  150. $app->post("staff-traffic", function (Request $request) {
  151.     $url = [
  152.         $request->get("url"),
  153.         ':' . $request->get("port"),
  154.         '/ws/KaraAuthenticationService.asmx?wsdl'
  155.     ];
  156.     $client = new SoapClient(implode('', $url));
  157.  
  158.     $response = $client->MobileTaradodUsers([
  159.         'UserName' => $request->get('username'),
  160.         "Password" => $request->get('password'),
  161.         "token" => $request->get('token'),
  162.     ]);
  163.  
  164.     $data = explode(" ; ", $response->MobileTaradodUsersResult);
  165.  
  166.     if (!is_array($data))
  167.         $data = [];
  168.  
  169.     $purifiedData = [];
  170.     foreach ($data as $row) {
  171.         $rowParts = explode(",", $row);
  172.         if (count($rowParts) == 3) {
  173.             $purifiedData[] = [
  174.                 'clock' => $rowParts[0],
  175.                 'date' => $rowParts[1],
  176.                 'type' => $rowParts[2]
  177.             ];
  178.         }
  179.     }
  180.  
  181.     json($purifiedData);
  182. });
  183.  
  184. $app->post("staff-status", function (Request $request) {
  185.     $url = [
  186.         $request->get("url"),
  187.         ':' . $request->get("port"),
  188.         '/ws/KaraAuthenticationService.asmx?wsdl'
  189.     ];
  190.     $client = new SoapClient(implode('', $url));
  191.  
  192.     $response = $client->MobileCountTaradod([
  193.         'UserName' => $request->get('username'),
  194.         "Password" => $request->get('password'),
  195.         "token" => $request->get('token'),
  196.     ]);
  197.     $data = explode(" ; ", $response->MobileCountTaradodResult);
  198.  
  199.     if (!is_array($data))
  200.         $data = [];
  201.  
  202.     $purifiedData = [];
  203.     foreach ($data as $row) {
  204.         $rowParts = explode(",", $row);
  205.         if (count($rowParts) == 2) {
  206.             $purifiedData[] = [
  207.                 'name' => $rowParts[0],
  208.                 'count' => $rowParts[1]
  209.             ];
  210.         }
  211.     }
  212.  
  213.     json($purifiedData);
  214. });
  215. //run
  216. $app->run();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement