Source for file start.inc.php

Documentation is available at start.inc.php

  1. <?php
  2. /**
  3. * Main functions
  4. * <br/><br/>
  5. * Script for defining all functions used by DNA Module
  6. @author Gabriele Droege, DNA Bank Network <contact@dnabank-network.org>
  7. @version 2.0
  8. @package Configuration
  9. @copyright Copyright © 2011 DNA Bank Network http://www.dnabank-network.org<br>The contents of this file are subject to the Mozilla Public License Version 1.1
  10. @filesource
  11. @license http://www.mozilla.org/MPL/ MPL
  12. */
  13.  
  14. header('Content-Type: text/html; charset=utf-8');
  15.  
  16.  
  17.  
  18. if(file_exists("load/loadsmtp.php"))
  19. /**
  20. * load defined SMTP path and port, include xml-parser (and xml file) from DNA_MODULE_PATH/load/
  21. */
  22.  
  23. include("load/loadsmtp.php")else 
  24. /**
  25. * load alternative SMTP path and port
  26. */
  27. include("../load/loadsmtp.php");}
  28. ini_set("SMTP"$SMTP_Path);
  29. ini_set("smtp_port"$SMTP_Port);
  30.  
  31.  
  32. if(file_exists("load/loadconfig.php"))
  33. /**
  34. * load configurations for DNA Module, include xml-parser (and xml file) from DNA_MODULE_PATH/load/
  35. */
  36.  
  37. include("load/loadconfig.php")else 
  38. /**
  39. * load alternative path for configurations
  40. */
  41. include("../load/loadconfig.php");
  42.  
  43. $Path_Wiki 'http://wiki.bgbm.org/dnabankwiki/index.php';
  44. global $Path_Wiki;
  45.  
  46.  
  47. /**
  48. * Connection to database<br>load parameters, include xml-parser (and xml file) from DNA_MODULE_PATH/load/<br>if connection failed forwarding to createtables.php
  49. @param string $host DNA Database Host
  50. @param string $user DNA Database User
  51. @param string $passwd DNA Database Password
  52. @param string $dbname DNA Database Name
  53. @access public
  54. @return bool 
  55. @see createtables.php
  56. */ 
  57.   function connect_to_dna({
  58.   if(file_exists("load/loaddnaprovider.php"))
  59.   {include("load/loaddnaprovider.php")}
  60.  
  61.   else include("../load/loaddnaprovider.php");}
  62.   if($DBMS == "mysql"{
  63.  
  64.   $connID @mysql_connect($host$user$passwd);
  65.   
  66.   if(!$connID{  header('Location: createtables.php');}
  67.   
  68.     if ($connID{
  69.     $connection mysql_select_db($dbname);
  70.     return $connID
  71.     if(!$connection){  header('Location: createtables.php');} }
  72.     
  73.   }
  74.   
  75. }
  76. /**
  77. * Error handler, generates an email message with errormessage
  78. @param string $errno Error type
  79. @param string $errmsg Php/mysql error message
  80. @param string $filename Name of file caused error
  81. @param string $linenum Line in file caused error
  82. @access public
  83. */ 
  84.  
  85. function getErrorHandler($errno,$errmsg,$filename,$linenum{
  86.     $msg "Time: " .date("Y-m-d H:i:s")"\n";
  87.     $msg .= "Error: " .$errmsg"\n";
  88.     $msg .= "File: " .$filename"\n";
  89.     $msg .= "Line: " .$linenum;
  90.     switch ($errno{
  91.     case E_NOTICEcase E_USER_NOTICE:
  92.     return;
  93.     break;
  94.     case E_STRICT:
  95.     return;
  96.     break;
  97.     default:
  98.     if(empty($Email_Adminor !isset($Email_Admin))
  99.     {$sendto "g.droege@bgbm.org"}
  100.     else $sendto $Email_Admin}
  101.     
  102.     $from "From: dnamodule@dnabank-network.org";
  103.     mail($sendto$errmsg." ".$filename$msg$from)
  104.     break}
  105.  
  106.     
  107.     set_error_handler("getErrorHandler");
  108.  
  109.  
  110.  
  111. /**
  112. * Check content of all fields
  113. @param integer $ar key
  114. @param string $key element
  115. @access public
  116. @return bool 
  117. */
  118.  
  119. function array_item($ar$key
  120.    {
  121.   if(is_array($ar&& array_key_exists($key$ar))
  122.     return $ar[$key];
  123.   else
  124.     return false
  125.    }
  126.  
  127.    
  128. /**
  129. * Generate randomised password, 8 characters
  130. @access public
  131. @param string $randomPassword 
  132. @return string 
  133. */
  134. function RandPass()
  135.           {
  136.            $randomPassword "";
  137.            srand((double)microtime()*1000000);
  138.            for($i=0;$i<8;$i++)
  139.              {
  140.                 $randnumber rand(48,120);
  141.                 while (($randnumber >= 58 && $randnumber <= 64|| ($randnumber >= 91 && $randnumber <= 96))
  142.                 {
  143.                   $randnumber rand(48,120);
  144.                 }
  145.                 $randomPassword .= chr($randnumber);
  146.              }
  147.           return $randomPassword;
  148.         }
  149.  
  150.        $randomstring RandPass();
  151.    
  152. /**
  153. * Build formatted hyperlink, with text-decoration and standard colours
  154. @param string $url domain and path
  155. @param string $query site and query parameters
  156. @param string $name hyperlink name
  157. @access public
  158. @return string 
  159. */
  160.     
  161. function build_href($url$query$name
  162. {
  163.  if($query)
  164.  return "<a class='black' href=\"$url?$query "\">" $name "</a>";
  165.  else
  166.  return "<a class='black' href=\"$url\">$name "</a>";
  167. }
  168.  
  169. /**
  170. * Build formatted hyperlink, without text-decoration and without special query parameters
  171. @param string $url domain and path
  172. @param string $name hyperlink name
  173. @access public
  174. @return string 
  175. */
  176. function build_href1($url$name
  177. {
  178.  return "<a class='ohne' style='text-decoration:none' target='_blank' href=\"$url\">htmlentities($name"</a>";
  179. }
  180. /**
  181. * Build a field list (<select>) from database, starting with an empty value
  182. @param string $formname name of element
  183. @param string $sql SQL query from database
  184. @param string $defaultitem Default item to be selected
  185. @access public
  186. */
  187.  
  188. function build_select_list($formname$sql$defaultitem
  189. {
  190.   $result mysql_query($sql);
  191.   echo '<select name="'$formname'" id="SelectLong">';
  192.   echo '<option value="">--------';
  193.   while($row=mysql_fetch_row($result)) 
  194.   {
  195.     echo "<option ";
  196.     if($defaultitem==$row[0]echo "selected ";
  197.     echo "value=\"$row[0]\"> "$row[1]"\n";
  198.   }
  199.   echo "</select>\n";
  200.   mysql_free_result($result);
  201. }
  202.  
  203. /**
  204. * Build a field list (<select>) from database, starting with an empty value, with large entry field
  205. @param string $formname name of element
  206. @param string $sql SQL query from database
  207. @param string $defaultitem Default item to be selected
  208. @access public
  209. */
  210.  
  211. function build_select_listlarge($formname$sql$defaultitem
  212. {
  213.   $result mysql_query($sql);
  214.   echo '<select name="'$formname'" id="InputVeryLong2">';
  215.   echo '<option value="">--------';
  216.   while($row=mysql_fetch_row($result)) 
  217.   {
  218.     echo "<option ";
  219.     if($defaultitem==$row[0]echo "selected ";
  220.     echo "value=\"$row[0]\"> "$row[1]"\n";
  221.   }
  222.   echo "</select>\n";
  223.   mysql_free_result($result);
  224. }
  225.  
  226. /**
  227. * Build a field list (<select>) from database with counted records, starting with an empty value
  228. @param string $formname name of element
  229. @param string $sql SQL query from database
  230. @param string $defaultitem Default item to be selected
  231. @access public
  232. */
  233. function build_select_listcount($formname$sql$defaultitem
  234. {
  235.   $result mysql_query($sql);
  236.   echo '<select name="'$formname'" id="SelectLong">';
  237.   echo '<option value="">--------</option>';
  238.   while($row=mysql_fetch_row($result)) 
  239.   {
  240.     echo "<option ";
  241.     if($defaultitem==$row[0]echo "selected ";
  242.     echo "value=\"$row[0]\"> "$row[1]." (".$row[2].")""\n</option>";
  243.   }
  244.   echo "</select>\n";
  245.   mysql_free_result($result);
  246. }
  247. /**
  248. * Build a field list (<select>) from database, starting with an empty value, short element (width)
  249. @param string $formname name of element
  250. @param string $sql SQL query from database
  251. @param string $defaultitem Default item to be selected
  252. @access public
  253. */
  254.  
  255. function build_select_listShort($formname$sql$defaultitem
  256. {
  257.   $result mysql_query($sql);
  258.   echo '<select name="'$formname'" id="SelectShortOne">';
  259.   echo '<option value="">--------</option>';
  260.   while($row=mysql_fetch_row($result)) 
  261.   {
  262.     echo "<option ";
  263.     if($defaultitem==$row[0]echo "selected ";
  264.     echo "value=\"$row[0]\"> "$row[1]"\n</option>";
  265.   }
  266.   echo "</select>\n";
  267.   mysql_free_result($result);
  268. }
  269.  
  270. /**
  271. * Build a field list (<select>) from database, starting with value=rack, short element (width)
  272. @param string $formname name of element
  273. @param string $sql SQL query from database
  274. @param string $defaultitem Default item to be selected
  275. @access public
  276. */
  277. function build_select_listShortTwo($formname$sql$defaultitem
  278. {
  279.   $result mysql_query($sql);
  280.   echo '<select name="'$formname'" id="SelectShortTwo">';
  281.   echo '<option value="">--------</option>';
  282.   while($row=mysql_fetch_row($result)) 
  283.   {
  284.     echo "<option ";
  285.     if($defaultitem==$row[0]echo "selected ";
  286.     echo "value=\"$row[0]\"> "$row[1]"\n</option>";
  287.   }
  288.   echo "</select>\n";
  289.   mysql_free_result($result);
  290. }
  291. /**
  292. * Build a field list (<select>) from database, starting with value=Internal (list of specimen databases)
  293. @param string $formname name of element
  294. @param string $sql SQL query from database
  295. @param string $defaultitem Default item to be selected
  296. @access public
  297. */
  298. function build_select_listProviderIntern($formname$sql$defaultitem
  299. {
  300.   $result mysql_query($sql);
  301.   echo '<select name="'$formname'" id="SelectLong">';
  302.   echo '<option value="">Internal</option>';
  303.   while($row=mysql_fetch_row($result)) 
  304.   {
  305.     $Provider_ID_Provider $row[0];
  306.     $Provider_View_Test $row[1];
  307.     echo "<option value=\"$Provider_ID_Provider\"";
  308.     if (isset($_REQUEST['formSubmitClear'])) {
  309.         unset($_REQUEST['formProviderIntern'])}
  310.     if (isset($_REQUEST['formSubmitSave'])) {
  311.         unset($_REQUEST['formProviderIntern'])}
  312.     else {
  313.     if ($_POST["formProviderIntern"== $Provider_ID_Providerecho " selected"} }
  314.  
  315.     echo "$Provider_View_Test <br>\n</option>";
  316.             }
  317.     echo '</select>';
  318.   mysql_free_result($result);
  319. }
  320. /**
  321. * Build a field list (<select>) from database, starting with value=External (list of specimen databases)
  322. @param string $formname name of element
  323. @param string $sql SQL query from database
  324. @param string $defaultitem Default item to be selected
  325. @access public
  326. */
  327. function build_select_listProviderExtern($formname$sql$defaultitem
  328. {
  329.   $result mysql_query($sql);
  330.   echo '<select name="'$formname'" id="SelectLong">';
  331.   echo '<option value="">External</option>';
  332.   while($row=mysql_fetch_row($result)) 
  333.   {
  334.     $Provider_ID_Provider $row[0];
  335.     $Provider_View_Test $row[1];
  336.     echo "<option value=\"$Provider_ID_Provider\"";
  337.     if (isset($_REQUEST['formSubmitClear'])) {
  338.         unset($_REQUEST['formProviderExtern'])}
  339.     if (isset($_REQUEST['formSubmitSave'])) {
  340.         unset($_REQUEST['formProviderExtern'])}        
  341.     else {
  342.     if ($_POST["formProviderExtern"== $Provider_ID_Providerecho " selected"} }
  343.     echo "$Provider_View_Test <br>\n</option>";
  344.             }
  345.     echo '</select>';
  346.   mysql_free_result($result);
  347. }
  348. /**
  349. * Check format of a date
  350. @param string $date format YYYY-MM-DD required
  351. @access public
  352. */
  353. function valiDate($date)
  354. {
  355.     if (!preg_match('/^(\d{4})\-(\d{2})\-(\d{2})$/'trim($date)$matches)) {
  356.         return false;
  357.     }
  358.     return checkdate($matches[2]$matches[3]$matches[1]);
  359. }
  360.  
  361. /**
  362. * Create GUID
  363. @access public
  364. @return string 
  365. */
  366.  
  367. function GUID({
  368.   return sprintf'%04x%04x-%04x-%04x-%04x-%04x%04x%04x',
  369.     mt_rand(00xffff)mt_rand(00xffff)mt_rand(00xffff),
  370.     mt_rand(00x0fff0x4000,
  371.     mt_rand(00x3fff0x8000,
  372.     mt_rand(00xffff)mt_rand(00xffff)mt_rand(00xffff));
  373. }
  374.  
  375. ?>

Documentation generated on Tue, 29 Nov 2011 10:45:18 +0100 by phpDocumentor 1.4.3