Location: PHPKode > projects > Aukyla Document Management System > doc/html/a00210.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
  <head>
    <title>Aukyla PHP Framework</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <link rel="StyleSheet" href="auton.css" type="text/css" media="screen">
  </head>

  <body>
    <div id="mainmenu">
      <a href="http://www.auton.nl/" class="home">Home</a>
    </div>
    <div id="submenu">
      <a class="logo" href="http://www.auton.nl/"></a>

      <div class="head">Ads</div>
      <a href="http://sourceforge.net/"><img src="http://sourceforge.net/sflogo.php?group_id=116358&amp;type=1" alt="SourceForge.net Logo" style="padding: 2px 4px; width: 88px; height: 31px; border: 0px"></a>
      <a href="http://getfirefox.com/" title="Get Firefox - The Browser, Reloaded."><img src="http://www.mozilla.org/products/firefox/buttons/getfirefox_small.png" alt="Get Firefox" style="width: 110px; height: 32px; border: 0px"></a>
    </div>
    <div id="main">
<!-- Generated by Doxygen 1.3.9.1 -->
<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="pages.html">Related&nbsp;Pages</a></div>
<div class="nav">
<a class="el" href="dir_000000.html">base</a></div>
<h1>Database.php</h1><div class="fragment"><pre class="fragment">00001 &lt;?php
00002 <span class="comment">/*</span>
00003 <span class="comment">     Database.php, creates database connections and provides some basic</span>
00004 <span class="comment">                   functions</span>
00005 <span class="comment">     Copyright (C) 2004 Arend van Beelen, Auton Rijnsburg</span>
00006 <span class="comment"></span>
00007 <span class="comment">     This program is free software; you can redistribute it and/or modify it</span>
00008 <span class="comment">     under the terms of the GNU General Public License as published by the Free</span>
00009 <span class="comment">     Software Foundation; either version 2 of the License, or (at your option)</span>
00010 <span class="comment">     any later version.</span>
00011 <span class="comment"></span>
00012 <span class="comment">     This program is distributed in the hope that it will be useful, but WITHOUT</span>
00013 <span class="comment">     ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or</span>
00014 <span class="comment">     FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for</span>
00015 <span class="comment">     more details.</span>
00016 <span class="comment"></span>
00017 <span class="comment">     You should have received a copy of the GNU General Public License along</span>
00018 <span class="comment">     with this program; if not, write to the Free Software Foundation, Inc.,</span>
00019 <span class="comment">     59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span>
00020 <span class="comment"></span>
00021 <span class="comment">     For any questions, comments or whatever, you may mail me at: hide@address.com</span>
00022 <span class="comment">*/</span>
00023 
00024 require_once('<a class="code" href="a00153.html">String</a>.php');
00025 
<a name="l00032"></a><a class="code" href="a00097.html">00032</a> <span class="keyword">class </span><a class="code" href="a00097.html">Database</a>
00033 {
<a name="l00040"></a><a class="code" href="a00097.html#a0">00040</a>         <span class="keyword">public</span> function __construct()
00041         {
00042                 $this-&gt;connections = array();
00043         }
00044 
<a name="l00050"></a><a class="code" href="a00097.html#a1">00050</a>         <span class="keyword">public</span> function __destruct()
00051         {
00052                 foreach($this-&gt;connections as $connection)
00053                 {
00054                         $connection-&gt;disconnect();
00055                 }
00056         }
00057 
<a name="l00078"></a><a class="code" href="a00097.html#e0">00078</a>         <span class="keyword">public</span> <span class="keyword">static</span> function connection($type, $server, $database, $username, $password)
00079         {
00080                 global $Database;
00081 
00082                 foreach($<a class="code" href="a00097.html">Database</a>-&gt;connections as $connection)
00083                 {
00084                         <span class="keywordflow">if</span>($connection-&gt;type() == $type &amp;&amp;
00085                            $connection-&gt;server() == $server &amp;&amp;
00086                            $connection-&gt;database() == $database &amp;&amp;
00087                            $connection-&gt;username() == $username)
00088                         {
00089                                 <span class="keywordflow">return</span> $connection;
00090                         }
00091                 }
00092 
00093                 $className = <a class="code" href="a00153.html#e4">String::stripSpecialChars</a>($type).'_DatabaseHandler';
00094 
00095                 $include = include_once(<span class="stringliteral">"DatabaseHandlers/$className.php"</span>);
00096                 <span class="keywordflow">if</span>($include == <span class="keyword">false</span> ||
00097                    class_exists($className) == <span class="keyword">false</span>)
00098                 {
00099                         <span class="keywordflow">return</span> <span class="keyword">false</span>;
00100                 }
00101 
00102                 $connection = <span class="keyword">new</span> $className;
00103                 <span class="keywordflow">if</span>($connection-&gt;connect($server, $database, $username, $password) == <span class="keyword">false</span>)
00104                 {
00105                         <span class="keywordflow">return</span> <span class="keyword">false</span>;
00106                 }
00107 
00108                 $Database-&gt;connections[] = $connection;
00109 
00110                 <span class="keywordflow">return</span> $connection;
00111         }
00112 
00113         <span class="keyword">private</span> $connections;
00114 }
00115 
00116 <span class="comment">// create one global instance of the class</span>
00117 global $Database;
00118 $Database = <span class="keyword">new</span> <a class="code" href="a00097.html">Database</a>();
00119 
00120 ?&gt;
</pre></div>    </div>
  </body>
</html>
Return current item: Aukyla Document Management System