IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Mar 31, 2016, 6:26:07 AM (10 years ago)
Author:
eugene
Message:

fix MDB2 DBI methods; avoid php warnings by putting quotes around hash arguments; check for hash element existence before using; simplify code with get_htmlkey_value function

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ippMonitor/raw/ipp.php

    r38262 r39498  
    11<?php
    22
     3$debug = 0;
    34$dTABLE = 80;
    45include 'site.php';
     
    5051  echo "<table class=select>\n";
    5152  echo "<tr class=select><th class=select> projects </th></tr>\n";
    52   while ($qry->fetchInto($row)) {
     53  while (dbFetchInto($qry, $row)) {
    5354    // add a link here to set the database
    5455    $tmp_proj = $row[0];
     
    5657    echo "<tr class=select><td class=select><a class=\"menutop\" href=\"SelectProject.php?$tmp_link&proj=$tmp_proj&new=1\"> $row[0] </a></td></tr>\n";
    5758    // echo "<tr class=select><td class=select> $row[0] </td></tr>\n";
    58   }
     59  } 
    5960  echo "</table>\n";
    6061
    6162  menu_end ();
     63}
     64
     65function dbFetchInto ($qry, &$result) {
     66  global $DBI;
     67
     68  if ($DBI == "MDB2") {
     69    $result = $qry->fetchRow();
     70    if ($result == NULL) {
     71      $success = 0;
     72    } else {
     73      $success = 1;
     74    }
     75  }
     76  if ($DBI == "DB") {
     77    $success = $qry->fetchInto($result);
     78  }
     79  return $success;
    6280}
    6381
     
    87105
    88106  // connect to the database
     107  if ($database == $CZARDBNAME) {
     108    $dsn = "mysql://$DBUSER:$DBPASS@$CZARDBHOST/$database";
     109    $dsnerr = "mysql://$DBUSER:XXX@$CZARDBHOST/$database"; // only used to report the error
     110  } else {
     111    $dsn = "mysql://$DBUSER:$DBPASS@$DBHOST/$database";
     112    $dsnerr = "mysql://$DBUSER:XXX@$DBHOST/$database"; // only used to report the error
     113  }
    89114  if ($DBI == "DB") {
    90     if ($database == $CZARDBNAME) {
    91         $db = DB::connect("mysql://$DBUSER:$DBPASS@$CZARDBHOST/$database");
    92     } else {
    93         $db = DB::connect("mysql://$DBUSER:$DBPASS@$DBHOST/$database");
    94     }
     115    $db = DB::connect($dsn);
    95116  }
    96117  if ($DBI == "MDB2") {
    97     $db = MDB2::connect("mysql://$DBUSER:$DBPASS@$DBHOST/$database");
     118    $db = MDB2::connect($dsn);
    98119  }
    99120
    100121  if (dberror($db)) {
    101122    echo "<b>error accessing database</b><br>\n";
    102     echo "<b>tried mysql://$DBUSER:XXX@$DBHOST/$database</b><br>\n";
     123    echo "<b>tried $dsnerr</b><br>\n";
    103124    $result = $db->getMessage();
    104125    echo "$result<br>";
     
    112133
    113134  if ($DBI == "MDB2") {
    114     $dberr = MDB2::isError($db);
     135    $dberr = PEAR::isError($db);
    115136  }
    116137  if ($DBI == "DB") {
     
    129150function checkLogin () {
    130151
    131   $username = $_POST[username];
    132   $password = $_POST[password];
     152  $username = $_POST['username'];
     153  $password = $_POST['password'];
    133154
    134155  // if password is not specified, keep username and ask again
     
    143164  // get the users from the DB
    144165  $sql = "SELECT username FROM users WHERE username = '$username' AND password = '$password'";
    145 
    146166  $qry = $db->query($sql);
     167
    147168  if (dberror($db)) {
    148169    menu ('ipp.menu.dat', 'Login', 'ipp.css', '', '');
     
    152173    menu_end();
    153174  }
    154  
    155   $success = $qry->fetchInto($row);
     175
     176  $success = dbFetchInto($qry, $row);
    156177  if (!$success) { 
    157178    menu ('ipp.menu.dat', 'Login', 'ipp.css', '', '');
     
    174195  }
    175196
    176   if ($qry->fetchInto($row)) {
     197  if (dbFetchInto($qry, $row)) {
    177198    $ID['pass'] = $row[1];
    178199  } else {
     
    197218
    198219function checkID () {
    199 
    200 
    201220  $VERBOSE = 0;
    202221  if ($VERBOSE > 1) {
     
    205224
    206225  // check for valid server method
    207   if (($_SERVER[REQUEST_METHOD] != 'POST') && ($_SERVER[REQUEST_METHOD] != 'GET')) {
     226  if (($_SERVER['REQUEST_METHOD'] != 'POST') && ($_SERVER['REQUEST_METHOD'] != 'GET')) {
    208227    menu ('ipp.menu.dat', 'Login', 'ipp.css', '', '');
    209228    echo "Invalid Client Request<br>\n";
     
    213232
    214233  // look for pass & proj in appropriate location
    215   if ($_SERVER[REQUEST_METHOD] == 'GET') {
    216     $ID['pass'] = $_GET[pass];
    217     $ID['proj'] = $_GET[proj];
    218     $ID['menu'] = $_GET[menu];
    219     $ID['from'] = $_GET[from];
     234  if ($_SERVER['REQUEST_METHOD'] == 'GET') {
     235    $ID['pass'] = array_key_exists('pass', $_GET) ? $_GET['pass'] : "";
     236    $ID['proj'] = array_key_exists('proj', $_GET) ? $_GET['proj'] : "";
     237    $ID['menu'] = array_key_exists('menu', $_GET) ? $_GET['menu'] : "";
     238    $ID['from'] = array_key_exists('from', $_GET) ? $_GET['from'] : "";
    220239
    221240    if ($VERBOSE) {
     
    227246    }
    228247  }
    229   if ($_SERVER[REQUEST_METHOD] == 'POST') {
    230     $ID['pass'] = $_POST[pass];
    231     $ID['proj'] = $_POST[proj];
    232     $ID['menu'] = $_POST[menu];
    233     $ID['from'] = $_POST[from];
     248  if ($_SERVER['REQUEST_METHOD'] == 'POST') {
     249    $ID['pass'] = array_key_exists('pass', $_POST) ? $_POST['pass'] : "";
     250    $ID['proj'] = array_key_exists('proj', $_POST) ? $_POST['proj'] : "";
     251    $ID['menu'] = array_key_exists('menu', $_POST) ? $_POST['menu'] : "";
     252    $ID['from'] = array_key_exists('from', $_POST) ? $_POST['from'] : "";
    234253
    235254    if ($VERBOSE) {
     
    264283  }
    265284 
    266   $success = $qry->fetchInto($row);
     285  $success = dbFetchInto($qry,$row);
    267286  if (! $success) {
    268287    menu('ipp.menu.dat', 'Login', 'ipp.css', '', '');
     
    359378    }
    360379       
    361     $thisname = $_SERVER[SCRIPT_NAME];
     380    $thisname = $_SERVER['SCRIPT_NAME'];
    362381    $page = "$root/" . $base;
    363382    if ($page == $thisname) {
     
    396415  $sortKey = "";
    397416  // try sort forward
    398   if ($_SERVER[REQUEST_METHOD] == 'GET') {
    399     $sortVal = $_GET['sort'];
    400   } else {
    401     $sortVal = $_POST['sort'];
    402   }
     417  $sortVal = get_htmlkey_value ('sort');
    403418  if ($sortVal != "") {
    404419    $sortKey = "&sort=" . $sortVal;
     
    406421  // try sort reverse
    407422  if ($sortKey == "") {
    408     if ($_SERVER[REQUEST_METHOD] == 'GET') {
    409       $sortVal = $_GET['rsort'];
    410     } else {
    411       $sortVal = $_POST['rsort'];
    412     }
     423    $sortVal = get_htmlkey_value ('rsort');
    413424    if ($sortVal != "") {
    414425      $sortKey = "&rsort=" . $sortVal;
     
    473484  }
    474485
    475   if ($_SERVER[REQUEST_METHOD] == 'GET') {
    476     $value = $_GET[$htmlkey];
    477   } else {
    478     $value = $_POST[$htmlkey];
     486  if ($_SERVER['REQUEST_METHOD'] == 'GET') {
     487    $value = array_key_exists($htmlkey, $_GET) ? $_GET[$htmlkey] : "";
     488  } else {
     489    $value = array_key_exists($htmlkey, $_POST) ? $_POST[$htmlkey] : "";
    479490  }
    480491  if ($value == "") { return $where; }
     
    517528  }
    518529
    519   if ($_SERVER[REQUEST_METHOD] == 'GET') {
    520     $value = $_GET['sort'];
    521   } else {
    522     $value = $_POST['sort'];
    523   }
     530  $value = get_htmlkey_value ('sort');
    524531  if ($value != "") {
    525532    $where = $where . " ORDER BY $value";
    526533    return $where;
    527534  }
    528   if ($_SERVER[REQUEST_METHOD] == 'GET') {
    529     $value = $_GET['rsort'];
    530   } else {
    531     $value = $_POST['rsort'];
    532   }
     535  $value = get_htmlkey_value ('rsort');
    533536  if ($value != "") {
    534537    $where = $where . " ORDER BY $value DESC";
     
    538541}
    539542
     543function get_htmlkey_value ($htmlkey) {
     544  if ($_SERVER['REQUEST_METHOD'] == 'GET') {
     545    $value = array_key_exists($htmlkey, $_GET) ? $_GET[$htmlkey] : "";
     546  } else {
     547    $value = array_key_exists($htmlkey, $_POST) ? $_POST[$htmlkey] : "";
     548  }
     549  return $value;
     550}
     551
    540552// if we have a restriction for a string-valued field, supply it to outgoing links
    541553function button_restrict_string ($key, $line) {
    542554  $htmlkey = preg_replace ('|\.|', '_', $key);
    543   if ($_SERVER[REQUEST_METHOD] == 'GET') {
    544     $value = $_GET[$htmlkey];
    545   } else {
    546     $value = $_POST[$htmlkey];
    547   }
     555  $value = get_htmlkey_value ($htmlkey);
     556
    548557  # a search restriction may include an SQL wild-card.  we have to mangle these so that the http
    549558  # does not get converted to a special character
     
    563572  $htmlkey = preg_replace ('|\.|', '_', $key);
    564573  $htmlkey = $htmlkey . '_min';
    565   if ($_SERVER[REQUEST_METHOD] == 'GET') {
    566     $value = $_GET[$htmlkey];
    567   } else {
    568     $value = $_POST[$htmlkey];
    569   }
     574  $value = get_htmlkey_value ($htmlkey);
    570575  if ($value != "") {
    571576    if ($line) {
     
    582587  $htmlkey = preg_replace ('|\.|', '_', $key);
    583588  $htmlkey = $htmlkey . '_max';
    584   if ($_SERVER[REQUEST_METHOD] == 'GET') {
    585     $value = $_GET[$htmlkey];
    586   } else {
    587     $value = $_POST[$htmlkey];
    588   }
     589  $value = get_htmlkey_value ($htmlkey);
    589590  if ($value != "") {
    590591    if ($line) {
     
    600601function button_restrict_checkbox ($key, $line) {
    601602  $htmlkey = preg_replace ('|\.|', '_', $key);
    602   if ($_SERVER[REQUEST_METHOD] == 'GET') {
    603     $value = $_GET[$htmlkey];
    604   } else {
    605     $value = $_POST[$htmlkey];
    606   }
     603  $value = get_htmlkey_value ($htmlkey);
    607604  if ($value != "") {
    608605    if ($line) {
     
    618615function button_restrict_radio ($key, $line) {
    619616  $htmlkey = preg_replace ('|\.|', '_', $key);
    620   if ($_SERVER[REQUEST_METHOD] == 'GET') {
    621     $value = $_GET[$htmlkey];
    622   } else {
    623     $value = $_POST[$htmlkey];
    624   }
     617  $value = get_htmlkey_value ($htmlkey);
    625618  if ($value != "") {
    626619    if ($line) {
     
    648641  }
    649642
    650   if ($_SERVER[REQUEST_METHOD] == 'GET') {
    651     $up   = $_GET['rsort'];
    652     $down = $_GET['sort'];
    653     $from = $_GET['from'];
    654   } else {
    655     $up   = $_POST['rsort'];
    656     $down = $_POST['sort'];
    657     $from = $_POST['from'];
     643  if ($_SERVER['REQUEST_METHOD'] == 'GET') {
     644    $up   = array_key_exists('rsort', $_GET) ? $_GET['rsort'] : "";
     645    $down = array_key_exists('sort',  $_GET) ? $_GET['sort'] : "";
     646    $from = array_key_exists('from',  $_GET) ? $_GET['from'] : "";
     647  } else {
     648    $up   = array_key_exists('rsort', $_POST) ? $_POST['rsort'] : "";
     649    $down = array_key_exists('sort',  $_POST) ? $_POST['sort'] : "";
     650    $from = array_key_exists('from',  $_POST) ? $_POST['from'] : "";
    658651  }
    659652
     
    695688    $htmlkey = $htmlkey . "_max";
    696689  }
    697   if ($_SERVER[REQUEST_METHOD] == 'GET') {
    698     $value = $_GET[$htmlkey];
    699   } else {
    700     $value = $_POST[$htmlkey];
    701   }
     690  $value = get_htmlkey_value ($htmlkey);
    702691
    703692  // full table element includes optionally the <= or >= words
     
    714703function write_query_checkbox ($key, $comment) {
    715704  $htmlkey = preg_replace ('|\.|', '_', $key);
    716 
    717   if ($_SERVER[REQUEST_METHOD] == 'GET') {
    718     $value = $_GET[$htmlkey];
    719   } else {
    720     $value = $_POST[$htmlkey];
    721   }
     705  $value = get_htmlkey_value ($htmlkey);
     706
    722707  echo "<td> <input type=\"checkbox\" name=\"$htmlkey\"";
    723708  if ($value == "on") {
     
    734719  $htmlvalue = preg_replace ('|\.|', '_', $value);
    735720
    736   if ($_SERVER[REQUEST_METHOD] == 'GET') {
    737     $value = $_GET[$htmlkey];
    738   } else {
    739     $value = $_POST[$htmlkey];
    740   }
     721  $value = get_htmlkey_value ($htmlkey);
    741722  if ($htmlvalue == get_value_from_key($htmlkey, TRUE)) {
    742723    $checked = "checked";
     
    779760function insert_image ($rule, $size) {
    780761
    781   if ($_SERVER[REQUEST_METHOD] == 'GET') {
    782     $basename = $_GET['basename'];
    783     $class_id = $_GET['class'];
    784     $camera   = $_GET['camera'];
    785   } else {
    786     $basename = $_POST['basename'];
    787     $class_id = $_POST['class'];
    788     $camera   = $_POST['camera'];
     762  if ($_SERVER['REQUEST_METHOD'] == 'GET') {
     763    $basename = array_key_exists('basename', $_GET) ? $_GET['basename'] : "";
     764    $class_id = array_key_exists('class',    $_GET) ? $_GET['class']    : "";
     765    $camera   = array_key_exists('camera',   $_GET) ? $_GET['camera']   : "";
     766  } else {
     767    $basename = array_key_exists('basename', $_POST) ? $_POST['basename'] : "";
     768    $class_id = array_key_exists('class',    $_POST) ? $_POST['class']    : "";
     769    $camera   = array_key_exists('camera',   $_POST) ? $_POST['camera']   : "";
    789770  }
    790771
     
    802783function insert_log ($filerule) {
    803784
    804   if ($_SERVER[REQUEST_METHOD] == 'GET') {
    805     $basename = $_GET['basename'];
    806     $class_id = $_GET['class'];
    807     $camera   = $_GET['camera'];
    808     $state    = $_GET['state'];
    809   } else {
    810     $basename = $_POST['basename'];
    811     $class_id = $_POST['class'];
    812     $camera   = $_POST['camera'];
    813     $state    = $_POST['state'];
     785  if ($_SERVER['REQUEST_METHOD'] == 'GET') {
     786    $basename = array_key_exists('basename', $_GET) ? $_GET['basename'] : "";
     787    $class_id = array_key_exists('class',    $_GET) ? $_GET['class']    : "";
     788    $camera   = array_key_exists('camera',   $_GET) ? $_GET['camera']   : "";
     789    $state    = array_key_exists('state',    $_GET) ? $_GET['state']    : "";
     790  } else {
     791    $basename = array_key_exists('basename', $_POST) ? $_POST['basename'] : "";
     792    $class_id = array_key_exists('class',    $_POST) ? $_POST['class']    : "";
     793    $camera   = array_key_exists('camera',   $_POST) ? $_POST['camera']   : "";
     794    $state    = array_key_exists('state',    $_POST) ? $_POST['state']    : "";
    814795  }
    815796
     
    830811  //It's necessary for staticsky logs and it would require to join tables
    831812  //back to the warpRun table
    832   if (! $camera) { $camera = strtoupper($_GET['proj']); }
     813  if (! $camera) {
     814    $camera = strtoupper($_GET['proj']);
     815  }
    833816
    834817  if ($basename && $camera && $filerule) {
     
    886869function insert_backref ($page, $key, $link) {
    887870
    888   if ($_SERVER[REQUEST_METHOD] == 'GET') {
    889     $name = $_GET[$key];
    890   } else {
    891     $name = $_POST[$key];
    892   }
     871  $name = get_htmlkey_value ($key);
    893872
    894873  if ($name) {
     
    911890    $htmlkey = $key;
    912891  }
    913   if ($_SERVER[REQUEST_METHOD] == 'GET') {
    914     return $_GET[$htmlkey];
    915   } else {
    916     return $_POST[$htmlkey];
    917   }
     892  $value = get_htmlkey_value ($key);
     893  return $value;
    918894}
    919895
Note: See TracChangeset for help on using the changeset viewer.