<?xml version="1.0"?> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:pu="http://schema.phpunit.de/coverage/1.0" lang="en"><head><title>phpDox - Source of Util.php</title><link rel="stylesheet" type="text/css" href="../../../../css/style.css" media="screen"/><link rel="stylesheet" href="../../../../css/source.css"/><meta http-equiv="content-type" content="text/html; charset=utf-8"/></head><body><nav class="topnav"><ul><li><div class="logo"><span>/**</span>phpDox</div></li><li class="separator"><a href="../../../../index.html">Overview</a></li><li class="separator"><a href="../../../../namespaces.html">Namespaces</a></li><li><a href="../../../../interfaces.html">Interfaces</a></li><li><a href="../../../../classes.html">Classes</a></li><li class="separator"><a href="../../../../source/index.html">Source</a></li></ul></nav><div id="mainstage"><div class="box"><ul class="breadcrumb"><li><a href="../../../../index.html">Overview</a></li><li class="separator"><a href="../../../../source/index.html">Source</a></li></ul></div><h1>Source of file Util.php</h1><p> Size: 3,272 Bytes - Last Modified: 2015-11-10T10:04:57-05:00</p><section><h2><small>../src/Query/Drivers/Firebird/</small>Util.php</h2><table class="source"><tr><td class="no"><a class="anker" href="#line1">1</a><a class="anker" href="#line2">2</a><a class="anker" href="#line3">3</a><a class="anker" href="#line4">4</a><a class="anker" href="#line5">5</a><a class="anker" href="#line6">6</a><a class="anker" href="#line7">7</a><a class="anker" href="#line8">8</a><a class="anker" href="#line9">9</a><a class="anker" href="#line10">10</a><a class="anker" href="#line11">11</a><a class="anker" href="#line12">12</a><a class="anker" href="#line13">13</a><a class="anker" href="#line14">14</a><a class="anker" href="#line15">15</a><a class="anker" href="#line16">16</a><a class="anker" href="#line17">17</a><a class="anker" href="#line18">18</a><a class="anker" href="#line19">19</a><a class="anker" href="#line20">20</a><a class="anker" href="#line21">21</a><a class="anker" href="#line22">22</a><a class="anker" href="#line23">23</a><a class="anker" href="#line24">24</a><a class="anker" href="#line25">25</a><a class="anker" href="#line26">26</a><a class="anker" href="#line27">27</a><a class="anker" href="#line28">28</a><a class="anker" href="#line29">29</a><a class="anker" href="#line30">30</a><a class="anker" href="#line31">31</a><a class="anker" href="#line32">32</a><a class="anker" href="#line33">33</a><a class="anker" href="#line34">34</a><a class="anker" href="#line35">35</a><a class="anker" href="#line36">36</a><a class="anker" href="#line37">37</a><a class="anker" href="#line38">38</a><a class="anker" href="#line39">39</a><a class="anker" href="#line40">40</a><a class="anker" href="#line41">41</a><a class="anker" href="#line42">42</a><a class="anker" href="#line43">43</a><a class="anker" href="#line44">44</a><a class="anker" href="#line45">45</a><a class="anker" href="#line46">46</a><a class="anker" href="#line47">47</a><a class="anker" href="#line48">48</a><a class="anker" href="#line49">49</a><a class="anker" href="#line50">50</a><a class="anker" href="#line51">51</a><a class="anker" href="#line52">52</a><a class="anker" href="#line53">53</a><a class="anker" href="#line54">54</a><a class="anker" href="#line55">55</a><a class="anker" href="#line56">56</a><a class="anker" href="#line57">57</a><a class="anker" href="#line58">58</a><a class="anker" href="#line59">59</a><a class="anker" href="#line60">60</a><a class="anker" href="#line61">61</a><a class="anker" href="#line62">62</a><a class="anker" href="#line63">63</a><a class="anker" href="#line64">64</a><a class="anker" href="#line65">65</a><a class="anker" href="#line66">66</a><a class="anker" href="#line67">67</a><a class="anker" href="#line68">68</a><a class="anker" href="#line69">69</a><a class="anker" href="#line70">70</a><a class="anker" href="#line71">71</a><a class="anker" href="#line72">72</a><a class="anker" href="#line73">73</a><a class="anker" href="#line74">74</a><a class="anker" href="#line75">75</a><a class="anker" href="#line76">76</a><a class="anker" href="#line77">77</a><a class="anker" href="#line78">78</a><a class="anker" href="#line79">79</a><a class="anker" href="#line80">80</a><a class="anker" href="#line81">81</a><a class="anker" href="#line82">82</a><a class="anker" href="#line83">83</a><a class="anker" href="#line84">84</a><a class="anker" href="#line85">85</a><a class="anker" href="#line86">86</a><a class="anker" href="#line87">87</a><a class="anker" href="#line88">88</a><a class="anker" href="#line89">89</a><a class="anker" href="#line90">90</a><a class="anker" href="#line91">91</a><a class="anker" href="#line92">92</a><a class="anker" href="#line93">93</a><a class="anker" href="#line94">94</a><a class="anker" href="#line95">95</a><a class="anker" href="#line96">96</a><a class="anker" href="#line97">97</a><a class="anker" href="#line98">98</a><a class="anker" href="#line99">99</a><a class="anker" href="#line100">100</a><a class="anker" href="#line101">101</a><a class="anker" href="#line102">102</a><a class="anker" href="#line103">103</a><a class="anker" href="#line104">104</a><a class="anker" href="#line105">105</a><a class="anker" href="#line106">106</a><a class="anker" href="#line107">107</a><a class="anker" href="#line108">108</a><a class="anker" href="#line109">109</a><a class="anker" href="#line110">110</a><a class="anker" href="#line111">111</a><a class="anker" href="#line112">112</a><a class="anker" href="#line113">113</a><a class="anker" href="#line114">114</a><a class="anker" href="#line115">115</a><a class="anker" href="#line116">116</a><a class="anker" href="#line117">117</a><a class="anker" href="#line118">118</a><a class="anker" href="#line119">119</a><a class="anker" href="#line120">120</a><a class="anker" href="#line121">121</a><a class="anker" href="#line122">122</a><a class="anker" href="#line123">123</a><a class="anker" href="#line124">124</a><a class="anker" href="#line125">125</a><a class="anker" href="#line126">126</a><a class="anker" href="#line127">127</a><a class="anker" href="#line128">128</a><a class="anker" href="#line129">129</a><a class="anker" href="#line130">130</a><a class="anker" href="#line131">131</a><a class="anker" href="#line132">132</a><a class="anker" href="#line133">133</a></td><td class="line"><div id="line1"><pre><span class="token T_OPEN_TAG"><?php</span></pre></div><div id="line2"><pre><span class="token T_DOC_COMMENT">/**</span></pre></div><div id="line3"><pre><span class="token T_DOC_COMMENT"> * Query</span></pre></div><div id="line4"><pre><span class="token T_DOC_COMMENT"> *</span></pre></div><div id="line5"><pre><span class="token T_DOC_COMMENT"> * Free Query Builder / Database Abstraction Layer</span></pre></div><div id="line6"><pre><span class="token T_DOC_COMMENT"> *</span></pre></div><div id="line7"><pre><span class="token T_DOC_COMMENT"> * @package Query</span></pre></div><div id="line8"><pre><span class="token T_DOC_COMMENT"> * @author Timothy J. Warren</span></pre></div><div id="line9"><pre><span class="token T_DOC_COMMENT"> * @copyright Copyright (c) 2012 - 2014</span></pre></div><div id="line10"><pre><span class="token T_DOC_COMMENT"> * @link https://github.com/aviat4ion/Query</span></pre></div><div id="line11"><pre><span class="token T_DOC_COMMENT"> * @license http://philsturgeon.co.uk/code/dbad-license</span></pre></div><div id="line12"><pre><span class="token T_DOC_COMMENT"> */</span></pre></div><div id="line13"><br/></div><div id="line14"><pre><span class="token T_COMMENT">// --------------------------------------------------------------------------</span></pre></div><div id="line15"><br/></div><div id="line16"><pre><span class="token T_NAMESPACE">namespace</span><span class="token T_WHITESPACE"> </span><span class="token T_STRING">Query</span><span class="token T_NS_SEPARATOR">\</span><span class="token T_STRING">Drivers</span><span class="token T_NS_SEPARATOR">\</span><span class="token T_STRING">Firebird</span><span class="token T_PHPDOX_SEMICOLON">;</span></pre></div><div id="line17"><br/></div><div id="line18"><pre><span class="token T_DOC_COMMENT">/**</span></pre></div><div id="line19"><pre><span class="token T_DOC_COMMENT"> * Firebird-specific backup, import and creation methods</span></pre></div><div id="line20"><pre><span class="token T_DOC_COMMENT"> *</span></pre></div><div id="line21"><pre><span class="token T_DOC_COMMENT"> * @package Query</span></pre></div><div id="line22"><pre><span class="token T_DOC_COMMENT"> * @subpackage Drivers</span></pre></div><div id="line23"><pre><span class="token T_DOC_COMMENT"> */</span></pre></div><div id="line24"><pre><span class="token T_CLASS">class</span><span class="token T_WHITESPACE"> </span><span class="token T_STRING">Util</span><span class="token T_WHITESPACE"> </span><span class="token T_EXTENDS">extends</span><span class="token T_WHITESPACE"> </span><span class="token T_NS_SEPARATOR">\</span><span class="token T_STRING">Query</span><span class="token T_NS_SEPARATOR">\</span><span class="token T_STRING">AbstractUtil</span><span class="token T_WHITESPACE"> </span><span class="token T_PHPDOX_OPEN_CURLY">{</span></pre></div><div id="line25"><br/></div><div id="line26"><pre><span class="token T_WHITESPACE"> </span><span class="token T_DOC_COMMENT">/**</span></pre></div><div id="line27"><pre><span class="token T_DOC_COMMENT"> * Convenience public function to generate sql for creating a db table</span></pre></div><div id="line28"><pre><span class="token T_DOC_COMMENT"> *</span></pre></div><div id="line29"><pre><span class="token T_DOC_COMMENT"> * @deprecated Use the table builder class instead</span></pre></div><div id="line30"><pre><span class="token T_DOC_COMMENT"> * @param string $name</span></pre></div><div id="line31"><pre><span class="token T_DOC_COMMENT"> * @param array $fields</span></pre></div><div id="line32"><pre><span class="token T_DOC_COMMENT"> * @param array $constraints</span></pre></div><div id="line33"><pre><span class="token T_DOC_COMMENT"> * @param bool $if_not_exists</span></pre></div><div id="line34"><pre><span class="token T_DOC_COMMENT"> * @return string</span></pre></div><div id="line35"><pre><span class="token T_DOC_COMMENT"> */</span></pre></div><div id="line36"><pre><span class="token T_WHITESPACE"> </span><span class="token T_PUBLIC">public</span><span class="token T_WHITESPACE"> </span><span class="token T_FUNCTION">function</span><span class="token T_WHITESPACE"> </span><span class="token T_STRING">create_table</span><span class="token T_PHPDOX_OPEN_BRACKET">(</span><span class="token T_VARIABLE">$name</span><span class="token T_PHPDOX_COMMA">,</span><span class="token T_WHITESPACE"> </span><span class="token T_VARIABLE">$fields</span><span class="token T_PHPDOX_COMMA">,</span><span class="token T_WHITESPACE"> </span><span class="token T_ARRAY">array</span><span class="token T_WHITESPACE"> </span><span class="token T_VARIABLE">$constraints</span><span class="token T_PHPDOX_EQUAL">=</span><span class="token T_ARRAY">array</span><span class="token T_PHPDOX_OPEN_BRACKET">(</span><span class="token T_PHPDOX_CLOSE_BRACKET">)</span><span class="token T_PHPDOX_COMMA">,</span><span class="token T_WHITESPACE"> </span><span class="token T_VARIABLE">$if_not_exists</span><span class="token T_PHPDOX_EQUAL">=</span><span class="token T_STRING">FALSE</span><span class="token T_PHPDOX_CLOSE_BRACKET">)</span></pre></div><div id="line37"><pre><span class="token T_WHITESPACE"> </span><span class="token T_PHPDOX_OPEN_CURLY">{</span></pre></div><div id="line38"><pre><span class="token T_WHITESPACE"> </span><span class="token T_RETURN">return</span><span class="token T_WHITESPACE"> </span><span class="token T_STRING">parent</span><span class="token T_DOUBLE_COLON">::</span><span class="token T_STRING">create_table</span><span class="token T_PHPDOX_OPEN_BRACKET">(</span><span class="token T_VARIABLE">$name</span><span class="token T_PHPDOX_COMMA">,</span><span class="token T_WHITESPACE"> </span><span class="token T_VARIABLE">$fields</span><span class="token T_PHPDOX_COMMA">,</span><span class="token T_WHITESPACE"> </span><span class="token T_VARIABLE">$constraints</span><span class="token T_PHPDOX_COMMA">,</span><span class="token T_WHITESPACE"> </span><span class="token T_STRING">FALSE</span><span class="token T_PHPDOX_CLOSE_BRACKET">)</span><span class="token T_PHPDOX_SEMICOLON">;</span></pre></div><div id="line39"><pre><span class="token T_WHITESPACE"> </span><span class="token T_PHPDOX_CLOSE_CURLY">}</span></pre></div><div id="line40"><br/></div><div id="line41"><pre><span class="token T_WHITESPACE"> </span><span class="token T_DOC_COMMENT">/**</span></pre></div><div id="line42"><pre><span class="token T_DOC_COMMENT"> * Drop the selected table</span></pre></div><div id="line43"><pre><span class="token T_DOC_COMMENT"> *</span></pre></div><div id="line44"><pre><span class="token T_DOC_COMMENT"> * @param string $name</span></pre></div><div id="line45"><pre><span class="token T_DOC_COMMENT"> * @return string</span></pre></div><div id="line46"><pre><span class="token T_DOC_COMMENT"> */</span></pre></div><div id="line47"><pre><span class="token T_WHITESPACE"> </span><span class="token T_PUBLIC">public</span><span class="token T_WHITESPACE"> </span><span class="token T_FUNCTION">function</span><span class="token T_WHITESPACE"> </span><span class="token T_STRING">delete_table</span><span class="token T_PHPDOX_OPEN_BRACKET">(</span><span class="token T_VARIABLE">$name</span><span class="token T_PHPDOX_CLOSE_BRACKET">)</span></pre></div><div id="line48"><pre><span class="token T_WHITESPACE"> </span><span class="token T_PHPDOX_OPEN_CURLY">{</span></pre></div><div id="line49"><pre><span class="token T_WHITESPACE"> </span><span class="token T_RETURN">return</span><span class="token T_WHITESPACE"> </span><span class="token T_CONSTANT_ENCAPSED_STRING">'DROP TABLE '</span><span class="token T_PHPDOX_DOT">.</span><span class="token T_VARIABLE">$this</span><span class="token T_OBJECT_OPERATOR">-></span><span class="token T_STRING">get_driver</span><span class="token T_PHPDOX_OPEN_BRACKET">(</span><span class="token T_PHPDOX_CLOSE_BRACKET">)</span><span class="token T_OBJECT_OPERATOR">-></span><span class="token T_STRING">quote_table</span><span class="token T_PHPDOX_OPEN_BRACKET">(</span><span class="token T_VARIABLE">$name</span><span class="token T_PHPDOX_CLOSE_BRACKET">)</span><span class="token T_PHPDOX_SEMICOLON">;</span></pre></div><div id="line50"><pre><span class="token T_WHITESPACE"> </span><span class="token T_PHPDOX_CLOSE_CURLY">}</span></pre></div><div id="line51"><br/></div><div id="line52"><pre><span class="token T_WHITESPACE"> </span><span class="token T_COMMENT">// --------------------------------------------------------------------------</span></pre></div><div id="line53"><br/></div><div id="line54"><pre><span class="token T_WHITESPACE"> </span><span class="token T_DOC_COMMENT">/**</span></pre></div><div id="line55"><pre><span class="token T_DOC_COMMENT"> * Create an SQL backup file for the current database's structure</span></pre></div><div id="line56"><pre><span class="token T_DOC_COMMENT"> *</span></pre></div><div id="line57"><pre><span class="token T_DOC_COMMENT"> * @param string $db_path</span></pre></div><div id="line58"><pre><span class="token T_DOC_COMMENT"> * @param string $new_file</span></pre></div><div id="line59"><pre><span class="token T_DOC_COMMENT"> * @return string</span></pre></div><div id="line60"><pre><span class="token T_DOC_COMMENT"> */</span></pre></div><div id="line61"><pre><span class="token T_WHITESPACE"> </span><span class="token T_PUBLIC">public</span><span class="token T_WHITESPACE"> </span><span class="token T_FUNCTION">function</span><span class="token T_WHITESPACE"> </span><span class="token T_STRING">backup_structure</span><span class="token T_PHPDOX_OPEN_BRACKET">(</span><span class="token T_PHPDOX_CLOSE_BRACKET">)</span></pre></div><div id="line62"><pre><span class="token T_WHITESPACE"> </span><span class="token T_PHPDOX_OPEN_CURLY">{</span></pre></div><div id="line63"><pre><span class="token T_WHITESPACE"> </span><span class="token T_LIST">list</span><span class="token T_PHPDOX_OPEN_BRACKET">(</span><span class="token T_VARIABLE">$db_path</span><span class="token T_PHPDOX_COMMA">,</span><span class="token T_WHITESPACE"> </span><span class="token T_VARIABLE">$new_file</span><span class="token T_PHPDOX_CLOSE_BRACKET">)</span><span class="token T_WHITESPACE"> </span><span class="token T_PHPDOX_EQUAL">=</span><span class="token T_WHITESPACE"> </span><span class="token T_STRING">func_get_args</span><span class="token T_PHPDOX_OPEN_BRACKET">(</span><span class="token T_PHPDOX_CLOSE_BRACKET">)</span><span class="token T_PHPDOX_SEMICOLON">;</span></pre></div><div id="line64"><pre><span class="token T_WHITESPACE"> </span><span class="token T_RETURN">return</span><span class="token T_WHITESPACE"> </span><span class="token T_STRING">ibase_backup</span><span class="token T_PHPDOX_OPEN_BRACKET">(</span><span class="token T_VARIABLE">$this</span><span class="token T_OBJECT_OPERATOR">-></span><span class="token T_STRING">get_driver</span><span class="token T_PHPDOX_OPEN_BRACKET">(</span><span class="token T_PHPDOX_CLOSE_BRACKET">)</span><span class="token T_OBJECT_OPERATOR">-></span><span class="token T_STRING">get_service</span><span class="token T_PHPDOX_OPEN_BRACKET">(</span><span class="token T_PHPDOX_CLOSE_BRACKET">)</span><span class="token T_PHPDOX_COMMA">,</span><span class="token T_WHITESPACE"> </span><span class="token T_VARIABLE">$db_path</span><span class="token T_PHPDOX_COMMA">,</span><span class="token T_WHITESPACE"> </span><span class="token T_VARIABLE">$new_file</span><span class="token T_PHPDOX_COMMA">,</span><span class="token T_WHITESPACE"> </span><span class="token T_NS_SEPARATOR">\</span><span class="token T_STRING">IBASE_BKP_METADATA_ONLY</span><span class="token T_PHPDOX_CLOSE_BRACKET">)</span><span class="token T_PHPDOX_SEMICOLON">;</span></pre></div><div id="line65"><pre><span class="token T_WHITESPACE"> </span><span class="token T_PHPDOX_CLOSE_CURLY">}</span></pre></div><div id="line66"><br/></div><div id="line67"><pre><span class="token T_WHITESPACE"> </span><span class="token T_COMMENT">// --------------------------------------------------------------------------</span></pre></div><div id="line68"><br/></div><div id="line69"><pre><span class="token T_WHITESPACE"> </span><span class="token T_DOC_COMMENT">/**</span></pre></div><div id="line70"><pre><span class="token T_DOC_COMMENT"> * Create an SQL backup file for the current database's data</span></pre></div><div id="line71"><pre><span class="token T_DOC_COMMENT"> *</span></pre></div><div id="line72"><pre><span class="token T_DOC_COMMENT"> * @param array $exclude</span></pre></div><div id="line73"><pre><span class="token T_DOC_COMMENT"> * @param bool $system_tables</span></pre></div><div id="line74"><pre><span class="token T_DOC_COMMENT"> * @return string</span></pre></div><div id="line75"><pre><span class="token T_DOC_COMMENT"> */</span></pre></div><div id="line76"><pre><span class="token T_WHITESPACE"> </span><span class="token T_PUBLIC">public</span><span class="token T_WHITESPACE"> </span><span class="token T_FUNCTION">function</span><span class="token T_WHITESPACE"> </span><span class="token T_STRING">backup_data</span><span class="token T_PHPDOX_OPEN_BRACKET">(</span><span class="token T_VARIABLE">$exclude</span><span class="token T_PHPDOX_EQUAL">=</span><span class="token T_ARRAY">array</span><span class="token T_PHPDOX_OPEN_BRACKET">(</span><span class="token T_PHPDOX_CLOSE_BRACKET">)</span><span class="token T_PHPDOX_COMMA">,</span><span class="token T_WHITESPACE"> </span><span class="token T_VARIABLE">$system_tables</span><span class="token T_PHPDOX_EQUAL">=</span><span class="token T_STRING">FALSE</span><span class="token T_PHPDOX_CLOSE_BRACKET">)</span></pre></div><div id="line77"><pre><span class="token T_WHITESPACE"> </span><span class="token T_PHPDOX_OPEN_CURLY">{</span></pre></div><div id="line78"><pre><span class="token T_WHITESPACE"> </span><span class="token T_COMMENT">// Determine which tables to use</span></pre></div><div id="line79"><pre><span class="token T_WHITESPACE"> </span><span class="token T_VARIABLE">$tables</span><span class="token T_WHITESPACE"> </span><span class="token T_PHPDOX_EQUAL">=</span><span class="token T_WHITESPACE"> </span><span class="token T_VARIABLE">$this</span><span class="token T_OBJECT_OPERATOR">-></span><span class="token T_STRING">get_driver</span><span class="token T_PHPDOX_OPEN_BRACKET">(</span><span class="token T_PHPDOX_CLOSE_BRACKET">)</span><span class="token T_OBJECT_OPERATOR">-></span><span class="token T_STRING">get_tables</span><span class="token T_PHPDOX_OPEN_BRACKET">(</span><span class="token T_PHPDOX_CLOSE_BRACKET">)</span><span class="token T_PHPDOX_SEMICOLON">;</span></pre></div><div id="line80"><pre><span class="token T_WHITESPACE"> </span><span class="token T_IF">if</span><span class="token T_PHPDOX_OPEN_BRACKET">(</span><span class="token T_VARIABLE">$system_tables</span><span class="token T_WHITESPACE"> </span><span class="token T_IS_EQUAL">==</span><span class="token T_WHITESPACE"> </span><span class="token T_STRING">TRUE</span><span class="token T_PHPDOX_CLOSE_BRACKET">)</span></pre></div><div id="line81"><pre><span class="token T_WHITESPACE"> </span><span class="token T_PHPDOX_OPEN_CURLY">{</span></pre></div><div id="line82"><pre><span class="token T_WHITESPACE"> </span><span class="token T_VARIABLE">$tables</span><span class="token T_WHITESPACE"> </span><span class="token T_PHPDOX_EQUAL">=</span><span class="token T_WHITESPACE"> </span><span class="token T_STRING">array_merge</span><span class="token T_PHPDOX_OPEN_BRACKET">(</span><span class="token T_VARIABLE">$tables</span><span class="token T_PHPDOX_COMMA">,</span><span class="token T_WHITESPACE"> </span><span class="token T_VARIABLE">$this</span><span class="token T_OBJECT_OPERATOR">-></span><span class="token T_STRING">get_driver</span><span class="token T_PHPDOX_OPEN_BRACKET">(</span><span class="token T_PHPDOX_CLOSE_BRACKET">)</span><span class="token T_OBJECT_OPERATOR">-></span><span class="token T_STRING">get_system_tables</span><span class="token T_PHPDOX_OPEN_BRACKET">(</span><span class="token T_PHPDOX_CLOSE_BRACKET">)</span><span class="token T_PHPDOX_CLOSE_BRACKET">)</span><span class="token T_PHPDOX_SEMICOLON">;</span></pre></div><div id="line83"><pre><span class="token T_WHITESPACE"> </span><span class="token T_PHPDOX_CLOSE_CURLY">}</span></pre></div><div id="line84"><br/></div><div id="line85"><pre><span class="token T_WHITESPACE"> </span><span class="token T_COMMENT">// Filter out the tables you don't want</span></pre></div><div id="line86"><pre><span class="token T_WHITESPACE"> </span><span class="token T_IF">if</span><span class="token T_PHPDOX_OPEN_BRACKET">(</span><span class="token T_WHITESPACE"> </span><span class="token T_PHPDOX_EXCLAMATION_MARK">!</span><span class="token T_WHITESPACE"> </span><span class="token T_EMPTY">empty</span><span class="token T_PHPDOX_OPEN_BRACKET">(</span><span class="token T_VARIABLE">$exclude</span><span class="token T_PHPDOX_CLOSE_BRACKET">)</span><span class="token T_PHPDOX_CLOSE_BRACKET">)</span></pre></div><div id="line87"><pre><span class="token T_WHITESPACE"> </span><span class="token T_PHPDOX_OPEN_CURLY">{</span></pre></div><div id="line88"><pre><span class="token T_WHITESPACE"> </span><span class="token T_VARIABLE">$tables</span><span class="token T_WHITESPACE"> </span><span class="token T_PHPDOX_EQUAL">=</span><span class="token T_WHITESPACE"> </span><span class="token T_STRING">array_diff</span><span class="token T_PHPDOX_OPEN_BRACKET">(</span><span class="token T_VARIABLE">$tables</span><span class="token T_PHPDOX_COMMA">,</span><span class="token T_WHITESPACE"> </span><span class="token T_VARIABLE">$exclude</span><span class="token T_PHPDOX_CLOSE_BRACKET">)</span><span class="token T_PHPDOX_SEMICOLON">;</span></pre></div><div id="line89"><pre><span class="token T_WHITESPACE"> </span><span class="token T_PHPDOX_CLOSE_CURLY">}</span></pre></div><div id="line90"><br/></div><div id="line91"><pre><span class="token T_WHITESPACE"> </span><span class="token T_VARIABLE">$output_sql</span><span class="token T_WHITESPACE"> </span><span class="token T_PHPDOX_EQUAL">=</span><span class="token T_WHITESPACE"> </span><span class="token T_CONSTANT_ENCAPSED_STRING">''</span><span class="token T_PHPDOX_SEMICOLON">;</span></pre></div><div id="line92"><br/></div><div id="line93"><pre><span class="token T_WHITESPACE"> </span><span class="token T_COMMENT">// Get the data for each object</span></pre></div><div id="line94"><pre><span class="token T_WHITESPACE"> </span><span class="token T_FOREACH">foreach</span><span class="token T_PHPDOX_OPEN_BRACKET">(</span><span class="token T_VARIABLE">$tables</span><span class="token T_WHITESPACE"> </span><span class="token T_AS">as</span><span class="token T_WHITESPACE"> </span><span class="token T_VARIABLE">$t</span><span class="token T_PHPDOX_CLOSE_BRACKET">)</span></pre></div><div id="line95"><pre><span class="token T_WHITESPACE"> </span><span class="token T_PHPDOX_OPEN_CURLY">{</span></pre></div><div id="line96"><pre><span class="token T_WHITESPACE"> </span><span class="token T_VARIABLE">$sql</span><span class="token T_WHITESPACE"> </span><span class="token T_PHPDOX_EQUAL">=</span><span class="token T_WHITESPACE"> </span><span class="token T_CONSTANT_ENCAPSED_STRING">'SELECT * FROM "'</span><span class="token T_PHPDOX_DOT">.</span><span class="token T_STRING">trim</span><span class="token T_PHPDOX_OPEN_BRACKET">(</span><span class="token T_VARIABLE">$t</span><span class="token T_PHPDOX_CLOSE_BRACKET">)</span><span class="token T_PHPDOX_DOT">.</span><span class="token T_CONSTANT_ENCAPSED_STRING">'"'</span><span class="token T_PHPDOX_SEMICOLON">;</span></pre></div><div id="line97"><pre><span class="token T_WHITESPACE"> </span><span class="token T_VARIABLE">$res</span><span class="token T_WHITESPACE"> </span><span class="token T_PHPDOX_EQUAL">=</span><span class="token T_WHITESPACE"> </span><span class="token T_VARIABLE">$this</span><span class="token T_OBJECT_OPERATOR">-></span><span class="token T_STRING">get_driver</span><span class="token T_PHPDOX_OPEN_BRACKET">(</span><span class="token T_PHPDOX_CLOSE_BRACKET">)</span><span class="token T_OBJECT_OPERATOR">-></span><span class="token T_STRING">query</span><span class="token T_PHPDOX_OPEN_BRACKET">(</span><span class="token T_VARIABLE">$sql</span><span class="token T_PHPDOX_CLOSE_BRACKET">)</span><span class="token T_PHPDOX_SEMICOLON">;</span></pre></div><div id="line98"><pre><span class="token T_WHITESPACE"> </span><span class="token T_VARIABLE">$obj_res</span><span class="token T_WHITESPACE"> </span><span class="token T_PHPDOX_EQUAL">=</span><span class="token T_WHITESPACE"> </span><span class="token T_VARIABLE">$res</span><span class="token T_OBJECT_OPERATOR">-></span><span class="token T_STRING">fetchAll</span><span class="token T_PHPDOX_OPEN_BRACKET">(</span><span class="token T_NS_SEPARATOR">\</span><span class="token T_STRING">PDO</span><span class="token T_DOUBLE_COLON">::</span><span class="token T_STRING">FETCH_ASSOC</span><span class="token T_PHPDOX_CLOSE_BRACKET">)</span><span class="token T_PHPDOX_SEMICOLON">;</span></pre></div><div id="line99"><br/></div><div id="line100"><pre><span class="token T_WHITESPACE"> </span><span class="token T_COMMENT">// Don't add to the file if the table is empty</span></pre></div><div id="line101"><pre><span class="token T_WHITESPACE"> </span><span class="token T_IF">if</span><span class="token T_WHITESPACE"> </span><span class="token T_PHPDOX_OPEN_BRACKET">(</span><span class="token T_STRING">count</span><span class="token T_PHPDOX_OPEN_BRACKET">(</span><span class="token T_VARIABLE">$obj_res</span><span class="token T_PHPDOX_CLOSE_BRACKET">)</span><span class="token T_WHITESPACE"> </span><span class="token T_PHPDOX_LT"><</span><span class="token T_WHITESPACE"> </span><span class="token T_LNUMBER">1</span><span class="token T_PHPDOX_CLOSE_BRACKET">)</span><span class="token T_WHITESPACE"> </span><span class="token T_CONTINUE">continue</span><span class="token T_PHPDOX_SEMICOLON">;</span></pre></div><div id="line102"><br/></div><div id="line103"><pre><span class="token T_WHITESPACE"> </span><span class="token T_COMMENT">// Nab the column names by getting the keys of the first row</span></pre></div><div id="line104"><pre><span class="token T_WHITESPACE"> </span><span class="token T_VARIABLE">$columns</span><span class="token T_WHITESPACE"> </span><span class="token T_PHPDOX_EQUAL">=</span><span class="token T_WHITESPACE"> </span><span class="token T_PHPDOX_AT">@</span><span class="token T_STRING">array_keys</span><span class="token T_PHPDOX_OPEN_BRACKET">(</span><span class="token T_VARIABLE">$obj_res</span><span class="token T_PHPDOX_OPEN_SQUARE">[</span><span class="token T_LNUMBER">0</span><span class="token T_PHPDOX_CLOSE_SQUARE">]</span><span class="token T_PHPDOX_CLOSE_BRACKET">)</span><span class="token T_PHPDOX_SEMICOLON">;</span></pre></div><div id="line105"><br/></div><div id="line106"><pre><span class="token T_WHITESPACE"> </span><span class="token T_VARIABLE">$insert_rows</span><span class="token T_WHITESPACE"> </span><span class="token T_PHPDOX_EQUAL">=</span><span class="token T_WHITESPACE"> </span><span class="token T_ARRAY">array</span><span class="token T_PHPDOX_OPEN_BRACKET">(</span><span class="token T_PHPDOX_CLOSE_BRACKET">)</span><span class="token T_PHPDOX_SEMICOLON">;</span></pre></div><div id="line107"><br/></div><div id="line108"><pre><span class="token T_WHITESPACE"> </span><span class="token T_COMMENT">// Create the insert statements</span></pre></div><div id="line109"><pre><span class="token T_WHITESPACE"> </span><span class="token T_FOREACH">foreach</span><span class="token T_PHPDOX_OPEN_BRACKET">(</span><span class="token T_VARIABLE">$obj_res</span><span class="token T_WHITESPACE"> </span><span class="token T_AS">as</span><span class="token T_WHITESPACE"> </span><span class="token T_VARIABLE">$row</span><span class="token T_PHPDOX_CLOSE_BRACKET">)</span></pre></div><div id="line110"><pre><span class="token T_WHITESPACE"> </span><span class="token T_PHPDOX_OPEN_CURLY">{</span></pre></div><div id="line111"><pre><span class="token T_WHITESPACE"> </span><span class="token T_VARIABLE">$row</span><span class="token T_WHITESPACE"> </span><span class="token T_PHPDOX_EQUAL">=</span><span class="token T_WHITESPACE"> </span><span class="token T_STRING">array_values</span><span class="token T_PHPDOX_OPEN_BRACKET">(</span><span class="token T_VARIABLE">$row</span><span class="token T_PHPDOX_CLOSE_BRACKET">)</span><span class="token T_PHPDOX_SEMICOLON">;</span></pre></div><div id="line112"><br/></div><div id="line113"><pre><span class="token T_WHITESPACE"> </span><span class="token T_COMMENT">// Quote values as needed by type</span></pre></div><div id="line114"><pre><span class="token T_WHITESPACE"> </span><span class="token T_IF">if</span><span class="token T_PHPDOX_OPEN_BRACKET">(</span><span class="token T_STRING">stripos</span><span class="token T_PHPDOX_OPEN_BRACKET">(</span><span class="token T_VARIABLE">$t</span><span class="token T_PHPDOX_COMMA">,</span><span class="token T_WHITESPACE"> </span><span class="token T_CONSTANT_ENCAPSED_STRING">'RDB$'</span><span class="token T_PHPDOX_CLOSE_BRACKET">)</span><span class="token T_WHITESPACE"> </span><span class="token T_IS_IDENTICAL">===</span><span class="token T_WHITESPACE"> </span><span class="token T_STRING">FALSE</span><span class="token T_PHPDOX_CLOSE_BRACKET">)</span></pre></div><div id="line115"><pre><span class="token T_WHITESPACE"> </span><span class="token T_PHPDOX_OPEN_CURLY">{</span></pre></div><div id="line116"><pre><span class="token T_WHITESPACE"> </span><span class="token T_VARIABLE">$row</span><span class="token T_WHITESPACE"> </span><span class="token T_PHPDOX_EQUAL">=</span><span class="token T_WHITESPACE"> </span><span class="token T_STRING">array_map</span><span class="token T_PHPDOX_OPEN_BRACKET">(</span><span class="token T_ARRAY">array</span><span class="token T_PHPDOX_OPEN_BRACKET">(</span><span class="token T_VARIABLE">$this</span><span class="token T_OBJECT_OPERATOR">-></span><span class="token T_STRING">get_driver</span><span class="token T_PHPDOX_OPEN_BRACKET">(</span><span class="token T_PHPDOX_CLOSE_BRACKET">)</span><span class="token T_PHPDOX_COMMA">,</span><span class="token T_WHITESPACE"> </span><span class="token T_CONSTANT_ENCAPSED_STRING">'quote'</span><span class="token T_PHPDOX_CLOSE_BRACKET">)</span><span class="token T_PHPDOX_COMMA">,</span><span class="token T_WHITESPACE"> </span><span class="token T_VARIABLE">$row</span><span class="token T_PHPDOX_CLOSE_BRACKET">)</span><span class="token T_PHPDOX_SEMICOLON">;</span></pre></div><div id="line117"><pre><span class="token T_WHITESPACE"> </span><span class="token T_VARIABLE">$row</span><span class="token T_WHITESPACE"> </span><span class="token T_PHPDOX_EQUAL">=</span><span class="token T_WHITESPACE"> </span><span class="token T_STRING">array_map</span><span class="token T_PHPDOX_OPEN_BRACKET">(</span><span class="token T_CONSTANT_ENCAPSED_STRING">'trim'</span><span class="token T_PHPDOX_COMMA">,</span><span class="token T_WHITESPACE"> </span><span class="token T_VARIABLE">$row</span><span class="token T_PHPDOX_CLOSE_BRACKET">)</span><span class="token T_PHPDOX_SEMICOLON">;</span></pre></div><div id="line118"><pre><span class="token T_WHITESPACE"> </span><span class="token T_PHPDOX_CLOSE_CURLY">}</span></pre></div><div id="line119"><br/></div><div id="line120"><pre><span class="token T_WHITESPACE"> </span><span class="token T_VARIABLE">$row_string</span><span class="token T_WHITESPACE"> </span><span class="token T_PHPDOX_EQUAL">=</span><span class="token T_WHITESPACE"> </span><span class="token T_CONSTANT_ENCAPSED_STRING">'INSERT INTO "'</span><span class="token T_PHPDOX_DOT">.</span><span class="token T_STRING">trim</span><span class="token T_PHPDOX_OPEN_BRACKET">(</span><span class="token T_VARIABLE">$t</span><span class="token T_PHPDOX_CLOSE_BRACKET">)</span><span class="token T_PHPDOX_DOT">.</span><span class="token T_CONSTANT_ENCAPSED_STRING">'" ("'</span><span class="token T_PHPDOX_DOT">.</span><span class="token T_STRING">implode</span><span class="token T_PHPDOX_OPEN_BRACKET">(</span><span class="token T_CONSTANT_ENCAPSED_STRING">'","'</span><span class="token T_PHPDOX_COMMA">,</span><span class="token T_WHITESPACE"> </span><span class="token T_VARIABLE">$columns</span><span class="token T_PHPDOX_CLOSE_BRACKET">)</span><span class="token T_PHPDOX_DOT">.</span><span class="token T_CONSTANT_ENCAPSED_STRING">'") VALUES ('</span><span class="token T_PHPDOX_DOT">.</span><span class="token T_STRING">implode</span><span class="token T_PHPDOX_OPEN_BRACKET">(</span><span class="token T_CONSTANT_ENCAPSED_STRING">','</span><span class="token T_PHPDOX_COMMA">,</span><span class="token T_WHITESPACE"> </span><span class="token T_VARIABLE">$row</span><span class="token T_PHPDOX_CLOSE_BRACKET">)</span><span class="token T_PHPDOX_DOT">.</span><span class="token T_CONSTANT_ENCAPSED_STRING">');'</span><span class="token T_PHPDOX_SEMICOLON">;</span></pre></div><div id="line121"><br/></div><div id="line122"><pre><span class="token T_WHITESPACE"> </span><span class="token T_VARIABLE">$row</span><span class="token T_WHITESPACE"> </span><span class="token T_PHPDOX_EQUAL">=</span><span class="token T_WHITESPACE"> </span><span class="token T_STRING">NULL</span><span class="token T_PHPDOX_SEMICOLON">;</span></pre></div><div id="line123"><br/></div><div id="line124"><pre><span class="token T_WHITESPACE"> </span><span class="token T_VARIABLE">$insert_rows</span><span class="token T_PHPDOX_OPEN_SQUARE">[</span><span class="token T_PHPDOX_CLOSE_SQUARE">]</span><span class="token T_WHITESPACE"> </span><span class="token T_PHPDOX_EQUAL">=</span><span class="token T_WHITESPACE"> </span><span class="token T_VARIABLE">$row_string</span><span class="token T_PHPDOX_SEMICOLON">;</span></pre></div><div id="line125"><pre><span class="token T_WHITESPACE"> </span><span class="token T_PHPDOX_CLOSE_CURLY">}</span></pre></div><div id="line126"><br/></div><div id="line127"><pre><span class="token T_WHITESPACE"> </span><span class="token T_VARIABLE">$output_sql</span><span class="token T_WHITESPACE"> </span><span class="token T_CONCAT_EQUAL">.=</span><span class="token T_WHITESPACE"> </span><span class="token T_CONSTANT_ENCAPSED_STRING">"\n\nSET TRANSACTION;\n"</span><span class="token T_PHPDOX_DOT">.</span><span class="token T_STRING">implode</span><span class="token T_PHPDOX_OPEN_BRACKET">(</span><span class="token T_CONSTANT_ENCAPSED_STRING">"\n"</span><span class="token T_PHPDOX_COMMA">,</span><span class="token T_WHITESPACE"> </span><span class="token T_VARIABLE">$insert_rows</span><span class="token T_PHPDOX_CLOSE_BRACKET">)</span><span class="token T_PHPDOX_DOT">.</span><span class="token T_CONSTANT_ENCAPSED_STRING">"\nCOMMIT;"</span><span class="token T_PHPDOX_SEMICOLON">;</span></pre></div><div id="line128"><pre><span class="token T_WHITESPACE"> </span><span class="token T_PHPDOX_CLOSE_CURLY">}</span></pre></div><div id="line129"><br/></div><div id="line130"><pre><span class="token T_WHITESPACE"> </span><span class="token T_RETURN">return</span><span class="token T_WHITESPACE"> </span><span class="token T_VARIABLE">$output_sql</span><span class="token T_PHPDOX_SEMICOLON">;</span></pre></div><div id="line131"><pre><span class="token T_WHITESPACE"> </span><span class="token T_PHPDOX_CLOSE_CURLY">}</span></pre></div><div id="line132"><pre><span class="token T_PHPDOX_CLOSE_CURLY">}</span></pre></div><div id="line133"><pre><span class="token T_COMMENT">// End of firebird_util.php</span></pre></div></td></tr></table></section></div><footer><span>Generated using phpDox 0.8.2-dev - Copyright (C) 2010 - 2015 by Arne Blankerts</span></footer></body></html>