The real release 0.46 :-)
[awl.git] / docs / api / awl / DataUpdate / DBRecord.html
blob83b643002cc7441af4458b233d739fb010078b9e
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">120</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 <a name="var$EditMode" id="$EditMode"><!-- --></A>
288 <div class="evenrow">
290 <div class="var-header">
291 <img src="../../media/images/Variable.png" />
292 <span class="var-title">
293 <span class="var-type">object</span>
294 <span class="var-name">$EditMode</span>
295 (line <span class="line-number">193</span>)
296 </span>
297 </div>
299 <!-- ========== Info from phpDoc block ========= -->
300 <p class="short-description">The mode we are in for any form</p>
301 <ul class="tags">
302 <li><span class="field">access:</span> public</li>
303 </ul>
309 </div>
311 </div>
312 </div>
314 <a name="sec-methods"></a>
315 <div class="info-box">
316 <div class="info-box-title">Methods</div>
317 <div class="nav-bar">
318 <a href="#sec-description">Description</a> |
319 <a href="#sec-descendents">Descendents</a> |
320 <a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>)
321 <a href="#sec-method-summary">Methods</a> (<span class="disabled">details</span>)
323 </div>
324 <div class="info-box-body">
325 <A NAME='method_detail'></A>
326 <a name="methodDBRecord" id="DBRecord"><!-- --></a>
327 <div class="oddrow">
329 <div class="method-header">
330 <img src="../../media/images/Constructor.png" />
331 <span class="method-title">Constructor DBRecord</span> (line <span class="line-number">200</span>)
332 </div>
334 <!-- ========== Info from phpDoc block ========= -->
335 <p class="short-description">Really numbingly simple construction.</p>
337 <div class="method-signature">
338 <span class="method-result">DBRecord</span>
339 <span class="method-name">
340 DBRecord
341 </span>
343 </div>
347 </div>
348 <a name="methodAddTable" id="AddTable"><!-- --></a>
349 <div class="evenrow">
351 <div class="method-header">
352 <img src="../../media/images/Method.png" />
353 <span class="method-title">AddTable</span> (line <span class="line-number">231</span>)
354 </div>
356 <!-- ========== Info from phpDoc block ========= -->
357 <p class="short-description">This will join an additional table to the maintained set</p>
359 <div class="method-signature">
360 <span class="method-result">void</span>
361 <span class="method-name">
362 AddTable
363 </span>
364 (<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>)
365 </div>
367 <ul class="parameters">
368 <li>
369 <span class="var-type">string</span>
370 <span class="var-name">$table</span><span class="var-description">: The name of the database table</span> </li>
371 <li>
372 <span class="var-type">array</span>
373 <span class="var-name">$keys</span><span class="var-description">: An associative array containing fieldname =&gt; value pairs for the record key.</span> </li>
374 <li>
375 <span class="var-type">string</span>
376 <span class="var-name">$join</span><span class="var-description">: A PostgreSQL join clause.</span> </li>
377 <li>
378 <span class="var-type">string</span>
379 <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>
380 <li>
381 <span class="var-type"></span>
382 <span class="var-name">$target_list</span> </li>
383 <li>
384 <span class="var-type"></span>
385 <span class="var-name">$join_clause</span> </li>
386 <li>
387 <span class="var-type"></span>
388 <span class="var-name">$and_where</span> </li>
389 </ul>
392 </div>
393 <a name="methodGet" id="Get"><!-- --></a>
394 <div class="oddrow">
396 <div class="method-header">
397 <img src="../../media/images/Method.png" />
398 <span class="method-title">Get</span> (line <span class="line-number">331</span>)
399 </div>
401 <!-- ========== Info from phpDoc block ========= -->
402 <p class="short-description">Returns a single field from the record</p>
403 <ul class="tags">
404 <li><span class="field">return:</span> The current value of the field.</li>
405 </ul>
407 <div class="method-signature">
408 <span class="method-result">mixed</span>
409 <span class="method-name">
411 </span>
412 (<span class="var-type">string</span>&nbsp;<span class="var-name">$fname</span>)
413 </div>
415 <ul class="parameters">
416 <li>
417 <span class="var-type">string</span>
418 <span class="var-name">$fname</span><span class="var-description">: The name of the field to set the value for</span> </li>
419 </ul>
422 </div>
423 <a name="methodInitialise" id="Initialise"><!-- --></a>
424 <div class="evenrow">
426 <div class="method-header">
427 <img src="../../media/images/Method.png" />
428 <span class="method-title">Initialise</span> (line <span class="line-number">215</span>)
429 </div>
431 <!-- ========== Info from phpDoc block ========= -->
432 <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>
434 <div class="method-signature">
435 <span class="method-result">void</span>
436 <span class="method-name">
437 Initialise
438 </span>
439 (<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>])
440 </div>
442 <ul class="parameters">
443 <li>
444 <span class="var-type">string</span>
445 <span class="var-name">$table</span><span class="var-description">: The name of the database table</span> </li>
446 <li>
447 <span class="var-type">array</span>
448 <span class="var-name">$keys</span><span class="var-description">: An associative array containing fieldname =&gt; value pairs for the record key.</span> </li>
449 </ul>
452 </div>
453 <a name="methodPostToValues" id="PostToValues"><!-- --></a>
454 <div class="oddrow">
456 <div class="method-header">
457 <img src="../../media/images/Method.png" />
458 <span class="method-title">PostToValues</span> (line <span class="line-number">243</span>)
459 </div>
461 <!-- ========== Info from phpDoc block ========= -->
462 <p class="short-description">This will assign $_POST values to the internal Values object for each field that exists in the Fields array.</p>
464 <div class="method-signature">
465 <span class="method-result">void</span>
466 <span class="method-name">
467 PostToValues
468 </span>
469 ([<span class="var-type"></span>&nbsp;<span class="var-name">$prefix</span> = <span class="var-default">&quot;&quot;</span>])
470 </div>
472 <ul class="parameters">
473 <li>
474 <span class="var-type"></span>
475 <span class="var-name">$prefix</span> </li>
476 </ul>
479 </div>
480 <a name="methodRead" id="Read"><!-- --></a>
481 <div class="evenrow">
483 <div class="method-header">
484 <img src="../../media/images/Method.png" />
485 <span class="method-title">Read</span> (line <span class="line-number">365</span>)
486 </div>
488 <!-- ========== Info from phpDoc block ========= -->
489 <p class="short-description">To read the record from the database.</p>
490 <p class="description"><p>If we don't have any keys then the record will be blank.</p></p>
491 <ul class="tags">
492 <li><span class="field">return:</span> Whether we actually read a record.</li>
493 </ul>
495 <div class="method-signature">
496 <span class="method-result">boolean</span>
497 <span class="method-name">
498 Read
499 </span>
501 </div>
505 </div>
506 <a name="methodSet" id="Set"><!-- --></a>
507 <div class="oddrow">
509 <div class="method-header">
510 <img src="../../media/images/Method.png" />
511 <span class="method-title">Set</span> (line <span class="line-number">320</span>)
512 </div>
514 <!-- ========== Info from phpDoc block ========= -->
515 <p class="short-description">Sets a single field in the record</p>
516 <ul class="tags">
517 <li><span class="field">return:</span> The new value of the field (i.e. $fval).</li>
518 </ul>
520 <div class="method-signature">
521 <span class="method-result">mixed</span>
522 <span class="method-name">
524 </span>
525 (<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>)
526 </div>
528 <ul class="parameters">
529 <li>
530 <span class="var-type">string</span>
531 <span class="var-name">$fname</span><span class="var-description">: The name of the field to set the value for</span> </li>
532 <li>
533 <span class="var-type">string</span>
534 <span class="var-name">$fval</span><span class="var-description">: The value to set the field to</span> </li>
535 </ul>
538 </div>
539 <a name="methodUndefine" id="Undefine"><!-- --></a>
540 <div class="evenrow">
542 <div class="method-header">
543 <img src="../../media/images/Method.png" />
544 <span class="method-title">Undefine</span> (line <span class="line-number">341</span>)
545 </div>
547 <!-- ========== Info from phpDoc block ========= -->
548 <p class="short-description">Unsets a single field from the record</p>
549 <ul class="tags">
550 <li><span class="field">return:</span> The current value of the field.</li>
551 </ul>
553 <div class="method-signature">
554 <span class="method-result">mixed</span>
555 <span class="method-name">
556 Undefine
557 </span>
558 (<span class="var-type">string</span>&nbsp;<span class="var-name">$fname</span>)
559 </div>
561 <ul class="parameters">
562 <li>
563 <span class="var-type">string</span>
564 <span class="var-name">$fname</span><span class="var-description">: The name of the field to unset the value for</span> </li>
565 </ul>
568 </div>
569 <a name="methodWrite" id="Write"><!-- --></a>
570 <div class="oddrow">
572 <div class="method-header">
573 <img src="../../media/images/Method.png" />
574 <span class="method-title">Write</span> (line <span class="line-number">353</span>)
575 </div>
577 <!-- ========== Info from phpDoc block ========= -->
578 <p class="short-description">To write the record to the database</p>
579 <ul class="tags">
580 <li><span class="field">return:</span> Success.</li>
581 </ul>
583 <div class="method-signature">
584 <span class="method-result">boolean</span>
585 <span class="method-name">
586 Write
587 </span>
589 </div>
593 <hr class="separator" />
594 <div class="notes">Redefined in descendants as:</div>
595 <ul class="redefinitions">
596 <li>
597 <a href="../../awl/User/User.html#methodWrite">User::Write()</a>
598 : Write the User record.
599 </li>
600 </ul>
601 </div>
602 <a name="method_BuildFieldList" id="_BuildFieldList"><!-- --></a>
603 <div class="evenrow">
605 <div class="method-header">
606 <img src="../../media/images/Method.png" />
607 <span class="method-title">_BuildFieldList</span> (line <span class="line-number">272</span>)
608 </div>
610 <!-- ========== Info from phpDoc block ========= -->
611 <p class="short-description">Builds a field target list</p>
612 <ul class="tags">
613 <li><span class="field">return:</span> A simple SQL target field list for each field, possibly including prefixes.</li>
614 </ul>
616 <div class="method-signature">
617 <span class="method-result">string</span>
618 <span class="method-name">
619 _BuildFieldList
620 </span>
622 </div>
626 </div>
627 <a name="method_BuildJoinClause" id="_BuildJoinClause"><!-- --></a>
628 <div class="oddrow">
630 <div class="method-header">
631 <img src="../../media/images/Method.png" />
632 <span class="method-title">_BuildJoinClause</span> (line <span class="line-number">257</span>)
633 </div>
635 <!-- ========== Info from phpDoc block ========= -->
636 <p class="short-description">Builds a table join clause</p>
637 <ul class="tags">
638 <li><span class="field">return:</span> A simple SQL target join clause excluding the primary table.</li>
639 </ul>
641 <div class="method-signature">
642 <span class="method-result">string</span>
643 <span class="method-name">
644 _BuildJoinClause
645 </span>
647 </div>
651 </div>
652 <a name="method_BuildWhereClause" id="_BuildWhereClause"><!-- --></a>
653 <div class="evenrow">
655 <div class="method-header">
656 <img src="../../media/images/Method.png" />
657 <span class="method-title">_BuildWhereClause</span> (line <span class="line-number">293</span>)
658 </div>
660 <!-- ========== Info from phpDoc block ========= -->
661 <p class="short-description">Builds a where clause to match the supplied keys</p>
662 <ul class="tags">
663 <li><span class="field">return:</span> A simple SQL where clause, including the initial &quot;WHERE&quot;, for each key / value.</li>
664 </ul>
666 <div class="method-signature">
667 <span class="method-result">string</span>
668 <span class="method-name">
669 _BuildWhereClause
670 </span>
671 ([<span class="var-type">boolean</span>&nbsp;<span class="var-name">$overwrite_values</span> = <span class="var-default">false</span>])
672 </div>
674 <ul class="parameters">
675 <li>
676 <span class="var-type">boolean</span>
677 <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>
678 </ul>
681 </div>
683 </div>
684 </div>
687 <p class="notes" id="credit">
688 Documentation generated on Tue, 28 Dec 2010 02:01:36 +1300 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.4.3</a>
689 </p>
690 </div></body>
691 </html>