Release 0.52
[awl.git] / docs / api / awl / DataUpdate / DBRecord.html
blobdaa3a4c975ca8a9581f44daf45c51caffc4f7f96
1 <?xml version="1.0" encoding="iso-8859-1"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml">
4 <head>
5 <!-- template designed by Marco Von Ballmoos -->
6 <title>Docs For Class DBRecord</title>
7 <link rel="stylesheet" href="../../media/stylesheet.css" />
8 <script src="../../media/lib/classTree.js"></script>
9 <script language="javascript" type="text/javascript">
10 var imgPlus = new Image();
11 var imgMinus = new Image();
12 imgPlus.src = "../../media/images/plus.png";
13 imgMinus.src = "../../media/images/minus.png";
15 function showNode(Node){
16 switch(navigator.family){
17 case 'nn4':
18 // Nav 4.x code fork...
19 var oTable = document.layers["span" + Node];
20 var oImg = document.layers["img" + Node];
21 break;
22 case 'ie4':
23 // IE 4/5 code fork...
24 var oTable = document.all["span" + Node];
25 var oImg = document.all["img" + Node];
26 break;
27 case 'gecko':
28 // Standards Compliant code fork...
29 var oTable = document.getElementById("span" + Node);
30 var oImg = document.getElementById("img" + Node);
31 break;
33 oImg.src = imgMinus.src;
34 oTable.style.display = "block";
37 function hideNode(Node){
38 switch(navigator.family){
39 case 'nn4':
40 // Nav 4.x code fork...
41 var oTable = document.layers["span" + Node];
42 var oImg = document.layers["img" + Node];
43 break;
44 case 'ie4':
45 // IE 4/5 code fork...
46 var oTable = document.all["span" + Node];
47 var oImg = document.all["img" + Node];
48 break;
49 case 'gecko':
50 // Standards Compliant code fork...
51 var oTable = document.getElementById("span" + Node);
52 var oImg = document.getElementById("img" + Node);
53 break;
55 oImg.src = imgPlus.src;
56 oTable.style.display = "none";
59 function nodeIsVisible(Node){
60 switch(navigator.family){
61 case 'nn4':
62 // Nav 4.x code fork...
63 var oTable = document.layers["span" + Node];
64 break;
65 case 'ie4':
66 // IE 4/5 code fork...
67 var oTable = document.all["span" + Node];
68 break;
69 case 'gecko':
70 // Standards Compliant code fork...
71 var oTable = document.getElementById("span" + Node);
72 break;
74 return (oTable && oTable.style.display == "block");
77 function toggleNodeVisibility(Node){
78 if (nodeIsVisible(Node)){
79 hideNode(Node);
80 }else{
81 showNode(Node);
84 </script>
85 </head>
86 <body>
87 <div class="page-body">
88 <h2 class="class-name"><img src="../../media/images/Class_logo.png"
89 alt=" Class"
90 title=" Class"
91 style="vertical-align: middle"> DBRecord</h2>
93 <a name="sec-description"></a>
94 <div class="info-box">
95 <div class="info-box-title">Description</div>
96 <div class="nav-bar">
97 <span class="disabled">Description</span> |
98 <a href="#sec-descendents">Descendents</a>
99 | <a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>)
100 | <a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>)
102 </div>
103 <div class="info-box-body">
104 <!-- ========== Info from phpDoc block ========= -->
105 <p class="short-description">A Base class to use for records which will be read/written from the database.</p>
106 <p class="notes">
107 Located in <a class="field" href="_DataUpdate.php.html">/DataUpdate.php</a> (line <span class="field">122</span>)
108 </p>
111 <pre></pre>
113 </div>
114 </div>
116 <a name="sec-descendents"></a>
117 <div class="info-box">
118 <div class="info-box-title">Direct descendents</div>
119 <div class="nav-bar">
120 <a href="#sec-description">Description</a> |
121 <span class="disabled">Descendents</span>
122 | <a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>)
123 | <a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>)
125 </div>
126 <div class="info-box-body">
127 <table cellpadding="2" cellspacing="0" class="class-table">
128 <tr>
129 <th class="class-table-header">Class</th>
130 <th class="class-table-header">Description</th>
131 </tr>
132 <tr>
133 <td style="padding-right: 2em; white-space: nowrap">
134 <img src="../../media/images/Class.png"
135 alt=" class"
136 title=" class"
137 style="vertical-align: center"/>
138 <a href="../../awl/User/User.html">User</a>
139 </td>
140 <td>
141 A class to handle reading, writing, viewing, editing and validating usr records.
142 </td>
143 </tr>
144 </table>
145 </div>
146 </div>
149 <a name="sec-var-summary"></a>
150 <div class="info-box">
151 <div class="info-box-title">Variable Summary</span></div>
152 <div class="nav-bar">
153 <a href="#sec-description">Description</a> |
154 <a href="#sec-descendents">Descendants</a> |
155 <span class="disabled">Vars</span> (<a href="#sec-vars">details</a>)
157 <a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>)
159 </div>
160 <div class="info-box-body">
161 <div class="var-summary">
162 <div class="var-title">
163 <img src="../../media/images/Variable.png" alt=" " />
164 <span class="var-type">object</span>
165 <a href="#$EditMode" title="details" class="var-name">$EditMode</a>
166 </div>
167 </div>
168 </div>
169 </div>
171 <a name="sec-method-summary"></a>
172 <div class="info-box">
173 <div class="info-box-title">Method Summary</span></div>
174 <div class="nav-bar">
175 <a href="#sec-description">Description</a> |
176 <a href="#sec-descendents">Descendants</a> |
177 <a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>)
180 <span class="disabled">Methods</span> (<a href="#sec-methods">details</a>)
181 </div>
182 <div class="info-box-body">
183 <div class="method-summary">
185 <div class="method-definition">
186 <img src="../../media/images/Constructor.png" alt=" "/>
187 <span class="method-result">DBRecord</span>
188 <a href="#DBRecord" title="details" class="method-name">DBRecord</a>
190 </div>
192 <div class="method-definition">
193 <img src="../../media/images/Method.png" alt=" "/>
194 <span class="method-result">void</span>
195 <a href="#AddTable" title="details" class="method-name">AddTable</a>
196 (<span class="var-type">string</span>&nbsp;<span class="var-name">$table</span>, <span class="var-type"></span>&nbsp;<span class="var-name">$target_list</span>, <span class="var-type"></span>&nbsp;<span class="var-name">$join_clause</span>, <span class="var-type"></span>&nbsp;<span class="var-name">$and_where</span>, <span class="var-type">array</span>&nbsp;<span class="var-name">$keys</span>, <span class="var-type">string</span>&nbsp;<span class="var-name">$join</span>, <span class="var-type">string</span>&nbsp;<span class="var-name">$prefix</span>)
197 </div>
199 <div class="method-definition">
200 <img src="../../media/images/Method.png" alt=" "/>
201 <span class="method-result">mixed</span>
202 <a href="#Get" title="details" class="method-name">Get</a>
203 (<span class="var-type">string</span>&nbsp;<span class="var-name">$fname</span>)
204 </div>
206 <div class="method-definition">
207 <img src="../../media/images/Method.png" alt=" "/>
208 <span class="method-result">void</span>
209 <a href="#Initialise" title="details" class="method-name">Initialise</a>
210 (<span class="var-type">string</span>&nbsp;<span class="var-name">$table</span>, [<span class="var-type">array</span>&nbsp;<span class="var-name">$keys</span> = <span class="var-default">array()</span>])
211 </div>
213 <div class="method-definition">
214 <img src="../../media/images/Method.png" alt=" "/>
215 <span class="method-result">void</span>
216 <a href="#PostToValues" title="details" class="method-name">PostToValues</a>
217 ([<span class="var-type"></span>&nbsp;<span class="var-name">$prefix</span> = <span class="var-default">&quot;&quot;</span>])
218 </div>
220 <div class="method-definition">
221 <img src="../../media/images/Method.png" alt=" "/>
222 <span class="method-result">boolean</span>
223 <a href="#Read" title="details" class="method-name">Read</a>
225 </div>
227 <div class="method-definition">
228 <img src="../../media/images/Method.png" alt=" "/>
229 <span class="method-result">mixed</span>
230 <a href="#Set" title="details" class="method-name">Set</a>
231 (<span class="var-type">string</span>&nbsp;<span class="var-name">$fname</span>, <span class="var-type">string</span>&nbsp;<span class="var-name">$fval</span>)
232 </div>
234 <div class="method-definition">
235 <img src="../../media/images/Method.png" alt=" "/>
236 <span class="method-result">mixed</span>
237 <a href="#Undefine" title="details" class="method-name">Undefine</a>
238 (<span class="var-type">string</span>&nbsp;<span class="var-name">$fname</span>)
239 </div>
241 <div class="method-definition">
242 <img src="../../media/images/Method.png" alt=" "/>
243 <span class="method-result">boolean</span>
244 <a href="#Write" title="details" class="method-name">Write</a>
246 </div>
248 <div class="method-definition">
249 <img src="../../media/images/Method.png" alt=" "/>
250 <span class="method-result">string</span>
251 <a href="#_BuildFieldList" title="details" class="method-name">_BuildFieldList</a>
253 </div>
255 <div class="method-definition">
256 <img src="../../media/images/Method.png" alt=" "/>
257 <span class="method-result">string</span>
258 <a href="#_BuildJoinClause" title="details" class="method-name">_BuildJoinClause</a>
260 </div>
262 <div class="method-definition">
263 <img src="../../media/images/Method.png" alt=" "/>
264 <span class="method-result">string</span>
265 <a href="#_BuildWhereClause" title="details" class="method-name">_BuildWhereClause</a>
266 ([<span class="var-type">boolean</span>&nbsp;<span class="var-name">$overwrite_values</span> = <span class="var-default">false</span>])
267 </div>
268 </div>
269 </div>
270 </div>
272 <a name="sec-vars"></a>
273 <div class="info-box">
274 <div class="info-box-title">Variables</div>
275 <div class="nav-bar">
276 <a href="#sec-description">Description</a> |
277 <a href="#sec-descendents">Descendents</a> |
278 <a href="#sec-var-summary">Vars</a> (<span class="disabled">details</span>)
282 <a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>)
284 </div>
285 <div class="info-box-body">
287 Strict Standards: Only variables should be passed by reference in /usr/share/php/PhpDocumentor/phpDocumentor/Smarty-2.6.0/libs/Smarty_Compiler.class.php on line 712
289 Warning: strftime(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone. in /usr/share/php/PhpDocumentor/phpDocumentor/Smarty-2.6.0/libs/Smarty_Compiler.class.php on line 370
291 <a name="var$EditMode" id="$EditMode"><!-- --></A>
292 <div class="evenrow">
294 <div class="var-header">
295 <img src="../../media/images/Variable.png" />
296 <span class="var-title">
297 <span class="var-type">object</span>
298 <span class="var-name">$EditMode</span>
299 (line <span class="line-number">195</span>)
300 </span>
301 </div>
303 <!-- ========== Info from phpDoc block ========= -->
304 <p class="short-description">The mode we are in for any form</p>
305 <ul class="tags">
306 <li><span class="field">access:</span> public</li>
307 </ul>
313 </div>
315 </div>
316 </div>
318 <a name="sec-methods"></a>
319 <div class="info-box">
320 <div class="info-box-title">Methods</div>
321 <div class="nav-bar">
322 <a href="#sec-description">Description</a> |
323 <a href="#sec-descendents">Descendents</a> |
324 <a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>)
325 <a href="#sec-method-summary">Methods</a> (<span class="disabled">details</span>)
327 </div>
328 <div class="info-box-body">
329 <A NAME='method_detail'></A>
330 <a name="methodDBRecord" id="DBRecord"><!-- --></a>
331 <div class="oddrow">
333 <div class="method-header">
334 <img src="../../media/images/Constructor.png" />
335 <span class="method-title">Constructor DBRecord</span> (line <span class="line-number">202</span>)
336 </div>
338 <!-- ========== Info from phpDoc block ========= -->
339 <p class="short-description">Really numbingly simple construction.</p>
341 <div class="method-signature">
342 <span class="method-result">DBRecord</span>
343 <span class="method-name">
344 DBRecord
345 </span>
347 </div>
351 </div>
352 <a name="methodAddTable" id="AddTable"><!-- --></a>
353 <div class="evenrow">
355 <div class="method-header">
356 <img src="../../media/images/Method.png" />
357 <span class="method-title">AddTable</span> (line <span class="line-number">233</span>)
358 </div>
360 <!-- ========== Info from phpDoc block ========= -->
361 <p class="short-description">This will join an additional table to the maintained set</p>
363 <div class="method-signature">
364 <span class="method-result">void</span>
365 <span class="method-name">
366 AddTable
367 </span>
368 (<span class="var-type">string</span>&nbsp;<span class="var-name">$table</span>, <span class="var-type"></span>&nbsp;<span class="var-name">$target_list</span>, <span class="var-type"></span>&nbsp;<span class="var-name">$join_clause</span>, <span class="var-type"></span>&nbsp;<span class="var-name">$and_where</span>, <span class="var-type">array</span>&nbsp;<span class="var-name">$keys</span>, <span class="var-type">string</span>&nbsp;<span class="var-name">$join</span>, <span class="var-type">string</span>&nbsp;<span class="var-name">$prefix</span>)
369 </div>
371 <ul class="parameters">
372 <li>
373 <span class="var-type">string</span>
374 <span class="var-name">$table</span><span class="var-description">: The name of the database table</span> </li>
375 <li>
376 <span class="var-type">array</span>
377 <span class="var-name">$keys</span><span class="var-description">: An associative array containing fieldname =&gt; value pairs for the record key.</span> </li>
378 <li>
379 <span class="var-type">string</span>
380 <span class="var-name">$join</span><span class="var-description">: A PostgreSQL join clause.</span> </li>
381 <li>
382 <span class="var-type">string</span>
383 <span class="var-name">$prefix</span><span class="var-description">: A field prefix to use for these fields to distinguish them from fields in other joined tables with the same name.</span> </li>
384 <li>
385 <span class="var-type"></span>
386 <span class="var-name">$target_list</span> </li>
387 <li>
388 <span class="var-type"></span>
389 <span class="var-name">$join_clause</span> </li>
390 <li>
391 <span class="var-type"></span>
392 <span class="var-name">$and_where</span> </li>
393 </ul>
396 </div>
397 <a name="methodGet" id="Get"><!-- --></a>
398 <div class="oddrow">
400 <div class="method-header">
401 <img src="../../media/images/Method.png" />
402 <span class="method-title">Get</span> (line <span class="line-number">333</span>)
403 </div>
405 <!-- ========== Info from phpDoc block ========= -->
406 <p class="short-description">Returns a single field from the record</p>
407 <ul class="tags">
408 <li><span class="field">return:</span> The current value of the field.</li>
409 </ul>
411 <div class="method-signature">
412 <span class="method-result">mixed</span>
413 <span class="method-name">
415 </span>
416 (<span class="var-type">string</span>&nbsp;<span class="var-name">$fname</span>)
417 </div>
419 <ul class="parameters">
420 <li>
421 <span class="var-type">string</span>
422 <span class="var-name">$fname</span><span class="var-description">: The name of the field to set the value for</span> </li>
423 </ul>
426 </div>
427 <a name="methodInitialise" id="Initialise"><!-- --></a>
428 <div class="evenrow">
430 <div class="method-header">
431 <img src="../../media/images/Method.png" />
432 <span class="method-title">Initialise</span> (line <span class="line-number">217</span>)
433 </div>
435 <!-- ========== Info from phpDoc block ========= -->
436 <p class="short-description">This will read the record from the database if it's available, and the $keys parameter is a non-empty array.</p>
438 <div class="method-signature">
439 <span class="method-result">void</span>
440 <span class="method-name">
441 Initialise
442 </span>
443 (<span class="var-type">string</span>&nbsp;<span class="var-name">$table</span>, [<span class="var-type">array</span>&nbsp;<span class="var-name">$keys</span> = <span class="var-default">array()</span>])
444 </div>
446 <ul class="parameters">
447 <li>
448 <span class="var-type">string</span>
449 <span class="var-name">$table</span><span class="var-description">: The name of the database table</span> </li>
450 <li>
451 <span class="var-type">array</span>
452 <span class="var-name">$keys</span><span class="var-description">: An associative array containing fieldname =&gt; value pairs for the record key.</span> </li>
453 </ul>
456 </div>
457 <a name="methodPostToValues" id="PostToValues"><!-- --></a>
458 <div class="oddrow">
460 <div class="method-header">
461 <img src="../../media/images/Method.png" />
462 <span class="method-title">PostToValues</span> (line <span class="line-number">245</span>)
463 </div>
465 <!-- ========== Info from phpDoc block ========= -->
466 <p class="short-description">This will assign $_POST values to the internal Values object for each field that exists in the Fields array.</p>
468 <div class="method-signature">
469 <span class="method-result">void</span>
470 <span class="method-name">
471 PostToValues
472 </span>
473 ([<span class="var-type"></span>&nbsp;<span class="var-name">$prefix</span> = <span class="var-default">&quot;&quot;</span>])
474 </div>
476 <ul class="parameters">
477 <li>
478 <span class="var-type"></span>
479 <span class="var-name">$prefix</span> </li>
480 </ul>
483 </div>
484 <a name="methodRead" id="Read"><!-- --></a>
485 <div class="evenrow">
487 <div class="method-header">
488 <img src="../../media/images/Method.png" />
489 <span class="method-title">Read</span> (line <span class="line-number">367</span>)
490 </div>
492 <!-- ========== Info from phpDoc block ========= -->
493 <p class="short-description">To read the record from the database.</p>
494 <p class="description"><p>If we don't have any keys then the record will be blank.</p></p>
495 <ul class="tags">
496 <li><span class="field">return:</span> Whether we actually read a record.</li>
497 </ul>
499 <div class="method-signature">
500 <span class="method-result">boolean</span>
501 <span class="method-name">
502 Read
503 </span>
505 </div>
509 </div>
510 <a name="methodSet" id="Set"><!-- --></a>
511 <div class="oddrow">
513 <div class="method-header">
514 <img src="../../media/images/Method.png" />
515 <span class="method-title">Set</span> (line <span class="line-number">322</span>)
516 </div>
518 <!-- ========== Info from phpDoc block ========= -->
519 <p class="short-description">Sets a single field in the record</p>
520 <ul class="tags">
521 <li><span class="field">return:</span> The new value of the field (i.e. $fval).</li>
522 </ul>
524 <div class="method-signature">
525 <span class="method-result">mixed</span>
526 <span class="method-name">
528 </span>
529 (<span class="var-type">string</span>&nbsp;<span class="var-name">$fname</span>, <span class="var-type">string</span>&nbsp;<span class="var-name">$fval</span>)
530 </div>
532 <ul class="parameters">
533 <li>
534 <span class="var-type">string</span>
535 <span class="var-name">$fname</span><span class="var-description">: The name of the field to set the value for</span> </li>
536 <li>
537 <span class="var-type">string</span>
538 <span class="var-name">$fval</span><span class="var-description">: The value to set the field to</span> </li>
539 </ul>
542 </div>
543 <a name="methodUndefine" id="Undefine"><!-- --></a>
544 <div class="evenrow">
546 <div class="method-header">
547 <img src="../../media/images/Method.png" />
548 <span class="method-title">Undefine</span> (line <span class="line-number">343</span>)
549 </div>
551 <!-- ========== Info from phpDoc block ========= -->
552 <p class="short-description">Unsets a single field from the record</p>
553 <ul class="tags">
554 <li><span class="field">return:</span> The current value of the field.</li>
555 </ul>
557 <div class="method-signature">
558 <span class="method-result">mixed</span>
559 <span class="method-name">
560 Undefine
561 </span>
562 (<span class="var-type">string</span>&nbsp;<span class="var-name">$fname</span>)
563 </div>
565 <ul class="parameters">
566 <li>
567 <span class="var-type">string</span>
568 <span class="var-name">$fname</span><span class="var-description">: The name of the field to unset the value for</span> </li>
569 </ul>
572 </div>
573 <a name="methodWrite" id="Write"><!-- --></a>
574 <div class="oddrow">
576 <div class="method-header">
577 <img src="../../media/images/Method.png" />
578 <span class="method-title">Write</span> (line <span class="line-number">355</span>)
579 </div>
581 <!-- ========== Info from phpDoc block ========= -->
582 <p class="short-description">To write the record to the database</p>
583 <ul class="tags">
584 <li><span class="field">return:</span> Success.</li>
585 </ul>
587 <div class="method-signature">
588 <span class="method-result">boolean</span>
589 <span class="method-name">
590 Write
591 </span>
593 </div>
597 <hr class="separator" />
598 <div class="notes">Redefined in descendants as:</div>
599 <ul class="redefinitions">
600 <li>
601 <a href="../../awl/User/User.html#methodWrite">User::Write()</a>
602 : Write the User record.
603 </li>
604 </ul>
605 </div>
606 <a name="method_BuildFieldList" id="_BuildFieldList"><!-- --></a>
607 <div class="evenrow">
609 <div class="method-header">
610 <img src="../../media/images/Method.png" />
611 <span class="method-title">_BuildFieldList</span> (line <span class="line-number">274</span>)
612 </div>
614 <!-- ========== Info from phpDoc block ========= -->
615 <p class="short-description">Builds a field target list</p>
616 <ul class="tags">
617 <li><span class="field">return:</span> A simple SQL target field list for each field, possibly including prefixes.</li>
618 </ul>
620 <div class="method-signature">
621 <span class="method-result">string</span>
622 <span class="method-name">
623 _BuildFieldList
624 </span>
626 </div>
630 </div>
631 <a name="method_BuildJoinClause" id="_BuildJoinClause"><!-- --></a>
632 <div class="oddrow">
634 <div class="method-header">
635 <img src="../../media/images/Method.png" />
636 <span class="method-title">_BuildJoinClause</span> (line <span class="line-number">259</span>)
637 </div>
639 <!-- ========== Info from phpDoc block ========= -->
640 <p class="short-description">Builds a table join clause</p>
641 <ul class="tags">
642 <li><span class="field">return:</span> A simple SQL target join clause excluding the primary table.</li>
643 </ul>
645 <div class="method-signature">
646 <span class="method-result">string</span>
647 <span class="method-name">
648 _BuildJoinClause
649 </span>
651 </div>
655 </div>
656 <a name="method_BuildWhereClause" id="_BuildWhereClause"><!-- --></a>
657 <div class="evenrow">
659 <div class="method-header">
660 <img src="../../media/images/Method.png" />
661 <span class="method-title">_BuildWhereClause</span> (line <span class="line-number">295</span>)
662 </div>
664 <!-- ========== Info from phpDoc block ========= -->
665 <p class="short-description">Builds a where clause to match the supplied keys</p>
666 <ul class="tags">
667 <li><span class="field">return:</span> A simple SQL where clause, including the initial &quot;WHERE&quot;, for each key / value.</li>
668 </ul>
670 <div class="method-signature">
671 <span class="method-result">string</span>
672 <span class="method-name">
673 _BuildWhereClause
674 </span>
675 ([<span class="var-type">boolean</span>&nbsp;<span class="var-name">$overwrite_values</span> = <span class="var-default">false</span>])
676 </div>
678 <ul class="parameters">
679 <li>
680 <span class="var-type">boolean</span>
681 <span class="var-name">$overwrite_values</span><span class="var-description">: Controls whether the data values for the key fields will be forced to match the key values</span> </li>
682 </ul>
685 </div>
687 </div>
688 </div>
691 <p class="notes" id="credit">
692 Documentation generated on Sun, 17 Jun 2012 10:00:16 +0000 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.4.3</a>
693 </p>
694 </div></body>
695 </html>