<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<!-- template designed by Marco Von Ballmoos -->
<title>File Source for Account.class.inc</title>
<link rel="stylesheet" href="../media/stylesheet.css" />
<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/>
</head>
<body>
<h1>Source for file Account.class.inc</h1>
<p>Documentation is available at <a href="../swam/_account---Account.class.inc.html">Account.class.inc</a></p>
<div class="src-code">
<div class="src-code"><ol><li><div class="src-line"><a name="a1"></a><span class="src-php"><?php</span></div></li>
<li><div class="src-line"><a name="a2"></a> </div></li>
<li><div class="src-line"><a name="a3"></a><span class="src-comm">/*</span></div></li>
<li><div class="src-line"><a name="a4"></a><span class="src-comm">* SWAM (Simple Web Account Manager) is a personal finance manager</span></div></li>
<li><div class="src-line"><a name="a5"></a><span class="src-comm">* written in PHP.</span></div></li>
<li><div class="src-line"><a name="a6"></a><span class="src-comm">* Copyright (C) 2004-2009 Mathieu Peltier.</span></div></li>
<li><div class="src-line"><a name="a7"></a><span class="src-comm">* Contact: mpeltier at users.sourceforge.net</span></div></li>
<li><div class="src-line"><a name="a8"></a><span class="src-comm">*</span></div></li>
<li><div class="src-line"><a name="a9"></a><span class="src-comm">* This program is free software: you can redistribute it and/or modify</span></div></li>
<li><div class="src-line"><a name="a10"></a><span class="src-comm">* it under the terms of the GNU General Public License as published by</span></div></li>
<li><div class="src-line"><a name="a11"></a><span class="src-comm">* the Free Software Foundation, either version 3 of the License, or</span></div></li>
<li><div class="src-line"><a name="a12"></a><span class="src-comm">* (at your option) any later version.</span></div></li>
<li><div class="src-line"><a name="a13"></a><span class="src-comm">*</span></div></li>
<li><div class="src-line"><a name="a14"></a><span class="src-comm">* This program is distributed in the hope that it will be useful, but</span></div></li>
<li><div class="src-line"><a name="a15"></a><span class="src-comm">* WITHOUT ANY WARRANTY; without even the implied warranty of</span></div></li>
<li><div class="src-line"><a name="a16"></a><span class="src-comm">* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></div></li>
<li><div class="src-line"><a name="a17"></a><span class="src-comm">* General Public License for more details.</span></div></li>
<li><div class="src-line"><a name="a18"></a><span class="src-comm">*</span></div></li>
<li><div class="src-line"><a name="a19"></a><span class="src-comm">* You should have received a copy of the GNU General Public License</span></div></li>
<li><div class="src-line"><a name="a20"></a><span class="src-comm">* along with this program. If not, see <http://www.gnu.org/licenses/>.</span></div></li>
<li><div class="src-line"><a name="a21"></a><span class="src-comm">*</span></div></li>
<li><div class="src-line"><a name="a22"></a><span class="src-comm">* Initial developer(s): Mathieu Peltier.</span></div></li>
<li><div class="src-line"><a name="a23"></a><span class="src-comm">* Contributor(s):</span></div></li>
<li><div class="src-line"><a name="a24"></a><span class="src-comm">*/</span></div></li>
<li><div class="src-line"><a name="a25"></a> </div></li>
<li><div class="src-line"><a name="a26"></a><span class="src-doc">/**</span></div></li>
<li><div class="src-line"><a name="a27"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@package</span><span class="src-doc"> swam</span></div></li>
<li><div class="src-line"><a name="a28"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@author</span><span class="src-doc"> Mathieu Peltier <hide@address.com></span></div></li>
<li><div class="src-line"><a name="a29"></a><span class="src-doc"> */</span></div></li>
<li><div class="src-line"><a name="a30"></a> </div></li>
<li><div class="src-line"><a name="a31"></a><span class="src-inc">require_once</span><span class="src-sym">(</span><span class="src-str">'pre.inc'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a32"></a> </div></li>
<li><div class="src-line"><a name="a33"></a><span class="src-doc">/**</span></div></li>
<li><div class="src-line"><a name="a34"></a><span class="src-doc"> * IAccount implementation using PDO and sqlite.</span></div></li>
<li><div class="src-line"><a name="a35"></a><span class="src-doc"> *</span></div></li>
<li><div class="src-line"><a name="a36"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@package</span><span class="src-doc"> swam</span></div></li>
<li><div class="src-line"><a name="a37"></a><span class="src-doc"> */</span></div></li>
<li><div class="src-line"><a name="a38"></a><span class="src-key">class </span><a href="../swam/Account.html">Account</a> <span class="src-key">extends </span><a href="../swam/PersistentObject.html">PersistentObject</a> <span class="src-key">implements </span><a href="../swam/IAccount.html">IAccount</a> <span class="src-sym">{</span></div></li>
<li><div class="src-line"><a name="a39"></a> </div></li>
<li><div class="src-line"><a name="a40"></a> <span class="src-key">const </span><a href="../swam/Account.html#constNAME_MAX_LENGTH">NAME_MAX_LENGTH</a> = <span class="src-num">100</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a41"></a> <span class="src-key">const </span><a href="../swam/Account.html#constBANK_NAME_MAX_LENGTH">BANK_NAME_MAX_LENGTH</a> = <span class="src-num">100</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a42"></a> <span class="src-key">const </span><a href="../swam/Account.html#constCOMMENT_MAX_LENGTH">COMMENT_MAX_LENGTH</a> = <span class="src-num">255</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a43"></a> </div></li>
<li><div class="src-line"><a name="a44"></a> <span class="src-comm">// -----------------------------</span></div></li>
<li><div class="src-line"><a name="a45"></a> <span class="src-comm">// Static methods</span></div></li>
<li><div class="src-line"><a name="a46"></a> <span class="src-comm">// -----------------------------</span></div></li>
<li><div class="src-line"><a name="a47"></a> </div></li>
<li><div class="src-line"><a name="a48"></a> <span class="src-doc">/**</span></div></li>
<li><div class="src-line"><a name="a49"></a><span class="src-doc"> * Returns an assoicative array (<iso 4217 code> -> <currency name>)</span></div></li>
<li><div class="src-line"><a name="a50"></a><span class="src-doc"> * containing the list of currencies.</span></div></li>
<li><div class="src-line"><a name="a51"></a><span class="src-doc"> *</span></div></li>
<li><div class="src-line"><a name="a52"></a><span class="src-doc"> * Found at: http://www.nationmaster.com/encyclopedia/ISO-currency-code</span></div></li>
<li><div class="src-line"><a name="a53"></a><span class="src-doc"> * See also http://www.bsi-global.com/Technical+Information/Publications/_Publications/tig90.xalter</span></div></li>
<li><div class="src-line"><a name="a54"></a><span class="src-doc"> *</span></div></li>
<li><div class="src-line"><a name="a55"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">array </span></div></li>
<li><div class="src-line"><a name="a56"></a><span class="src-doc"> */</span></div></li>
<li><div class="src-line"><a name="a57"></a> <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><a href="../swam/Account.html#methodget_currencies">get_currencies</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li>
<li><div class="src-line"><a name="a58"></a> <span class="src-key">return </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'AFA' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Afghani'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a59"></a> <span class="src-str">'ALL' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Albanian lek'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a60"></a> <span class="src-str">'DZD' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Algerian Dinar'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a61"></a> <span class="src-str">'AOA' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Angolan Kwanza'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a62"></a> <span class="src-str">'ARS' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Argentine Peso'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a63"></a> <span class="src-str">'AMD' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Armenian Dram'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a64"></a> <span class="src-str">'AWG' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Aruban Guilder'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a65"></a> <span class="src-str">'AUD' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Australian Dollar'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a66"></a> <span class="src-str">'AZM' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Azerbaijani Manat'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a67"></a> <span class="src-str">'BSD' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Bahamian Dollar'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a68"></a> <span class="src-str">'BHD' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Bahraini Dinar'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a69"></a> <span class="src-str">'BDT' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Bangladesh Taka'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a70"></a> <span class="src-str">'BBD' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Barbados Dollar'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a71"></a> <span class="src-str">'BYR' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Belarussian Ruble'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a72"></a> <span class="src-str">'BZD' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Belize Dollar'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a73"></a> <span class="src-str">'BMD' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Bermuda Dollar'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a74"></a> <span class="src-str">'BTN' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Bhutan Ngultrum'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a75"></a> <span class="src-str">'BOB' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Bolivian Boliviano'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a76"></a> <span class="src-str">'BOV' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Bolivian Mvdol'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a77"></a> <span class="src-str">'BAM' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Bosnia-Herzegovina Convertible Marks'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a78"></a> <span class="src-str">'BWP' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Botswana Pula'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a79"></a> <span class="src-str">'BRL' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Brazilian Real'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a80"></a> <span class="src-str">'BND' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Brunei Dollar'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a81"></a> <span class="src-str">'BGN' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Bulgarian Lev'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a82"></a> <span class="src-str">'BIF' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Burundi Franc'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a83"></a> <span class="src-str">'XOF' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'CFA Franc BCEAO'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a84"></a> <span class="src-str">'XAF' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'CFA Franc BEAC'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a85"></a> <span class="src-str">'XPF' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'CFP Franc'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a86"></a> <span class="src-str">'KHR' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Cambodian Riel'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a87"></a> <span class="src-str">'CAD' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Canadian Dollar'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a88"></a> <span class="src-str">'CVE' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Cape Verde Escudo'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a89"></a> <span class="src-str">'KYD' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Cayman Islands Dollar'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a90"></a> <span class="src-str">'CLP' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Chilean Peso'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a91"></a> <span class="src-str">'CLF' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Chilean Unidades de fomento'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a92"></a> <span class="src-str">'COP' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Colombian Peso'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a93"></a> <span class="src-str">'KMF' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Comoro Franc'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a94"></a> <span class="src-str">'CRC' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Costa Rican Col n'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a95"></a> <span class="src-str">'HRK' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Croatian Kuna'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a96"></a> <span class="src-str">'CUP' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Cuban Peso'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a97"></a> <span class="src-str">'CYP' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Cyprus Pound'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a98"></a> <span class="src-str">'CZK' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Czech Koruna'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a99"></a> <span class="src-str">'DKK' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Danish Krone'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a100"></a> <span class="src-str">'DJF' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Djibouti Franc'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a101"></a> <span class="src-str">'DOP' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Dominican Peso'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a102"></a> <span class="src-str">'XCD' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'East Caribbean Dollar'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a103"></a> <span class="src-str">'EGP' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Egyptian Pound'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a104"></a> <span class="src-str">'SVC' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'El Salvador Col n'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a105"></a> <span class="src-str">'ERN' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Eritrean Nakfa'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a106"></a> <span class="src-str">'EEK' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Estonian Kroon'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a107"></a> <span class="src-str">'ETB' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Ethiopian Birr'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a108"></a> <span class="src-str">'EUR' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Euro'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a109"></a> <span class="src-str">'FKP' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Falkland Islands Pound'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a110"></a> <span class="src-str">'FJD' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Fiji Dollar'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a111"></a> <span class="src-str">'CDF' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Franc Congolais'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a112"></a> <span class="src-str">'GMD' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Gambian Dalasi'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a113"></a> <span class="src-str">'GEL' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Georgian Lari'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a114"></a> <span class="src-str">'GHC' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Ghana Cedi'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a115"></a> <span class="src-str">'GIP' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Gibraltar Pound'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a116"></a> <span class="src-str">'GTQ' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Guatemalan Quetzal'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a117"></a> <span class="src-str">'GNF' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Guinea Franc'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a118"></a> <span class="src-str">'GWP' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Guinea-Bissau Peso'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a119"></a> <span class="src-str">'GYD' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Guyana Dollar'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a120"></a> <span class="src-str">'HTG' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Haitian Gourde'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a121"></a> <span class="src-str">'HNL' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Honduran Lempira'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a122"></a> <span class="src-str">'HKD' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Hong Kong Dollar'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a123"></a> <span class="src-str">'HUF' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Hungarian Forint'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a124"></a> <span class="src-str">'ISK' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Iceland Krona'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a125"></a> <span class="src-str">'INR' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Indian Rupee'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a126"></a> <span class="src-str">'IDR' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Indonesian Rupiah'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a127"></a> <span class="src-str">'IRR' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Iranian Rial'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a128"></a> <span class="src-str">'IQD' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Iraqi Dinar'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a129"></a> <span class="src-str">'JMD' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Jamaican Dollar'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a130"></a> <span class="src-str">'JPY' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Japanese Yen'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a131"></a> <span class="src-str">'JOD' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Jordanian Dinar'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a132"></a> <span class="src-str">'KZT' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Kazakhstan Tenge'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a133"></a> <span class="src-str">'KES' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Kenyan Shilling'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a134"></a> <span class="src-str">'KWD' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Kuwaiti Dinar'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a135"></a> <span class="src-str">'KGS' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Kyrgyzstan Som'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a136"></a> <span class="src-str">'LAK' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Lao Kip'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a137"></a> <span class="src-str">'LVL' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Latvian Lats'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a138"></a> <span class="src-str">'LBP' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Lebanese Pound'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a139"></a> <span class="src-str">'LSL' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Lesotho Loti'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a140"></a> <span class="src-str">'LRD' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Liberian Dollar'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a141"></a> <span class="src-str">'LYD' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Libyan Dinar'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a142"></a> <span class="src-str">'LTL' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Lithuanian Litus'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a143"></a> <span class="src-str">'MOP' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Macau Pataca'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a144"></a> <span class="src-str">'MKD' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Macedonia Denar'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a145"></a> <span class="src-str">'MGF' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Malagasy Franc'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a146"></a> <span class="src-str">'MWK' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Malawi Kwacha'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a147"></a> <span class="src-str">'MYR' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Malaysian Ringgit'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a148"></a> <span class="src-str">'MVR' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Maldives Rufiyaa'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a149"></a> <span class="src-str">'MTL' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Maltese Lira'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a150"></a> <span class="src-str">'MRO' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Mauritania Ouguiya'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a151"></a> <span class="src-str">'MUR' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Mauritius Rupee'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a152"></a> <span class="src-str">'MXN' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Mexican Peso'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a153"></a> <span class="src-str">'MXV' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Mexican Unidad de Inversion'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a154"></a> <span class="src-str">'MZM' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Moazambique Metical'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a155"></a> <span class="src-str">'MDL' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Moldovan Leu'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a156"></a> <span class="src-str">'MNT' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Mongolian Tugrik'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a157"></a> <span class="src-str">'MAD' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Moroccan Dirham'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a158"></a> <span class="src-str">'MMK' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Myanmar Kyat'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a159"></a> <span class="src-str">'NAD' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Namibia Dollar'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a160"></a> <span class="src-str">'NPR' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Nepalese Rupee'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a161"></a> <span class="src-str">'ANG' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Netherlands Antillian Guilder'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a162"></a> <span class="src-str">'ILS' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'New Israeli Shekel'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a163"></a> <span class="src-str">'TWD' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'New Taiwan Dollar'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a164"></a> <span class="src-str">'NZD' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'New Zealand Dollar'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a165"></a> <span class="src-str">'NIO' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Nicaraguan Cordoba Oro'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a166"></a> <span class="src-str">'NGN' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Nigerian Naira'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a167"></a> <span class="src-str">'KPW' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'North Korean Won'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a168"></a> <span class="src-str">'NOK' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Norwegian Krone'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a169"></a> <span class="src-str">'PKR' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Pakistan Rupee'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a170"></a> <span class="src-str">'PAB' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Panama Balboa'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a171"></a> <span class="src-str">'PGK' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Papua New Guinea Kina'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a172"></a> <span class="src-str">'PYG' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Paraguay Guarani'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a173"></a> <span class="src-str">'PEN' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Peruvian Nuevo Sol'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a174"></a> <span class="src-str">'UYU' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Peso Uruguayo'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a175"></a> <span class="src-str">'PHP' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Philippine peso'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a176"></a> <span class="src-str">'PLN' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Polish Zloty'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a177"></a> <span class="src-str">'GBP' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Pound Sterling'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a178"></a> <span class="src-str">'QAR' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Qatari Rial'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a179"></a> <span class="src-str">'OMR' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Rial Omani'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a180"></a> <span class="src-str">'ROL' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Romanian Leu'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a181"></a> <span class="src-str">'RUR' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Russian Ruble'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a182"></a> <span class="src-str">'RUB' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Russian Ruble'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a183"></a> <span class="src-str">'RWF' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Rwanda Franc'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a184"></a> <span class="src-str">'SHP' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Saint Helena Pound'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a185"></a> <span class="src-str">'WST' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Samoa Tala'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a186"></a> <span class="src-str">'SAR' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Saudi Riyal'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a187"></a> <span class="src-str">'CSD' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Serbian Dinar'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a188"></a> <span class="src-str">'SCR' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Seychelles Rupee'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a189"></a> <span class="src-str">'SLL' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Sierra Leonean Leone'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a190"></a> <span class="src-str">'SGD' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Singapore Dollar'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a191"></a> <span class="src-str">'SKK' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Slovak Koruna'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a192"></a> <span class="src-str">'SIT' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Slovene Tolar'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a193"></a> <span class="src-str">'STD' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'So Tom and Principe Dobra'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a194"></a> <span class="src-str">'SBD' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Solomon Islands Dollar'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a195"></a> <span class="src-str">'SOS' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Somali Shilling'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a196"></a> <span class="src-str">'ZAR' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'South African Rand'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a197"></a> <span class="src-str">'KRW' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'South Korean Won'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a198"></a> <span class="src-str">'LKR' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Sri Lanka Rupee'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a199"></a> <span class="src-str">'SDD' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Sudanese Dinar'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a200"></a> <span class="src-str">'SRG' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Suriname Guilder'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a201"></a> <span class="src-str">'SZL' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Swaziland Lilangeni'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a202"></a> <span class="src-str">'SEK' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Swedish Krona'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a203"></a> <span class="src-str">'CHF' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Swiss franc'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a204"></a> <span class="src-str">'SYP' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Syrian Pound'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a205"></a> <span class="src-str">'TJS' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Tajikistan Somoni'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a206"></a> <span class="src-str">'TZS' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Tanzanian Shilling'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a207"></a> <span class="src-str">'THB' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Thai Baht'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a208"></a> <span class="src-str">'TPE' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Timor Escudo'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a209"></a> <span class="src-str">'TOP' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">"Tongan Pa'anga"</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a210"></a> <span class="src-str">'TTD' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Trinidad and Tobago Dollar'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a211"></a> <span class="src-str">'TND' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Tunisian Dinar'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a212"></a> <span class="src-str">'TRL' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Turkish Lira'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a213"></a> <span class="src-str">'TMM' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Turkmenistan Manat'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a214"></a> <span class="src-str">'UGX' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Uganda Shilling'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a215"></a> <span class="src-str">'UAH' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Ukrainian Hryvnia'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a216"></a> <span class="src-str">'AED' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'United Arab Emirates dirham'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a217"></a> <span class="src-str">'USD' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'United States Dollar'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a218"></a> <span class="src-str">'UZS' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Uzbekistan Sum'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a219"></a> <span class="src-str">'VUV' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Vanuatu Vatu'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a220"></a> <span class="src-str">'VEB' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Venezuelan Bolivar'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a221"></a> <span class="src-str">'VND' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Viet Nam Dong'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a222"></a> <span class="src-str">'YER' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Yemeni Rial'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a223"></a> <span class="src-str">'CNY' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Yuan Renminbi'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a224"></a> <span class="src-str">'ZMK' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Zambian Kwacha'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li>
<li><div class="src-line"><a name="a225"></a> <span class="src-str">'ZWD' </span>=> <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Zimbabwe Dollar'</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a226"></a> <span class="src-sym">}</span></div></li>
<li><div class="src-line"><a name="a227"></a> </div></li>
<li><div class="src-line"><a name="a228"></a> <span class="src-comm">// -----------------------------</span></div></li>
<li><div class="src-line"><a name="a229"></a> <span class="src-comm">// Constructor</span></div></li>
<li><div class="src-line"><a name="a230"></a> <span class="src-comm">// -----------------------------</span></div></li>
<li><div class="src-line"><a name="a231"></a> </div></li>
<li><div class="src-line"><a name="a232"></a> <span class="src-doc">/**</span></div></li>
<li><div class="src-line"><a name="a233"></a><span class="src-doc"> * Creates a new Account. The method does NOT add the account in the</span></div></li>
<li><div class="src-line"><a name="a234"></a><span class="src-doc"> * database as long as the store() method is not called. If the</span></div></li>
<li><div class="src-line"><a name="a235"></a><span class="src-doc"> * account has been already stored in the database, the account id</span></div></li>
<li><div class="src-line"><a name="a236"></a><span class="src-doc"> * must be given. Otherwise the id will be set when the account will</span></div></li>
<li><div class="src-line"><a name="a237"></a><span class="src-doc"> * be saved.</span></div></li>
<li><div class="src-line"><a name="a238"></a><span class="src-doc"> *</span></div></li>
<li><div class="src-line"><a name="a239"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc-var">$data </span><span class="src-doc">account data to use (associate array</span></div></li>
<li><div class="src-line"><a name="a240"></a><span class="src-doc"> * containing: owner object, name, bank_name, currency_code,</span></div></li>
<li><div class="src-line"><a name="a241"></a><span class="src-doc"> * comment, is_opened).</span></div></li>
<li><div class="src-line"><a name="a242"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">int </span><span class="src-doc-var">$account_id </span><span class="src-doc">optional account id.</span></div></li>
<li><div class="src-line"><a name="a243"></a><span class="src-doc"> * </span><span class="src-doc-tag">@exception</span><span class="src-doc"> IllegalArgumentException</span></div></li>
<li><div class="src-line"><a name="a244"></a><span class="src-doc"> * </span><span class="src-doc-tag">@exception</span><span class="src-doc"> AccountException if the account data are not valid or</span></div></li>
<li><div class="src-line"><a name="a245"></a><span class="src-doc"> * if this account name already exists in this bank in the database.</span></div></li>
<li><div class="src-line"><a name="a246"></a><span class="src-doc"> */</span></div></li>
<li><div class="src-line"><a name="a247"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../swam/Account.html#method__construct">__construct</a><span class="src-sym">(</span><span class="src-var">$data</span><span class="src-sym">, </span><span class="src-var">$account_id </span>= -<span class="src-num">1</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li>
<li><div class="src-line"><a name="a248"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../swam/Account.html#methodset_id">set_id</a><span class="src-sym">(</span><span class="src-var">$account_id</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a249"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../swam/Account.html#methodset_data">set_data</a><span class="src-sym">(</span><span class="src-var">$data</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a250"></a> <span class="src-sym">}</span></div></li>
<li><div class="src-line"><a name="a251"></a> </div></li>
<li><div class="src-line"><a name="a252"></a> <span class="src-comm">// -----------------------------</span></div></li>
<li><div class="src-line"><a name="a253"></a> <span class="src-comm">// Instance methods</span></div></li>
<li><div class="src-line"><a name="a254"></a> <span class="src-comm">// -----------------------------</span></div></li>
<li><div class="src-line"><a name="a255"></a> </div></li>
<li><div class="src-line"><a name="a256"></a> <span class="src-doc">/**</span></div></li>
<li><div class="src-line"><a name="a257"></a><span class="src-doc"> * Throws a PermissionDeniedException if this user is not allowed to</span></div></li>
<li><div class="src-line"><a name="a258"></a><span class="src-doc"> * edit accounts.</span></div></li>
<li><div class="src-line"><a name="a259"></a><span class="src-doc"> *</span></div></li>
<li><div class="src-line"><a name="a260"></a><span class="src-doc"> * </span><span class="src-doc-tag">@exception</span><span class="src-doc"> PermissionDeniedException</span></div></li>
<li><div class="src-line"><a name="a261"></a><span class="src-doc"> */</span></div></li>
<li><div class="src-line"><a name="a262"></a> <span class="src-key">private </span><span class="src-key">function </span><span class="src-id">check_permissions</span><span class="src-sym">(</span><span class="src-var">$user</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li>
<li><div class="src-line"><a name="a263"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><span class="src-var">$user</span><span class="src-sym">-></span><span class="src-id">is_allowed_to_edit_accounts</span><span class="src-sym">(</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li>
<li><div class="src-line"><a name="a264"></a> <span class="src-var">$message </span>= <span class="src-sym">(</span><span class="src-var">$user</span><span class="src-sym">-></span><span class="src-id">is_guest_user</span><span class="src-sym">(</span><span class="src-sym">) </span>? <a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Sorry, this action is not authorized for the guest user.'</span><span class="src-sym">) </span>: <span class="src-id">null</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a265"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../swam/PermissionDeniedException.html">PermissionDeniedException</a></span><span class="src-sym">(</span><span class="src-var">$message</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a266"></a> <span class="src-sym">}</span></div></li>
<li><div class="src-line"><a name="a267"></a> <span class="src-sym">}</span></div></li>
<li><div class="src-line"><a name="a268"></a> </div></li>
<li><div class="src-line"><a name="a269"></a> <span class="src-doc">/**</span></div></li>
<li><div class="src-line"><a name="a270"></a><span class="src-doc"> * Sets the account id. If the account has not been saved into the</span></div></li>
<li><div class="src-line"><a name="a271"></a><span class="src-doc"> * database, the id is set to -1.</span></div></li>
<li><div class="src-line"><a name="a272"></a><span class="src-doc"> *</span></div></li>
<li><div class="src-line"><a name="a273"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">int </span><span class="src-doc-var">$id </span></div></li>
<li><div class="src-line"><a name="a274"></a><span class="src-doc"> * </span><span class="src-doc-tag">@exception</span><span class="src-doc"> IllegalArgumentException</span></div></li>
<li><div class="src-line"><a name="a275"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@see</span><span class="src-doc"> PersistentObject::set_id($id)</span></div></li>
<li><div class="src-line"><a name="a276"></a><span class="src-doc"> */</span></div></li>
<li><div class="src-line"><a name="a277"></a> <span class="src-key">protected </span><span class="src-key">function </span><a href="../swam/Account.html#methodset_id">set_id</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li>
<li><div class="src-line"><a name="a278"></a> <span class="src-id"><a href="../swam/Utils.html">Utils</a></span><span class="src-sym">::</span><a href="../swam/Utils.html#methodcheck_account_id">check_account_id</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a279"></a> <span class="src-id">parent</span><span class="src-sym">::</span><a href="../swam/PersistentObject.html#methodset_id">set_id</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a280"></a> <span class="src-sym">}</span></div></li>
<li><div class="src-line"><a name="a281"></a> </div></li>
<li><div class="src-line"><a name="a282"></a> <span class="src-doc">/**</span></div></li>
<li><div class="src-line"><a name="a283"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@see</span><span class="src-doc"> IAccount::set_owner($owner)</span></div></li>
<li><div class="src-line"><a name="a284"></a><span class="src-doc"> */</span></div></li>
<li><div class="src-line"><a name="a285"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../swam/Account.html#methodset_owner">set_owner</a><span class="src-sym">(</span><span class="src-var">$owner</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li>
<li><div class="src-line"><a name="a286"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$owner </span>== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li>
<li><div class="src-line"><a name="a287"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../swam/IllegalArgumentException.html">IllegalArgumentException</a></span><span class="src-sym">(</span><a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Null account owner.'</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a288"></a> <span class="src-sym">}</span></div></li>
<li><div class="src-line"><a name="a289"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">data</span><span class="src-sym">[</span><span class="src-str">'owner'</span><span class="src-sym">] </span>= <span class="src-var">$owner</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a290"></a> <span class="src-sym">}</span></div></li>
<li><div class="src-line"><a name="a291"></a> </div></li>
<li><div class="src-line"><a name="a292"></a> <span class="src-doc">/**</span></div></li>
<li><div class="src-line"><a name="a293"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@see</span><span class="src-doc"> IAccount::get_owner()</span></div></li>
<li><div class="src-line"><a name="a294"></a><span class="src-doc"> */</span></div></li>
<li><div class="src-line"><a name="a295"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../swam/Account.html#methodget_owner">get_owner</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li>
<li><div class="src-line"><a name="a296"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">data</span><span class="src-sym">[</span><span class="src-str">'owner'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a297"></a> <span class="src-sym">}</span></div></li>
<li><div class="src-line"><a name="a298"></a> </div></li>
<li><div class="src-line"><a name="a299"></a> <span class="src-doc">/**</span></div></li>
<li><div class="src-line"><a name="a300"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@see</span><span class="src-doc"> IAccount::set_name($name)</span></div></li>
<li><div class="src-line"><a name="a301"></a><span class="src-doc"> */</span></div></li>
<li><div class="src-line"><a name="a302"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../swam/Account.html#methodset_name">set_name</a><span class="src-sym">(</span><span class="src-var">$name</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li>
<li><div class="src-line"><a name="a303"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-key">empty</span><span class="src-sym">(</span><span class="src-var">$name</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li>
<li><div class="src-line"><a name="a304"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../swam/AccountException.html">AccountException</a></span><span class="src-sym">(</span><a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Please enter the name of the account.'</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a305"></a> <span class="src-sym">}</span></div></li>
<li><div class="src-line"><a name="a306"></a> <span class="src-id"><a href="../swam/Utils.html">Utils</a></span><span class="src-sym">::</span><a href="../swam/Utils.html#methodcheck_max_length">check_max_length</a><span class="src-sym">(</span><span class="src-var">$name</span><span class="src-sym">, </span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">NAME_MAX_LENGTH</span><span class="src-sym">, </span><a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'The name is too long; it must consist of a maximum of %s characters.'</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a307"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">data</span><span class="src-sym">[</span><span class="src-str">'name'</span><span class="src-sym">] </span>= <span class="src-var">$name</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a308"></a> <span class="src-sym">}</span></div></li>
<li><div class="src-line"><a name="a309"></a> </div></li>
<li><div class="src-line"><a name="a310"></a> <span class="src-doc">/**</span></div></li>
<li><div class="src-line"><a name="a311"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@see</span><span class="src-doc"> IAccount::get_name()</span></div></li>
<li><div class="src-line"><a name="a312"></a><span class="src-doc"> */</span></div></li>
<li><div class="src-line"><a name="a313"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../swam/Account.html#methodget_name">get_name</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li>
<li><div class="src-line"><a name="a314"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">data</span><span class="src-sym">[</span><span class="src-str">'name'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a315"></a> <span class="src-sym">}</span></div></li>
<li><div class="src-line"><a name="a316"></a> </div></li>
<li><div class="src-line"><a name="a317"></a> <span class="src-doc">/**</span></div></li>
<li><div class="src-line"><a name="a318"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@see</span><span class="src-doc"> IAccount::set_bank_name($bank_name)</span></div></li>
<li><div class="src-line"><a name="a319"></a><span class="src-doc"> */</span></div></li>
<li><div class="src-line"><a name="a320"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../swam/Account.html#methodset_bank_name">set_bank_name</a><span class="src-sym">(</span><span class="src-var">$bank_name</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li>
<li><div class="src-line"><a name="a321"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-key">empty</span><span class="src-sym">(</span><span class="src-var">$bank_name</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li>
<li><div class="src-line"><a name="a322"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../swam/AccountException.html">AccountException</a></span><span class="src-sym">(</span><a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Please enter the name of the bank.'</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a323"></a> <span class="src-sym">}</span></div></li>
<li><div class="src-line"><a name="a324"></a> <span class="src-id"><a href="../swam/Utils.html">Utils</a></span><span class="src-sym">::</span><a href="../swam/Utils.html#methodcheck_max_length">check_max_length</a><span class="src-sym">(</span><span class="src-var">$bank_name</span><span class="src-sym">, </span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">BANK_NAME_MAX_LENGTH</span><span class="src-sym">, </span><a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'The bank name is too long; it must consist of a maximum of %s characters.'</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a325"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">data</span><span class="src-sym">[</span><span class="src-str">'bank_name'</span><span class="src-sym">] </span>= <span class="src-var">$bank_name</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a326"></a> <span class="src-sym">}</span></div></li>
<li><div class="src-line"><a name="a327"></a> </div></li>
<li><div class="src-line"><a name="a328"></a> <span class="src-doc">/**</span></div></li>
<li><div class="src-line"><a name="a329"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@see</span><span class="src-doc"> IAccount::get_bank_name()</span></div></li>
<li><div class="src-line"><a name="a330"></a><span class="src-doc"> */</span></div></li>
<li><div class="src-line"><a name="a331"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../swam/Account.html#methodget_bank_name">get_bank_name</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li>
<li><div class="src-line"><a name="a332"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">data</span><span class="src-sym">[</span><span class="src-str">'bank_name'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a333"></a> <span class="src-sym">}</span></div></li>
<li><div class="src-line"><a name="a334"></a> </div></li>
<li><div class="src-line"><a name="a335"></a> <span class="src-doc">/**</span></div></li>
<li><div class="src-line"><a name="a336"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@see</span><span class="src-doc"> IAccount::set_currency_code($currency_code)</span></div></li>
<li><div class="src-line"><a name="a337"></a><span class="src-doc"> */</span></div></li>
<li><div class="src-line"><a name="a338"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../swam/Account.html#methodset_currency_code">set_currency_code</a><span class="src-sym">(</span><span class="src-var">$currency_code</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li>
<li><div class="src-line"><a name="a339"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-key">empty</span><span class="src-sym">(</span><span class="src-var">$currency_code</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li>
<li><div class="src-line"><a name="a340"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../swam/AccountException.html">AccountException</a></span><span class="src-sym">(</span><a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Please choose the currency.'</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a341"></a> <span class="src-sym">}</span></div></li>
<li><div class="src-line"><a name="a342"></a> <span class="src-var">$currencies </span>= <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">get_currencies</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a343"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">! </span>isset<span class="src-sym">(</span><span class="src-var">$currencies</span><span class="src-sym">[</span><span class="src-var">$currency_code</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li>
<li><div class="src-line"><a name="a344"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../swam/IllegalArgumentException.html">IllegalArgumentException</a></span><span class="src-sym">(</span><span class="src-id"><a href="../swam/Utils.html">Utils</a></span><span class="src-sym">::</span><span class="src-id">safe_printf</span><span class="src-sym">(</span><a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Invalid currency: %s.'</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$currency_code</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a345"></a> <span class="src-sym">}</span></div></li>
<li><div class="src-line"><a name="a346"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">data</span><span class="src-sym">[</span><span class="src-str">'currency_code'</span><span class="src-sym">] </span>= <span class="src-var">$currency_code</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a347"></a> <span class="src-sym">}</span></div></li>
<li><div class="src-line"><a name="a348"></a> </div></li>
<li><div class="src-line"><a name="a349"></a> <span class="src-doc">/**</span></div></li>
<li><div class="src-line"><a name="a350"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@see</span><span class="src-doc"> IAccount::get_currency_code()</span></div></li>
<li><div class="src-line"><a name="a351"></a><span class="src-doc"> */</span></div></li>
<li><div class="src-line"><a name="a352"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../swam/Account.html#methodget_currency_code">get_currency_code</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li>
<li><div class="src-line"><a name="a353"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">data</span><span class="src-sym">[</span><span class="src-str">'currency_code'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a354"></a> <span class="src-sym">}</span></div></li>
<li><div class="src-line"><a name="a355"></a> </div></li>
<li><div class="src-line"><a name="a356"></a> <span class="src-doc">/**</span></div></li>
<li><div class="src-line"><a name="a357"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@see</span><span class="src-doc"> IAccount::get_currency()</span></div></li>
<li><div class="src-line"><a name="a358"></a><span class="src-doc"> */</span></div></li>
<li><div class="src-line"><a name="a359"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../swam/Account.html#methodget_currency">get_currency</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li>
<li><div class="src-line"><a name="a360"></a> <span class="src-key">return </span><span class="src-id">I18n</span><span class="src-sym">::</span><span class="src-id">translate</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../swam/Account.html#methodget_currency_code">get_currency_code</a><span class="src-sym">(</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a361"></a> <span class="src-sym">}</span></div></li>
<li><div class="src-line"><a name="a362"></a> </div></li>
<li><div class="src-line"><a name="a363"></a> <span class="src-doc">/**</span></div></li>
<li><div class="src-line"><a name="a364"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@see</span><span class="src-doc"> IAccount::set_comment($comment)</span></div></li>
<li><div class="src-line"><a name="a365"></a><span class="src-doc"> */</span></div></li>
<li><div class="src-line"><a name="a366"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../swam/Account.html#methodset_comment">set_comment</a><span class="src-sym">(</span><span class="src-var">$comment</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li>
<li><div class="src-line"><a name="a367"></a> <span class="src-id"><a href="../swam/Utils.html">Utils</a></span><span class="src-sym">::</span><a href="../swam/Utils.html#methodcheck_max_length">check_max_length</a><span class="src-sym">(</span><span class="src-var">$comment</span><span class="src-sym">, </span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">COMMENT_MAX_LENGTH</span><span class="src-sym">, </span><a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'The comment is too long; it must consist of a maximum of %s characters.'</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a368"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">data</span><span class="src-sym">[</span><span class="src-str">'comment'</span><span class="src-sym">] </span>= <span class="src-var">$comment</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a369"></a> <span class="src-sym">}</span></div></li>
<li><div class="src-line"><a name="a370"></a> </div></li>
<li><div class="src-line"><a name="a371"></a> <span class="src-doc">/**</span></div></li>
<li><div class="src-line"><a name="a372"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@see</span><span class="src-doc"> IAccount::get_comment()</span></div></li>
<li><div class="src-line"><a name="a373"></a><span class="src-doc"> */</span></div></li>
<li><div class="src-line"><a name="a374"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../swam/Account.html#methodget_comment">get_comment</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li>
<li><div class="src-line"><a name="a375"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">data</span><span class="src-sym">[</span><span class="src-str">'comment'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a376"></a> <span class="src-sym">}</span></div></li>
<li><div class="src-line"><a name="a377"></a> </div></li>
<li><div class="src-line"><a name="a378"></a> <span class="src-doc">/**</span></div></li>
<li><div class="src-line"><a name="a379"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@see</span><span class="src-doc"> IAccount::set_is_opened($is_opened)</span></div></li>
<li><div class="src-line"><a name="a380"></a><span class="src-doc"> */</span></div></li>
<li><div class="src-line"><a name="a381"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../swam/Account.html#methodset_is_opened">set_is_opened</a><span class="src-sym">(</span><span class="src-var">$is_opened</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li>
<li><div class="src-line"><a name="a382"></a> <span class="src-id"><a href="../swam/Utils.html">Utils</a></span><span class="src-sym">::</span><a href="../swam/Utils.html#methodcheck_boolean">check_boolean</a><span class="src-sym">(</span><span class="src-var">$is_opened</span><span class="src-sym">, </span><a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Invalid parameter: %s (expected boolean value)'</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a383"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">data</span><span class="src-sym">[</span><span class="src-str">'is_opened'</span><span class="src-sym">] </span>= <span class="src-var">$is_opened</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a384"></a> <span class="src-sym">}</span></div></li>
<li><div class="src-line"><a name="a385"></a> </div></li>
<li><div class="src-line"><a name="a386"></a> <span class="src-doc">/**</span></div></li>
<li><div class="src-line"><a name="a387"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@see</span><span class="src-doc"> IAccount::is_opened()</span></div></li>
<li><div class="src-line"><a name="a388"></a><span class="src-doc"> */</span></div></li>
<li><div class="src-line"><a name="a389"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../swam/Account.html#methodis_opened">is_opened</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li>
<li><div class="src-line"><a name="a390"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">data</span><span class="src-sym">[</span><span class="src-str">'is_opened'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a391"></a> <span class="src-sym">}</span></div></li>
<li><div class="src-line"><a name="a392"></a> </div></li>
<li><div class="src-line"><a name="a393"></a> <span class="src-doc">/**</span></div></li>
<li><div class="src-line"><a name="a394"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@see</span><span class="src-doc"> IAccount::set_data($data)</span></div></li>
<li><div class="src-line"><a name="a395"></a><span class="src-doc"> * </span><span class="src-doc-tag">@exception</span><span class="src-doc"> PDOException</span></div></li>
<li><div class="src-line"><a name="a396"></a><span class="src-doc"> */</span></div></li>
<li><div class="src-line"><a name="a397"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../swam/Account.html#methodset_data">set_data</a><span class="src-sym">(</span><span class="src-var">$data</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li>
<li><div class="src-line"><a name="a398"></a> <span class="src-var">$owner </span>= <span class="src-id"><a href="../swam/Utils.html">Utils</a></span><span class="src-sym">::</span><a href="../swam/Utils.html#methodget_object">get_object</a><span class="src-sym">(</span><span class="src-var">$data</span><span class="src-sym">, </span><span class="src-str">'owner'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a399"></a> <span class="src-var">$name </span>= <span class="src-id"><a href="../swam/Utils.html">Utils</a></span><span class="src-sym">::</span><a href="../swam/Utils.html#methodget_string">get_string</a><span class="src-sym">(</span><span class="src-var">$data</span><span class="src-sym">, </span><span class="src-str">'name'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a400"></a> <span class="src-var">$bank_name </span>= <span class="src-id"><a href="../swam/Utils.html">Utils</a></span><span class="src-sym">::</span><a href="../swam/Utils.html#methodget_string">get_string</a><span class="src-sym">(</span><span class="src-var">$data</span><span class="src-sym">, </span><span class="src-str">'bank_name'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a401"></a> <span class="src-var">$currency_code </span>= <span class="src-id"><a href="../swam/Utils.html">Utils</a></span><span class="src-sym">::</span><a href="../swam/Utils.html#methodget_string">get_string</a><span class="src-sym">(</span><span class="src-var">$data</span><span class="src-sym">, </span><span class="src-str">'currency_code'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a402"></a> <span class="src-var">$comment </span>= <span class="src-id"><a href="../swam/Utils.html">Utils</a></span><span class="src-sym">::</span><a href="../swam/Utils.html#methodget_string">get_string</a><span class="src-sym">(</span><span class="src-var">$data</span><span class="src-sym">, </span><span class="src-str">'comment'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a403"></a> <span class="src-var">$is_opened </span>= <span class="src-id"><a href="../swam/Utils.html">Utils</a></span><span class="src-sym">::</span><a href="../swam/Utils.html#methodget_string">get_string</a><span class="src-sym">(</span><span class="src-var">$data</span><span class="src-sym">, </span><span class="src-str">'is_opened'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a404"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../swam/Account.html#methodset_owner">set_owner</a><span class="src-sym">(</span><span class="src-var">$owner</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a405"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../swam/Account.html#methodset_name">set_name</a><span class="src-sym">(</span><span class="src-var">$name</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a406"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../swam/Account.html#methodset_bank_name">set_bank_name</a><span class="src-sym">(</span><span class="src-var">$bank_name</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a407"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../swam/Account.html#methodset_currency_code">set_currency_code</a><span class="src-sym">(</span><span class="src-var">$currency_code</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a408"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../swam/Account.html#methodset_comment">set_comment</a><span class="src-sym">(</span><span class="src-var">$comment</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a409"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../swam/Account.html#methodset_is_opened">set_is_opened</a><span class="src-sym">(</span><span class="src-var">$is_opened</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a410"></a> </div></li>
<li><div class="src-line"><a name="a411"></a> <span class="src-comm">// Check if this account name is already registered in this bank name</span></div></li>
<li><div class="src-line"><a name="a412"></a> <span class="src-var">$dbh </span>= <span class="src-id"><a href="../swam/Database.html">Database</a></span><span class="src-sym">::</span><a href="../swam/Database.html#methodinstance">instance</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">-></span><span class="src-id">get_connection</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a413"></a> <span class="src-var">$sth </span>= <span class="src-var">$dbh</span><span class="src-sym">-></span><span class="src-id">prepare</span><span class="src-sym">(</span><span class="src-str">'SELECT account_id FROM t_account WHERE name=? AND bank_name=?'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a414"></a> <span class="src-var">$rs </span>= <span class="src-var">$sth</span><span class="src-sym">-></span><span class="src-id">execute</span><span class="src-sym">(</span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../swam/Account.html#methodget_name">get_name</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../swam/Account.html#methodget_bank_name">get_bank_name</a><span class="src-sym">(</span><span class="src-sym">)))</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a415"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><span class="src-key">empty</span><span class="src-sym">(</span><span class="src-var">$rs</span><span class="src-sym">[</span><span class="src-str">'account_id'</span><span class="src-sym">]</span><span class="src-sym">) </span>&& <span class="src-sym">(</span><span class="src-var">$rs</span><span class="src-sym">[</span><span class="src-str">'account_id'</span><span class="src-sym">] </span>!= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../swam/PersistentObject.html#methodget_id">get_id</a><span class="src-sym">(</span><span class="src-sym">))) </span><span class="src-sym">{</span></div></li>
<li><div class="src-line"><a name="a416"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../swam/AccountException.html">AccountException</a></span><span class="src-sym">(</span><a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Account name already exists in this bank.'</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a417"></a> <span class="src-sym">}</span></div></li>
<li><div class="src-line"><a name="a418"></a> <span class="src-sym">}</span></div></li>
<li><div class="src-line"><a name="a419"></a> </div></li>
<li><div class="src-line"><a name="a420"></a> <span class="src-doc">/**</span></div></li>
<li><div class="src-line"><a name="a421"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@see</span><span class="src-doc"> IAccount::get_virtual_balance()</span></div></li>
<li><div class="src-line"><a name="a422"></a><span class="src-doc"> * </span><span class="src-doc-tag">@exception</span><span class="src-doc"> PDOException</span></div></li>
<li><div class="src-line"><a name="a423"></a><span class="src-doc"> */</span></div></li>
<li><div class="src-line"><a name="a424"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../swam/Account.html#methodget_virtual_balance">get_virtual_balance</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li>
<li><div class="src-line"><a name="a425"></a> <span class="src-key">return </span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">get_balance</span><span class="src-sym">(</span><span class="src-num">0</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a426"></a> <span class="src-sym">}</span></div></li>
<li><div class="src-line"><a name="a427"></a> </div></li>
<li><div class="src-line"><a name="a428"></a> <span class="src-doc">/**</span></div></li>
<li><div class="src-line"><a name="a429"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@see</span><span class="src-doc"> IAccount::get_real_balance()</span></div></li>
<li><div class="src-line"><a name="a430"></a><span class="src-doc"> * </span><span class="src-doc-tag">@exception</span><span class="src-doc"> PDOException</span></div></li>
<li><div class="src-line"><a name="a431"></a><span class="src-doc"> */</span></div></li>
<li><div class="src-line"><a name="a432"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../swam/Account.html#methodget_real_balance">get_real_balance</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li>
<li><div class="src-line"><a name="a433"></a> <span class="src-key">return </span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">get_balance</span><span class="src-sym">(</span><span class="src-num">1</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a434"></a> <span class="src-sym">}</span></div></li>
<li><div class="src-line"><a name="a435"></a> </div></li>
<li><div class="src-line"><a name="a436"></a> <span class="src-key">private </span><span class="src-key">function </span><span class="src-id">get_balance</span><span class="src-sym">(</span><span class="src-var">$is_valid</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li>
<li><div class="src-line"><a name="a437"></a> <span class="src-var">$dbh </span>= <span class="src-id"><a href="../swam/Database.html">Database</a></span><span class="src-sym">::</span><a href="../swam/Database.html#methodinstance">instance</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">-></span><span class="src-id">get_connection</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a438"></a> <span class="src-var">$sql </span>= <span class="src-str">'SELECT amount, is_debit FROM t_transaction WHERE account_id=?'</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a439"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$is_valid</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li>
<li><div class="src-line"><a name="a440"></a> <span class="src-var">$sql </span>.= <span class="src-str">' AND is_valid=1'</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a441"></a> <span class="src-sym">}</span></div></li>
<li><div class="src-line"><a name="a442"></a> <span class="src-var">$sth </span>= <span class="src-var">$dbh</span><span class="src-sym">-></span><span class="src-id">prepare</span><span class="src-sym">(</span><span class="src-var">$sql</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a443"></a> <span class="src-var">$sth</span><span class="src-sym">-></span><span class="src-id">execute</span><span class="src-sym">(</span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../swam/PersistentObject.html#methodget_id">get_id</a><span class="src-sym">(</span><span class="src-sym">)))</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a444"></a> <span class="src-var">$balance </span>= <span class="src-num">0</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a445"></a> <span class="src-key">while </span><span class="src-sym">(</span><span class="src-var">$transaction </span>= <span class="src-var">$sth</span><span class="src-sym">-></span><span class="src-id">fetchObject</span><span class="src-sym">(</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li>
<li><div class="src-line"><a name="a446"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$transaction</span><span class="src-sym">-></span><span class="src-id">is_debit</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li>
<li><div class="src-line"><a name="a447"></a> <span class="src-var">$balance </span>-= <span class="src-var">$transaction</span><span class="src-sym">-></span><span class="src-id">amount</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a448"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li>
<li><div class="src-line"><a name="a449"></a> <span class="src-var">$balance </span>+= <span class="src-var">$transaction</span><span class="src-sym">-></span><span class="src-id">amount</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a450"></a> <span class="src-sym">}</span></div></li>
<li><div class="src-line"><a name="a451"></a> <span class="src-sym">}</span></div></li>
<li><div class="src-line"><a name="a452"></a> <span class="src-key">return </span><span class="src-var">$balance</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a453"></a> <span class="src-sym">}</span></div></li>
<li><div class="src-line"><a name="a454"></a> </div></li>
<li><div class="src-line"><a name="a455"></a> <span class="src-doc">/**</span></div></li>
<li><div class="src-line"><a name="a456"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@see</span><span class="src-doc"> IAccount::get_transactions()</span></div></li>
<li><div class="src-line"><a name="a457"></a><span class="src-doc"> * </span><span class="src-doc-tag">@exception</span><span class="src-doc"> PDOException</span></div></li>
<li><div class="src-line"><a name="a458"></a><span class="src-doc"> */</span></div></li>
<li><div class="src-line"><a name="a459"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../swam/Account.html#methodget_transactions">get_transactions</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li>
<li><div class="src-line"><a name="a460"></a> <span class="src-var">$dbh </span>= <span class="src-id"><a href="../swam/Database.html">Database</a></span><span class="src-sym">::</span><a href="../swam/Database.html#methodinstance">instance</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">-></span><span class="src-id">get_connection</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a461"></a> <span class="src-var">$sth </span>= <span class="src-var">$dbh</span><span class="src-sym">-></span><span class="src-id">prepare</span><span class="src-sym">(</span><span class="src-str">'SELECT transaction_id, name, LOWER(name) as lower_name, account_id, amount, is_debit, mean_of_payment_code, date, comment, is_valid FROM t_transaction WHERE account_id=? ORDER BY date, lower_name'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a462"></a> <span class="src-var">$sth</span><span class="src-sym">-></span><span class="src-id">execute</span><span class="src-sym">(</span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../swam/PersistentObject.html#methodget_id">get_id</a><span class="src-sym">(</span><span class="src-sym">)))</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a463"></a> </div></li>
<li><div class="src-line"><a name="a464"></a> <span class="src-var">$transactions </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a465"></a> <span class="src-key">while </span><span class="src-sym">(</span><span class="src-var">$data </span>= <span class="src-var">$sth</span><span class="src-sym">-></span><span class="src-id">fetch</span><span class="src-sym">(</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li>
<li><div class="src-line"><a name="a466"></a> <span class="src-var">$data</span><span class="src-sym">[</span><span class="src-str">'account'</span><span class="src-sym">] </span>= <span class="src-var">$this</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a467"></a> <span class="src-var">$transaction </span>= <span class="src-key">new </span><span class="src-id"><a href="../swam/Transaction.html">Transaction</a></span><span class="src-sym">(</span><span class="src-var">$data</span><span class="src-sym">, </span><span class="src-var">$data</span><span class="src-sym">[</span><span class="src-str">'transaction_id'</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a468"></a> <span class="src-var">$transactions</span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-var">$transaction</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a469"></a> <span class="src-sym">}</span></div></li>
<li><div class="src-line"><a name="a470"></a> <span class="src-key">return </span><span class="src-var">$transactions</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a471"></a> <span class="src-sym">}</span></div></li>
<li><div class="src-line"><a name="a472"></a> </div></li>
<li><div class="src-line"><a name="a473"></a> <span class="src-doc">/**</span></div></li>
<li><div class="src-line"><a name="a474"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@see</span><span class="src-doc"> IAccount::get_transactions_of_month($year, $month)</span></div></li>
<li><div class="src-line"><a name="a475"></a><span class="src-doc"> * </span><span class="src-doc-tag">@exception</span><span class="src-doc"> PDOException</span></div></li>
<li><div class="src-line"><a name="a476"></a><span class="src-doc"> */</span></div></li>
<li><div class="src-line"><a name="a477"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../swam/Account.html#methodget_transactions_of_month">get_transactions_of_month</a><span class="src-sym">(</span><span class="src-var">$year</span><span class="src-sym">, </span><span class="src-var">$month</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li>
<li><div class="src-line"><a name="a478"></a> <span class="src-var">$dbh </span>= <span class="src-id"><a href="../swam/Database.html">Database</a></span><span class="src-sym">::</span><a href="../swam/Database.html#methodinstance">instance</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">-></span><span class="src-id">get_connection</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a479"></a> <span class="src-var">$sth </span>= <span class="src-var">$dbh</span><span class="src-sym">-></span><span class="src-id">prepare</span><span class="src-sym">(</span><span class="src-str">'SELECT transaction_id, name, LOWER(name) as lower_name, account_id, amount, is_debit, mean_of_payment_code, date, comment, is_valid FROM t_transaction WHERE account_id=? AND date BETWEEN ? AND ? ORDER BY date, lower_name'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a480"></a> <span class="src-var">$from </span>= <span class="src-var">$year </span>. <span class="src-str">'-' </span>. <span class="src-var">$month </span>. <span class="src-str">'-01'</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a481"></a> <span class="src-var">$to </span>= <span class="src-var">$year </span>. <span class="src-str">'-' </span>. <span class="src-var">$month </span>. <span class="src-str">'-31'</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a482"></a> <span class="src-var">$sth</span><span class="src-sym">-></span><span class="src-id">execute</span><span class="src-sym">(</span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../swam/PersistentObject.html#methodget_id">get_id</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$from</span><span class="src-sym">, </span><span class="src-var">$to</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a483"></a> </div></li>
<li><div class="src-line"><a name="a484"></a> <span class="src-var">$transactions </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a485"></a> <span class="src-key">while </span><span class="src-sym">(</span><span class="src-var">$data </span>= <span class="src-var">$sth</span><span class="src-sym">-></span><span class="src-id">fetch</span><span class="src-sym">(</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li>
<li><div class="src-line"><a name="a486"></a> <span class="src-var">$data</span><span class="src-sym">[</span><span class="src-str">'account'</span><span class="src-sym">] </span>= <span class="src-var">$this</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a487"></a> <span class="src-var">$transaction </span>= <span class="src-key">new </span><span class="src-id"><a href="../swam/Transaction.html">Transaction</a></span><span class="src-sym">(</span><span class="src-var">$data</span><span class="src-sym">, </span><span class="src-var">$data</span><span class="src-sym">[</span><span class="src-str">'transaction_id'</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a488"></a> <span class="src-var">$transactions</span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-var">$transaction</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a489"></a> <span class="src-sym">}</span></div></li>
<li><div class="src-line"><a name="a490"></a> <span class="src-key">return </span><span class="src-var">$transactions</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a491"></a> <span class="src-sym">}</span></div></li>
<li><div class="src-line"><a name="a492"></a> </div></li>
<li><div class="src-line"><a name="a493"></a> <span class="src-doc">/**</span></div></li>
<li><div class="src-line"><a name="a494"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@see</span><span class="src-doc"> IAccount::get_pending_transactions()</span></div></li>
<li><div class="src-line"><a name="a495"></a><span class="src-doc"> * </span><span class="src-doc-tag">@exception</span><span class="src-doc"> PDOException</span></div></li>
<li><div class="src-line"><a name="a496"></a><span class="src-doc"> */</span></div></li>
<li><div class="src-line"><a name="a497"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../swam/Account.html#methodget_pending_transactions">get_pending_transactions</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li>
<li><div class="src-line"><a name="a498"></a> <span class="src-var">$dbh </span>= <span class="src-id"><a href="../swam/Database.html">Database</a></span><span class="src-sym">::</span><a href="../swam/Database.html#methodinstance">instance</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">-></span><span class="src-id">get_connection</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a499"></a> <span class="src-var">$sth </span>= <span class="src-var">$dbh</span><span class="src-sym">-></span><span class="src-id">prepare</span><span class="src-sym">(</span><span class="src-str">'SELECT * FROM t_transaction WHERE account_id=? AND is_valid=0 ORDER BY date'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a500"></a> <span class="src-var">$sth</span><span class="src-sym">-></span><span class="src-id">execute</span><span class="src-sym">(</span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../swam/PersistentObject.html#methodget_id">get_id</a><span class="src-sym">(</span><span class="src-sym">)))</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a501"></a> <span class="src-var">$transactions </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a502"></a> <span class="src-key">while </span><span class="src-sym">(</span><span class="src-var">$data </span>= <span class="src-var">$sth</span><span class="src-sym">-></span><span class="src-id">fetch</span><span class="src-sym">(</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li>
<li><div class="src-line"><a name="a503"></a> <span class="src-var">$data</span><span class="src-sym">[</span><span class="src-str">'account'</span><span class="src-sym">] </span>= <span class="src-var">$this</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a504"></a> <span class="src-var">$transactions</span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-key">new </span><span class="src-id"><a href="../swam/Transaction.html">Transaction</a></span><span class="src-sym">(</span><span class="src-var">$data</span><span class="src-sym">, </span><span class="src-var">$data</span><span class="src-sym">[</span><span class="src-str">'transaction_id'</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a505"></a> <span class="src-sym">}</span></div></li>
<li><div class="src-line"><a name="a506"></a> <span class="src-key">return </span><span class="src-var">$transactions</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a507"></a> <span class="src-sym">}</span></div></li>
<li><div class="src-line"><a name="a508"></a> </div></li>
<li><div class="src-line"><a name="a509"></a> <span class="src-doc">/**</span></div></li>
<li><div class="src-line"><a name="a510"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@see</span><span class="src-doc"> IAccount::get_transaction_templates()</span></div></li>
<li><div class="src-line"><a name="a511"></a><span class="src-doc"> * </span><span class="src-doc-tag">@exception</span><span class="src-doc"> PDOException</span></div></li>
<li><div class="src-line"><a name="a512"></a><span class="src-doc"> */</span></div></li>
<li><div class="src-line"><a name="a513"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../swam/Account.html#methodget_transaction_templates">get_transaction_templates</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li>
<li><div class="src-line"><a name="a514"></a> <span class="src-var">$dbh </span>= <span class="src-id"><a href="../swam/Database.html">Database</a></span><span class="src-sym">::</span><a href="../swam/Database.html#methodinstance">instance</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">-></span><span class="src-id">get_connection</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a515"></a> <span class="src-var">$sth </span>= <span class="src-var">$dbh</span><span class="src-sym">-></span><span class="src-id">prepare</span><span class="src-sym">(</span><span class="src-str">'SELECT transaction_template_id, name, LOWER(name) as lower_name, account_id, amount, is_debit, mean_of_payment_code, date, comment, is_valid FROM t_transaction_template WHERE account_id=? ORDER BY date, lower_name'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a516"></a> <span class="src-var">$sth</span><span class="src-sym">-></span><span class="src-id">execute</span><span class="src-sym">(</span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../swam/PersistentObject.html#methodget_id">get_id</a><span class="src-sym">(</span><span class="src-sym">)))</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a517"></a> </div></li>
<li><div class="src-line"><a name="a518"></a> <span class="src-var">$transaction_templates </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a519"></a> <span class="src-key">while </span><span class="src-sym">(</span><span class="src-var">$data </span>= <span class="src-var">$sth</span><span class="src-sym">-></span><span class="src-id">fetch</span><span class="src-sym">(</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li>
<li><div class="src-line"><a name="a520"></a> <span class="src-var">$data</span><span class="src-sym">[</span><span class="src-str">'account'</span><span class="src-sym">] </span>= <span class="src-var">$this</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a521"></a> <span class="src-var">$transaction_template </span>= <span class="src-key">new </span><span class="src-id"><a href="../swam/TransactionTemplate.html">TransactionTemplate</a></span><span class="src-sym">(</span><span class="src-var">$data</span><span class="src-sym">, </span><span class="src-var">$data</span><span class="src-sym">[</span><span class="src-str">'transaction_template_id'</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a522"></a> <span class="src-var">$transaction_templates</span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-var">$transaction_template</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a523"></a> <span class="src-sym">}</span></div></li>
<li><div class="src-line"><a name="a524"></a> <span class="src-key">return </span><span class="src-var">$transaction_templates</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a525"></a> <span class="src-sym">}</span></div></li>
<li><div class="src-line"><a name="a526"></a> </div></li>
<li><div class="src-line"><a name="a527"></a> <span class="src-doc">/**</span></div></li>
<li><div class="src-line"><a name="a528"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@see</span><span class="src-doc"> IAccount::belongs_to()</span></div></li>
<li><div class="src-line"><a name="a529"></a><span class="src-doc"> */</span></div></li>
<li><div class="src-line"><a name="a530"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../swam/Account.html#methodbelongs_to">belongs_to</a><span class="src-sym">(</span><span class="src-var">$user</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li>
<li><div class="src-line"><a name="a531"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$user </span>== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li>
<li><div class="src-line"><a name="a532"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../swam/AccountException.html">AccountException</a></span><span class="src-sym">(</span><a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Invalid null user.'</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a533"></a> <span class="src-sym">}</span></div></li>
<li><div class="src-line"><a name="a534"></a> <span class="src-key">return </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../swam/Account.html#methodget_owner">get_owner</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">-></span><span class="src-id">get_id</span><span class="src-sym">(</span><span class="src-sym">) </span>== <span class="src-var">$user</span><span class="src-sym">-></span><span class="src-id">get_id</span><span class="src-sym">(</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a535"></a> <span class="src-sym">}</span></div></li>
<li><div class="src-line"><a name="a536"></a> </div></li>
<li><div class="src-line"><a name="a537"></a> <span class="src-doc">/**</span></div></li>
<li><div class="src-line"><a name="a538"></a><span class="src-doc"> * </span><span class="src-doc-tag">@exception</span><span class="src-doc"> PermissionDeniedException if the owner of this</span></div></li>
<li><div class="src-line"><a name="a539"></a><span class="src-doc"> * account is not allowed to edit accounts (case of the guest user,</span></div></li>
<li><div class="src-line"><a name="a540"></a><span class="src-doc"> * login: SWAM_GUEST_USER_LOGIN).</span></div></li>
<li><div class="src-line"><a name="a541"></a><span class="src-doc"> *</span></div></li>
<li><div class="src-line"><a name="a542"></a><span class="src-doc"> * TODO: when the account already exits in the database, should we</span></div></li>
<li><div class="src-line"><a name="a543"></a><span class="src-doc"> * use transaction to prevent another thread to close the account</span></div></li>
<li><div class="src-line"><a name="a544"></a><span class="src-doc"> * just before the transaction is saved? (default transaction</span></div></li>
<li><div class="src-line"><a name="a545"></a><span class="src-doc"> * isolation of sqlite is serializable, providing the strictest</span></div></li>
<li><div class="src-line"><a name="a546"></a><span class="src-doc"> * transaction isolation by emulating serial transaction execution,</span></div></li>
<li><div class="src-line"><a name="a547"></a><span class="src-doc"> * as if transactions had been executed one after another).</span></div></li>
<li><div class="src-line"><a name="a548"></a><span class="src-doc"> *</span></div></li>
<li><div class="src-line"><a name="a549"></a><span class="src-doc"> * </span><span class="src-doc-tag">@exception</span><span class="src-doc"> AccountException</span></div></li>
<li><div class="src-line"><a name="a550"></a><span class="src-doc"> * </span><span class="src-doc-tag">@exception</span><span class="src-doc"> PDOException</span></div></li>
<li><div class="src-line"><a name="a551"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@see</span><span class="src-doc"> IPersistentObject::store()</span></div></li>
<li><div class="src-line"><a name="a552"></a><span class="src-doc"> */</span></div></li>
<li><div class="src-line"><a name="a553"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../swam/Account.html#methodstore">store</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li>
<li><div class="src-line"><a name="a554"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">check_permissions</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../swam/Account.html#methodget_owner">get_owner</a><span class="src-sym">(</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a555"></a> </div></li>
<li><div class="src-line"><a name="a556"></a> <span class="src-comm">// An account cannot be closed if all transactions have not been validated</span></div></li>
<li><div class="src-line"><a name="a557"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../swam/Account.html#methodis_opened">is_opened</a><span class="src-sym">(</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li>
<li><div class="src-line"><a name="a558"></a> <span class="src-var">$transactions </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../swam/Account.html#methodget_transactions">get_transactions</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a559"></a> <span class="src-key">while </span><span class="src-sym">(</span><span class="src-var">$transaction </span>= <a href="http://www.php.net/current">current</a><span class="src-sym">(</span><span class="src-var">$transactions</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li>
<li><div class="src-line"><a name="a560"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><span class="src-var">$transaction</span><span class="src-sym">-></span><span class="src-id">is_valid</span><span class="src-sym">(</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li>
<li><div class="src-line"><a name="a561"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../swam/AccountException.html">AccountException</a></span><span class="src-sym">(</span><a href="http://www.php.net/_">_</a><span class="src-sym">(</span><span class="src-str">'Cannot close account because all transactions have not been validated.'</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a562"></a> <span class="src-sym">}</span></div></li>
<li><div class="src-line"><a name="a563"></a> <a href="http://www.php.net/next">next</a><span class="src-sym">(</span><span class="src-var">$transactions</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a564"></a> <span class="src-sym">}</span></div></li>
<li><div class="src-line"><a name="a565"></a> <span class="src-sym">}</span></div></li>
<li><div class="src-line"><a name="a566"></a> </div></li>
<li><div class="src-line"><a name="a567"></a> <span class="src-var">$dbh </span>= <span class="src-id"><a href="../swam/Database.html">Database</a></span><span class="src-sym">::</span><a href="../swam/Database.html#methodinstance">instance</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">-></span><span class="src-id">get_connection</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a568"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../swam/PersistentObject.html#methodget_id">get_id</a><span class="src-sym">(</span><span class="src-sym">) </span>== -<span class="src-num">1</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li>
<li><div class="src-line"><a name="a569"></a> <span class="src-comm">// Account does not exist in the database</span></div></li>
<li><div class="src-line"><a name="a570"></a> <span class="src-var">$sth </span>= <span class="src-var">$dbh</span><span class="src-sym">-></span><span class="src-id">prepare</span><span class="src-sym">(</span><span class="src-str">'INSERT INTO t_account(owner_id, name, bank_name, currency_code, comment, is_opened) VALUES (?, ?, ?, ?, ?, ?)'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a571"></a> <span class="src-var">$sth</span><span class="src-sym">-></span><span class="src-id">execute</span><span class="src-sym">(</span><span class="src-key">array </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../swam/Account.html#methodget_owner">get_owner</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">-></span><span class="src-id">get_id</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../swam/Account.html#methodget_name">get_name</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../swam/Account.html#methodget_bank_name">get_bank_name</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../swam/Account.html#methodget_currency_code">get_currency_code</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../swam/Account.html#methodget_comment">get_comment</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../swam/Account.html#methodis_opened">is_opened</a><span class="src-sym">(</span><span class="src-sym">)))</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a572"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../swam/Account.html#methodset_id">set_id</a><span class="src-sym">(</span><span class="src-var">$dbh</span><span class="src-sym">-></span><span class="src-id">lastInsertId</span><span class="src-sym">(</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a573"></a> <span class="src-id"><a href="../swam/FileLog.html">FileLog</a></span><span class="src-sym">::</span><a href="../swam/FileLog.html#methodinstance">instance</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">-></span><span class="src-id">info</span><span class="src-sym">(</span><a href="http://www.php.net/sprintf">sprintf</a><span class="src-sym">(</span><span class="src-str">'Added new account (user_id: %s, account_id: %s)'</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../swam/Account.html#methodget_owner">get_owner</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">-></span><span class="src-id">get_id</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../swam/PersistentObject.html#methodget_id">get_id</a><span class="src-sym">(</span><span class="src-sym">)))</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a574"></a> </div></li>
<li><div class="src-line"><a name="a575"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li>
<li><div class="src-line"><a name="a576"></a> <span class="src-comm">// Account already exits in the database (except in case of</span></div></li>
<li><div class="src-line"><a name="a577"></a> <span class="src-comm">// database import).</span></div></li>
<li><div class="src-line"><a name="a578"></a> <span class="src-var">$sth </span>= <span class="src-var">$dbh</span><span class="src-sym">-></span><span class="src-id">prepare</span><span class="src-sym">(</span><span class="src-str">'INSERT OR REPLACE INTO t_account(account_id, owner_id, name, bank_name, currency_code, comment, is_opened) VALUES (?, ?, ?, ?, ?, ?, ?)'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a579"></a> <span class="src-var">$sth</span><span class="src-sym">-></span><span class="src-id">execute</span><span class="src-sym">(</span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../swam/PersistentObject.html#methodget_id">get_id</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../swam/Account.html#methodget_owner">get_owner</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">-></span><span class="src-id">get_id</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../swam/Account.html#methodget_name">get_name</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../swam/Account.html#methodget_bank_name">get_bank_name</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../swam/Account.html#methodget_currency_code">get_currency_code</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../swam/Account.html#methodget_comment">get_comment</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../swam/Account.html#methodis_opened">is_opened</a><span class="src-sym">(</span><span class="src-sym">)))</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a580"></a> <span class="src-id"><a href="../swam/FileLog.html">FileLog</a></span><span class="src-sym">::</span><a href="../swam/FileLog.html#methodinstance">instance</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">-></span><span class="src-id">info</span><span class="src-sym">(</span><a href="http://www.php.net/sprintf">sprintf</a><span class="src-sym">(</span><span class="src-str">'Stored account (user_id: %s, account_id: %s)'</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../swam/Account.html#methodget_owner">get_owner</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">-></span><span class="src-id">get_id</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../swam/PersistentObject.html#methodget_id">get_id</a><span class="src-sym">(</span><span class="src-sym">)))</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a581"></a> <span class="src-sym">}</span></div></li>
<li><div class="src-line"><a name="a582"></a> <span class="src-sym">}</span></div></li>
<li><div class="src-line"><a name="a583"></a> </div></li>
<li><div class="src-line"><a name="a584"></a> <span class="src-doc">/**</span></div></li>
<li><div class="src-line"><a name="a585"></a><span class="src-doc"> * Removes this account from the database. If the transaction has</span></div></li>
<li><div class="src-line"><a name="a586"></a><span class="src-doc"> * not been saved into the database yet, this function does</span></div></li>
<li><div class="src-line"><a name="a587"></a><span class="src-doc"> * nothing. Transactions of this account will be removed by</span></div></li>
<li><div class="src-line"><a name="a588"></a><span class="src-doc"> * triggers.</span></div></li>
<li><div class="src-line"><a name="a589"></a><span class="src-doc"> *</span></div></li>
<li><div class="src-line"><a name="a590"></a><span class="src-doc"> * </span><span class="src-doc-tag">@exception</span><span class="src-doc"> PermissionDeniedException if the owner of this</span></div></li>
<li><div class="src-line"><a name="a591"></a><span class="src-doc"> * account is not allowed to edit accounts (case of the guest user,</span></div></li>
<li><div class="src-line"><a name="a592"></a><span class="src-doc"> * login: SWAM_GUEST_USER_LOGIN).</span></div></li>
<li><div class="src-line"><a name="a593"></a><span class="src-doc"> * </span><span class="src-doc-tag">@exception</span><span class="src-doc"> PDOException</span></div></li>
<li><div class="src-line"><a name="a594"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@see</span><span class="src-doc"> IPersistentObject::remove()</span></div></li>
<li><div class="src-line"><a name="a595"></a><span class="src-doc"> */</span></div></li>
<li><div class="src-line"><a name="a596"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../swam/Account.html#methodremove">remove</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li>
<li><div class="src-line"><a name="a597"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">check_permissions</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../swam/Account.html#methodget_owner">get_owner</a><span class="src-sym">(</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a598"></a> </div></li>
<li><div class="src-line"><a name="a599"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../swam/PersistentObject.html#methodget_id">get_id</a><span class="src-sym">(</span><span class="src-sym">) </span>!= -<span class="src-num">1</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li>
<li><div class="src-line"><a name="a600"></a> <span class="src-var">$dbh </span>= <span class="src-id"><a href="../swam/Database.html">Database</a></span><span class="src-sym">::</span><a href="../swam/Database.html#methodinstance">instance</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">-></span><span class="src-id">get_connection</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a601"></a> <span class="src-var">$sth </span>= <span class="src-var">$dbh</span><span class="src-sym">-></span><span class="src-id">prepare</span><span class="src-sym">(</span><span class="src-str">'DELETE FROM t_account WHERE account_id=?'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a602"></a> <span class="src-var">$sth</span><span class="src-sym">-></span><span class="src-id">execute</span><span class="src-sym">(</span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../swam/PersistentObject.html#methodget_id">get_id</a><span class="src-sym">(</span><span class="src-sym">)))</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a603"></a> <span class="src-id"><a href="../swam/FileLog.html">FileLog</a></span><span class="src-sym">::</span><a href="../swam/FileLog.html#methodinstance">instance</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">-></span><span class="src-id">info</span><span class="src-sym">(</span><a href="http://www.php.net/sprintf">sprintf</a><span class="src-sym">(</span><span class="src-str">'Removed account (account_id: %s, user_id: %s)'</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../swam/PersistentObject.html#methodget_id">get_id</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../swam/Account.html#methodget_owner">get_owner</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">-></span><span class="src-id">get_id</span><span class="src-sym">(</span><span class="src-sym">)))</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a604"></a> <span class="src-sym">}</span></div></li>
<li><div class="src-line"><a name="a605"></a> <span class="src-sym">}</span></div></li>
<li><div class="src-line"><a name="a606"></a><span class="src-sym">}</span></div></li>
<li><div class="src-line"><a name="a607"></a><span class="src-php">?></span></div></li>
</ol></div>
</div>
<p class="notes" id="credit">
Documentation generated on Thu, 20 Aug 2009 01:04:07 +0200 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.4.1</a>
</p>
</body>
</html>