summaryrefslogtreecommitdiffstats
path: root/notFinishedCode/web/newModiefiedFilesOnServer/mutexTry.php
diff options
context:
space:
mode:
authorRefik Hadzialic2011-10-29 18:27:40 +0200
committerRefik Hadzialic2011-10-29 18:27:40 +0200
commit51047179c4ebfc74aefa0ead83617ff325d1104f (patch)
tree9efdf4e58d111eba5ae959e03ee9b97ab3fd8e23 /notFinishedCode/web/newModiefiedFilesOnServer/mutexTry.php
parentwiki and report diagram files (diff)
downloadgsm-selftest-51047179c4ebfc74aefa0ead83617ff325d1104f.tar.gz
gsm-selftest-51047179c4ebfc74aefa0ead83617ff325d1104f.tar.xz
gsm-selftest-51047179c4ebfc74aefa0ead83617ff325d1104f.zip
Displays picture as it should on the web site!
Diffstat (limited to 'notFinishedCode/web/newModiefiedFilesOnServer/mutexTry.php')
-rw-r--r--notFinishedCode/web/newModiefiedFilesOnServer/mutexTry.php349
1 files changed, 349 insertions, 0 deletions
diff --git a/notFinishedCode/web/newModiefiedFilesOnServer/mutexTry.php b/notFinishedCode/web/newModiefiedFilesOnServer/mutexTry.php
new file mode 100644
index 0000000..0b5be2b
--- /dev/null
+++ b/notFinishedCode/web/newModiefiedFilesOnServer/mutexTry.php
@@ -0,0 +1,349 @@
+<html>
+<head>
+<script src='delayedLoading.js' type="text/javascript"></script>
+<!--ADD HERE ALL THE NEEDED META DATA -->
+<title>Network test live results!</title>
+<link rel="stylesheet" href="css/tableCSS.css" type="text/css" media="screen">
+</head>
+<body background = "Images/BackGround.jpg" onscroll="scrollEvent();" onload="loaderInit();">
+<div>
+<?php
+
+//Connection stuff
+//DB
+$dbhost = 'localhost';
+$dbuser = 'root';
+$dbpass = 'randompasswordSQL';
+
+//Socket
+$port = 34500;
+$ip = 'localhost';
+
+$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die('Error connecting to mysql');
+
+$dbname = 'gsmselftesting';
+mysql_select_db($dbname);
+//End of connection stuff
+include 'mutexFunctions.php'; //mutex functions, isfree, lock and release
+include 'insertData.php'; //insert task functions
+
+$nameOfLock = 'Webpage';
+$timeToKeepTheMutex = 360;
+
+$locking = isLocked($nameOfLock);//Check if the webpage is already open
+
+if ($locking == '1') //1 means nobody is on the website
+{
+ $lockMe = Lock($nameOfLock,$timeToKeepTheMutex); //Set a mutex for the webpage
+ if ($lockMe == '1') //1 means a successful lock
+ {
+
+ include 'post.php'; // read posted data and add them to the database
+// echo 'WE had errors: '. $errorAdding;
+ //stuff to do here
+ //check if the software is running!
+ $softwareLock = 'SoftwareStarted';
+
+ //$taskAmount= 1
+ if($taskAmount != 0)
+ {
+ $softwareRunning = isLocked($softwareLock);
+ if($softwareRunning == '1') //1 means software is not started yet, start it
+ {
+ $startApp = fsockopen($ip, 34600, $errno, $error, 5);
+ if (!$startApp)
+ {
+ printf('THE SOFTWARE THAT SHOULD RUN IN BACKGROUND IS NOT RUNNING!');
+ }
+ else
+ {
+ socket_set_timeout( $startApp, 50); //one should set the number of the longest test, so we can define the timeout
+ fwrite($startApp, "START APP");
+ usleep(2500);
+ fclose($startApp);
+ }
+
+ //exec("/usr/bin/python /var/www/tricode/gsmselftest2.py > /dev/null 2>&1 &"); //start the software in background and don't wait for any output
+ sleep(6); //sleep half second till the software starts
+ //the software should be running already and set the lock, now we test it and then connect to it!
+
+ $softwareRunning1 = isLocked($softwareLock);
+ if($softwareRunning1 == '0') //Software running and waiting for connection!
+ {
+ //try to open the socket and connect to the software
+ $fp = fsockopen($ip, $port, $errno, $error, 5);
+
+ if (!$fp)
+ {
+ echo 'Could not open the socket or connect to the testing software! Check ports on both sides!';
+
+ }
+ else
+ {
+ socket_set_timeout($fp,50); //one should set the number of the longest test, so we can define the timeout function (it is the number after "$fp,")
+
+ fwrite($fp, "START TEST");
+
+ //fwrite($fp, "SMART TEST"); //send command to start the tests
+ if(!feof($fp))
+ {
+ while(!feof($fp))
+ {
+ $received = fgets($fp, 128); //receive data!
+
+ if ($received == "CONFIRM\n") //we got the confirmation from the testing software
+ {
+ //test finished successfully
+
+ $GSMRZ1 = 0;
+ $GSMRZ2 = 0;
+ $GSMRZ3 = 0;
+
+ $SIP = 0;
+ $UNISIP = 0;
+ $LANDLINE = 0;
+ $LSFKS = 0;
+
+ $GSMEE = 0;
+ $GSMEV = 0;
+ $GSMET = 0;
+ $GSMEO = 0;
+
+ $SIPP = 2;
+ $LANDLINEP = 2;
+ $UNISIPP = 2;
+ $NANOBTS1P = 2;
+ $NANOBTS2P = 2;
+ /////////// end of test!
+ echo '<div id="main">
+ <table summary = "Results">
+ <thead>
+ <tr>
+ <th scope = "col"> From: </th>
+ <th scope = "col" > To: </th>
+ <th scope = "col"> Message: </th>
+ <th scope = "col"> Status: </th>
+ </tr>
+ </thead>
+ <!-- start of the table rows-->
+ <tbody>';
+ echo str_repeat("\n",7024);
+ flush();
+ }
+ elseif ($received == "TEST DONE\n")
+ {
+
+
+ echo '</tbody></table>';
+ echo '</div>';
+ echo '<div id="sidebar">';
+ echo "<a class='pChart' href='networkResult.php?S=$SIP&RZ1=$GSMRZ1&RZ2=$GSMRZ2&RZ3=$GSMRZ3&US=$UNISIP&LL=$LANDLINE&LS=$LSFKS&EE=$GSMEE&EV=$GSMEV&ET=$GSMET&EO=$GSMEO&SP=$SIPP&SGP=$LANDLINEP&USP=$UNISIPP&NBP1=$NANOBTS1P&NBP2=$NANOBTS2P&TASKID=$taskNo' data-pchart-alt='Picture3'>Picture 3</a></div>";
+ echo '<div id="footer"><font size ="2" face="Century Gothic" color="white"> Number of tasks: '.$taskAmount.'<br> Number of tasks tried to add to the DB but had an error: '. $errorAdding .'<br> TEST SUCCESSFULLY FINISHED!</font></div>';
+ echo str_repeat("\n",7024);
+ flush();
+ usleep(100);
+ fwrite($fp, 'DISCONNECT'); //tell the testing software it may close
+ break;
+ }
+ else
+ {
+ //parse the received data!
+ $received = str_replace("\n",'',$received);
+ $dataForTable = explode("|", $received);
+ $callFrom = strtoupper($dataForTable[1]);
+ $callTo = strtoupper($dataForTable[2]);
+ $testStatus = strtoupper($dataForTable[3]);
+ //ADD HERE THE TEST CASES BUT MAKE IT INSIDE OF A FILE (e.q. include 'testing.php'); HERE I PUT IT ONLY FOR EXAMPLE PURPOSES!
+
+ if($callFrom == 'SIP' || $callTo == 'SIP')
+ {
+ if($testStatus == '200')
+ {
+ $SIP = 1;
+ $SIPP = 1;
+ $LSFKS = 1;
+
+ }
+ }
+ if($callFrom == 'GSMRZ1' || $callTo == 'GSMRZ1')
+ {
+ if($testStatus == '200')
+ {
+ $GSMRZ1 = 1;
+ }
+ if($testStatus != '200' && $GSMRZ1<1)
+ {
+ $GSMRZ1 = -1;
+ }
+ }
+ if($callFrom == 'GSMRZ2' || $callTo == 'GSMRZ2')
+ {
+ if($testStatus == '200')
+ {
+ $GSMRZ2 = 1;
+ $NANOBTS1P = 1;
+ }
+ if($testStatus != '200' && $GSMRZ2<1)
+ {
+ $GSMRZ2 = -1;
+ $NANOBTS1P = 0;
+ }
+
+ }
+ if($callFrom == 'GSMRZ3' || $callTo == 'GSMRZ3')
+ {
+ if($testStatus == '200')
+ {
+ $GSMRZ3 = 1;
+ $NANOBTS2P = 1;
+ }
+ if($testStatus != '200' && $GSMRZ3 < 1)
+ {
+ $GSMRZ3 = -1;
+ $NANOBTS2P = 0;
+ }
+ }
+ if($callFrom == 'GSMEXT.O2' || $callTo == 'GSMEXT.O2')
+ {
+ if($testStatus == '200')
+ {
+ $GSMEO = 1;
+ $LSFKS = 1;
+ }
+ if($testStatus != '200' && $GSMEO < 1)
+ {
+ $GSMEO = -1;
+ }
+ }
+ if($callFrom == 'GSMEXT.VODA' || $callTo == 'GSMEXT.VODA')
+ {
+ if($testStatus == '200')
+ {
+ $GSMEV = 1;
+ $LSFKS = 1;
+ }
+ if($testStatus != '200' && $GSMEV < 1)
+ {
+ $GSMEV = -1;
+ }
+ }
+ if($callFrom == 'GSMEXT.EPLUS' || $callTo == 'GSMEXT.EPLUS')
+ {
+ if($testStatus == '200')
+ {
+ $GSMEE = 1;
+ $LSFKS = 1;
+ }
+ if($testStatus != '200' && $GSMEE < 1)
+ {
+ $GSMEE = -1;
+ }
+ }
+ if($callFrom == 'GSMEXT.TM' || $callTo == 'GSMEXT.TM')
+ {
+ if($testStatus == '200')
+ {
+ $GSMET = 1;
+ $LSFKS = 1;
+ }
+ if($testStatus != '200' && $GSMET < 1)
+ {
+ $GSMET = -1;
+ }
+ }
+ if($callFrom == 'LANDLINE' || $callTo == 'LANDLINE')
+ {
+ if($testStatus == '200')
+ {
+ $LANDLINEP = 1;
+ $LANDLINE = 1;
+ $LSFKS = 1;
+ }
+ if($testStatus != '200' && $LANDLINE<1)
+ {
+ $LANDLINE = -1;
+ }
+ }
+ if($callFrom == 'UNISIP' || $callTo == 'UNISIP')
+ {
+ if($testStatus == '200')
+ {
+ $UNISIPP = 1;
+ $UNISIP = 1;
+
+ }
+ if($testStatus != '200' && $UNISIP<1)
+ {
+ $UNISIP = -1;
+ }
+ }
+ //END OF TEST CASE EXAMPLE
+ echo '<tr>
+ <th scope = "row" id = "r100">'. $dataForTable[1] . '</th>
+ <th scope = "row" id = "r100">'. $dataForTable[2] . '</th>
+ <td> ' . $dataForTable[4] . ' </td>
+ <td>' . $dataForTable[3] . '</td>
+ </tr>';
+ //echo $received . '<br>';
+ echo str_repeat("\n",7024);
+ flush();
+ usleep(100);
+ fwrite($fp, "CONTINUE"); //tell the software to proceed with the test and confirm receiving data
+ }
+ }
+ }
+
+ fclose($fp);//close the soccket and the connection
+
+ }
+
+ }
+ elseif($softwareRunning1 == '1')
+ {
+ echo 'Testing software was not started(didn\'t obtain the lock)! Check it!';
+ }
+ else
+ {
+ echo 'Testing software didn\'t obtain the lock';
+ }
+ }
+ elseif($softwareRunning == '0') //0 means the software is still running in the background
+ {
+ echo 'Testing software is still running! Maybe you should kill it (if not started manually!)';
+ }
+ else
+ {
+ echo 'We have an unknown error! Refresh te web page!';
+ }
+
+ //$release = ReleaseLock($nameOfLock);
+ //echo $release . "<br>";
+ }
+ else
+ {
+ echo 'No single test was selected! Please go back and select at least one test';
+ }
+ }
+ elseif($lockMe == '0') //0 means if the attempt timed out (for example, because another client has previously locked the name)
+ {
+ echo 'Someone was faster than you';
+ }
+ else
+ {
+ // # if an error occurred (such as running out of memory or the thread was killed with
+ echo 'We have an error here';
+ }
+}
+elseif ($locking == '0') //0 means somebody is already on the web site
+{
+ echo 'Somebody is using the web site already!' . "<br>";
+}
+else
+{
+ echo 'We have some serious error here';
+}
+?>
+</div>
+</body>
+</html>
+