apps/dvr_old/php/camera.php

Go to the documentation of this file.
00001 <?php
00002     
00003 #    header ('Content-type: text/plain');
00004     header ('Content-type: text/xml');
00005 
00006     include "tag.php";
00007     include "def.php";
00008     include "db.php";
00009     include "check.php";
00010     
00011     define ("DELETE",   1);    
00012     define ("UNDELETE", 0);
00013     
00014 
00015     function addCam ($mac, $id, $ip1, $ip2, $place)
00016     {
00017         $mac_orig = $mac;
00018         
00019         if ( (checkMac ($mac) == -1) || (! $mac))
00020         {
00021             return error ("Error: Wrong MAC='" . $mac . "' ", "cameras");
00022         }
00023         
00024         $mac = checkMac ($mac);
00025         
00026         $query = "SELECT * FROM cameras WHERE mac='" . $mac . "' " ;
00027         
00028         $query_resp     = @mysql_query ($query, $id);
00029         $num            = @mysql_numrows ($query_resp);
00030 
00031         if ($num > 0)
00032         {
00033             $err = '';
00034             if (mysql_result ($query_resp, $i, "del") == 1)  $err = ' and marked as deleted';
00035             return error ("Error: Camera with MAC='" . $mac_orig ."' already registered" . $err . "!", "cameras");
00036         }
00037         
00038         $query          = "INSERT INTO cameras VALUES ('" . $mac . "', '" . $ip1 . "', '" . $ip2 . "', '" . $place . "', '0')";
00039         $query_resp     = @mysql_query ($query, $id);
00040         
00041         $ret            = formClosedTag ("OK", "add", "") . "\n";
00042         $ret            = formClosedTag ($ret, "cameras", "\n") . "\n";
00043         
00044         return $ret;
00045     
00046     }
00047 
00048     function editCam ($mac, $id, $ip1, $ip2, $place)
00049     {
00050         $mac_orig = $mac;
00051         
00052         if ( (checkMac ($mac) == -1) || (! $mac))
00053         {
00054             return error ("Error: Wrong MAC='" . $mac . "' ", "cameras");
00055         }
00056         
00057         $mac = checkMac ($mac);
00058         
00059         $query = "SELECT * FROM cameras WHERE mac='" . $mac . "' AND del=0" ;
00060         
00061         $query_resp     = @mysql_query ($query, $id);
00062         $num            = @mysql_numrows ($query_resp);
00063 
00064         if ($num < 1)
00065         {
00066             return error ("Error: Camera with MAC='" . $mac_orig ."' is not found!", "cameras");
00067         }
00068         
00069         $flag           = 0;    
00070         $query          = "UPDATE cameras SET ";
00071         if ($ip1)
00072         {
00073             $flag        = 1;
00074             $query      .= "ip1='" . $ip1 . "' ";
00075         }
00076         if ($ip2)
00077         {
00078             if ($flag == 1) 
00079             {
00080                 $query  .= ", ";
00081             }
00082             $flag        = 1;
00083             $query      .= "ip2='" . $ip2 . "' ";
00084         }
00085         if ($place)
00086         {
00087             if ($flag == 1) 
00088             {
00089                 $query  .= ", ";
00090             }
00091             $flag        = 1;
00092             $query      .= "place='" . $place . "' ";
00093         }
00094         
00095         $query          .= "   WHERE mac='" . $mac . "' AND del=0";
00096         
00097         if ($flag == 1)
00098         {
00099             $query_resp         = @mysql_query ($query, $id);
00100         }
00101         
00102         $ret            = formClosedTag ("OK", "edit", "") . "\n";
00103         $ret            = formClosedTag ($ret, "cameras", "\n") . "\n";
00104         
00105         return $ret;
00106     }
00107 
00108 
00109     function delUndelCam ($mac, $id, $action)
00110     {
00111         $mac_orig = $mac;
00112         
00113         if (($mac = checkMac ($mac)) == -1)
00114         {
00115             return error ("Error: Wrong MAC=" . $mac, "cameras");
00116         }
00117         
00118         if (($action != DELETE) && ($action != UNDELETE))
00119         {
00120             return error ("Error: Wrong action=" . $action, "cameras");
00121         }
00122         
00123         $action_rev = $action == UNDELETE ? DELETE : UNDELETE;
00124         $query = "SELECT * FROM cameras WHERE mac='" . $mac . "' AND del=" . $action_rev;
00125         
00126         $query_resp     = @mysql_query ($query, $id);
00127         $num            = @mysql_numrows ($query_resp);
00128 
00129         if ($num < 1)
00130         {
00131             $err = 'C';
00132             if ($action == UNDELETE) $err = 'Deleted c';
00133             return error ("Error: " . $err . "amera with MAC='$mac_orig' is not found", "cameras");
00134         }
00135         
00136         $query = "UPDATE cameras SET del=" . $action . "  WHERE mac='" . $mac . "' AND del=" . $action_rev;     
00137         $query_resp     = @mysql_query ($query, $id);
00138         
00139         $ret = formClosedTag ("OK", "undel", "") . "\n";
00140         if ($action == DELETE)
00141         {
00142             $ret = formClosedTag ("OK", "del", "") . "\n";
00143         }
00144         
00145         $ret = formClosedTag ($ret, "cameras", "\n");
00146         
00147         return $ret;
00148     }
00149 
00150 
00151     
00152     function listCams ($mac, $id)
00153     {
00154         $mac_orig = $mac;
00155         
00156         if ($mac)
00157         {       
00158             if (($mac = checkMac ($mac)) == -1)
00159             {
00160                 return error ("Error: Wrong MAC=" . $mac, "cameras");
00161             }
00162         }
00163         
00164         $mac_enabled = 0;
00165         if ($mac)
00166         {
00167             $query = "SELECT * FROM cameras WHERE mac='" . $mac . "' AND del=0";
00168             $mac_enabled = 1;
00169         }
00170         else
00171         {
00172             $query = "SELECT * FROM cameras WHERE del=0";
00173         }
00174         
00175         $query_resp     = mysql_query ($query, $id);
00176         $num            = mysql_numrows ($query_resp);
00177         
00178         if ($num < 1)
00179         {
00180             if ( $mac_enabled == 1)
00181             {
00182                 return error ("Error: Camera with MAC='" . $mac_orig . "' is not found", "cameras");
00183             }
00184             return error ("Error: Database is empty.", "cameras");
00185         }
00186         
00187         $i   = 0;
00188         $ret = '';
00189         while ($i < $num)
00190         {
00191             $mac_ = getDottedMac (mysql_result ($query_resp, $i, "mac"));
00192             $ret_ = '';
00193             $ret_ = $ret_ . formClosedTag ($mac_,  "mac", "") . "\n";
00194             $ret_ = $ret_ . formClosedTag (mysql_result ($query_resp, $i, "ip1"),   "ip1", "") . "\n";
00195             $ret_ = $ret_ . formClosedTag (mysql_result ($query_resp, $i, "ip2"),   "ip2", "") . "\n";
00196             $ret_ = $ret_ . formClosedTag (mysql_result ($query_resp, $i, "place"), "place", "") . "\n";
00197             $ret_ = formClosedTag ($ret_, "camera", "\n") . "\n";
00198             $i++;
00199             $ret .= $ret_;
00200         }
00201         $ret = formClosedTag ($ret, "cameras", "\n");
00202         
00203         return $ret;
00204     }
00205 
00206 
00207 
00208 
00209 // Entry point    
00210 
00211     switch ($_GET[cmd]) 
00212     {
00213         case "list":
00214         case "del":
00215         case "undel":
00216         case "add":
00217         case "edit":
00218             break;
00219         default :
00220             echo error ("Error: Unknown command '" . $_GET[cmd] . "' ", "cameras");
00221             return 0;
00222             break;
00223     }
00224     
00225     $id = connectToServer (server, user, password);
00226     if (!$id)
00227     {
00228         echo error ("Error: " . mysql_error(), "cameras");
00229         return 0;
00230     }
00231     
00232     if (!openDB (database, $id))
00233     {
00234         echo error ("Error: " . mysql_error($id), "cameras");
00235         closeDB ($id);
00236         return 0;
00237     }
00238     
00239     
00240     switch ($_GET[cmd]) 
00241     {
00242         case "list":
00243             $ret = listCams ($_GET[mac], $id);
00244             break;
00245         case "add":
00246             $ret = addCam ($_GET[mac], $id, $_GET[ip1], $_GET[ip2], $_GET[place]);
00247             break;
00248         case "edit":
00249             $ret = editCam ($_GET[mac], $id, $_GET[ip1], $_GET[ip2], $_GET[place]);
00250             break;
00251         case "del":
00252             $ret = delUndelCam ($_GET[mac], $id, DELETE);
00253             break;
00254         case "undel":
00255             $ret = delUndelCam ($_GET[mac], $id, UNDELETE);
00256             break;
00257         default :
00258             $ret = error ("Error: Unknown command \"$_GET[cmd]\"", "cameras");
00259             break;
00260     }
00261     
00262     closeDB ($id);
00263     
00264     echo $ret
00265 ?>

Generated on Fri Nov 28 00:06:21 2008 for elphel by  doxygen 1.5.1