function feedData()
 feed the data
 {
 var ctc = _.oa.getNodesWithId(document.body,"data") ;
 if(ctc[0])
 _.Remote.save({
 url: "./main.php",
 data: "qry=1&id="+ctc[0].id+"&request=1&owner=" + document.getElementById("customerName").value,
 callback: function(response)
 var nfo = segment( response.text ) ;
 var node = document.getElementById( nfo[0] ) ;
 node.innerHTML = nfo[2] ;
 node.id = nfo[1] ;
 _.oa.tab = new Array() ;
 feedContent() ;
 });

function feedContent()
 feed the content of the page by tag expr and Id
 {
 feedLayout() ;
 feedData() ;
 if($('contentKey').value!=0)
 if($('mainContent'))
 $('mainContent').ondblclick = function (e) {feedContainer(this);};

</script>
 <script id="pagerScript" number="">
 <![CDATA[
 function cropPage()
 get the crop page
 */
 _.Remote.save(
 url: "./main.php",
 data: "qry=7",
 callback: function(response)
 var nfo = segment( response.text ) ;
 document.getElementById("mainContent").innerHTML = nfo[2];
 });

function itemPage()
 get the item page
 */
 _.Remote.save(
 url: "./main.php",
 data: "qry=8",
 callback: function(response)
 var nfo = segment( response.text ) ;
 document.getElementById("mainContent").innerHTML = nfo[2];
 });

function pagePage()
 get the page page
 */
 _.Remote.save(
 url: "./main.php",
 data: "qry=9",
 callback: function(response)
 var nfo = segment( response.text ) ;
 document.getElementById("mainContent").innerHTML = nfo[2];
 });

</script>
 <script id="adminScript" number="">
 <![CDATA[
 // $('mainContent').onDblClick = "feedContainer(this);";
 ]]>
 </script>
 </content>
 </header>
 <!-- HEADER CONTENT -->
 <main>
 <assert>
 <![CDATA[
 :: HERE COMES SERVER/CLIENT SIDE SNIPPETS ::
 ]]>
 </assert>
 <!-- -->
 <content>
 <page id="standard">
 <![CDATA[
 <input type="hidden" id="iCounter" name="nCounter" value="0" />
 <div id="lay:frameContent" class="toFeed" » mainEntry container</div>
 ]]>
 </page>
 <page id="frameContent">
 <![CDATA[
 <div id="lay:topContent"></div>
 <div id="lay:mainContent"></div>
 <div id="lay:bottomContent"></div>
 ]]>
 </page>
 <page id="topContent">
 <![CDATA[
 <div> > My Tiny CMS | TOP CONTENT</div>
 ]]>
 </page>
 <page id="loginPane">
 <![CDATA[
 <div>
 <input id="iUsr" type="text" value=" " style="width:96%;" /><br/>
 <input id="iButton" type="button" value="log on" style="width:100%;" />
 </div>
 ]]>
 </page>
 <page id="menuPane">
 <![CDATA[
 <div class="panel">
 <span onclick="showHide($('cMenu'),1);collapse(this);">[+]</span>
 <span id="cMenu"> !.crop | !.item | !.page
 <p />
 <span onclick="showHide($('loginPane'),2);">:: Login Pane ::</span>
 <span><div id="lay:loginPane"></div></span>
 </span>
 </div>
 ]]>
 </page>
 <page id="mainContent">
 <![CDATA[
 <div id="mainContent">
 <div id="data:1|1|rootEntry"></div>
 </div>

</page>
 <!-- 
 The bottom tool may contain all the moderator and admin utilities
 -->
 <page id="bottomTool">
 <![CDATA[
 <!--
 <div class="bottomTool">
 <span onclick="showHide($('cBottom'),1);collapse(this);">[+]</span>
 <span id="cBottom">:: Bottom Tool ::
 <div id="cBottomPane"></div>
 </span>
 </div>

</page>
 <page id="bottomContent">
 <![CDATA[
 <div> myTinyCS @ | version 1.0 </div>
 ]]>
 </page>
 <page id="lay_01" />
 <page id="lay_02" /> 
 <page id="lay_03" />
!.crop | !.item | !.page
 </content>
 </main>
 <!-- PAGE CONTENT -->
 <frameset>
 <assert>
 codice_1
 </assert>
 <content><!-- -->
 <![CDATA[
 <?xml version="1.0" encoding="UTF-8" ?>
 <html>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
 <head>
 <style></style>
 <script></script>
 <script></script>

</head>
 <body onload="feedContent()">

<!-- Page entry -->
 <div id='mainContent'>

</div>
 </body>
 <script>

</script>
 </html>
 ]]>
 </content>
 </frameset>
 <tokens>
 <token id="xhtmlTransitional">
 <![CDATA[
 <!DOCTYPE html PUBLIC 
 "-//W3C//DTD XHTML 1.0 Transitional//EN" 
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 ]]>
 </token>
 <token id="HTML4">
 <![CDATA[
 <!DOCTYPE HTML PUBLIC 
 "-//W3C//DTD HTML 4.01 Transitional//EN" 
 "http://www.w3.org/TR/html4/loose.dtd">
 ]]>
 </token>
 <token id="xhtmlstrict">
 <![CDATA[
 <!DOCTYPE html PUBLIC
 "-//W3C//DTD XHTML 1.0 Strict//EN" 
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 ]]>
 </token>
 <token id="xhtml_xmlns">
 <![CDATA[
 http://www.w3.org/1999/xhtml
 ]]>
 </token>
 </tokens>
</template>
Le backOffice.
<?php 
 * configure my tiny CMS
define("ROOT","") ;
define("CMS" ,ROOT."/Cms") ;
define("OWN" ,ROOT."/Owners") ;
define("CLA" ,CMS . "/Classes") ;
define("FUN" ,CMS . "/Functions") ;
define("OBJ" ,CMS . "/Objects") ;
 define("BCK" ,OBJ . "/Backend") ;
 define("FNT" ,OBJ . "/Frontend") ;
<?php
require_once "./config.inc.php" ;
if( !@$_REQUEST['qry'] )
 * output type switch for ajax layer
 { 
 include_once FNT."/entry.inc.php" ;
else
 include_once BCK."/responder.inc.php" ;
<?php 
 # TESTING 1.0
 echo $_REQUEST["id"] . "~@~" . $_REQUEST['id'] . " / " . $_REQUEST["name"] . " " . $_REQUEST["surname"] ;
?>
<?php
//require_once CLA . "/dataManager.class.php" ;
require_once CLA . "/utilities.class.php" ;
require_once CLA . "/templateControler.class.php" ;
$tmp = new templateControler(array("path"=>"./Owners/Root/Templates/default.xml"));
 $tmp->initFrame(
 $tmp
 ->getNode("//template/frameset/content")

$tmp->getAnchors( $tmp->data['feed'][0]->nodeValue ) ;
 $tmp->anchorContentReplacer() ;
 $tmp->setFrame() ;
 echo $tmp->data['frameset'] ;

Programmation PHP/Exemples/MiniCMS/Premier noyau

Nous préparons la première version de notre solution myTinyCMS.
Comme nous sommes nominal pour les quatre phases, myTinyCMS permets :
La première intégration ou version 1 de notre noyau consistera en des contrôleurs de test préfigurant la première beta de myTinyCMS.
L'objectif de ce contrôleur est d'intégrer le frameset sur trois thèmes :
Le contenu sera géré directement sur le frameset par défaut. Backoffice et Frontoffice étant distingué par le switch Mod||Adm vs Usr, déverrouillant les contrôles de gestion et d'encodage.
Fonctionnellement le noyau présente deux phase d'affichage :
Le Second noyau.
MyTinyCMS est maintenant un mini content manager system orienté wiki. L'orientation du CMS génère le code métier suivant 
Classes.
Classes/contentPane.class.php regroupe les flux d'entrée et sortie comme les menus. Il est spécialisé pour notre solution. Le code peut être amélioré.
Voici Classes/dataManager.class.php dans sa version finale. Il est orienté données.
Voici le Classes/templateControler.class.php orienté layout.
Classes/utilities.class.php dans sa version finale
Functions.
Functions/common.inc.php dans sa version finale
Backend.
Le backend est implémenter suivant quelques règles métier imposées par l'orientation du CMS également.
Objects/Backend/authorize.inc.php
Objects/Backend/responder.inc.php dans sa version finale
Objects/Backend/services.inc.php
Objects/Backend/webservices.inc.php
FrontEnd.
Deux points d'entrées :
Objects/Frontend/admin.inc.php
Objects/Frontend/entry.inc.php dans sa version finale
Le Troisieme noyau.
MyTinyCMS est ici un CMS orienté données et frontEnd. Avec le frontOffice ajaxifié présenté dans la rubrique relatif à la vue, il permet la création de sites customer directement dans moyennant quelques connaissances en html.
L'applicabilité des modules ayant été démontrée. Cette solution est achevée ici mais peut être augmentée ou améliorée.
myTinyCMS est sous licence GNU copyLeft et utilisable. Si vous implémentez la solution, laissez votre copyright ou alias derrière le mien.
Le copy étant
Télécharger.
MyTinyCMS est nominal... Il peut être telechargé ici

Programmation PHP/Exemples/MiniCMS/Fournir les données

Pour la vue, les données sont extraites des champs et ensuite injectées aux points d'ancrages désignés sur les templates. 
Un des objectifs étant de bien synchroniser l'injection serveur avec les sorties clientes en mini flux sur les containers de la vue xhtml.
La complétion des données étant sélective.

Programmation PHP/Exemples/MiniCMS/Ajaxification