Guest User

Jerome Schneider

a guest
Dec 27th, 2007
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
XML 4.14 KB | None | 0 0
  1. <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
  2. <formidable version="0.7.160"
  3.     xmlns:datahandler="http://www.ameos.com/formidable/0.7.160/datahandler"
  4.     xmlns:datasource="http://www.ameos.com/formidable/0.7.160/datasource"
  5.     xmlns:renderer="http://www.ameos.com/formidable/0.7.160/renderer"
  6.     xmlns:renderlet="http://www.ameos.com/formidable/0.7.160/renderlet"
  7.     xmlns:validator="http://www.ameos.com/formidable/0.7.160/validator"
  8.     xmlns:actionlet="http://www.ameos.com/formidable/0.7.160/actionlet">
  9.    
  10.     <meta>
  11.         <name>real-life CRUD example</name>
  12.         <form formid="myform"/>
  13.         <debug>false</debug>
  14.         <displaylabels>true</displaylabels>
  15.     </meta>
  16.    
  17.     <control>
  18.         <datahandler:DB>
  19.             <tablename>pages</tablename>
  20.             <keyname>uid</keyname>
  21.             <process>
  22.                 <beforeInsertion>
  23.                     <userobj>
  24.                         <php><![CDATA[/*<?*/
  25.                            
  26.                             $aData = $this->getUserObjParams();
  27.  
  28.                             // Inserting sysfields in array going to DB
  29.  
  30.                             if($this->oDataHandler->_creation()) {
  31.                                 $aData["crdate"] = time();
  32.                                 $aData["cruser_id"] = $GLOBALS["TSFE"]->fe_user->user["uid"];
  33.                             }
  34.  
  35.                             $aData["tstamp"] = time();
  36.  
  37.                             return $aData;
  38.                    
  39.                         /*?>*/]]></php>
  40.                     </userobj>
  41.                 </beforeInsertion>
  42.             </process>
  43.         </datahandler:DB>
  44.  
  45.         <renderer:STANDARD/>
  46.  
  47.         <datasources>
  48.             <datasource:DB name="ds-pages">
  49.                 <sql>SELECT * from pages</sql>
  50.             </datasource:DB>
  51.         </datasources>
  52.  
  53.         <sandbox>
  54.             <userobj>
  55.                 <php><![CDATA[/*<?*/
  56.                    
  57.                     // reusable methods to be used everywhere in xml thru call to $this->oSandBox
  58.                         // the sandbox can also hold properties as it is an object
  59.                         // will also be available and persisted in ajax context, if needed
  60.  
  61.                     function shouldDisplayForm() {
  62.                         return (
  63.                             $this->oForm->aORenderlets["btn-new"]->_hasThrown("click") ||
  64.                             $this->oForm->aORenderlets["btn-save"]->_hasThrown("click") ||
  65.                             $this->oForm->oDataHandler->_edition()
  66.                         );
  67.                     }
  68.  
  69.                     function shouldDisplayList() {
  70.                         return !$this->shouldDisplayForm();
  71.                     }
  72.  
  73.                 /*?>*/]]></php>
  74.             </userobj>
  75.         </sandbox>
  76.     </control>
  77.  
  78.     <elements>
  79.  
  80.         <!-- the button NEW, submit mode is CLEAR -->
  81.         <renderlet:SUBMIT name="btn-new" label="New" mode="clear" />
  82.  
  83.  
  84.         <!-- the LISTER boud to datasource pages, whose display is conditionned -->
  85.         <renderlet:LISTER name="my-list">
  86.             <process>
  87.                 <userobj>
  88.                     <php><![CDATA[/*<?*/
  89.                        
  90.                         return $this->oSandBox->shouldDisplayList();
  91.                
  92.                     /*?>*/]]></php>
  93.                 </userobj>
  94.             </process>
  95.             <datasource use="ds-pages" />
  96.             <pager>
  97.                 <sort column="tstamp" direction="desc" />
  98.             </pager>
  99.             <columns>
  100.                 <column type="renderlet:TEXT" name="title" listHeader="Title" />
  101.                 <column type="renderlet:DATE" name="tstamp" listHeader="Modification"/>
  102.                 <column type="renderlet:BUTTON" name="btn-edit" listHeader="" label="Edit">
  103.                     <onclick runat="client">
  104.                         <userobj>
  105.                             <php><![CDATA[/*<?*/
  106.                                
  107.                                 $aRow = $this->oDataHandler->getListData();
  108.                                 return $this->majixRequestEdition($aRow["uid"]);
  109.                        
  110.                             /*?>*/]]></php>
  111.                         </userobj>
  112.                     </onclick>
  113.                 </column>
  114.             </columns>
  115.         </renderlet:LISTER>
  116.  
  117.         <!-- the EDIT/CREATE FORM container -->
  118.         <renderlet:BOX name="edition-box">
  119.             <process>
  120.                 <userobj>
  121.                     <php><![CDATA[/*<?*/
  122.                        
  123.                         return $this->oSandBox->shouldDisplayForm();
  124.                
  125.                     /*?>*/]]></php>
  126.                 </userobj>
  127.             </process>
  128.             <childs>
  129.                 <renderlet:BOX mode="h2">
  130.                     <html>
  131.                         <userobj>
  132.                             <php><![CDATA[/*<?*/
  133.                                
  134.                                 if($this->oDataHandler->_edition()) {
  135.                                     return "Edit page";
  136.                                 } else {
  137.                                     return "Create page";
  138.                                 }
  139.                        
  140.                             /*?>*/]]></php>
  141.                         </userobj>
  142.                     </html>
  143.                 </renderlet:BOX>
  144.  
  145.                 <renderlet:TEXT name="title" label="Title">
  146.                     <validators>
  147.                         <validator:STANDARD>
  148.                             <required message="Title is required" />
  149.                         </validator:STANDARD>
  150.                     </validators>
  151.                 </renderlet:TEXT>
  152.  
  153.                 <renderlet:SUBMIT name="btn-save" label="Save" />
  154.                 <renderlet:SUBMIT name="btn-close" label="Close" mode="clear" />
  155.             </childs>
  156.         </renderlet:BOX>
  157.  
  158.     </elements>
  159.  
  160. </formidable>
Add Comment
Please, Sign In to add comment