Doctrine_Collection.html 89.9 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
<html>
    <head>
        <title>Coverage for Doctrine_Collection</title>
        <style type="text/css">
            .covered{ background: green;}
            .normal{ background: white;}
            .red{ background: red;}
            .orange{ background: #f90;}
       </style>
</head>
<body><h1>Coverage for Doctrine_Collection</h1><p><a href="index.php">Back to coverage report</a></p><table>
<tr><td>1</td>
<td class="normal">&lt;?php
</td></tr>
<tr><td>2</td>
<td class="normal">/*
</td></tr>
<tr><td>3</td>
meus's avatar
meus committed
19
<td class="normal">&nbsp;*&nbsp;&nbsp;$Id:&nbsp;Collection.php&nbsp;3093&nbsp;2007-11-08&nbsp;20:52:49Z&nbsp;wolfpakz&nbsp;$
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102
</td></tr>
<tr><td>4</td>
<td class="normal">&nbsp;*
</td></tr>
<tr><td>5</td>
<td class="normal">&nbsp;*&nbsp;THIS&nbsp;SOFTWARE&nbsp;IS&nbsp;PROVIDED&nbsp;BY&nbsp;THE&nbsp;COPYRIGHT&nbsp;HOLDERS&nbsp;AND&nbsp;CONTRIBUTORS
</td></tr>
<tr><td>6</td>
<td class="normal">&nbsp;*&nbsp;&quot;AS&nbsp;IS&quot;&nbsp;AND&nbsp;ANY&nbsp;EXPRESS&nbsp;OR&nbsp;IMPLIED&nbsp;WARRANTIES,&nbsp;INCLUDING,&nbsp;BUT&nbsp;NOT
</td></tr>
<tr><td>7</td>
<td class="normal">&nbsp;*&nbsp;LIMITED&nbsp;TO,&nbsp;THE&nbsp;IMPLIED&nbsp;WARRANTIES&nbsp;OF&nbsp;MERCHANTABILITY&nbsp;AND&nbsp;FITNESS&nbsp;FOR
</td></tr>
<tr><td>8</td>
<td class="normal">&nbsp;*&nbsp;A&nbsp;PARTICULAR&nbsp;PURPOSE&nbsp;ARE&nbsp;DISCLAIMED.&nbsp;IN&nbsp;NO&nbsp;EVENT&nbsp;SHALL&nbsp;THE&nbsp;COPYRIGHT
</td></tr>
<tr><td>9</td>
<td class="normal">&nbsp;*&nbsp;OWNER&nbsp;OR&nbsp;CONTRIBUTORS&nbsp;BE&nbsp;LIABLE&nbsp;FOR&nbsp;ANY&nbsp;DIRECT,&nbsp;INDIRECT,&nbsp;INCIDENTAL,
</td></tr>
<tr><td>10</td>
<td class="normal">&nbsp;*&nbsp;SPECIAL,&nbsp;EXEMPLARY,&nbsp;OR&nbsp;CONSEQUENTIAL&nbsp;DAMAGES&nbsp;(INCLUDING,&nbsp;BUT&nbsp;NOT
</td></tr>
<tr><td>11</td>
<td class="normal">&nbsp;*&nbsp;LIMITED&nbsp;TO,&nbsp;PROCUREMENT&nbsp;OF&nbsp;SUBSTITUTE&nbsp;GOODS&nbsp;OR&nbsp;SERVICES;&nbsp;LOSS&nbsp;OF&nbsp;USE,
</td></tr>
<tr><td>12</td>
<td class="normal">&nbsp;*&nbsp;DATA,&nbsp;OR&nbsp;PROFITS;&nbsp;OR&nbsp;BUSINESS&nbsp;INTERRUPTION)&nbsp;HOWEVER&nbsp;CAUSED&nbsp;AND&nbsp;ON&nbsp;ANY
</td></tr>
<tr><td>13</td>
<td class="normal">&nbsp;*&nbsp;THEORY&nbsp;OF&nbsp;LIABILITY,&nbsp;WHETHER&nbsp;IN&nbsp;CONTRACT,&nbsp;STRICT&nbsp;LIABILITY,&nbsp;OR&nbsp;TORT
</td></tr>
<tr><td>14</td>
<td class="normal">&nbsp;*&nbsp;(INCLUDING&nbsp;NEGLIGENCE&nbsp;OR&nbsp;OTHERWISE)&nbsp;ARISING&nbsp;IN&nbsp;ANY&nbsp;WAY&nbsp;OUT&nbsp;OF&nbsp;THE&nbsp;USE
</td></tr>
<tr><td>15</td>
<td class="normal">&nbsp;*&nbsp;OF&nbsp;THIS&nbsp;SOFTWARE,&nbsp;EVEN&nbsp;IF&nbsp;ADVISED&nbsp;OF&nbsp;THE&nbsp;POSSIBILITY&nbsp;OF&nbsp;SUCH&nbsp;DAMAGE.
</td></tr>
<tr><td>16</td>
<td class="normal">&nbsp;*
</td></tr>
<tr><td>17</td>
<td class="normal">&nbsp;*&nbsp;This&nbsp;software&nbsp;consists&nbsp;of&nbsp;voluntary&nbsp;contributions&nbsp;made&nbsp;by&nbsp;many&nbsp;individuals
</td></tr>
<tr><td>18</td>
<td class="normal">&nbsp;*&nbsp;and&nbsp;is&nbsp;licensed&nbsp;under&nbsp;the&nbsp;LGPL.&nbsp;For&nbsp;more&nbsp;information,&nbsp;see
</td></tr>
<tr><td>19</td>
<td class="normal">&nbsp;*&nbsp;&lt;http://www.phpdoctrine.com&gt;.
</td></tr>
<tr><td>20</td>
<td class="normal">&nbsp;*/
</td></tr>
<tr><td>21</td>
<td class="covered">Doctrine::autoload('Doctrine_Access');
</td></tr>
<tr><td>22</td>
<td class="normal">/**
</td></tr>
<tr><td>23</td>
<td class="normal">&nbsp;*&nbsp;Doctrine_Collection
</td></tr>
<tr><td>24</td>
<td class="normal">&nbsp;*&nbsp;Collection&nbsp;of&nbsp;Doctrine_Record&nbsp;objects.
</td></tr>
<tr><td>25</td>
<td class="normal">&nbsp;*
</td></tr>
<tr><td>26</td>
<td class="normal">&nbsp;*&nbsp;@package&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Doctrine
</td></tr>
<tr><td>27</td>
<td class="normal">&nbsp;*&nbsp;@subpackage&nbsp;&nbsp;Collection
</td></tr>
<tr><td>28</td>
<td class="normal">&nbsp;*&nbsp;@license&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;http://www.opensource.org/licenses/lgpl-license.php&nbsp;LGPL
</td></tr>
<tr><td>29</td>
<td class="normal">&nbsp;*&nbsp;@link&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;www.phpdoctrine.com
</td></tr>
<tr><td>30</td>
<td class="normal">&nbsp;*&nbsp;@since&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.0
</td></tr>
<tr><td>31</td>
meus's avatar
meus committed
103
<td class="normal">&nbsp;*&nbsp;@version&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$Revision:&nbsp;3093&nbsp;$
104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129
</td></tr>
<tr><td>32</td>
<td class="normal">&nbsp;*&nbsp;@author&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Konsta&nbsp;Vesterinen&nbsp;&lt;kvesteri@cc.hut.fi&gt;
</td></tr>
<tr><td>33</td>
<td class="normal">&nbsp;*/
</td></tr>
<tr><td>34</td>
<td class="covered">class&nbsp;Doctrine_Collection&nbsp;extends&nbsp;Doctrine_Access&nbsp;implements&nbsp;Countable,&nbsp;IteratorAggregate,&nbsp;Serializable
</td></tr>
<tr><td>35</td>
<td class="normal">{
</td></tr>
<tr><td>36</td>
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;/**
</td></tr>
<tr><td>37</td>
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@var&nbsp;array&nbsp;$data&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;an&nbsp;array&nbsp;containing&nbsp;the&nbsp;records&nbsp;of&nbsp;this&nbsp;collection
</td></tr>
<tr><td>38</td>
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/
</td></tr>
<tr><td>39</td>
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;protected&nbsp;$data&nbsp;=&nbsp;array();
</td></tr>
<tr><td>40</td>
130
<td class="normal">
131 132
</td></tr>
<tr><td>41</td>
133
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;/**
134 135
</td></tr>
<tr><td>42</td>
136
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@var&nbsp;Doctrine_Table&nbsp;$table&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;each&nbsp;collection&nbsp;has&nbsp;only&nbsp;records&nbsp;of&nbsp;specified&nbsp;table
137 138
</td></tr>
<tr><td>43</td>
139
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/
140 141
</td></tr>
<tr><td>44</td>
142
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;protected&nbsp;$_table;
143 144
</td></tr>
<tr><td>45</td>
145
<td class="normal">
146 147
</td></tr>
<tr><td>46</td>
148
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;/**
149 150
</td></tr>
<tr><td>47</td>
151
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@var&nbsp;array&nbsp;$_snapshot&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a&nbsp;snapshot&nbsp;of&nbsp;the&nbsp;fetched&nbsp;data
152 153
</td></tr>
<tr><td>48</td>
154
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/
155 156
</td></tr>
<tr><td>49</td>
157
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;protected&nbsp;$_snapshot&nbsp;=&nbsp;array();
158 159
</td></tr>
<tr><td>50</td>
160
<td class="normal">
161 162
</td></tr>
<tr><td>51</td>
163
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;/**
164 165
</td></tr>
<tr><td>52</td>
166
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@var&nbsp;Doctrine_Record&nbsp;$reference&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;collection&nbsp;can&nbsp;belong&nbsp;to&nbsp;a&nbsp;record
167 168
</td></tr>
<tr><td>53</td>
169
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/
170 171
</td></tr>
<tr><td>54</td>
172
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;protected&nbsp;$reference;
173 174
</td></tr>
<tr><td>55</td>
175
<td class="normal">
176 177 178 179 180
</td></tr>
<tr><td>56</td>
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;/**
</td></tr>
<tr><td>57</td>
181
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@var&nbsp;string&nbsp;$referenceField&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;the&nbsp;reference&nbsp;field&nbsp;of&nbsp;the&nbsp;collection
182 183 184 185 186
</td></tr>
<tr><td>58</td>
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/
</td></tr>
<tr><td>59</td>
187
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;protected&nbsp;$referenceField;
188 189
</td></tr>
<tr><td>60</td>
190
<td class="normal">
191 192
</td></tr>
<tr><td>61</td>
193
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;/**
194 195
</td></tr>
<tr><td>62</td>
196
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@var&nbsp;Doctrine_Relation&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;the&nbsp;record&nbsp;this&nbsp;collection&nbsp;is&nbsp;related&nbsp;to,&nbsp;if&nbsp;any
197 198
</td></tr>
<tr><td>63</td>
199
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/
200 201
</td></tr>
<tr><td>64</td>
202
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;protected&nbsp;$relation;
203 204
</td></tr>
<tr><td>65</td>
205
<td class="normal">
206 207
</td></tr>
<tr><td>66</td>
208
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;/**
209 210
</td></tr>
<tr><td>67</td>
211
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@var&nbsp;string&nbsp;$keyColumn&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;the&nbsp;name&nbsp;of&nbsp;the&nbsp;column&nbsp;that&nbsp;is&nbsp;used&nbsp;for&nbsp;collection&nbsp;key&nbsp;mapping
212 213
</td></tr>
<tr><td>68</td>
214
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/
215 216
</td></tr>
<tr><td>69</td>
217
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;protected&nbsp;$keyColumn;
218 219
</td></tr>
<tr><td>70</td>
220
<td class="normal">
221 222
</td></tr>
<tr><td>71</td>
223
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;/**
224 225
</td></tr>
<tr><td>72</td>
226
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@var&nbsp;Doctrine_Null&nbsp;$null&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;used&nbsp;for&nbsp;extremely&nbsp;fast&nbsp;null&nbsp;value&nbsp;testing
227 228
</td></tr>
<tr><td>73</td>
229
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/
230 231
</td></tr>
<tr><td>74</td>
232
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;protected&nbsp;static&nbsp;$null;
233 234
</td></tr>
<tr><td>75</td>
235
<td class="normal">
236 237
</td></tr>
<tr><td>76</td>
238
<td class="normal">
239 240
</td></tr>
<tr><td>77</td>
241
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;/**
242 243
</td></tr>
<tr><td>78</td>
244
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;constructor
245 246
</td></tr>
<tr><td>79</td>
247
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*
248 249
</td></tr>
<tr><td>80</td>
250
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;Doctrine_Table|string&nbsp;$table
251 252
</td></tr>
<tr><td>81</td>
253
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/
254 255
</td></tr>
<tr><td>82</td>
256
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;__construct($table,&nbsp;$keyColumn&nbsp;=&nbsp;null)
257 258
</td></tr>
<tr><td>83</td>
259
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;{
260 261
</td></tr>
<tr><td>84</td>
262
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&nbsp;!&nbsp;($table&nbsp;instanceof&nbsp;Doctrine_Table))&nbsp;{
263 264
</td></tr>
<tr><td>85</td>
265
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$table&nbsp;=&nbsp;Doctrine_Manager::getInstance()
266 267
</td></tr>
<tr><td>86</td>
268
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&gt;getTable($table);
269 270
</td></tr>
<tr><td>87</td>
271
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
272 273
</td></tr>
<tr><td>88</td>
274
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;_table&nbsp;=&nbsp;$table;
275 276
</td></tr>
<tr><td>89</td>
277
<td class="normal">
278 279
</td></tr>
<tr><td>90</td>
280
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;($keyColumn&nbsp;===&nbsp;null)&nbsp;{
281 282
</td></tr>
<tr><td>91</td>
283
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$keyColumn&nbsp;=&nbsp;$table-&gt;getBoundQueryPart('indexBy');
284 285
</td></tr>
<tr><td>92</td>
286
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
287 288
</td></tr>
<tr><td>93</td>
289
<td class="normal">
290 291
</td></tr>
<tr><td>94</td>
292
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;($keyColumn&nbsp;!==&nbsp;null)&nbsp;{
293 294
</td></tr>
<tr><td>95</td>
meus's avatar
meus committed
295
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;keyColumn&nbsp;=&nbsp;$keyColumn;
296 297
</td></tr>
<tr><td>96</td>
meus's avatar
meus committed
298
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
299 300
</td></tr>
<tr><td>97</td>
301
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;}
302 303
</td></tr>
<tr><td>98</td>
304
<td class="normal">
305 306
</td></tr>
<tr><td>99</td>
307
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;/**
308 309
</td></tr>
<tr><td>100</td>
310
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;initNullObject
311 312
</td></tr>
<tr><td>101</td>
313
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;initializes&nbsp;the&nbsp;null&nbsp;object&nbsp;for&nbsp;this&nbsp;collection
314 315
</td></tr>
<tr><td>102</td>
316
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*
317 318
</td></tr>
<tr><td>103</td>
319
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return&nbsp;void
320 321
</td></tr>
<tr><td>104</td>
322
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/
323 324
</td></tr>
<tr><td>105</td>
325
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;static&nbsp;function&nbsp;initNullObject(Doctrine_Null&nbsp;$null)
326 327
</td></tr>
<tr><td>106</td>
328
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;{
329 330
</td></tr>
<tr><td>107</td>
331
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self::$null&nbsp;=&nbsp;$null;
332 333
</td></tr>
<tr><td>108</td>
334
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;}
335 336
</td></tr>
<tr><td>109</td>
337
<td class="normal">
338 339
</td></tr>
<tr><td>110</td>
340
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;/**
341 342
</td></tr>
<tr><td>111</td>
343
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;getTable
344 345
</td></tr>
<tr><td>112</td>
346
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;returns&nbsp;the&nbsp;table&nbsp;this&nbsp;collection&nbsp;belongs&nbsp;to
347 348 349 350 351
</td></tr>
<tr><td>113</td>
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*
</td></tr>
<tr><td>114</td>
352
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return&nbsp;Doctrine_Table
353 354
</td></tr>
<tr><td>115</td>
355
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/
356 357
</td></tr>
<tr><td>116</td>
358
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;getTable()
359 360
</td></tr>
<tr><td>117</td>
361
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;{
362 363
</td></tr>
<tr><td>118</td>
meus's avatar
meus committed
364
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$this-&gt;_table;
365 366
</td></tr>
<tr><td>119</td>
367
<td class="orange">&nbsp;&nbsp;&nbsp;&nbsp;}
368 369
</td></tr>
<tr><td>120</td>
370
<td class="normal">
371 372 373 374 375
</td></tr>
<tr><td>121</td>
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;/**
</td></tr>
<tr><td>122</td>
376
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;setData
377 378 379 380 381
</td></tr>
<tr><td>123</td>
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*
</td></tr>
<tr><td>124</td>
382
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;array&nbsp;$data
383 384
</td></tr>
<tr><td>125</td>
385
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return&nbsp;Doctrine_Collection
386 387
</td></tr>
<tr><td>126</td>
388
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/
389 390
</td></tr>
<tr><td>127</td>
391
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;setData(array&nbsp;$data)&nbsp;
392 393
</td></tr>
<tr><td>128</td>
394
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;{
395 396
</td></tr>
<tr><td>129</td>
397
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;data&nbsp;=&nbsp;$data;
398 399
</td></tr>
<tr><td>130</td>
400
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;}
401 402
</td></tr>
<tr><td>131</td>
403
<td class="normal">
404 405
</td></tr>
<tr><td>132</td>
406
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;/**
407 408
</td></tr>
<tr><td>133</td>
409
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;this&nbsp;method&nbsp;is&nbsp;automatically&nbsp;called&nbsp;when&nbsp;this&nbsp;Doctrine_Collection&nbsp;is&nbsp;serialized
410 411
</td></tr>
<tr><td>134</td>
412
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*
413 414
</td></tr>
<tr><td>135</td>
415
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return&nbsp;array
416 417
</td></tr>
<tr><td>136</td>
418
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/
419 420
</td></tr>
<tr><td>137</td>
421
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;serialize()
422 423
</td></tr>
<tr><td>138</td>
424
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;{
425 426
</td></tr>
<tr><td>139</td>
427
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$vars&nbsp;=&nbsp;get_object_vars($this);
428 429
</td></tr>
<tr><td>140</td>
430
<td class="normal">
431 432
</td></tr>
<tr><td>141</td>
433
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unset($vars['reference']);
434 435
</td></tr>
<tr><td>142</td>
436
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unset($vars['reference_field']);
437 438
</td></tr>
<tr><td>143</td>
439
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unset($vars['relation']);
440 441
</td></tr>
<tr><td>144</td>
442
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unset($vars['expandable']);
443 444
</td></tr>
<tr><td>145</td>
445
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unset($vars['expanded']);
446 447
</td></tr>
<tr><td>146</td>
448
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unset($vars['generator']);
449 450
</td></tr>
<tr><td>147</td>
451
<td class="normal">
452 453
</td></tr>
<tr><td>148</td>
454
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$vars['_table']&nbsp;=&nbsp;$vars['_table']-&gt;getComponentName();
455 456
</td></tr>
<tr><td>149</td>
457
<td class="normal">
458 459
</td></tr>
<tr><td>150</td>
460
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;serialize($vars);
461 462
</td></tr>
<tr><td>151</td>
463
<td class="orange">&nbsp;&nbsp;&nbsp;&nbsp;}
464 465
</td></tr>
<tr><td>152</td>
466
<td class="normal">
467 468
</td></tr>
<tr><td>153</td>
469
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;/**
470 471
</td></tr>
<tr><td>154</td>
472
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;unseralize
473 474
</td></tr>
<tr><td>155</td>
475
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;this&nbsp;method&nbsp;is&nbsp;automatically&nbsp;called&nbsp;everytime&nbsp;a&nbsp;Doctrine_Collection&nbsp;object&nbsp;is&nbsp;unserialized
476 477
</td></tr>
<tr><td>156</td>
478
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*
479 480
</td></tr>
<tr><td>157</td>
481
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return&nbsp;void
482 483
</td></tr>
<tr><td>158</td>
484
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/
485 486
</td></tr>
<tr><td>159</td>
487
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;unserialize($serialized)
488 489
</td></tr>
<tr><td>160</td>
490
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;{
491 492
</td></tr>
<tr><td>161</td>
493
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$manager&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;Doctrine_Manager::getInstance();
494 495
</td></tr>
<tr><td>162</td>
496
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$connection&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;$manager-&gt;getCurrentConnection();
497 498 499 500 501
</td></tr>
<tr><td>163</td>
<td class="normal">
</td></tr>
<tr><td>164</td>
502
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$array&nbsp;=&nbsp;unserialize($serialized);
503 504
</td></tr>
<tr><td>165</td>
505
<td class="normal">
506 507
</td></tr>
<tr><td>166</td>
508
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreach&nbsp;($array&nbsp;as&nbsp;$name&nbsp;=&gt;&nbsp;$values)&nbsp;{
509 510
</td></tr>
<tr><td>167</td>
511
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;$name&nbsp;=&nbsp;$values;
512 513
</td></tr>
<tr><td>168</td>
514
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
515 516
</td></tr>
<tr><td>169</td>
517
<td class="normal">
518 519
</td></tr>
<tr><td>170</td>
520
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;_table&nbsp;=&nbsp;$connection-&gt;getTable($this-&gt;_table);
521 522
</td></tr>
<tr><td>171</td>
523
<td class="normal">
524 525
</td></tr>
<tr><td>172</td>
meus's avatar
meus committed
526
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$keyColumn&nbsp;=&nbsp;isset($array['keyColumn'])&nbsp;?&nbsp;$array['keyColumn']&nbsp;:&nbsp;null;
527 528
</td></tr>
<tr><td>173</td>
meus's avatar
meus committed
529
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;($keyColumn&nbsp;===&nbsp;null)&nbsp;{
530 531
</td></tr>
<tr><td>174</td>
meus's avatar
meus committed
532
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$keyColumn&nbsp;=&nbsp;$this-&gt;_table-&gt;getBoundQueryPart('indexBy');
533 534
</td></tr>
<tr><td>175</td>
meus's avatar
meus committed
535
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
536 537
</td></tr>
<tr><td>176</td>
meus's avatar
meus committed
538
<td class="normal">
539 540
</td></tr>
<tr><td>177</td>
meus's avatar
meus committed
541
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;($keyColumn&nbsp;!==&nbsp;null)&nbsp;{
542 543
</td></tr>
<tr><td>178</td>
meus's avatar
meus committed
544
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;keyColumn&nbsp;=&nbsp;$keyColumn;
545 546
</td></tr>
<tr><td>179</td>
meus's avatar
meus committed
547
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
548 549
</td></tr>
<tr><td>180</td>
meus's avatar
meus committed
550
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;}
551 552
</td></tr>
<tr><td>181</td>
meus's avatar
meus committed
553
<td class="normal">
554 555
</td></tr>
<tr><td>182</td>
meus's avatar
meus committed
556
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;/**
557 558
</td></tr>
<tr><td>183</td>
meus's avatar
meus committed
559
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;setKeyColumn
560 561
</td></tr>
<tr><td>184</td>
meus's avatar
meus committed
562
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;sets&nbsp;the&nbsp;key&nbsp;column&nbsp;for&nbsp;this&nbsp;collection
563 564
</td></tr>
<tr><td>185</td>
meus's avatar
meus committed
565
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*
566 567
</td></tr>
<tr><td>186</td>
meus's avatar
meus committed
568
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;string&nbsp;$column
569 570
</td></tr>
<tr><td>187</td>
meus's avatar
meus committed
571
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return&nbsp;Doctrine_Collection
572 573
</td></tr>
<tr><td>188</td>
meus's avatar
meus committed
574
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/
575 576
</td></tr>
<tr><td>189</td>
meus's avatar
meus committed
577
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;setKeyColumn($column)
578 579
</td></tr>
<tr><td>190</td>
meus's avatar
meus committed
580
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;{
581 582
</td></tr>
<tr><td>191</td>
meus's avatar
meus committed
583
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;keyColumn&nbsp;=&nbsp;$column;
584 585
</td></tr>
<tr><td>192</td>
meus's avatar
meus committed
586
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
587 588
</td></tr>
<tr><td>193</td>
meus's avatar
meus committed
589
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$this;
590 591
</td></tr>
<tr><td>194</td>
meus's avatar
meus committed
592
<td class="orange">&nbsp;&nbsp;&nbsp;&nbsp;}
593 594
</td></tr>
<tr><td>195</td>
meus's avatar
meus committed
595
<td class="normal">
596 597
</td></tr>
<tr><td>196</td>
meus's avatar
meus committed
598
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;/**
599 600
</td></tr>
<tr><td>197</td>
meus's avatar
meus committed
601
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;getKeyColumn
602 603
</td></tr>
<tr><td>198</td>
meus's avatar
meus committed
604
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;returns&nbsp;the&nbsp;name&nbsp;of&nbsp;the&nbsp;key&nbsp;column
605 606
</td></tr>
<tr><td>199</td>
meus's avatar
meus committed
607
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*
608 609
</td></tr>
<tr><td>200</td>
meus's avatar
meus committed
610
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return&nbsp;string
611 612
</td></tr>
<tr><td>201</td>
meus's avatar
meus committed
613
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/
614 615
</td></tr>
<tr><td>202</td>
meus's avatar
meus committed
616
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;getKeyColumn()
617 618
</td></tr>
<tr><td>203</td>
meus's avatar
meus committed
619
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;{
620 621
</td></tr>
<tr><td>204</td>
meus's avatar
meus committed
622
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$this-&gt;column;
623 624
</td></tr>
<tr><td>205</td>
meus's avatar
meus committed
625
<td class="orange">&nbsp;&nbsp;&nbsp;&nbsp;}
626 627
</td></tr>
<tr><td>206</td>
meus's avatar
meus committed
628
<td class="normal">
629 630
</td></tr>
<tr><td>207</td>
meus's avatar
meus committed
631
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;/**
632 633
</td></tr>
<tr><td>208</td>
meus's avatar
meus committed
634
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;getData
635 636
</td></tr>
<tr><td>209</td>
meus's avatar
meus committed
637
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;returns&nbsp;all&nbsp;the&nbsp;records&nbsp;as&nbsp;an&nbsp;array
638 639
</td></tr>
<tr><td>210</td>
meus's avatar
meus committed
640
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*
641 642
</td></tr>
<tr><td>211</td>
meus's avatar
meus committed
643
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return&nbsp;array
644 645
</td></tr>
<tr><td>212</td>
meus's avatar
meus committed
646
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/
647 648
</td></tr>
<tr><td>213</td>
meus's avatar
meus committed
649
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;getData()
650 651
</td></tr>
<tr><td>214</td>
meus's avatar
meus committed
652
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;{
653 654
</td></tr>
<tr><td>215</td>
meus's avatar
meus committed
655
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$this-&gt;data;
656 657
</td></tr>
<tr><td>216</td>
meus's avatar
meus committed
658
<td class="orange">&nbsp;&nbsp;&nbsp;&nbsp;}
659 660
</td></tr>
<tr><td>217</td>
meus's avatar
meus committed
661
<td class="normal">
662 663
</td></tr>
<tr><td>218</td>
meus's avatar
meus committed
664
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;/**
665 666
</td></tr>
<tr><td>219</td>
meus's avatar
meus committed
667
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;getFirst
668 669
</td></tr>
<tr><td>220</td>
meus's avatar
meus committed
670
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;returns&nbsp;the&nbsp;first&nbsp;record&nbsp;in&nbsp;the&nbsp;collection
671 672
</td></tr>
<tr><td>221</td>
meus's avatar
meus committed
673
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*
674 675
</td></tr>
<tr><td>222</td>
meus's avatar
meus committed
676
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return&nbsp;mixed
677 678
</td></tr>
<tr><td>223</td>
meus's avatar
meus committed
679
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/
680 681
</td></tr>
<tr><td>224</td>
meus's avatar
meus committed
682
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;getFirst()
683 684
</td></tr>
<tr><td>225</td>
meus's avatar
meus committed
685
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;{
686 687
</td></tr>
<tr><td>226</td>
meus's avatar
meus committed
688
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;reset($this-&gt;data);
689 690
</td></tr>
<tr><td>227</td>
meus's avatar
meus committed
691
<td class="orange">&nbsp;&nbsp;&nbsp;&nbsp;}
692 693
</td></tr>
<tr><td>228</td>
meus's avatar
meus committed
694
<td class="normal">
695 696
</td></tr>
<tr><td>229</td>
meus's avatar
meus committed
697
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;/**
698 699
</td></tr>
<tr><td>230</td>
meus's avatar
meus committed
700
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;getLast
701 702
</td></tr>
<tr><td>231</td>
meus's avatar
meus committed
703
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;returns&nbsp;the&nbsp;last&nbsp;record&nbsp;in&nbsp;the&nbsp;collection
704 705
</td></tr>
<tr><td>232</td>
meus's avatar
meus committed
706
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*
707 708
</td></tr>
<tr><td>233</td>
meus's avatar
meus committed
709
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return&nbsp;mixed
710 711
</td></tr>
<tr><td>234</td>
meus's avatar
meus committed
712
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/
713 714
</td></tr>
<tr><td>235</td>
meus's avatar
meus committed
715
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;getLast()
716 717
</td></tr>
<tr><td>236</td>
meus's avatar
meus committed
718
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;{
719 720
</td></tr>
<tr><td>237</td>
meus's avatar
meus committed
721
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;end($this-&gt;data);
722 723
</td></tr>
<tr><td>238</td>
meus's avatar
meus committed
724
<td class="orange">&nbsp;&nbsp;&nbsp;&nbsp;}
725 726
</td></tr>
<tr><td>239</td>
meus's avatar
meus committed
727
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;/**
728 729
</td></tr>
<tr><td>240</td>
meus's avatar
meus committed
730
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;returns&nbsp;the&nbsp;last&nbsp;record&nbsp;in&nbsp;the&nbsp;collection
731 732
</td></tr>
<tr><td>241</td>
meus's avatar
meus committed
733
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*
734 735
</td></tr>
<tr><td>242</td>
meus's avatar
meus committed
736
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return&nbsp;mixed
737 738
</td></tr>
<tr><td>243</td>
meus's avatar
meus committed
739
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/
740 741
</td></tr>
<tr><td>244</td>
meus's avatar
meus committed
742
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;end()
743 744
</td></tr>
<tr><td>245</td>
meus's avatar
meus committed
745
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;{
746 747
</td></tr>
<tr><td>246</td>
meus's avatar
meus committed
748
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;end($this-&gt;data);
749 750
</td></tr>
<tr><td>247</td>
meus's avatar
meus committed
751
<td class="orange">&nbsp;&nbsp;&nbsp;&nbsp;}
752 753
</td></tr>
<tr><td>248</td>
meus's avatar
meus committed
754
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;/**
755 756
</td></tr>
<tr><td>249</td>
meus's avatar
meus committed
757
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;returns&nbsp;the&nbsp;current&nbsp;key
758 759
</td></tr>
<tr><td>250</td>
meus's avatar
meus committed
760
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*
761 762
</td></tr>
<tr><td>251</td>
meus's avatar
meus committed
763
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return&nbsp;mixed
764 765
</td></tr>
<tr><td>252</td>
meus's avatar
meus committed
766
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/
767 768
</td></tr>
<tr><td>253</td>
meus's avatar
meus committed
769
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;key()
770 771
</td></tr>
<tr><td>254</td>
meus's avatar
meus committed
772
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;{
773 774
</td></tr>
<tr><td>255</td>
meus's avatar
meus committed
775
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;key($this-&gt;data);
776 777
</td></tr>
<tr><td>256</td>
meus's avatar
meus committed
778
<td class="orange">&nbsp;&nbsp;&nbsp;&nbsp;}
779 780
</td></tr>
<tr><td>257</td>
meus's avatar
meus committed
781
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;/**
782 783
</td></tr>
<tr><td>258</td>
meus's avatar
meus committed
784
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;setReference
785 786
</td></tr>
<tr><td>259</td>
meus's avatar
meus committed
787
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;sets&nbsp;a&nbsp;reference&nbsp;pointer
788 789
</td></tr>
<tr><td>260</td>
meus's avatar
meus committed
790
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*
791 792
</td></tr>
<tr><td>261</td>
meus's avatar
meus committed
793
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return&nbsp;void
794 795
</td></tr>
<tr><td>262</td>
meus's avatar
meus committed
796
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/
797 798
</td></tr>
<tr><td>263</td>
meus's avatar
meus committed
799
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;setReference(Doctrine_Record&nbsp;$record,&nbsp;Doctrine_Relation&nbsp;$relation)
800 801
</td></tr>
<tr><td>264</td>
meus's avatar
meus committed
802
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;{
803 804
</td></tr>
<tr><td>265</td>
meus's avatar
meus committed
805
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;reference&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;$record;
806 807
</td></tr>
<tr><td>266</td>
meus's avatar
meus committed
808
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;relation&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;$relation;
809 810
</td></tr>
<tr><td>267</td>
meus's avatar
meus committed
811
<td class="normal">
812 813
</td></tr>
<tr><td>268</td>
meus's avatar
meus committed
814
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;($relation&nbsp;instanceof&nbsp;Doctrine_Relation_ForeignKey&nbsp;||&nbsp;
815 816
</td></tr>
<tr><td>269</td>
meus's avatar
meus committed
817
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$relation&nbsp;instanceof&nbsp;Doctrine_Relation_LocalKey)&nbsp;{
818 819
</td></tr>
<tr><td>270</td>
meus's avatar
meus committed
820
<td class="normal">
821 822
</td></tr>
<tr><td>271</td>
meus's avatar
meus committed
823
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;referenceField&nbsp;=&nbsp;$relation-&gt;getForeign();
824 825
</td></tr>
<tr><td>272</td>
meus's avatar
meus committed
826
<td class="normal">
827 828
</td></tr>
<tr><td>273</td>
meus's avatar
meus committed
829
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$value&nbsp;=&nbsp;$record-&gt;get($relation-&gt;getLocal());
830 831
</td></tr>
<tr><td>274</td>
meus's avatar
meus committed
832
<td class="normal">
833 834
</td></tr>
<tr><td>275</td>
meus's avatar
meus committed
835
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreach&nbsp;($this-&gt;data&nbsp;as&nbsp;$record)&nbsp;{
836 837
</td></tr>
<tr><td>276</td>
meus's avatar
meus committed
838
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;($value&nbsp;!==&nbsp;null)&nbsp;{
839 840
</td></tr>
<tr><td>277</td>
meus's avatar
meus committed
841
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$record-&gt;set($this-&gt;referenceField,&nbsp;$value,&nbsp;false);
842 843
</td></tr>
<tr><td>278</td>
meus's avatar
meus committed
844
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{
845 846
</td></tr>
<tr><td>279</td>
meus's avatar
meus committed
847
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$record-&gt;set($this-&gt;referenceField,&nbsp;$this-&gt;reference,&nbsp;false);
848 849
</td></tr>
<tr><td>280</td>
meus's avatar
meus committed
850
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
851 852
</td></tr>
<tr><td>281</td>
meus's avatar
meus committed
853
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
854 855
</td></tr>
<tr><td>282</td>
meus's avatar
meus committed
856
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;elseif&nbsp;($relation&nbsp;instanceof&nbsp;Doctrine_Relation_Association)&nbsp;{
857 858
</td></tr>
<tr><td>283</td>
meus's avatar
meus committed
859
<td class="normal">
860 861
</td></tr>
<tr><td>284</td>
meus's avatar
meus committed
862
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
863 864
</td></tr>
<tr><td>285</td>
meus's avatar
meus committed
865
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;}
866 867
</td></tr>
<tr><td>286</td>
meus's avatar
meus committed
868
<td class="normal">
869 870
</td></tr>
<tr><td>287</td>
meus's avatar
meus committed
871
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;/**
872 873
</td></tr>
<tr><td>288</td>
meus's avatar
meus committed
874
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;getReference
875 876
</td></tr>
<tr><td>289</td>
meus's avatar
meus committed
877
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*
878 879
</td></tr>
<tr><td>290</td>
meus's avatar
meus committed
880
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return&nbsp;mixed
881 882
</td></tr>
<tr><td>291</td>
meus's avatar
meus committed
883
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/
884 885
</td></tr>
<tr><td>292</td>
meus's avatar
meus committed
886
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;getReference()
887 888
</td></tr>
<tr><td>293</td>
meus's avatar
meus committed
889
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;{
890 891
</td></tr>
<tr><td>294</td>
meus's avatar
meus committed
892
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$this-&gt;reference;
893 894
</td></tr>
<tr><td>295</td>
meus's avatar
meus committed
895
<td class="orange">&nbsp;&nbsp;&nbsp;&nbsp;}
896 897
</td></tr>
<tr><td>296</td>
meus's avatar
meus committed
898
<td class="normal">
899 900
</td></tr>
<tr><td>297</td>
meus's avatar
meus committed
901
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;/**
902 903
</td></tr>
<tr><td>298</td>
meus's avatar
meus committed
904
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;remove
905 906
</td></tr>
<tr><td>299</td>
meus's avatar
meus committed
907
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;removes&nbsp;a&nbsp;specified&nbsp;collection&nbsp;element
908 909
</td></tr>
<tr><td>300</td>
meus's avatar
meus committed
910
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*
911 912
</td></tr>
<tr><td>301</td>
meus's avatar
meus committed
913
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;mixed&nbsp;$key
914 915
</td></tr>
<tr><td>302</td>
meus's avatar
meus committed
916
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return&nbsp;boolean
917 918
</td></tr>
<tr><td>303</td>
meus's avatar
meus committed
919
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/
920 921
</td></tr>
<tr><td>304</td>
meus's avatar
meus committed
922
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;remove($key)
923 924
</td></tr>
<tr><td>305</td>
meus's avatar
meus committed
925
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;{
926 927
</td></tr>
<tr><td>306</td>
meus's avatar
meus committed
928
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$removed&nbsp;=&nbsp;$this-&gt;data[$key];
929 930
</td></tr>
<tr><td>307</td>
meus's avatar
meus committed
931
<td class="normal">
932 933
</td></tr>
<tr><td>308</td>
meus's avatar
meus committed
934
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unset($this-&gt;data[$key]);
935 936
</td></tr>
<tr><td>309</td>
meus's avatar
meus committed
937
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$removed;
938 939
</td></tr>
<tr><td>310</td>
meus's avatar
meus committed
940
<td class="orange">&nbsp;&nbsp;&nbsp;&nbsp;}
941 942
</td></tr>
<tr><td>311</td>
meus's avatar
meus committed
943
<td class="normal">
944 945
</td></tr>
<tr><td>312</td>
meus's avatar
meus committed
946
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;/**
947 948
</td></tr>
<tr><td>313</td>
meus's avatar
meus committed
949
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;contains
950 951
</td></tr>
<tr><td>314</td>
meus's avatar
meus committed
952
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;whether&nbsp;or&nbsp;not&nbsp;this&nbsp;collection&nbsp;contains&nbsp;a&nbsp;specified&nbsp;element
953 954
</td></tr>
<tr><td>315</td>
meus's avatar
meus committed
955
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*
956 957
</td></tr>
<tr><td>316</td>
meus's avatar
meus committed
958
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;mixed&nbsp;$key&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;the&nbsp;key&nbsp;of&nbsp;the&nbsp;element
959 960
</td></tr>
<tr><td>317</td>
meus's avatar
meus committed
961
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return&nbsp;boolean
962 963
</td></tr>
<tr><td>318</td>
meus's avatar
meus committed
964
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/
965 966
</td></tr>
<tr><td>319</td>
meus's avatar
meus committed
967
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;contains($key)
968 969
</td></tr>
<tr><td>320</td>
meus's avatar
meus committed
970
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;{
971 972
</td></tr>
<tr><td>321</td>
meus's avatar
meus committed
973
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;isset($this-&gt;data[$key]);
974 975
</td></tr>
<tr><td>322</td>
meus's avatar
meus committed
976
<td class="orange">&nbsp;&nbsp;&nbsp;&nbsp;}
977 978
</td></tr>
<tr><td>323</td>
meus's avatar
meus committed
979
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;search(Doctrine_Record&nbsp;$record)
980 981
</td></tr>
<tr><td>324</td>
meus's avatar
meus committed
982
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;{
983 984
</td></tr>
<tr><td>325</td>
meus's avatar
meus committed
985
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;array_search($record,&nbsp;$this-&gt;data,&nbsp;true);
986 987
</td></tr>
<tr><td>326</td>
meus's avatar
meus committed
988
<td class="orange">&nbsp;&nbsp;&nbsp;&nbsp;}
989 990
</td></tr>
<tr><td>327</td>
meus's avatar
meus committed
991
<td class="normal">
992 993
</td></tr>
<tr><td>328</td>
meus's avatar
meus committed
994
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;/**
995 996
</td></tr>
<tr><td>329</td>
meus's avatar
meus committed
997
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;get
998 999
</td></tr>
<tr><td>330</td>
meus's avatar
meus committed
1000
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;returns&nbsp;a&nbsp;record&nbsp;for&nbsp;given&nbsp;key
1001 1002
</td></tr>
<tr><td>331</td>
meus's avatar
meus committed
1003
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*
1004 1005
</td></tr>
<tr><td>332</td>
meus's avatar
meus committed
1006
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;There&nbsp;are&nbsp;two&nbsp;special&nbsp;cases:
1007 1008
</td></tr>
<tr><td>333</td>
meus's avatar
meus committed
1009
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*
1010 1011
</td></tr>
<tr><td>334</td>
meus's avatar
meus committed
1012
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;1.&nbsp;if&nbsp;null&nbsp;is&nbsp;given&nbsp;as&nbsp;a&nbsp;key&nbsp;a&nbsp;new&nbsp;record&nbsp;is&nbsp;created&nbsp;and&nbsp;attached
1013 1014
</td></tr>
<tr><td>335</td>
meus's avatar
meus committed
1015
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;at&nbsp;the&nbsp;end&nbsp;of&nbsp;the&nbsp;collection
1016 1017
</td></tr>
<tr><td>336</td>
meus's avatar
meus committed
1018
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*
1019 1020
</td></tr>
<tr><td>337</td>
meus's avatar
meus committed
1021
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;2.&nbsp;if&nbsp;given&nbsp;key&nbsp;does&nbsp;not&nbsp;exist,&nbsp;then&nbsp;a&nbsp;new&nbsp;record&nbsp;is&nbsp;create&nbsp;and&nbsp;attached
1022 1023
</td></tr>
<tr><td>338</td>
meus's avatar
meus committed
1024
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;to&nbsp;the&nbsp;given&nbsp;key
1025 1026
</td></tr>
<tr><td>339</td>
meus's avatar
meus committed
1027
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*
1028 1029
</td></tr>
<tr><td>340</td>
meus's avatar
meus committed
1030
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;Collection&nbsp;also&nbsp;maps&nbsp;referential&nbsp;information&nbsp;to&nbsp;newly&nbsp;created&nbsp;records
1031 1032
</td></tr>
<tr><td>341</td>
meus's avatar
meus committed
1033
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*
1034 1035
</td></tr>
<tr><td>342</td>
meus's avatar
meus committed
1036
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;mixed&nbsp;$key&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;the&nbsp;key&nbsp;of&nbsp;the&nbsp;element
1037 1038
</td></tr>
<tr><td>343</td>
meus's avatar
meus committed
1039
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return&nbsp;Doctrine_Record&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;a&nbsp;specified&nbsp;record
1040 1041
</td></tr>
<tr><td>344</td>
meus's avatar
meus committed
1042
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/
1043 1044
</td></tr>
<tr><td>345</td>
meus's avatar
meus committed
1045
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;get($key)
1046 1047
</td></tr>
<tr><td>346</td>
meus's avatar
meus committed
1048
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;{
1049 1050
</td></tr>
<tr><td>347</td>
meus's avatar
meus committed
1051
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&nbsp;!&nbsp;isset($this-&gt;data[$key]))&nbsp;{
1052 1053
</td></tr>
<tr><td>348</td>
meus's avatar
meus committed
1054
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$record&nbsp;=&nbsp;$this-&gt;_table-&gt;create();
1055 1056
</td></tr>
<tr><td>349</td>
meus's avatar
meus committed
1057
<td class="normal">
1058 1059
</td></tr>
<tr><td>350</td>
meus's avatar
meus committed
1060
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(isset($this-&gt;referenceField))&nbsp;{
1061 1062
</td></tr>
<tr><td>351</td>
meus's avatar
meus committed
1063
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$value&nbsp;=&nbsp;$this-&gt;reference-&gt;get($this-&gt;relation-&gt;getLocal());
1064 1065
</td></tr>
<tr><td>352</td>
meus's avatar
meus committed
1066
<td class="normal">
1067 1068
</td></tr>
<tr><td>353</td>
meus's avatar
meus committed
1069
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;($value&nbsp;!==&nbsp;null)&nbsp;{
1070 1071
</td></tr>
<tr><td>354</td>
meus's avatar
meus committed
1072
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$record-&gt;set($this-&gt;referenceField,&nbsp;$value,&nbsp;false);
1073 1074
</td></tr>
<tr><td>355</td>
meus's avatar
meus committed
1075
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{
1076 1077
</td></tr>
<tr><td>356</td>
meus's avatar
meus committed
1078
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$record-&gt;set($this-&gt;referenceField,&nbsp;$this-&gt;reference,&nbsp;false);
1079 1080
</td></tr>
<tr><td>357</td>
meus's avatar
meus committed
1081
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
1082 1083
</td></tr>
<tr><td>358</td>
meus's avatar
meus committed
1084
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
1085 1086
</td></tr>
<tr><td>359</td>
meus's avatar
meus committed
1087
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;($key&nbsp;===&nbsp;null)&nbsp;{
1088 1089
</td></tr>
<tr><td>360</td>
meus's avatar
meus committed
1090
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;data[]&nbsp;=&nbsp;$record;
1091 1092
</td></tr>
<tr><td>361</td>
meus's avatar
meus committed
1093
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{
1094 1095
</td></tr>
<tr><td>362</td>
meus's avatar
meus committed
1096
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;data[$key]&nbsp;=&nbsp;$record;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;	
1097 1098
</td></tr>
<tr><td>363</td>
meus's avatar
meus committed
1099
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
1100 1101
</td></tr>
<tr><td>364</td>
meus's avatar
meus committed
1102
<td class="normal">
1103 1104
</td></tr>
<tr><td>365</td>
meus's avatar
meus committed
1105
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(isset($this-&gt;keyColumn))&nbsp;{
1106 1107
</td></tr>
<tr><td>366</td>
meus's avatar
meus committed
1108
<td class="normal">
1109 1110
</td></tr>
<tr><td>367</td>
meus's avatar
meus committed
1111
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$record-&gt;set($this-&gt;keyColumn,&nbsp;$key);
1112 1113
</td></tr>
<tr><td>368</td>
meus's avatar
meus committed
1114
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
1115 1116
</td></tr>
<tr><td>369</td>
meus's avatar
meus committed
1117
<td class="normal">
1118 1119
</td></tr>
<tr><td>370</td>
meus's avatar
meus committed
1120
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$record;
1121 1122
</td></tr>
<tr><td>371</td>
meus's avatar
meus committed
1123
<td class="orange">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
1124 1125
</td></tr>
<tr><td>372</td>
meus's avatar
meus committed
1126
<td class="normal">
1127 1128
</td></tr>
<tr><td>373</td>
meus's avatar
meus committed
1129
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$this-&gt;data[$key];
1130 1131
</td></tr>
<tr><td>374</td>
meus's avatar
meus committed
1132
<td class="orange">&nbsp;&nbsp;&nbsp;&nbsp;}
1133 1134
</td></tr>
<tr><td>375</td>
meus's avatar
meus committed
1135
<td class="normal">
1136 1137
</td></tr>
<tr><td>376</td>
meus's avatar
meus committed
1138
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;/**
1139 1140
</td></tr>
<tr><td>377</td>
meus's avatar
meus committed
1141
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return&nbsp;array&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;an&nbsp;array&nbsp;containing&nbsp;all&nbsp;primary&nbsp;keys
1142 1143
</td></tr>
<tr><td>378</td>
meus's avatar
meus committed
1144
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/
1145 1146
</td></tr>
<tr><td>379</td>
meus's avatar
meus committed
1147
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;getPrimaryKeys()
1148 1149
</td></tr>
<tr><td>380</td>
meus's avatar
meus committed
1150
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;{
1151 1152
</td></tr>
<tr><td>381</td>
meus's avatar
meus committed
1153
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$list&nbsp;=&nbsp;array();
1154 1155
</td></tr>
<tr><td>382</td>
meus's avatar
meus committed
1156
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$name&nbsp;=&nbsp;$this-&gt;_table-&gt;getIdentifier();
1157 1158
</td></tr>
<tr><td>383</td>
meus's avatar
meus committed
1159
<td class="normal">
1160 1161
</td></tr>
<tr><td>384</td>
meus's avatar
meus committed
1162
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreach&nbsp;($this-&gt;data&nbsp;as&nbsp;$record)&nbsp;{
1163 1164
</td></tr>
<tr><td>385</td>
meus's avatar
meus committed
1165
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(is_array($record)&nbsp;&amp;&amp;&nbsp;isset($record[$name]))&nbsp;{
1166 1167
</td></tr>
<tr><td>386</td>
meus's avatar
meus committed
1168
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$list[]&nbsp;=&nbsp;$record[$name];
1169 1170
</td></tr>
<tr><td>387</td>
meus's avatar
meus committed
1171
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{
1172 1173
</td></tr>
<tr><td>388</td>
meus's avatar
meus committed
1174
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$list[]&nbsp;=&nbsp;$record-&gt;getIncremented();
1175 1176
</td></tr>
<tr><td>389</td>
meus's avatar
meus committed
1177
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
1178 1179
</td></tr>
<tr><td>390</td>
meus's avatar
meus committed
1180
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
1181 1182
</td></tr>
<tr><td>391</td>
meus's avatar
meus committed
1183
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$list;
1184 1185
</td></tr>
<tr><td>392</td>
meus's avatar
meus committed
1186
<td class="orange">&nbsp;&nbsp;&nbsp;&nbsp;}
1187 1188
</td></tr>
<tr><td>393</td>
meus's avatar
meus committed
1189
<td class="normal">
1190 1191
</td></tr>
<tr><td>394</td>
meus's avatar
meus committed
1192
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;/**
1193 1194
</td></tr>
<tr><td>395</td>
meus's avatar
meus committed
1195
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;returns&nbsp;all&nbsp;keys
1196 1197
</td></tr>
<tr><td>396</td>
meus's avatar
meus committed
1198
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return&nbsp;array
1199 1200
</td></tr>
<tr><td>397</td>
meus's avatar
meus committed
1201
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/
1202 1203
</td></tr>
<tr><td>398</td>
meus's avatar
meus committed
1204
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;getKeys()
1205 1206
</td></tr>
<tr><td>399</td>
meus's avatar
meus committed
1207
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;{
1208 1209
</td></tr>
<tr><td>400</td>
meus's avatar
meus committed
1210
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;array_keys($this-&gt;data);
1211 1212
</td></tr>
<tr><td>401</td>
meus's avatar
meus committed
1213
<td class="orange">&nbsp;&nbsp;&nbsp;&nbsp;}
1214 1215
</td></tr>
<tr><td>402</td>
meus's avatar
meus committed
1216
<td class="normal">
1217 1218
</td></tr>
<tr><td>403</td>
meus's avatar
meus committed
1219
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;/**
1220 1221
</td></tr>
<tr><td>404</td>
meus's avatar
meus committed
1222
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;count
1223 1224
</td></tr>
<tr><td>405</td>
meus's avatar
meus committed
1225
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;this&nbsp;class&nbsp;implements&nbsp;interface&nbsp;countable
1226 1227
</td></tr>
<tr><td>406</td>
meus's avatar
meus committed
1228
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;returns&nbsp;the&nbsp;number&nbsp;of&nbsp;records&nbsp;in&nbsp;this&nbsp;collection
1229 1230
</td></tr>
<tr><td>407</td>
meus's avatar
meus committed
1231
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*
1232 1233
</td></tr>
<tr><td>408</td>
meus's avatar
meus committed
1234
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return&nbsp;integer
1235 1236
</td></tr>
<tr><td>409</td>
meus's avatar
meus committed
1237
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/
1238 1239
</td></tr>
<tr><td>410</td>
meus's avatar
meus committed
1240
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;count()
1241 1242
</td></tr>
<tr><td>411</td>
meus's avatar
meus committed
1243
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;{
1244 1245
</td></tr>
<tr><td>412</td>
meus's avatar
meus committed
1246
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;count($this-&gt;data);
1247 1248
</td></tr>
<tr><td>413</td>
meus's avatar
meus committed
1249
<td class="orange">&nbsp;&nbsp;&nbsp;&nbsp;}
1250 1251
</td></tr>
<tr><td>414</td>
meus's avatar
meus committed
1252
<td class="normal">
1253 1254
</td></tr>
<tr><td>415</td>
meus's avatar
meus committed
1255
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;/**
1256 1257
</td></tr>
<tr><td>416</td>
meus's avatar
meus committed
1258
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;set
1259 1260
</td></tr>
<tr><td>417</td>
meus's avatar
meus committed
1261
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;integer&nbsp;$key
1262 1263
</td></tr>
<tr><td>418</td>
meus's avatar
meus committed
1264
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;Doctrine_Record&nbsp;$record
1265 1266
</td></tr>
<tr><td>419</td>
meus's avatar
meus committed
1267
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return&nbsp;void
1268 1269
</td></tr>
<tr><td>420</td>
meus's avatar
meus committed
1270
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/
1271 1272
</td></tr>
<tr><td>421</td>
meus's avatar
meus committed
1273
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;set($key,&nbsp;Doctrine_Record&nbsp;$record)
1274 1275
</td></tr>
<tr><td>422</td>
meus's avatar
meus committed
1276
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;{
1277 1278
</td></tr>
<tr><td>423</td>
meus's avatar
meus committed
1279
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(isset($this-&gt;referenceField))&nbsp;{
1280 1281
</td></tr>
<tr><td>424</td>
meus's avatar
meus committed
1282
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$record-&gt;set($this-&gt;referenceField,&nbsp;$this-&gt;reference,&nbsp;false);
1283 1284
</td></tr>
<tr><td>425</td>
meus's avatar
meus committed
1285
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
1286 1287
</td></tr>
<tr><td>426</td>
meus's avatar
meus committed
1288
<td class="normal">
1289 1290
</td></tr>
<tr><td>427</td>
meus's avatar
meus committed
1291
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;data[$key]&nbsp;=&nbsp;$record;
1292 1293
</td></tr>
<tr><td>428</td>
meus's avatar
meus committed
1294
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;}
1295 1296
</td></tr>
<tr><td>429</td>
meus's avatar
meus committed
1297
<td class="normal">
1298 1299
</td></tr>
<tr><td>430</td>
meus's avatar
meus committed
1300
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;/**
1301 1302
</td></tr>
<tr><td>431</td>
meus's avatar
meus committed
1303
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;adds&nbsp;a&nbsp;record&nbsp;to&nbsp;collection
1304 1305
</td></tr>
<tr><td>432</td>
meus's avatar
meus committed
1306
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;Doctrine_Record&nbsp;$record&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;record&nbsp;to&nbsp;be&nbsp;added
1307 1308
</td></tr>
<tr><td>433</td>
meus's avatar
meus committed
1309
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;string&nbsp;$key&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;optional&nbsp;key&nbsp;for&nbsp;the&nbsp;record
1310 1311
</td></tr>
<tr><td>434</td>
meus's avatar
meus committed
1312
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return&nbsp;boolean
1313 1314
</td></tr>
<tr><td>435</td>
meus's avatar
meus committed
1315
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/
1316 1317
</td></tr>
<tr><td>436</td>
meus's avatar
meus committed
1318
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;add(Doctrine_Record&nbsp;$record,&nbsp;$key&nbsp;=&nbsp;null)
1319 1320
</td></tr>
<tr><td>437</td>
meus's avatar
meus committed
1321
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;{
1322 1323
</td></tr>
<tr><td>438</td>
meus's avatar
meus committed
1324
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(isset($this-&gt;referenceField))&nbsp;{
1325 1326
</td></tr>
<tr><td>439</td>
meus's avatar
meus committed
1327
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$value&nbsp;=&nbsp;$this-&gt;reference-&gt;get($this-&gt;relation-&gt;getLocal());
1328 1329
</td></tr>
<tr><td>440</td>
meus's avatar
meus committed
1330
<td class="normal">
1331 1332
</td></tr>
<tr><td>441</td>
meus's avatar
meus committed
1333
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;($value&nbsp;!==&nbsp;null)&nbsp;{
1334 1335
</td></tr>
<tr><td>442</td>
meus's avatar
meus committed
1336
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$record-&gt;set($this-&gt;referenceField,&nbsp;$value,&nbsp;false);
1337 1338
</td></tr>
<tr><td>443</td>
meus's avatar
meus committed
1339
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{
1340 1341
</td></tr>
<tr><td>444</td>
meus's avatar
meus committed
1342
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$record-&gt;set($this-&gt;referenceField,&nbsp;$this-&gt;reference,&nbsp;false);
1343 1344
</td></tr>
<tr><td>445</td>
meus's avatar
meus committed
1345
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
1346 1347
</td></tr>
<tr><td>446</td>
meus's avatar
meus committed
1348
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
1349 1350
</td></tr>
<tr><td>447</td>
meus's avatar
meus committed
1351
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/**
1352 1353
</td></tr>
<tr><td>448</td>
meus's avatar
meus committed
1354
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;for&nbsp;some&nbsp;weird&nbsp;reason&nbsp;in_array&nbsp;cannot&nbsp;be&nbsp;used&nbsp;here&nbsp;(php&nbsp;bug&nbsp;?)
1355 1356
</td></tr>
<tr><td>449</td>
meus's avatar
meus committed
1357
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*
1358 1359
</td></tr>
<tr><td>450</td>
meus's avatar
meus committed
1360
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;if&nbsp;used&nbsp;it&nbsp;results&nbsp;in&nbsp;fatal&nbsp;error&nbsp;:&nbsp;[&nbsp;nesting&nbsp;level&nbsp;too&nbsp;deep&nbsp;]
1361 1362
</td></tr>
<tr><td>451</td>
meus's avatar
meus committed
1363
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/
1364 1365
</td></tr>
<tr><td>452</td>
meus's avatar
meus committed
1366
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreach&nbsp;($this-&gt;data&nbsp;as&nbsp;$val)&nbsp;{
1367 1368
</td></tr>
<tr><td>453</td>
meus's avatar
meus committed
1369
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;($val&nbsp;===&nbsp;$record)&nbsp;{
1370 1371
</td></tr>
<tr><td>454</td>
meus's avatar
meus committed
1372
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;false;
1373 1374
</td></tr>
<tr><td>455</td>
meus's avatar
meus committed
1375
<td class="orange">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
1376 1377
</td></tr>
<tr><td>456</td>
meus's avatar
meus committed
1378
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
1379 1380
</td></tr>
<tr><td>457</td>
meus's avatar
meus committed
1381
<td class="normal">
1382 1383
</td></tr>
<tr><td>458</td>
meus's avatar
meus committed
1384
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(isset($key))&nbsp;{
1385 1386
</td></tr>
<tr><td>459</td>
meus's avatar
meus committed
1387
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(isset($this-&gt;data[$key]))&nbsp;{
1388 1389
</td></tr>
<tr><td>460</td>
meus's avatar
meus committed
1390
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;false;
1391 1392
</td></tr>
<tr><td>461</td>
meus's avatar
meus committed
1393
<td class="orange">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
1394 1395
</td></tr>
<tr><td>462</td>
meus's avatar
meus committed
1396
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;data[$key]&nbsp;=&nbsp;$record;
1397 1398
</td></tr>
<tr><td>463</td>
meus's avatar
meus committed
1399
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;true;
1400 1401
</td></tr>
<tr><td>464</td>
meus's avatar
meus committed
1402
<td class="orange">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
1403 1404
</td></tr>
<tr><td>465</td>
meus's avatar
meus committed
1405
<td class="normal">
1406 1407
</td></tr>
<tr><td>466</td>
meus's avatar
meus committed
1408
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(isset($this-&gt;keyColumn))&nbsp;{
1409 1410
</td></tr>
<tr><td>467</td>
meus's avatar
meus committed
1411
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$value&nbsp;=&nbsp;$record-&gt;get($this-&gt;keyColumn);
1412 1413
</td></tr>
<tr><td>468</td>
meus's avatar
meus committed
1414
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;($value&nbsp;===&nbsp;null)&nbsp;{
1415 1416
</td></tr>
<tr><td>469</td>
meus's avatar
meus committed
1417
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;throw&nbsp;new&nbsp;Doctrine_Collection_Exception(&quot;Couldn't&nbsp;create&nbsp;collection&nbsp;index.&nbsp;Record&nbsp;field&nbsp;'&quot;.$this-&gt;keyColumn.&quot;'&nbsp;was&nbsp;null.&quot;);
1418 1419
</td></tr>
<tr><td>470</td>
meus's avatar
meus committed
1420
<td class="orange">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
1421 1422
</td></tr>
<tr><td>471</td>
meus's avatar
meus committed
1423
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;data[$value]&nbsp;=&nbsp;$record;
1424 1425
</td></tr>
<tr><td>472</td>
meus's avatar
meus committed
1426
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{
1427 1428
</td></tr>
<tr><td>473</td>
meus's avatar
meus committed
1429
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;data[]&nbsp;=&nbsp;$record;
1430 1431
</td></tr>
<tr><td>474</td>
meus's avatar
meus committed
1432
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
1433 1434
</td></tr>
<tr><td>475</td>
meus's avatar
meus committed
1435
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;true;
1436 1437
</td></tr>
<tr><td>476</td>
meus's avatar
meus committed
1438
<td class="orange">&nbsp;&nbsp;&nbsp;&nbsp;}
1439 1440
</td></tr>
<tr><td>477</td>
meus's avatar
meus committed
1441
<td class="normal">
1442 1443
</td></tr>
<tr><td>478</td>
meus's avatar
meus committed
1444
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;/**
1445 1446
</td></tr>
<tr><td>479</td>
meus's avatar
meus committed
1447
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;loadRelated
1448 1449
</td></tr>
<tr><td>480</td>
meus's avatar
meus committed
1450
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*
1451 1452
</td></tr>
<tr><td>481</td>
meus's avatar
meus committed
1453
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;mixed&nbsp;$name
1454 1455
</td></tr>
<tr><td>482</td>
meus's avatar
meus committed
1456
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return&nbsp;boolean
1457 1458
</td></tr>
<tr><td>483</td>
meus's avatar
meus committed
1459
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/
1460 1461
</td></tr>
<tr><td>484</td>
meus's avatar
meus committed
1462
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;loadRelated($name&nbsp;=&nbsp;null)
1463 1464
</td></tr>
<tr><td>485</td>
meus's avatar
meus committed
1465
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;{
1466 1467
</td></tr>
<tr><td>486</td>
meus's avatar
meus committed
1468
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$list&nbsp;=&nbsp;array();
1469 1470
</td></tr>
<tr><td>487</td>
meus's avatar
meus committed
1471
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$query&nbsp;&nbsp;&nbsp;=&nbsp;new&nbsp;Doctrine_Query($this-&gt;_table-&gt;getConnection());
1472 1473
</td></tr>
<tr><td>488</td>
meus's avatar
meus committed
1474
<td class="normal">
1475 1476
</td></tr>
<tr><td>489</td>
meus's avatar
meus committed
1477
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&nbsp;!&nbsp;isset($name))&nbsp;{
1478 1479
</td></tr>
<tr><td>490</td>
meus's avatar
meus committed
1480
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreach&nbsp;($this-&gt;data&nbsp;as&nbsp;$record)&nbsp;{
1481 1482
</td></tr>
<tr><td>491</td>
meus's avatar
meus committed
1483
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$value&nbsp;=&nbsp;$record-&gt;getIncremented();
1484 1485
</td></tr>
<tr><td>492</td>
meus's avatar
meus committed
1486
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;($value&nbsp;!==&nbsp;null)&nbsp;{
1487 1488
</td></tr>
<tr><td>493</td>
meus's avatar
meus committed
1489
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$list[]&nbsp;=&nbsp;$value;
1490 1491
</td></tr>
<tr><td>494</td>
meus's avatar
meus committed
1492
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
1493 1494
</td></tr>
<tr><td>495</td>
meus's avatar
meus committed
1495
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
1496 1497
</td></tr>
<tr><td>496</td>
meus's avatar
meus committed
1498
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$query-&gt;from($this-&gt;_table-&gt;getComponentName()&nbsp;.&nbsp;'('&nbsp;.&nbsp;implode(&quot;,&nbsp;&quot;,$this-&gt;_table-&gt;getPrimaryKeys())&nbsp;.&nbsp;')');
1499 1500
</td></tr>
<tr><td>497</td>
meus's avatar
meus committed
1501
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$query-&gt;where($this-&gt;_table-&gt;getComponentName()&nbsp;.&nbsp;'.id&nbsp;IN&nbsp;('&nbsp;.&nbsp;substr(str_repeat(&quot;?,&nbsp;&quot;,&nbsp;count($list)),0,-2)&nbsp;.&nbsp;')');
1502 1503
</td></tr>
<tr><td>498</td>
meus's avatar
meus committed
1504
<td class="normal">
1505 1506
</td></tr>
<tr><td>499</td>
meus's avatar
meus committed
1507
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$query;
1508 1509
</td></tr>
<tr><td>500</td>
meus's avatar
meus committed
1510
<td class="orange">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
1511 1512
</td></tr>
<tr><td>501</td>
meus's avatar
meus committed
1513
<td class="normal">
1514 1515
</td></tr>
<tr><td>502</td>
meus's avatar
meus committed
1516
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$rel&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;$this-&gt;_table-&gt;getRelation($name);
1517 1518
</td></tr>
<tr><td>503</td>
meus's avatar
meus committed
1519
<td class="normal">
1520 1521
</td></tr>
<tr><td>504</td>
meus's avatar
meus committed
1522
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;($rel&nbsp;instanceof&nbsp;Doctrine_Relation_LocalKey&nbsp;||&nbsp;$rel&nbsp;instanceof&nbsp;Doctrine_Relation_ForeignKey)&nbsp;{
1523 1524
</td></tr>
<tr><td>505</td>
meus's avatar
meus committed
1525
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreach&nbsp;($this-&gt;data&nbsp;as&nbsp;$record)&nbsp;{
1526 1527
</td></tr>
<tr><td>506</td>
meus's avatar
meus committed
1528
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$list[]&nbsp;=&nbsp;$record[$rel-&gt;getLocal()];
1529 1530
</td></tr>
<tr><td>507</td>
meus's avatar
meus committed
1531
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
1532 1533
</td></tr>
<tr><td>508</td>
meus's avatar
meus committed
1534
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{
1535 1536
</td></tr>
<tr><td>509</td>
meus's avatar
meus committed
1537
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreach&nbsp;($this-&gt;data&nbsp;as&nbsp;$record)&nbsp;{
1538 1539
</td></tr>
<tr><td>510</td>
meus's avatar
meus committed
1540
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$value&nbsp;=&nbsp;$record-&gt;getIncremented();
1541 1542
</td></tr>
<tr><td>511</td>
meus's avatar
meus committed
1543
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;($value&nbsp;!==&nbsp;null)&nbsp;{
1544 1545
</td></tr>
<tr><td>512</td>
meus's avatar
meus committed
1546
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$list[]&nbsp;=&nbsp;$value;
1547 1548
</td></tr>
<tr><td>513</td>
meus's avatar
meus committed
1549
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
1550 1551
</td></tr>
<tr><td>514</td>
meus's avatar
meus committed
1552
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
1553 1554
</td></tr>
<tr><td>515</td>
meus's avatar
meus committed
1555
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
1556 1557
</td></tr>
<tr><td>516</td>
meus's avatar
meus committed
1558
<td class="normal">
1559 1560
</td></tr>
<tr><td>517</td>
meus's avatar
meus committed
1561
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$dql&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;$rel-&gt;getRelationDql(count($list),&nbsp;'collection');
1562 1563
</td></tr>
<tr><td>518</td>
meus's avatar
meus committed
1564
<td class="normal">
1565 1566
</td></tr>
<tr><td>519</td>
meus's avatar
meus committed
1567
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$coll&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;$query-&gt;query($dql,&nbsp;$list);
1568 1569
</td></tr>
<tr><td>520</td>
meus's avatar
meus committed
1570
<td class="normal">
1571 1572
</td></tr>
<tr><td>521</td>
meus's avatar
meus committed
1573
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;populateRelated($name,&nbsp;$coll);
1574 1575
</td></tr>
<tr><td>522</td>
meus's avatar
meus committed
1576
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;}
1577 1578
</td></tr>
<tr><td>523</td>
meus's avatar
meus committed
1579
<td class="normal">
1580 1581
</td></tr>
<tr><td>524</td>
meus's avatar
meus committed
1582
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;/**
1583 1584
</td></tr>
<tr><td>525</td>
meus's avatar
meus committed
1585
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;populateRelated
1586 1587
</td></tr>
<tr><td>526</td>
meus's avatar
meus committed
1588
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*
1589 1590
</td></tr>
<tr><td>527</td>
meus's avatar
meus committed
1591
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;string&nbsp;$name
1592 1593
</td></tr>
<tr><td>528</td>
meus's avatar
meus committed
1594
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;Doctrine_Collection&nbsp;$coll
1595 1596
</td></tr>
<tr><td>529</td>
meus's avatar
meus committed
1597
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return&nbsp;void
1598 1599
</td></tr>
<tr><td>530</td>
meus's avatar
meus committed
1600
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/
1601 1602
</td></tr>
<tr><td>531</td>
meus's avatar
meus committed
1603
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;populateRelated($name,&nbsp;Doctrine_Collection&nbsp;$coll)
1604 1605
</td></tr>
<tr><td>532</td>
meus's avatar
meus committed
1606
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;{
1607 1608
</td></tr>
<tr><td>533</td>
meus's avatar
meus committed
1609
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$rel&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;$this-&gt;_table-&gt;getRelation($name);
1610 1611
</td></tr>
<tr><td>534</td>
meus's avatar
meus committed
1612
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$table&nbsp;&nbsp;&nbsp;=&nbsp;$rel-&gt;getTable();
1613 1614
</td></tr>
<tr><td>535</td>
meus's avatar
meus committed
1615
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$foreign&nbsp;=&nbsp;$rel-&gt;getForeign();
1616 1617
</td></tr>
<tr><td>536</td>
meus's avatar
meus committed
1618
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$local&nbsp;&nbsp;&nbsp;=&nbsp;$rel-&gt;getLocal();
1619 1620
</td></tr>
<tr><td>537</td>
meus's avatar
meus committed
1621
<td class="normal">
1622 1623
</td></tr>
<tr><td>538</td>
meus's avatar
meus committed
1624
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;($rel&nbsp;instanceof&nbsp;Doctrine_Relation_LocalKey)&nbsp;{
1625 1626
</td></tr>
<tr><td>539</td>
meus's avatar
meus committed
1627
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreach&nbsp;($this-&gt;data&nbsp;as&nbsp;$key&nbsp;=&gt;&nbsp;$record)&nbsp;{
1628 1629
</td></tr>
<tr><td>540</td>
meus's avatar
meus committed
1630
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreach&nbsp;($coll&nbsp;as&nbsp;$k&nbsp;=&gt;&nbsp;$related)&nbsp;{
1631 1632
</td></tr>
<tr><td>541</td>
meus's avatar
meus committed
1633
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;($related[$foreign]&nbsp;==&nbsp;$record[$local])&nbsp;{
1634 1635
</td></tr>
<tr><td>542</td>
meus's avatar
meus committed
1636
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;data[$key]-&gt;setRelated($name,&nbsp;$related);
1637 1638
</td></tr>
<tr><td>543</td>
meus's avatar
meus committed
1639
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
1640 1641
</td></tr>
<tr><td>544</td>
meus's avatar
meus committed
1642
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
1643 1644
</td></tr>
<tr><td>545</td>
meus's avatar
meus committed
1645
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
1646 1647
</td></tr>
<tr><td>546</td>
meus's avatar
meus committed
1648
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;elseif&nbsp;($rel&nbsp;instanceof&nbsp;Doctrine_Relation_ForeignKey)&nbsp;{
1649 1650
</td></tr>
<tr><td>547</td>
meus's avatar
meus committed
1651
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreach&nbsp;($this-&gt;data&nbsp;as&nbsp;$key&nbsp;=&gt;&nbsp;$record)&nbsp;{
1652 1653
</td></tr>
<tr><td>548</td>
meus's avatar
meus committed
1654
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&nbsp;!&nbsp;$record-&gt;exists())&nbsp;{
1655 1656
</td></tr>
<tr><td>549</td>
meus's avatar
meus committed
1657
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;continue;
1658 1659
</td></tr>
<tr><td>550</td>
meus's avatar
meus committed
1660
<td class="orange">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
1661 1662
</td></tr>
<tr><td>551</td>
meus's avatar
meus committed
1663
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$sub&nbsp;=&nbsp;new&nbsp;Doctrine_Collection($table);
1664 1665
</td></tr>
<tr><td>552</td>
meus's avatar
meus committed
1666
<td class="normal">
1667 1668
</td></tr>
<tr><td>553</td>
meus's avatar
meus committed
1669
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreach&nbsp;($coll&nbsp;as&nbsp;$k&nbsp;=&gt;&nbsp;$related)&nbsp;{
1670 1671
</td></tr>
<tr><td>554</td>
meus's avatar
meus committed
1672
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;($related[$foreign]&nbsp;==&nbsp;$record[$local])&nbsp;{
1673 1674
</td></tr>
<tr><td>555</td>
meus's avatar
meus committed
1675
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$sub-&gt;add($related);
1676 1677
</td></tr>
<tr><td>556</td>
meus's avatar
meus committed
1678
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$coll-&gt;remove($k);
1679 1680
</td></tr>
<tr><td>557</td>
meus's avatar
meus committed
1681
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
1682 1683
</td></tr>
<tr><td>558</td>
meus's avatar
meus committed
1684
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
1685 1686
</td></tr>
<tr><td>559</td>
meus's avatar
meus committed
1687
<td class="normal">
1688 1689
</td></tr>
<tr><td>560</td>
meus's avatar
meus committed
1690
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;data[$key]-&gt;setRelated($name,&nbsp;$sub);
1691 1692
</td></tr>
<tr><td>561</td>
meus's avatar
meus committed
1693
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
1694 1695
</td></tr>
<tr><td>562</td>
meus's avatar
meus committed
1696
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;elseif&nbsp;($rel&nbsp;instanceof&nbsp;Doctrine_Relation_Association)&nbsp;{
1697 1698
</td></tr>
<tr><td>563</td>
meus's avatar
meus committed
1699
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$identifier&nbsp;=&nbsp;$this-&gt;_table-&gt;getIdentifier();
1700 1701
</td></tr>
<tr><td>564</td>
meus's avatar
meus committed
1702
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$asf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;$rel-&gt;getAssociationFactory();
1703 1704
</td></tr>
<tr><td>565</td>
meus's avatar
meus committed
1705
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;$table-&gt;getComponentName();
1706 1707
</td></tr>
<tr><td>566</td>
meus's avatar
meus committed
1708
<td class="normal">
1709 1710
</td></tr>
<tr><td>567</td>
meus's avatar
meus committed
1711
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreach&nbsp;($this-&gt;data&nbsp;as&nbsp;$key&nbsp;=&gt;&nbsp;$record)&nbsp;{
1712 1713
</td></tr>
<tr><td>568</td>
meus's avatar
meus committed
1714
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&nbsp;!&nbsp;$record-&gt;exists())&nbsp;{
1715 1716
</td></tr>
<tr><td>569</td>
meus's avatar
meus committed
1717
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;continue;
1718 1719
</td></tr>
<tr><td>570</td>
meus's avatar
meus committed
1720
<td class="orange">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
1721 1722
</td></tr>
<tr><td>571</td>
meus's avatar
meus committed
1723
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$sub&nbsp;=&nbsp;new&nbsp;Doctrine_Collection($table);
1724 1725
</td></tr>
<tr><td>572</td>
meus's avatar
meus committed
1726
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreach&nbsp;($coll&nbsp;as&nbsp;$k&nbsp;=&gt;&nbsp;$related)&nbsp;{
1727 1728
</td></tr>
<tr><td>573</td>
meus's avatar
meus committed
1729
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;($related-&gt;get($local)&nbsp;==&nbsp;$record[$identifier])&nbsp;{
1730 1731
</td></tr>
<tr><td>574</td>
meus's avatar
meus committed
1732
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$sub-&gt;add($related-&gt;get($name));
1733 1734
</td></tr>
<tr><td>575</td>
meus's avatar
meus committed
1735
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
1736 1737
</td></tr>
<tr><td>576</td>
meus's avatar
meus committed
1738
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
1739 1740
</td></tr>
<tr><td>577</td>
meus's avatar
meus committed
1741
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;data[$key]-&gt;setRelated($name,&nbsp;$sub);
1742 1743
</td></tr>
<tr><td>578</td>
meus's avatar
meus committed
1744
<td class="normal">
1745 1746
</td></tr>
<tr><td>579</td>
meus's avatar
meus committed
1747
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
1748 1749
</td></tr>
<tr><td>580</td>
meus's avatar
meus committed
1750
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
1751 1752
</td></tr>
<tr><td>581</td>
meus's avatar
meus committed
1753
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;}
1754 1755
</td></tr>
<tr><td>582</td>
meus's avatar
meus committed
1756
<td class="normal">
1757 1758
</td></tr>
<tr><td>583</td>
meus's avatar
meus committed
1759
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;/**
1760 1761
</td></tr>
<tr><td>584</td>
meus's avatar
meus committed
1762
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;getNormalIterator
1763 1764
</td></tr>
<tr><td>585</td>
meus's avatar
meus committed
1765
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;returns&nbsp;normal&nbsp;iterator&nbsp;-&nbsp;an&nbsp;iterator&nbsp;that&nbsp;will&nbsp;not&nbsp;expand&nbsp;this&nbsp;collection
1766 1767
</td></tr>
<tr><td>586</td>
meus's avatar
meus committed
1768
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*
1769 1770
</td></tr>
<tr><td>587</td>
meus's avatar
meus committed
1771
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return&nbsp;Doctrine_Iterator_Normal
1772 1773
</td></tr>
<tr><td>588</td>
meus's avatar
meus committed
1774
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/
1775 1776
</td></tr>
<tr><td>589</td>
meus's avatar
meus committed
1777
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;getNormalIterator()
1778 1779
</td></tr>
<tr><td>590</td>
meus's avatar
meus committed
1780
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;{
1781 1782
</td></tr>
<tr><td>591</td>
meus's avatar
meus committed
1783
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;new&nbsp;Doctrine_Collection_Iterator_Normal($this);
1784 1785
</td></tr>
<tr><td>592</td>
meus's avatar
meus committed
1786
<td class="orange">&nbsp;&nbsp;&nbsp;&nbsp;}
1787 1788
</td></tr>
<tr><td>593</td>
meus's avatar
meus committed
1789
<td class="normal">
1790 1791
</td></tr>
<tr><td>594</td>
meus's avatar
meus committed
1792
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;/**
1793 1794
</td></tr>
<tr><td>595</td>
meus's avatar
meus committed
1795
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;takeSnapshot
1796 1797
</td></tr>
<tr><td>596</td>
meus's avatar
meus committed
1798
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;takes&nbsp;a&nbsp;snapshot&nbsp;from&nbsp;this&nbsp;collection
1799 1800
</td></tr>
<tr><td>597</td>
meus's avatar
meus committed
1801
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*
1802 1803
</td></tr>
<tr><td>598</td>
meus's avatar
meus committed
1804
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;snapshots&nbsp;are&nbsp;used&nbsp;for&nbsp;diff&nbsp;processing,&nbsp;for&nbsp;example
1805 1806
</td></tr>
<tr><td>599</td>
meus's avatar
meus committed
1807
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;when&nbsp;a&nbsp;fetched&nbsp;collection&nbsp;has&nbsp;three&nbsp;elements,&nbsp;then&nbsp;two&nbsp;of&nbsp;those
1808 1809
</td></tr>
<tr><td>600</td>
meus's avatar
meus committed
1810
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;are&nbsp;being&nbsp;removed&nbsp;the&nbsp;diff&nbsp;would&nbsp;contain&nbsp;one&nbsp;element
1811 1812
</td></tr>
<tr><td>601</td>
meus's avatar
meus committed
1813
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*
1814 1815
</td></tr>
<tr><td>602</td>
meus's avatar
meus committed
1816
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;Doctrine_Collection::save()&nbsp;attaches&nbsp;the&nbsp;diff&nbsp;with&nbsp;the&nbsp;help&nbsp;of&nbsp;last
1817 1818
</td></tr>
<tr><td>603</td>
meus's avatar
meus committed
1819
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;snapshot.
1820 1821
</td></tr>
<tr><td>604</td>
meus's avatar
meus committed
1822
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*
1823 1824
</td></tr>
<tr><td>605</td>
meus's avatar
meus committed
1825
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return&nbsp;Doctrine_Collection
1826 1827
</td></tr>
<tr><td>606</td>
meus's avatar
meus committed
1828
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/
1829 1830
</td></tr>
<tr><td>607</td>
meus's avatar
meus committed
1831
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;takeSnapshot()
1832 1833
</td></tr>
<tr><td>608</td>
meus's avatar
meus committed
1834
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;{
1835 1836
</td></tr>
<tr><td>609</td>
meus's avatar
meus committed
1837
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;_snapshot&nbsp;=&nbsp;$this-&gt;data;
1838 1839
</td></tr>
<tr><td>610</td>
meus's avatar
meus committed
1840
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1841 1842
</td></tr>
<tr><td>611</td>
meus's avatar
meus committed
1843
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$this;
1844 1845
</td></tr>
<tr><td>612</td>
meus's avatar
meus committed
1846
<td class="orange">&nbsp;&nbsp;&nbsp;&nbsp;}
1847 1848
</td></tr>
<tr><td>613</td>
meus's avatar
meus committed
1849
<td class="normal">
1850 1851
</td></tr>
<tr><td>614</td>
meus's avatar
meus committed
1852
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;/**
1853 1854
</td></tr>
<tr><td>615</td>
meus's avatar
meus committed
1855
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;getSnapshot
1856 1857
</td></tr>
<tr><td>616</td>
meus's avatar
meus committed
1858
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;returns&nbsp;the&nbsp;data&nbsp;of&nbsp;the&nbsp;last&nbsp;snapshot
1859 1860
</td></tr>
<tr><td>617</td>
meus's avatar
meus committed
1861
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*
1862 1863
</td></tr>
<tr><td>618</td>
meus's avatar
meus committed
1864
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return&nbsp;array&nbsp;&nbsp;&nbsp;&nbsp;returns&nbsp;the&nbsp;data&nbsp;in&nbsp;last&nbsp;snapshot
1865 1866
</td></tr>
<tr><td>619</td>
meus's avatar
meus committed
1867
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/
1868 1869
</td></tr>
<tr><td>620</td>
meus's avatar
meus committed
1870
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;getSnapshot()
1871 1872
</td></tr>
<tr><td>621</td>
meus's avatar
meus committed
1873
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;{
1874 1875
</td></tr>
<tr><td>622</td>
meus's avatar
meus committed
1876
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$this-&gt;_snapshot;
1877
</td></tr>
1878
<tr><td>623</td>
meus's avatar
meus committed
1879
<td class="orange">&nbsp;&nbsp;&nbsp;&nbsp;}
1880
</td></tr>
1881
<tr><td>624</td>
meus's avatar
meus committed
1882
<td class="normal">
1883
</td></tr>
1884
<tr><td>625</td>
meus's avatar
meus committed
1885
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;/**
1886
</td></tr>
1887
<tr><td>626</td>
meus's avatar
meus committed
1888
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;processDiff
1889
</td></tr>
1890
<tr><td>627</td>
meus's avatar
meus committed
1891
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;processes&nbsp;the&nbsp;difference&nbsp;of&nbsp;the&nbsp;last&nbsp;snapshot&nbsp;and&nbsp;the&nbsp;current&nbsp;data
1892 1893
</td></tr>
<tr><td>628</td>
meus's avatar
meus committed
1894
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*
1895
</td></tr>
1896
<tr><td>629</td>
meus's avatar
meus committed
1897
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;an&nbsp;example:
1898
</td></tr>
1899
<tr><td>630</td>
meus's avatar
meus committed
1900
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;Snapshot&nbsp;with&nbsp;the&nbsp;objects&nbsp;1,&nbsp;2&nbsp;and&nbsp;4
1901 1902
</td></tr>
<tr><td>631</td>
meus's avatar
meus committed
1903
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;Current&nbsp;data&nbsp;with&nbsp;objects&nbsp;2,&nbsp;3&nbsp;and&nbsp;5
1904 1905
</td></tr>
<tr><td>632</td>
meus's avatar
meus committed
1906
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*
1907 1908
</td></tr>
<tr><td>633</td>
meus's avatar
meus committed
1909
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;The&nbsp;process&nbsp;would&nbsp;remove&nbsp;object&nbsp;4
1910 1911
</td></tr>
<tr><td>634</td>
meus's avatar
meus committed
1912
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*
1913 1914
</td></tr>
<tr><td>635</td>
meus's avatar
meus committed
1915
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return&nbsp;Doctrine_Collection
1916 1917
</td></tr>
<tr><td>636</td>
meus's avatar
meus committed
1918
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/
1919 1920
</td></tr>
<tr><td>637</td>
meus's avatar
meus committed
1921
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;processDiff()&nbsp;
1922 1923
</td></tr>
<tr><td>638</td>
meus's avatar
meus committed
1924
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;{
1925 1926
</td></tr>
<tr><td>639</td>
meus's avatar
meus committed
1927
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreach&nbsp;(array_udiff($this-&gt;_snapshot,&nbsp;$this-&gt;data,&nbsp;array($this,&nbsp;&quot;compareRecords&quot;))&nbsp;as&nbsp;$record)&nbsp;{
1928 1929
</td></tr>
<tr><td>640</td>
meus's avatar
meus committed
1930
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$record-&gt;delete();
1931 1932
</td></tr>
<tr><td>641</td>
meus's avatar
meus committed
1933
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
1934 1935
</td></tr>
<tr><td>642</td>
meus's avatar
meus committed
1936
<td class="normal">
1937 1938
</td></tr>
<tr><td>643</td>
meus's avatar
meus committed
1939
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$this;
1940 1941
</td></tr>
<tr><td>644</td>
meus's avatar
meus committed
1942
<td class="orange">&nbsp;&nbsp;&nbsp;&nbsp;}
1943 1944
</td></tr>
<tr><td>645</td>
meus's avatar
meus committed
1945
<td class="normal">
1946 1947
</td></tr>
<tr><td>646</td>
meus's avatar
meus committed
1948
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;/**
1949 1950
</td></tr>
<tr><td>647</td>
meus's avatar
meus committed
1951
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;toArray
1952
</td></tr>
1953
<tr><td>648</td>
meus's avatar
meus committed
1954
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;Mimics&nbsp;the&nbsp;result&nbsp;of&nbsp;a&nbsp;$query-&gt;execute(array(),&nbsp;Doctrine::FETCH_ARRAY);
1955
</td></tr>
1956
<tr><td>649</td>
meus's avatar
meus committed
1957
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*
1958
</td></tr>
1959
<tr><td>650</td>
meus's avatar
meus committed
1960
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;boolean&nbsp;$deep
1961
</td></tr>
1962
<tr><td>651</td>
meus's avatar
meus committed
1963
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/
1964
</td></tr>
1965
<tr><td>652</td>
meus's avatar
meus committed
1966
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;toArray($deep&nbsp;=&nbsp;false,&nbsp;$prefixKey&nbsp;=&nbsp;false)
1967
</td></tr>
1968
<tr><td>653</td>
meus's avatar
meus committed
1969
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;{
1970
</td></tr>
1971
<tr><td>654</td>
meus's avatar
meus committed
1972
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$data&nbsp;=&nbsp;array();
1973
</td></tr>
1974
<tr><td>655</td>
meus's avatar
meus committed
1975
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreach&nbsp;($this&nbsp;as&nbsp;$key&nbsp;=&gt;&nbsp;$record)&nbsp;{
1976
</td></tr>
1977
<tr><td>656</td>
meus's avatar
meus committed
1978
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1979
</td></tr>
1980
<tr><td>657</td>
meus's avatar
meus committed
1981
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$key&nbsp;=&nbsp;$prefixKey&nbsp;?&nbsp;get_class($record)&nbsp;.&nbsp;'_'&nbsp;.$key:$key;
1982
</td></tr>
1983
<tr><td>658</td>
meus's avatar
meus committed
1984
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1985
</td></tr>
1986
<tr><td>659</td>
meus's avatar
meus committed
1987
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$data[$key]&nbsp;=&nbsp;$record-&gt;toArray($deep,&nbsp;$prefixKey);
1988
</td></tr>
1989
<tr><td>660</td>
meus's avatar
meus committed
1990
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
1991
</td></tr>
1992
<tr><td>661</td>
meus's avatar
meus committed
1993
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1994
</td></tr>
1995
<tr><td>662</td>
meus's avatar
meus committed
1996
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$data;
1997
</td></tr>
1998
<tr><td>663</td>
meus's avatar
meus committed
1999
<td class="orange">&nbsp;&nbsp;&nbsp;&nbsp;}
2000
</td></tr>
2001
<tr><td>664</td>
meus's avatar
meus committed
2002
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;fromArray($array)
2003
</td></tr>
2004
<tr><td>665</td>
meus's avatar
meus committed
2005
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;{
2006
</td></tr>
2007
<tr><td>666</td>
meus's avatar
meus committed
2008
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$data&nbsp;=&nbsp;array();
2009
</td></tr>
2010
<tr><td>667</td>
meus's avatar
meus committed
2011
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreach&nbsp;($array&nbsp;as&nbsp;$row)&nbsp;{
2012
</td></tr>
2013
<tr><td>668</td>
meus's avatar
meus committed
2014
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$record&nbsp;=&nbsp;$this-&gt;_table-&gt;getRecord();
2015
</td></tr>
2016
<tr><td>669</td>
meus's avatar
meus committed
2017
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$record-&gt;fromArray($row);
2018
</td></tr>
2019
<tr><td>670</td>
meus's avatar
meus committed
2020
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
2021
</td></tr>
2022
<tr><td>671</td>
meus's avatar
meus committed
2023
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this[]&nbsp;=&nbsp;$record;
2024
</td></tr>
2025
<tr><td>672</td>
meus's avatar
meus committed
2026
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
2027
</td></tr>
2028
<tr><td>673</td>
2029 2030
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;}
</td></tr>
meus's avatar
meus committed
2031
<tr><td>674</td>
2032 2033
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;exportTo($type,&nbsp;$deep&nbsp;=&nbsp;false)
</td></tr>
meus's avatar
meus committed
2034
<tr><td>675</td>
2035 2036
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;{
</td></tr>
meus's avatar
meus committed
2037
<tr><td>676</td>
2038 2039
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;($type&nbsp;==&nbsp;'array')&nbsp;{
</td></tr>
meus's avatar
meus committed
2040
<tr><td>677</td>
2041 2042
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$this-&gt;toArray($deep);
</td></tr>
meus's avatar
meus committed
2043
<tr><td>678</td>
2044 2045
<td class="orange">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{
</td></tr>
meus's avatar
meus committed
2046
<tr><td>679</td>
2047 2048
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;Doctrine_Parser::dump($this-&gt;toArray($deep,&nbsp;true),&nbsp;$type);
</td></tr>
meus's avatar
meus committed
2049
<tr><td>680</td>
2050 2051
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
</td></tr>
meus's avatar
meus committed
2052
<tr><td>681</td>
2053 2054
<td class="orange">&nbsp;&nbsp;&nbsp;&nbsp;}
</td></tr>
meus's avatar
meus committed
2055
<tr><td>682</td>
2056 2057
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;importFrom($type,&nbsp;$data)
</td></tr>
meus's avatar
meus committed
2058
<tr><td>683</td>
2059 2060
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;{
</td></tr>
meus's avatar
meus committed
2061
<tr><td>684</td>
2062 2063
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;($type&nbsp;==&nbsp;'array')&nbsp;{
</td></tr>
meus's avatar
meus committed
2064
<tr><td>685</td>
2065 2066
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$this-&gt;fromArray($data);
</td></tr>
meus's avatar
meus committed
2067
<tr><td>686</td>
2068 2069
<td class="orange">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{
</td></tr>
meus's avatar
meus committed
2070
<tr><td>687</td>
2071 2072
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$this-&gt;fromArray(Doctrine_Parser::load($data,&nbsp;$type));
</td></tr>
meus's avatar
meus committed
2073
<tr><td>688</td>
2074 2075
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
</td></tr>
meus's avatar
meus committed
2076
<tr><td>689</td>
2077 2078
<td class="orange">&nbsp;&nbsp;&nbsp;&nbsp;}
</td></tr>
meus's avatar
meus committed
2079
<tr><td>690</td>
2080 2081
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;getDeleteDiff()
</td></tr>
meus's avatar
meus committed
2082
<tr><td>691</td>
2083 2084
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;{
</td></tr>
meus's avatar
meus committed
2085
<tr><td>692</td>
2086 2087
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;array_udiff($this-&gt;_snapshot,&nbsp;$this-&gt;data,&nbsp;array($this,&nbsp;&quot;compareRecords&quot;));
</td></tr>
meus's avatar
meus committed
2088
<tr><td>693</td>
2089 2090
<td class="orange">&nbsp;&nbsp;&nbsp;&nbsp;}
</td></tr>
meus's avatar
meus committed
2091
<tr><td>694</td>
2092 2093
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;getInsertDiff()
</td></tr>
meus's avatar
meus committed
2094
<tr><td>695</td>
2095 2096
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;{
</td></tr>
meus's avatar
meus committed
2097
<tr><td>696</td>
2098 2099
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;array_udiff($this-&gt;data,&nbsp;$this-&gt;_snapshot,&nbsp;array($this,&nbsp;&quot;compareRecords&quot;));
</td></tr>
meus's avatar
meus committed
2100
<tr><td>697</td>
2101 2102
<td class="orange">&nbsp;&nbsp;&nbsp;&nbsp;}
</td></tr>
meus's avatar
meus committed
2103
<tr><td>698</td>
2104 2105
<td class="normal">
</td></tr>
meus's avatar
meus committed
2106
<tr><td>699</td>
2107 2108
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;/**
</td></tr>
meus's avatar
meus committed
2109
<tr><td>700</td>
2110 2111
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;compareRecords
</td></tr>
meus's avatar
meus committed
2112
<tr><td>701</td>
2113 2114
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;Compares&nbsp;two&nbsp;records.&nbsp;To&nbsp;be&nbsp;used&nbsp;on&nbsp;_snapshot&nbsp;diffs&nbsp;using&nbsp;array_udiff
</td></tr>
meus's avatar
meus committed
2115
<tr><td>702</td>
2116 2117
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/
</td></tr>
meus's avatar
meus committed
2118
<tr><td>703</td>
2119 2120
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;protected&nbsp;function&nbsp;compareRecords($a,&nbsp;$b)
</td></tr>
meus's avatar
meus committed
2121
<tr><td>704</td>
2122 2123
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;{
</td></tr>
meus's avatar
meus committed
2124
<tr><td>705</td>
2125 2126
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;($a-&gt;getOid()&nbsp;==&nbsp;$b-&gt;getOid())&nbsp;return&nbsp;0;
</td></tr>
meus's avatar
meus committed
2127
<tr><td>706</td>
2128 2129
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;($a-&gt;getOid()&nbsp;&gt;&nbsp;$b-&gt;getOid())&nbsp;?&nbsp;1&nbsp;:&nbsp;-1;
</td></tr>
meus's avatar
meus committed
2130
<tr><td>707</td>
2131 2132
<td class="orange">&nbsp;&nbsp;&nbsp;&nbsp;}
</td></tr>
meus's avatar
meus committed
2133
<tr><td>708</td>
2134 2135
<td class="normal">
</td></tr>
meus's avatar
meus committed
2136
<tr><td>709</td>
2137 2138
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;/**
</td></tr>
meus's avatar
meus committed
2139
<tr><td>710</td>
2140 2141
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;save
</td></tr>
meus's avatar
meus committed
2142
<tr><td>711</td>
2143 2144
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;saves&nbsp;all&nbsp;records&nbsp;of&nbsp;this&nbsp;collection&nbsp;and&nbsp;processes&nbsp;the&nbsp;
</td></tr>
meus's avatar
meus committed
2145
<tr><td>712</td>
2146 2147
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;difference&nbsp;of&nbsp;the&nbsp;last&nbsp;snapshot&nbsp;and&nbsp;the&nbsp;current&nbsp;data
</td></tr>
meus's avatar
meus committed
2148
<tr><td>713</td>
2149 2150
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*
</td></tr>
meus's avatar
meus committed
2151
<tr><td>714</td>
2152 2153
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;Doctrine_Connection&nbsp;$conn&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;optional&nbsp;connection&nbsp;parameter
</td></tr>
meus's avatar
meus committed
2154
<tr><td>715</td>
2155 2156
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return&nbsp;Doctrine_Collection
</td></tr>
meus's avatar
meus committed
2157
<tr><td>716</td>
2158 2159
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/
</td></tr>
meus's avatar
meus committed
2160
<tr><td>717</td>
2161 2162
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;save(Doctrine_Connection&nbsp;$conn&nbsp;=&nbsp;null)
</td></tr>
meus's avatar
meus committed
2163
<tr><td>718</td>
2164 2165
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;{
</td></tr>
meus's avatar
meus committed
2166
<tr><td>719</td>
2167 2168
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;($conn&nbsp;==&nbsp;null)&nbsp;{
</td></tr>
meus's avatar
meus committed
2169
<tr><td>720</td>
2170 2171
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$conn&nbsp;=&nbsp;$this-&gt;_table-&gt;getConnection();
</td></tr>
meus's avatar
meus committed
2172
<tr><td>721</td>
2173 2174
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
</td></tr>
meus's avatar
meus committed
2175
<tr><td>722</td>
2176 2177
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$conn-&gt;beginTransaction();
</td></tr>
meus's avatar
meus committed
2178
<tr><td>723</td>
2179 2180
<td class="normal">
</td></tr>
meus's avatar
meus committed
2181
<tr><td>724</td>
2182 2183
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$conn-&gt;transaction-&gt;addCollection($this);
</td></tr>
meus's avatar
meus committed
2184
<tr><td>725</td>
2185 2186
<td class="normal">
</td></tr>
meus's avatar
meus committed
2187
<tr><td>726</td>
2188 2189
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;processDiff();
</td></tr>
meus's avatar
meus committed
2190
<tr><td>727</td>
2191 2192
<td class="normal">
</td></tr>
meus's avatar
meus committed
2193
<tr><td>728</td>
2194 2195
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreach&nbsp;($this-&gt;getData()&nbsp;as&nbsp;$key&nbsp;=&gt;&nbsp;$record)&nbsp;{
</td></tr>
meus's avatar
meus committed
2196
<tr><td>729</td>
2197 2198
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$record-&gt;save($conn);
</td></tr>
meus's avatar
meus committed
2199
<tr><td>730</td>
2200 2201
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
</td></tr>
meus's avatar
meus committed
2202
<tr><td>731</td>
2203 2204
<td class="normal">
</td></tr>
meus's avatar
meus committed
2205
<tr><td>732</td>
2206 2207
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$conn-&gt;commit();
</td></tr>
meus's avatar
meus committed
2208
<tr><td>733</td>
2209 2210
<td class="normal">
</td></tr>
meus's avatar
meus committed
2211
<tr><td>734</td>
2212 2213
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$this;
</td></tr>
meus's avatar
meus committed
2214
<tr><td>735</td>
2215 2216
<td class="orange">&nbsp;&nbsp;&nbsp;&nbsp;}
</td></tr>
meus's avatar
meus committed
2217
<tr><td>736</td>
2218 2219
<td class="normal">
</td></tr>
meus's avatar
meus committed
2220
<tr><td>737</td>
2221 2222
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;/**
</td></tr>
meus's avatar
meus committed
2223
<tr><td>738</td>
2224 2225
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;delete
</td></tr>
meus's avatar
meus committed
2226
<tr><td>739</td>
2227 2228
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;single&nbsp;shot&nbsp;delete
</td></tr>
meus's avatar
meus committed
2229
<tr><td>740</td>
2230 2231
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;deletes&nbsp;all&nbsp;records&nbsp;from&nbsp;this&nbsp;collection
</td></tr>
meus's avatar
meus committed
2232
<tr><td>741</td>
2233 2234
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;and&nbsp;uses&nbsp;only&nbsp;one&nbsp;database&nbsp;query&nbsp;to&nbsp;perform&nbsp;this&nbsp;operation
</td></tr>
meus's avatar
meus committed
2235
<tr><td>742</td>
2236 2237
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*
</td></tr>
meus's avatar
meus committed
2238
<tr><td>743</td>
2239 2240
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return&nbsp;Doctrine_Collection
</td></tr>
meus's avatar
meus committed
2241
<tr><td>744</td>
2242 2243
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/
</td></tr>
meus's avatar
meus committed
2244
<tr><td>745</td>
2245 2246
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;delete(Doctrine_Connection&nbsp;$conn&nbsp;=&nbsp;null)
</td></tr>
meus's avatar
meus committed
2247
<tr><td>746</td>
2248 2249
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;{
</td></tr>
meus's avatar
meus committed
2250
<tr><td>747</td>
2251 2252
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;($conn&nbsp;==&nbsp;null)&nbsp;{
</td></tr>
meus's avatar
meus committed
2253
<tr><td>748</td>
2254 2255
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$conn&nbsp;=&nbsp;$this-&gt;_table-&gt;getConnection();
</td></tr>
meus's avatar
meus committed
2256
<tr><td>749</td>
2257 2258
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
</td></tr>
meus's avatar
meus committed
2259
<tr><td>750</td>
2260 2261
<td class="normal">
</td></tr>
meus's avatar
meus committed
2262
<tr><td>751</td>
2263 2264
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$conn-&gt;beginTransaction();
</td></tr>
meus's avatar
meus committed
2265
<tr><td>752</td>
2266 2267
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$conn-&gt;transaction-&gt;addCollection($this);
</td></tr>
meus's avatar
meus committed
2268
<tr><td>753</td>
2269 2270
<td class="normal">
</td></tr>
meus's avatar
meus committed
2271
<tr><td>754</td>
2272 2273
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreach&nbsp;($this&nbsp;as&nbsp;$key&nbsp;=&gt;&nbsp;$record)&nbsp;{
</td></tr>
meus's avatar
meus committed
2274
<tr><td>755</td>
2275 2276
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$record-&gt;delete($conn);
</td></tr>
meus's avatar
meus committed
2277
<tr><td>756</td>
2278 2279
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
</td></tr>
meus's avatar
meus committed
2280
<tr><td>757</td>
2281 2282
<td class="normal">
</td></tr>
meus's avatar
meus committed
2283
<tr><td>758</td>
2284 2285
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$conn-&gt;commit();
</td></tr>
meus's avatar
meus committed
2286
<tr><td>759</td>
2287 2288
<td class="normal">
</td></tr>
meus's avatar
meus committed
2289
<tr><td>760</td>
2290 2291
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;data&nbsp;=&nbsp;array();
</td></tr>
meus's avatar
meus committed
2292
<tr><td>761</td>
2293 2294
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</td></tr>
meus's avatar
meus committed
2295
<tr><td>762</td>
2296 2297
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$this;
</td></tr>
meus's avatar
meus committed
2298
<tr><td>763</td>
2299 2300
<td class="orange">&nbsp;&nbsp;&nbsp;&nbsp;}
</td></tr>
meus's avatar
meus committed
2301
<tr><td>764</td>
2302 2303
<td class="normal">
</td></tr>
meus's avatar
meus committed
2304
<tr><td>765</td>
2305 2306
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;/**
</td></tr>
meus's avatar
meus committed
2307
<tr><td>766</td>
2308 2309
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;getIterator
</td></tr>
meus's avatar
meus committed
2310
<tr><td>767</td>
2311 2312
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return&nbsp;object&nbsp;ArrayIterator
</td></tr>
meus's avatar
meus committed
2313
<tr><td>768</td>
2314 2315
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/
</td></tr>
meus's avatar
meus committed
2316
<tr><td>769</td>
2317 2318
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;getIterator()
</td></tr>
meus's avatar
meus committed
2319
<tr><td>770</td>
2320 2321
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;{
</td></tr>
meus's avatar
meus committed
2322
<tr><td>771</td>
2323 2324
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$data&nbsp;=&nbsp;$this-&gt;data;
</td></tr>
meus's avatar
meus committed
2325
<tr><td>772</td>
2326 2327
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;new&nbsp;ArrayIterator($data);
</td></tr>
meus's avatar
meus committed
2328
<tr><td>773</td>
2329 2330
<td class="orange">&nbsp;&nbsp;&nbsp;&nbsp;}
</td></tr>
meus's avatar
meus committed
2331
<tr><td>774</td>
2332 2333
<td class="normal">
</td></tr>
meus's avatar
meus committed
2334
<tr><td>775</td>
2335 2336
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;/**
</td></tr>
meus's avatar
meus committed
2337
<tr><td>776</td>
2338 2339
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;returns&nbsp;a&nbsp;string&nbsp;representation&nbsp;of&nbsp;this&nbsp;object
</td></tr>
meus's avatar
meus committed
2340
<tr><td>777</td>
2341 2342
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/
</td></tr>
meus's avatar
meus committed
2343
<tr><td>778</td>
2344 2345
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;__toString()
</td></tr>
meus's avatar
meus committed
2346
<tr><td>779</td>
2347 2348
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;{
</td></tr>
meus's avatar
meus committed
2349
<tr><td>780</td>
2350 2351
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;Doctrine_Lib::getCollectionAsString($this);
</td></tr>
meus's avatar
meus committed
2352
<tr><td>781</td>
2353 2354
<td class="orange">&nbsp;&nbsp;&nbsp;&nbsp;}
</td></tr>
meus's avatar
meus committed
2355
<tr><td>782</td>
meus's avatar
meus committed
2356 2357
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;
</td></tr>
meus's avatar
meus committed
2358
<tr><td>783</td>
meus's avatar
meus committed
2359 2360
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;/**
</td></tr>
meus's avatar
meus committed
2361
<tr><td>784</td>
meus's avatar
meus committed
2362 2363
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;returns&nbsp;the&nbsp;relation&nbsp;object
</td></tr>
meus's avatar
meus committed
2364
<tr><td>785</td>
meus's avatar
meus committed
2365 2366
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return&nbsp;object&nbsp;Doctrine_Relation
</td></tr>
meus's avatar
meus committed
2367
<tr><td>786</td>
meus's avatar
meus committed
2368 2369
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/
</td></tr>
meus's avatar
meus committed
2370
<tr><td>787</td>
meus's avatar
meus committed
2371 2372
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;getRelation()
</td></tr>
meus's avatar
meus committed
2373
<tr><td>788</td>
meus's avatar
meus committed
2374 2375
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;{
</td></tr>
meus's avatar
meus committed
2376
<tr><td>789</td>
meus's avatar
meus committed
2377 2378
<td class="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$this-&gt;relation;
</td></tr>
meus's avatar
meus committed
2379
<tr><td>790</td>
meus's avatar
meus committed
2380 2381
<td class="orange">&nbsp;&nbsp;&nbsp;&nbsp;}
</td></tr>
meus's avatar
meus committed
2382
<tr><td>791</td>
2383 2384 2385
<td class="normal">}
</td></tr>
</table></body></html>