phpwebapp-commits Mailing List for phpWebApp (Page 34)
Brought to you by:
dashohoxha
You can subscribe to this list here.
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(15) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
(2) |
Feb
|
Mar
|
Apr
(5) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2003 |
Jan
|
Feb
(43) |
Mar
|
Apr
|
May
|
Jun
(2) |
Jul
|
Aug
(194) |
Sep
(60) |
Oct
(6) |
Nov
|
Dec
(16) |
2004 |
Jan
(73) |
Feb
(13) |
Mar
(5) |
Apr
|
May
(5) |
Jun
|
Jul
(183) |
Aug
|
Sep
(5) |
Oct
(30) |
Nov
|
Dec
|
2005 |
Jan
|
Feb
|
Mar
|
Apr
(9) |
May
(1) |
Jun
(35) |
Jul
(17) |
Aug
(2) |
Sep
(6) |
Oct
(19) |
Nov
(108) |
Dec
|
2006 |
Jan
(10) |
Feb
(1) |
Mar
(5) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Dashamir H. <das...@us...> - 2003-02-23 14:29:11
|
Update of /cvsroot/phpwebapp/documentation/config In directory sc8-pr-cvs1:/tmp/cvs-serv11335/config Modified Files: const.Paths.php Log Message: Index: const.Paths.php =================================================================== RCS file: /cvsroot/phpwebapp/documentation/config/const.Paths.php,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** const.Paths.php 21 Feb 2003 08:18:23 -0000 1.1.1.1 --- const.Paths.php 23 Feb 2003 14:29:07 -0000 1.2 *************** *** 12,14 **** --- 12,17 ---- define("APP2_PATH", APP_PATH."../app2/"); define("APP3_PATH", APP_PATH."../app3/"); + define("APP1_URL", "/app1/"); + define("APP2_URL", "/app2/"); + define("APP3_URL", "/app3/"); ?> |
From: Dashamir H. <das...@us...> - 2003-02-23 14:26:38
|
Update of /cvsroot/phpwebapp/web_app/webobjects/leftMenu In directory sc8-pr-cvs1:/tmp/cvs-serv9870 Removed Files: leftMenu.css leftMenu.html leftMenu.js leftMenu.php leftMenu.txt leftMenu_items.php Log Message: --- leftMenu.css DELETED --- --- leftMenu.html DELETED --- --- leftMenu.js DELETED --- --- leftMenu.php DELETED --- --- leftMenu.txt DELETED --- --- leftMenu_items.php DELETED --- |
From: Dashamir H. <das...@us...> - 2003-02-23 14:23:21
|
Update of /cvsroot/phpwebapp/web_app/webobjects/tabs In directory sc8-pr-cvs1:/tmp/cvs-serv7560 Added Files: tabs.txt tabs1.css tabs1.html tabs1.js tabs1.php tabs1.txt tabs1_items.php tabs2.css tabs2.html tabs2.js tabs2.php tabs2.txt tabs2_items.php tabs3.css tabs3.html tabs3.js tabs3.php tabs3.txt tabs3_items.php Log Message: --- NEW FILE: tabs.txt --- WebObject 'tabs1' displays a horizontal menu. It is used like this: <Include SRC="{{WEBOBJ_PATH}}tabs/tabs1.html" /> <WebObject Class="tabs1" Name="su" items="{{./}}su_menu_items.php" /> The attribute 'items' is a PHP file that contains the items of the menu, like this: <? /** * The $menu_items array contains the items of the tabs1. */ $menu_items = array( "item1" => " Menu Item 1 ", "item2" => " Menu Item 2 ", "item3" => " Menu Item 3 ", "etc1" => " . . . ", "etc2" => " . . . " ); ?> The item of the menu that is selected can be retrieved like this: $selected = WebApp::getSVar("tabs1::su->selected_item"); If you need to change the look of the tabs1, then make a local copy and modify 'tabs1.css'. WebObject 'tabs2' is very similar to 'tabs1', but the styles are different. It has a tab-like view. WebObject 'tabs3' is very similar to 'tabs2', but it is vertical instead of horizontal. It usually stays on the left of the page. ToDo: It is better to have just one WebClass: 'tabs', and then add another attribute, 'style', which will determine the style of the tabs (horizontal, vertical, etc.). --- NEW FILE: tabs1.css --- .tabs1-item a { display: block; font-family: sans-serif; margin: 0; padding: 3px; color: rgb(0,0,127); background-color: #eecccc; text-transform: none; text-decoration: none; } .tabs1-item-selected a { display: block; font-family: sans-serif; margin: 0; padding: 3px; color: rgb(0,0,0); background-color: #ffaaaa; text-transform: none; text-decoration: none; } .tabs1-item a:hover { border: solid 1px #ffaaaa; border-bottom: solid 1px #eecccc; padding: 2px; } --- NEW FILE: tabs1.html --- <WebClass ID="tabs1"> <Parameter name="items" default="{{./}}tabs1_items.php" /> <table cellspacing="0" cellpadding="0" border="0"> <tr> <Repeat rs="{{obj_name}}_items"> <td class="{{class}}"> <a href="javascript: tabs1_select('{{obj_id}}', '{{item}}')"> {{label}} </a> </td> <td width="3"></td> </Repeat> </tr> </table> </WebClass> --- NEW FILE: tabs1.js --- function tabs1_select(obj_id, item) { SendEvent(obj_id, "select", "item="+item); } --- NEW FILE: tabs1.php --- <?php class tabs1 extends WebObject { function init() { $items_file = $this->params["items"]; $items_file = WebApp::replaceVars($items_file); $this->addSVar("items_file", $items_file); //set the first menu item as the selected item include $items_file; //read the menu items $first_item = key($menu_items); $this->addSVar("selected_item", $first_item); } function on_select($event_args) { $item = $event_args["item"]; $this->setSVar("selected_item", $item); } function onRender() { $this->add_items_list(); } function add_items_list() { $obj_vars = $this->getObjVars(); $obj_name = $obj_vars["obj_name"]; $obj_count = $obj_vars["obj_count"]; $rs = new EditableRS($obj_name."_items"); //read the menu items $items_file = $this->getSVar("items_file"); include $items_file; //fill the recordset $selected = $this->getSVar("selected_item"); while ( list($item, $label) = each($menu_items) ) { $css_class = ($item==$selected ? "tabs1-item-selected" : "tabs1-item"); $rec = array( "item" => $item, "label" => $label, "class" => $css_class ); $rs->addRec($rec); } //set the recordset to the page global $webPage; $webPage->addRecordset($rs); } } ?> --- NEW FILE: tabs1.txt --- WebObject 'tabs1' displays a horizontal menu. It is used like this: <Include SRC="{{WEBOBJ_PATH}}tabs1.html" /> <WebObject Class="tabs1" Name="su" items="{{./}}su_menu_items.php" /> The attribute 'items' is a PHP file that contains the items of the menu, like this: <? /** * The $menu_items array contains the items of the tabs1. */ $menu_items = array( "item1" => " Menu Item 1 ", "item2" => " Menu Item 2 ", "item3" => " Menu Item 3 ", "etc1" => " . . . ", "etc2" => " . . . " ); ?> The item of the menu that is selected can be retrieved like this: $selected = WebApp::getSVar("tabs1::su->selected_item"); If you need to change the look of the tabs1, then make a local copy and modify 'tabs1.css'. --- NEW FILE: tabs1_items.php --- <?php /** * The $menu_items array contains the items of the tabs1. */ $menu_items = array( "item1" => " Menu Item 1 ", "item2" => " Menu Item 2 ", "item3" => " Menu Item 3 ", "etc1" => " . . . ", "etc2" => " . . . " ); ?> --- NEW FILE: tabs2.css --- .tabs2-item { width: 10%; border: outset 1px #ffffff; padding: 0; margin: 0 0; } .tabs2-item-selected { width: 10%; border: inset 1px #ffffff; border-bottom: solid 1px #ffffff; padding: 0; margin: 0 0; } .tabs2-empty { border: outset 1px #ffffff; padding: 0; margin: 0 0; background-color: #dddddd; } .tabs2-item a { margin: 0; padding: 2px; display: block; font-family: sans-serif; font-size: 80%; text-align: center; text-decoration: none; color: black; background-color: #dddddd; text-transform: none; text-decoration: none; white-space: nowrap; } .tabs2-item-selected a { margin: 0; padding: 2px; display: block; font-family: sans-serif; font-size: 80%; font-weight: bold; text-align: center; text-decoration: none; color: black; background-color: #ffffff; text-transform: none; text-decoration: none; white-space: nowrap; } .tabs2-item a:hover { border: inset 1px #ffffff; border-bottom: solid 1px #ffffff; padding: 1px; } --- NEW FILE: tabs2.html --- <WebClass ID="tabs2"> <Parameter name="items" default="{{./}}{{obj_name}}_items.php" /> <table cellspacing="0" cellpadding="0" border="0" width="100%"> <tr> <Repeat rs="{{obj_name}}_items"> <td class="{{class}}"> <a href="javascript: tabs2_select('{{obj_id}}', '{{item}}')"> {{label}} </a> </td> </Repeat> <td class="tabs2-empty"> </td> </tr> </table> </WebClass> --- NEW FILE: tabs2.js --- function tabs2_select(obj_id, item) { SendEvent(obj_id, "select", "item="+item); } --- NEW FILE: tabs2.php --- <?php class tabs2 extends WebObject { function init() { $items_file = $this->params["items"]; $items_file = WebApp::replaceVars($items_file); $this->addSVar("items_file", $items_file); //set the first menu item as the selected item include $items_file; //read the menu items $first_item = key($menu_items); $this->addSVar("selected_item", $first_item); } function on_select($event_args) { $item = $event_args["item"]; $this->setSVar("selected_item", $item); } function onRender() { $this->add_items_list(); } function add_items_list() { $obj_vars = $this->getObjVars(); $obj_name = $obj_vars["obj_name"]; $obj_count = $obj_vars["obj_count"]; $rs = new EditableRS($obj_name."_items"); //read the menu items $items_file = $this->getSVar("items_file"); include $items_file; //fill the recordset $selected = $this->getSVar("selected_item"); while ( list($item, $label) = each($menu_items) ) { $css_class = ($item==$selected ? "tabs2-item-selected" : "tabs2-item"); $rec = array( "item" => $item, "label" => $label, "class" => $css_class ); $rs->addRec($rec); } //set the recordset to the page global $webPage; $webPage->addRecordset($rs); } } ?> --- NEW FILE: tabs2.txt --- WebObject 'tabs2' displays a tabs-like horizontal menu. It is used like this: <Include SRC="{{WEBOBJ_PATH}}tabs2.html" /> <WebObject Class="tabs2" Name="su" items="{{./}}su_menu_items.php" /> The attribute 'items' is a PHP file that contains the items of the menu, like this: <? /** * The $menu_items array contains the items of the tabs2. */ $menu_items = array( "item1" => " Menu Item 1 ", "item2" => " Menu Item 2 ", "item3" => " Menu Item 3 ", "etc1" => " . . . ", "etc2" => " . . . " ); ?> The item of the menu that is selected can be retrieved like this: $selected = WebApp::getSVar("tabs2::su->selected_item"); If you need to change the look of the tabs2, then make a local copy and modify 'tabs2.css'. --- NEW FILE: tabs2_items.php --- <?php /** * The $menu_items array contains the items of the tabs2. */ $menu_items = array( "item1" => " Menu Item 1 ", "item2" => " Menu Item 2 ", "item3" => " Menu Item 3 ", "etc1" => " . . . ", "etc2" => " . . . " ); ?> --- NEW FILE: tabs3.css --- .tabs3-table { float: left; border: none; margin: 1 7 10 1; } .tabs3-item { border: outset 1px #ffffff; padding: 0; margin: 0 0; } .tabs3-item-selected { border: outset 1px #ffffff; padding: 0; margin: 0 0; } .tabs3-item a { margin: 0; padding: 2px; display: block; font-family: sans-serif; font-size: 80%; text-align: left; text-decoration: none; color: black; background-color: #dddddd; text-transform: none; text-decoration: none; white-space: nowrap; } .tabs3-item-selected a { margin: 0; padding: 2px; display: block; font-family: sans-serif; font-size: 80%; text-align: left; text-decoration: none; color: white; font-weight: bold; background-color: #333399; text-transform: none; text-decoration: none; white-space: nowrap; } .tabs3-item a:hover { background-color: #eeeeee; } --- NEW FILE: tabs3.html --- <WebClass ID="tabs3"> <Parameter name="items" default="{{./}}{{obj_name}}_items.php" /> <table class="tabs3-table" cellspacing="0" cellpadding="0"> <Repeat rs="{{obj_name}}_items"> <tr><td class="{{class}}"> <a href="javascript: tabs3_select('{{obj_id}}', '{{item}}')"> {{label}} </a> </td></tr> </Repeat> </table> </WebClass> --- NEW FILE: tabs3.js --- function tabs3_select(obj_id, item) { SendEvent(obj_id, "select", "item="+item); } --- NEW FILE: tabs3.php --- <?php class tabs3 extends WebObject { function init() { $items_file = $this->params["items"]; $items_file = WebApp::replaceVars($items_file); $this->addSVar("items_file", $items_file); //set the first menu item as the selected item include $items_file; //read the menu items $first_item = key($menu_items); $this->addSVar("selected_item", $first_item); } function on_select($event_args) { $item = $event_args["item"]; $this->setSVar("selected_item", $item); } function onRender() { $this->add_items_list(); } function add_items_list() { $obj_vars = $this->getObjVars(); $obj_name = $obj_vars["obj_name"]; $obj_count = $obj_vars["obj_count"]; $rs = new EditableRS($obj_name."_items"); //read the menu items $items_file = $this->getSVar("items_file"); include $items_file; //fill the recordset $selected = $this->getSVar("selected_item"); while ( list($item, $label) = each($menu_items) ) { $css_class = ($item==$selected ? "tabs3-item-selected" : "tabs3-item"); $rec = array( "item" => $item, "label" => $label, "class" => $css_class ); $rs->addRec($rec); } //set the recordset to the page global $webPage; $webPage->addRecordset($rs); } } ?> --- NEW FILE: tabs3.txt --- WebObject 'tabs3' displays a tabs-like vertical menu, usually on the left side of the page. It is used like this: <Include SRC="{{WEBOBJ_PATH}}tabs3.html" /> <WebObject Class="tabs3" Name="su" items="{{./}}su_menu_items.php" /> The attribute 'items' is a PHP file that contains the items of the menu, like this: <? /** * The $menu_items array contains the items of the tabs3. */ $menu_items = array( "item1" => " Menu Item 1 ", "item2" => " Menu Item 2 ", "item3" => " Menu Item 3 ", "etc1" => " . . . ", "etc2" => " . . . " ); ?> The item of the menu that is selected can be retrieved like this: $selected = WebApp::getSVar("tabs3::su->selected_item"); If you need to change the look of the tabs3, then make a local copy and modify 'tabs3.css'. --- NEW FILE: tabs3_items.php --- <?php /** * The $menu_items array contains the items of the tabs3. */ $menu_items = array( "item1" => " Menu Item 1 ", "item2" => " Menu Item 2 ", "item3" => " Menu Item 3 ", "etc1" => " . . . ", "etc2" => " . . . " ); ?> |
From: Dashamir H. <das...@us...> - 2003-02-23 14:21:48
|
Update of /cvsroot/phpwebapp/web_app/webobjects/tabs In directory sc8-pr-cvs1:/tmp/cvs-serv6555/tabs Log Message: Directory /cvsroot/phpwebapp/web_app/webobjects/tabs added to the repository |
From: Dashamir H. <das...@us...> - 2003-02-23 14:20:35
|
Update of /cvsroot/phpwebapp/web_app/webobjects/xlistbox In directory sc8-pr-cvs1:/tmp/cvs-serv5059/webobjects/xlistbox Modified Files: xlistbox.txt Log Message: Index: xlistbox.txt =================================================================== RCS file: /cvsroot/phpwebapp/web_app/webobjects/xlistbox/xlistbox.txt,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** xlistbox.txt 21 Feb 2003 08:17:06 -0000 1.1.1.1 --- xlistbox.txt 23 Feb 2003 14:20:31 -0000 1.2 *************** *** 65,69 **** When there is only the main list, it behaves just like a 'listbox', and in ! this case it would be better to use a 'listbox' object insetad of a 'xlistbox' object, since it is more efficient. --- 65,69 ---- When there is only the main list, it behaves just like a 'listbox', and in ! this case it would be better to use a 'listbox' object instead of a 'xlistbox' object, since it is more efficient. |
From: Dashamir H. <das...@us...> - 2003-02-23 14:20:34
|
Update of /cvsroot/phpwebapp/web_app/tools/fileBrowser In directory sc8-pr-cvs1:/tmp/cvs-serv5059/tools/fileBrowser Modified Files: doc.fileBrowser.txt Log Message: Index: doc.fileBrowser.txt =================================================================== RCS file: /cvsroot/phpwebapp/web_app/tools/fileBrowser/doc.fileBrowser.txt,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** doc.fileBrowser.txt 21 Feb 2003 08:17:01 -0000 1.1.1.1 --- doc.fileBrowser.txt 23 Feb 2003 14:20:30 -0000 1.2 *************** *** 12,21 **** to their types, e.g. a php file is displayed as code, an image file is displayed as an image, an HTML file can be displayed ! both as code and as HTML, etc. It is usually used by the grafical designer of the application to see how the templates look in the application. He cannot see the templates properly just by opening them in the browser, because ! the templates contain variables, template tags (like <Repeat>, <if>, <Recordset>) etc. It can also be used by the JavaScript programmer and PHP/DB programmer to test the functionality of a WebBox separately --- 12,21 ---- to their types, e.g. a php file is displayed as code, an image file is displayed as an image, an HTML file can be displayed ! both as HTML code and as rendered HTML, etc. It is usually used by the grafical designer of the application to see how the templates look in the application. He cannot see the templates properly just by opening them in the browser, because ! the templates contain {{variables}}, template tags (like <Repeat>, <if>, <Recordset>) etc. It can also be used by the JavaScript programmer and PHP/DB programmer to test the functionality of a WebBox separately *************** *** 28,42 **** 'browse.php') in the root folder of the application, which contains these lines: ! <? ! include "application.php"; ! WebApp::addVar("APP_STYLE", APP_URL."templates/styles.css"); ! $session->Vars["folderListing.fileFilter"] = ".*"; ! WebApp::constructHtmlPage(BROWSE_PATH."fileBrowser.html"); ! ?> ! It is not an standalone application, it is like a plug-in tool that can be added to an existing application. The constant BROWSE_PATH is declared by the framework itself. By including ! the "application.php" of the application, it gets the paths, the DB connection and the configuration of the application itself, which are needed in order to preview the templates correctly. --- 28,41 ---- 'browse.php') in the root folder of the application, which contains these lines: ! <?php ! include "webapp.php"; ! WebApp::addVar("APP_STYLE", APP_URL."templates/styles.css"); ! WebApp::constructHtmlPage(BROWSER_PATH."fileBrowser.html"); ! ?> ! It is not a standalone application, it is like a plug-in tool that can be added to an existing application. The constant BROWSE_PATH is declared by the framework itself. By including ! the "webapp.php" of the application, it gets the paths, the DB connection and the configuration of the application itself, which are needed in order to preview the templates correctly. *************** *** 52,56 **** If you check the "Hide Folder Box" and then click refresh, then the left box that is used to browse the folders is hidden (this may be ! usefull when the template that is being displayed is too large and fills all the width of the browser). --- 51,55 ---- If you check the "Hide Folder Box" and then click refresh, then the left box that is used to browse the folders is hidden (this may be ! useful when the template that is being displayed is too large and fills all the width of the browser). |
From: Dashamir H. <das...@us...> - 2003-02-23 14:20:34
|
Update of /cvsroot/phpwebapp/web_app/boxes/codeViewer In directory sc8-pr-cvs1:/tmp/cvs-serv5059/boxes/codeViewer Modified Files: codeViewer.php Log Message: Index: codeViewer.php =================================================================== RCS file: /cvsroot/phpwebapp/web_app/boxes/codeViewer/codeViewer.php,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** codeViewer.php 21 Feb 2003 08:15:06 -0000 1.1.1.1 --- codeViewer.php 23 Feb 2003 14:20:30 -0000 1.2 *************** *** 95,98 **** --- 95,99 ---- $line = chop($line); $line = str_replace("\t", " ", $line); + $line = str_replace("{{", "{{#", $line); $line = htmlentities($line); if ($line=="") $line=" "; |
From: Dashamir H. <das...@us...> - 2003-02-23 14:20:34
|
Update of /cvsroot/phpwebapp/web_app/webobjects/datebox In directory sc8-pr-cvs1:/tmp/cvs-serv5059/webobjects/datebox Modified Files: datebox.txt Log Message: Index: datebox.txt =================================================================== RCS file: /cvsroot/phpwebapp/web_app/webobjects/datebox/datebox.txt,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** datebox.txt 21 Feb 2003 08:17:04 -0000 1.1.1.1 --- datebox.txt 23 Feb 2003 14:20:30 -0000 1.2 *************** *** 21,26 **** The attribute 'value' is used to initialize the datebox with an initial value. If it is not given, then the ! default is {{{{obj_name}}}} (in the example above it would ! be {{information_date}}). The attribute 'format' is used to specify the format of the --- 21,26 ---- The attribute 'value' is used to initialize the datebox with an initial value. If it is not given, then the ! default is {{{{obj_name}}}} (in the last example above ! it would be {{contact_date}}). The attribute 'format' is used to specify the format of the |
From: Dashamir H. <das...@us...> - 2003-02-23 14:20:34
|
Update of /cvsroot/phpwebapp/web_app/webobjects/form In directory sc8-pr-cvs1:/tmp/cvs-serv5059/webobjects/form Modified Files: formWebObj.txt Log Message: Index: formWebObj.txt =================================================================== RCS file: /cvsroot/phpwebapp/web_app/webobjects/form/formWebObj.txt,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** formWebObj.txt 21 Feb 2003 08:17:06 -0000 1.1.1.1 --- formWebObj.txt 23 Feb 2003 14:20:31 -0000 1.2 *************** *** 1,58 **** - -------- formWebObj ---------------------------------- - * - formWebObj is a webobject that makes easy the handling of big - forms (which have many inputs) and their data connection to the - databaze. It is used like this: when you have a webbox that - has a big form, in the PHP code of the webbox you include the - class 'formWebObj', and then inherit this class, instead of - inheriting 'WebObject' ('formWebObj' itself extends 'WebObject', - so this is OK). E.g.: ! <WebBox ID="editProject"> ! <form name="bigForm"> ! . . . . . . . . ! <!--# many <input>s, <select>s, etc. here #--> ! . . . . . . . . ! </form> ! </WebBox> ! ---------------------------------------------- ! <? ! include_once FORM_PATH."formWebObj.php"; ! class editProject extends formWebObj ! { ! . . . . . . . . . . ! } ! ?> ! ---------------------------------------------- ! <? ! class formWebObj extends WebObject ! { ! . . . . . . . . . . . ! } ! ?> ! Then, in the JS code of the webbox you can use these JS functions ! which have been declared and included by the 'formWebObj': ! ! getEventArgs(form); ! /** ! * Returns all the data in the inputs of the given form ! * so that they can be sent as event args, e.g. ! * GoTo("thisPage?event=editProject.save(" + getEventArgs(form) + ")"); ! */ ! saveFormData(form); ! /** ! * Transmit the data of the form, so that ! * the changed values are not lost. ! * Must be called before GoTo(). ! */ ! This is useful when the page is refreshed for some reason, ! but you don't want to lose the values that are inputed in it. ! ! There are also these two functions that are used internally by ! 'formWebObj', but you can use them as well, if you need them: ! function getFormData(form) ! //returns all the data filled in the given form ! function setFormData(form, formData) ! //fills the form with the given data --- 1,58 ---- ! formWebObj is a webobject that makes easy the handling of big ! forms (which have many inputs) and their data connection to the ! databaze. It is used like this: when you have a webbox that ! has a big form, in the PHP code of the webbox you include the ! class 'formWebObj', and then inherit this class, instead of ! inheriting 'WebObject' ('formWebObj' itself extends 'WebObject', ! so this is OK). E.g.: ! <WebBox ID="editProject"> ! <form name="bigForm"> ! . . . . . . . . ! <!--# many <input>s, <select>s, etc. here #--> ! . . . . . . . . ! </form> ! </WebBox> ! ---------------------------------------------- ! <? ! include_once FORM_PATH."formWebObj.php"; ! class editProject extends formWebObj ! { ! . . . . . . . . . . ! } ! ?> ! ---------------------------------------------- ! <? ! class formWebObj extends WebObject ! { ! . . . . . . . . . . . ! } ! ?> ! Then, in the JS code of the webbox you can use these JS functions ! which have been declared and included by the 'formWebObj': ! ! getEventArgs(form); ! /** ! * Returns all the data in the inputs of the given form ! * so that they can be sent as event args, e.g. ! * GoTo("thisPage?event=editProject.save(" + getEventArgs(form) + ")"); ! */ ! ! saveFormData(form); ! /** ! * Transmit the data of the form, so that ! * the changed values are not lost. ! * Must be called before GoTo(). ! */ ! This is useful when the page is refreshed for some reason, ! but you don't want to lose the values that are inputed in it. ! ! There are also these two functions that are used internally by ! 'formWebObj', but you can use them as well, if you need them: ! function getFormData(form) ! //returns all the data filled in the given form ! function setFormData(form, formData) ! //fills the form with the given data |
From: Dashamir H. <das...@us...> - 2003-02-23 14:20:34
|
Update of /cvsroot/phpwebapp/web_app/webobjects/listbox In directory sc8-pr-cvs1:/tmp/cvs-serv5059/webobjects/listbox Modified Files: listbox.txt Log Message: Index: listbox.txt =================================================================== RCS file: /cvsroot/phpwebapp/web_app/webobjects/listbox/listbox.txt,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** listbox.txt 21 Feb 2003 08:17:06 -0000 1.1.1.1 --- listbox.txt 23 Feb 2003 14:20:31 -0000 1.2 *************** *** 16,30 **** Usage example: ! <WebObject Class="listbox" Name="country" rs="rs_id" width="---------------" /> The attribute "rs" is optional. Its default value (if not specified) is {{obj_id}} (in the example above, it would be 'listbox::country'). The attribute "width" is also optional; it is used as the last line of the ! list, in order to keep the width of the <select> to a certain size (which ! can also be used as a nothing selected (none of the above) value). This WebClass uses a <select> tag like this: ! <select name="country"> (name="{{obj_name}}") . . . . . </select> --- 16,37 ---- Usage example: ! <Include SRC="{{LISTBOX_PATH}}listbox.html" /> ! <WebObject Class="listbox" Name="country" ! rs = "rs_id" ! onchange = "alert(this.options[this.selectedIndex].text)" ! width = "---------------" /> The attribute "rs" is optional. Its default value (if not specified) is {{obj_id}} (in the example above, it would be 'listbox::country'). + The attribute "onchange" (all lowercase), is optional and is used as + the "onchange" attribute of the <select> tag. + The attribute "width" is also optional; it is used as the last line of the ! list, in order to keep the width of the <select> to a certain size, and ! can also be used as a "nothing selected" (none of the above) value. This WebClass uses a <select> tag like this: ! <select name="{{obj_name}}" onchange="{{onchange}}"> . . . . . </select> |
From: Dashamir H. <das...@us...> - 2003-02-23 14:20:33
|
Update of /cvsroot/phpwebapp/web_app In directory sc8-pr-cvs1:/tmp/cvs-serv5059 Modified Files: class.WebApp.php Log Message: Index: class.WebApp.php =================================================================== RCS file: /cvsroot/phpwebapp/web_app/class.WebApp.php,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** class.WebApp.php 21 Feb 2003 08:15:02 -0000 1.1.1.1 --- class.WebApp.php 23 Feb 2003 14:20:30 -0000 1.2 *************** *** 471,475 **** $err_msg = htmlentities($err_msg); ! return "\n<div class='error_msg'>Error: ".$err_msg."</div>\n"; } --- 471,475 ---- $err_msg = htmlentities($err_msg); ! return "\n<div class='error_msg'>WebApp Error: ".$err_msg."</div>\n"; } *************** *** 480,484 **** $warn_msg = htmlentities($warn_msg); ! return "\n<div class='warning_msg'>Warning: ".$warn_msg."</div>\n"; } --- 480,484 ---- $warn_msg = htmlentities($warn_msg); ! return "\n<div class='warning_msg'>WebApp Warning: ".$warn_msg."</div>\n"; } |
From: Dashamir H. <das...@us...> - 2003-02-23 14:20:33
|
Update of /cvsroot/phpwebapp/web_app/boxes/folderListing In directory sc8-pr-cvs1:/tmp/cvs-serv5059/boxes/folderListing Modified Files: doc.folderListing.txt Log Message: Index: doc.folderListing.txt =================================================================== RCS file: /cvsroot/phpwebapp/web_app/boxes/folderListing/doc.folderListing.txt,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** doc.folderListing.txt 21 Feb 2003 08:15:50 -0000 1.1.1.1 --- doc.folderListing.txt 23 Feb 2003 14:20:30 -0000 1.2 *************** *** 1,6 **** - Folder Listing WebBox - ====================== - This box allows the browsing of a folder. It displays a list of subfolders and files that are contained in the folder. It also --- 1,3 ---- *************** *** 25,29 **** are displayed. Should be initialized by the application the first time that the web box is rendered. If it is not initialized by the ! application then it has a default value of "html?$". * folderListing->currentPath --- 22,26 ---- are displayed. Should be initialized by the application the first time that the web box is rendered. If it is not initialized by the ! application, then it has a default value of ".*" (filter nothing). * folderListing->currentPath *************** *** 70,76 **** contains it: ! <Include SRC="{{FOLDERLISTING_PATH}}folderListing.html" /> ! ! ({{FOLDERLISTING_PATH}} is declared by the framework itself) In case that you want to change the layout of the webbox, then --- 67,72 ---- contains it: ! <Include SRC="{{FOLDERLISTING_PATH}}folderListing.html" /> ! ({{FOLDERLISTING_PATH}} is declared by the framework itself) In case that you want to change the layout of the webbox, then *************** *** 79,92 **** to it and include it like this: ! <Include SRC="{{folderListing_path}}folderListing.html" /> ! ! ({{folderListing_path}} must be declared by your application) To change the layout of the webbox you can change the file 'folderListing.html' and the file 'folderListing.css'. - The variable {{linkedPath}} in 'folderListing.html' contains - a sensitive path, from the root to the current folder, which - allows the user to go to any of the folders in this path. - The variable {{htmlCode}} contains the html code that displays - the current folder. The look of this html code can be changed - by modifying the file 'folderListing.css'. --- 75,81 ---- to it and include it like this: ! <Include SRC="{{folderListing_path}}folderListing.html" /> ! ({{folderListing_path}} must be declared by your application) To change the layout of the webbox you can change the file 'folderListing.html' and the file 'folderListing.css'. |
From: Dashamir H. <das...@us...> - 2003-02-23 14:20:33
|
Update of /cvsroot/phpwebapp/web_app/webobjects/dbTable In directory sc8-pr-cvs1:/tmp/cvs-serv5059/webobjects/dbTable Modified Files: dbTable.txt Log Message: Index: dbTable.txt =================================================================== RCS file: /cvsroot/phpwebapp/web_app/webobjects/dbTable/dbTable.txt,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** dbTable.txt 21 Feb 2003 08:17:06 -0000 1.1.1.1 --- dbTable.txt 23 Feb 2003 14:20:30 -0000 1.2 *************** *** 12,16 **** selectable="true" /> ! If attribute 'table' is the name of the table that will be displayed. If it is not specified, its default value is {{obj_name}} (the value of attribute 'Name'). --- 12,16 ---- selectable="true" /> ! The attribute 'table' is the name of the table that will be displayed. If it is not specified, its default value is {{obj_name}} (the value of attribute 'Name'). |
From: Dashamir H. <das...@us...> - 2003-02-21 08:24:17
|
Update of /cvsroot/phpwebapp/app2 In directory sc8-pr-cvs1:/tmp/cvs-serv8049 Log Message: sample application Status: Vendor Tag: dashohoxha Release Tags: release_2003-02-21 N app2/browse.php N app2/index.php N app2/webapp.php N app2/config/const.Paths.php N app2/config/const.Debug.php N app2/config/const.Options.php N app2/img/Back.gif N app2/img/home.gif N app2/templates/footer.html N app2/templates/footer.js N app2/templates/header.html N app2/templates/page1.html N app2/templates/page1_content.html N app2/templates/page2.css N app2/templates/page2.html N app2/templates/styles.css N app2/templates/page3/tmpl.css N app2/templates/page3/page3.html N app2/templates/page3/tpl_1.css N app2/templates/page3/tpl_1.html N app2/templates/page3/tpl_2.css N app2/templates/page3/tpl_2.html N app2/templates/page3/tpl_2_1.css N app2/templates/page3/tpl_2_1.html N app2/templates/page3/tpl_2_2.css N app2/templates/page3/tpl_2_2.html N app2/templates/page3/tmpl.html No conflicts created by this import ***** Bogus filespec: - Imported sources |
From: Dashamir H. <das...@us...> - 2003-02-21 08:23:41
|
Update of /cvsroot/phpwebapp/app1 In directory sc8-pr-cvs1:/tmp/cvs-serv7896 Log Message: sample application Status: Vendor Tag: dashohoxha Release Tags: release_2003-02-21 N app1/external_page.html N app1/index.php N app1/page1.html N app1/page2.html N app1/page3.html N app1/styles.css N app1/browse.php N app1/webapp.php N app1/config/const.Paths.php N app1/config/const.Debug.php N app1/config/const.Options.php N app1/event_handlers/on.firstTime.php N app1/img/Back.gif N app1/img/home.gif No conflicts created by this import ***** Bogus filespec: - Imported sources |
From: Dashamir H. <das...@us...> - 2003-02-21 08:20:45
|
Update of /cvsroot/phpwebapp/documentation In directory sc8-pr-cvs1:/tmp/cvs-serv6363 Log Message: GPL phpWebApp documentation Status: Vendor Tag: dashohoxha Release Tags: release_2003-02-21 N documentation/index.php N documentation/browse.php N documentation/codeReview.php N documentation/codeReview.html N documentation/global.php N documentation/ToDo.txt N documentation/.emacs.desktop N documentation/init.php N documentation/webapp.php N documentation/config/const.Paths.php N documentation/config/const.Debug.php N documentation/config/const.Options.php N documentation/event_handlers/on.afterPage.php N documentation/event_handlers/on.beforePage.php N documentation/graphics/darkgrey.gif N documentation/graphics/white.gif N documentation/graphics/bismilah.gif N documentation/templates/styles.css N documentation/templates/main.html N documentation/templates/about.html N documentation/templates/developer_docs.html N documentation/templates/content.php N documentation/templates/bismilah.html N documentation/templates/mainMenu_items.php N documentation/templates/user_manual/user_manual.html N documentation/templates/user_manual/manual_page.php N documentation/templates/user_manual/manual_items.php N documentation/templates/user_manual/manual_pages/boxes.txt N documentation/templates/user_manual/manual_pages/database.txt N documentation/templates/user_manual/manual_pages/events.txt N documentation/templates/user_manual/manual_pages/intro.txt N documentation/templates/user_manual/manual_pages/new_app.txt N documentation/templates/user_manual/manual_pages/session.txt N documentation/templates/user_manual/manual_pages/templates.txt N documentation/templates/user_manual/manual_pages/transitions.txt N documentation/templates/user_manual/manual_pages/variables.txt N documentation/templates/user_manual/manual_pages/webox.txt N documentation/templates/tutorial/tutorial.html N documentation/templates/tutorial/weboxes.html N documentation/templates/tutorial/transitions.html N documentation/templates/tutorial/codeReview.js N documentation/templates/tutorial/intro.html N documentation/templates/tutorial/templates.html N documentation/templates/tutorial/events.html N documentation/templates/tutorial/advanced.html N documentation/templates/tutorial/database.html N documentation/templates/tutorial/sess_var.html N documentation/templates/tutorial/tutorial_items.php N documentation/templates/webobjects/webobjects.html N documentation/templates/webobjects/webobj_items.php N documentation/templates/webobjects/wobj_page.php N documentation/uml_model/browser.jar N documentation/uml_model/contents.cnt N documentation/uml_model/contents.html N documentation/uml_model/phpWebApp.html N documentation/uml_model/proj3aaec13b00c8.htm N documentation/uml_model/root.html N documentation/uml_model/webpublog.txt N documentation/uml_model/logicalview/cat3aaec13b00c9.htm N documentation/uml_model/logicalview/contents.cnt N documentation/uml_model/logicalview/dgm3aaec13b00cf.htm N documentation/uml_model/logicalview/dgm3aaec13b00cf.png N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cba3700a0.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/contents.cnt N documentation/uml_model/logicalview/cat3b0cba3700a0/dgm3b0cbd6c0082.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/dgm3b0cbd6c0082.png N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/att3ab10dd0035c.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/att3ab10dd0035c.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/att3ab10ddf0168.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/att3ab10ddf0168.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/att3b0d0f5400a0.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/att3b0d0f5400a0.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/att3b8b76480212.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/att3b8b76480212.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/att3b8bbc6902b2.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/att3b8bbc6902b2.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/att3b8c9894024e.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/att3b8c989802f8.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/att3b8c989e01a4.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/att3b8c98a2010e.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/att3b8c9baf001e.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/att3b8c9bb80280.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/att3b8c9bdc0046.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/att3b8c9be00352.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/att3b8e756c0154.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/att3b8e761e0014.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/att3b8e762102ee.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/att3b94d302023a.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/att3b94d302023a.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/att3b94d3070276.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/att3b971f32037a.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/att3b971f32037a.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/att3b971f3903d4.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/att3b971f3903d4.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/cat3b0cbbc102b2.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/cat3b0cbbc102b2.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/class3ab10d79035c.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/class3ab10d79035c.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/class3b13832b0258.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/class3b13832b0258.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/class3b8b72b90398.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/class3b8b72b90398.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/class3b8c96270226.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/class3b8c964b0168.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/class3b8c969e01cc.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/class3b8c96d103d4.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/class3b8ca64302a8.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/contents.cnt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/dgm3b0cbce10078.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/dgm3b0cbce10078.png N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/dgm3b0cbce10078.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/dgm3b0cfafa02bc.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/dgm3b0cfafa02bc.png N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/dgm3b0cfafa02bc.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/dgm3b909a66001e.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/dgm3b909a66001e.png N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/dgm3b94de0a03b6.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/dgm3b94de0a03b6.png N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/dgm3b94de4c0096.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/dgm3b94de4c0096.png N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/dgm3b94de9500c8.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/dgm3b94de9500c8.png N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/inh3b8c974b0104.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/inh3b8c974e003c.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/inh3b8c97510208.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/inh3b8ca6550028.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/obj3b0cfb100118.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3ab10df0006e.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3ab10df0006e.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3ab10e4101cc.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3ab10e4101cc.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3ab10e4e0244.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3ab10e4e0244.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3ab10f23038e.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3ab10f23038e.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b0d11880082.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b0d11880082.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b0d1eb3012c.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b0d1eb3012c.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b0d211e0244.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b0d211e0244.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b13847401ea.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b13847401ea.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b13847401ec.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b13847401ec.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b13847401f0.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b13847401f0.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b1384740226.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b1384740226.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b138474022e.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b138474022e.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b1384740230.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b1384740230.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b8b7340010e.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b8b7340010e.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b8b734900a0.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b8b734900a0.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b8b735502b2.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b8b735502b2.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b8b73610226.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b8b73610226.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b8b7369026c.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b8b7369026c.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b8b73e800aa.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b8b73e800aa.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b8b73f003c0.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b8b73f003c0.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b8b747f0334.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b8b747f0334.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b8b748b0352.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b8b748b0352.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b8b764e02da.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b8b764e02da.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b8b765602ee.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b8b765602ee.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b8b76600212.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b8b76600212.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b8b766603c0.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b8b766603c0.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b8b766e0104.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b8b766e0104.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b8b76740168.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b8b76740168.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b8b767b0226.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b8b767b0226.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b8bab69029e.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b8bab69029e.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b8c985b0352.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b8c985b0352.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b8c9870030c.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b8c9870030c.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b8c98750230.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b8c98750230.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b8c987900b4.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b8c987900b4.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b8c987d00fa.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b8c987d00fa.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b8c988102bc.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b8c988102bc.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b8c98a5000a.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b8c98a5000a.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b8c98b503a2.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b8c98b503a2.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b8c9b3701cc.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b8c9b3701cc.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b8c9b8f0230.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b8c9b8f0230.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b8e75ce0334.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b8e763403d4.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b8e763b0014.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b8e764e00f0.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b8e768200c8.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b8e76a503c0.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b8e77260366.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b8e77470186.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b8e7768026c.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b8e7786006e.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b8e778b02c6.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b90939600d2.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b90939600d2.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b9093f5030c.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b9093f5030c.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b9093fe01c2.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b90940d000a.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b9094160082.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b909420037a.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b9094320050.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b90944b00b4.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b909456006e.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b947fb201fe.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b94d4c70366.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b94d4c70366.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b94d74c0280.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b94d74c0280.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b94d8bd0352.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b94d8bd0352.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b971fe103ac.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b971fe103ac.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b97207401e0.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b97207401e0.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b97219b01ea.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/op3b97219b01ea.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbc102b2/uses3b1386bc0316.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbcf024e/att3aafaf8c0316.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbcf024e/att3aafaf8c0316.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbcf024e/att3b2f49b7001e.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbcf024e/att3b2f49b7001e.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbcf024e/att3b2f49c10168.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbcf024e/att3b2f49c10168.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbcf024e/att3b2f4c700212.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbcf024e/att3b2f4c700212.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbcf024e/att3b2f4c760208.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbcf024e/att3b2f4c760208.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbcf024e/cat3b0cbbcf024e.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbcf024e/cat3b0cbbcf024e.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbcf024e/class3aafaf6c03de.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbcf024e/class3aafaf6c03de.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbcf024e/class3b2f4903021c.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbcf024e/class3b2f4903021c.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbcf024e/class3b2f498301fe.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbcf024e/class3b2f498301fe.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbcf024e/contents.cnt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbcf024e/dgm3b0cbce50014.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbcf024e/dgm3b0cbce50014.png N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbcf024e/op3aafafbf00d2.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbcf024e/op3aafafbf00d2.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbcf024e/op3aafb05102ee.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbcf024e/op3aafb05102ee.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbcf024e/op3aafb08200fa.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbcf024e/op3aafb08200fa.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbcf024e/op3aafb092026c.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbcf024e/op3aafb092026c.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbcf024e/op3aafb0ae0168.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbcf024e/op3aafb0ae0168.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbcf024e/op3aafb0c400a0.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbcf024e/op3aafb0c400a0.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbcf024e/op3aafb0f303b6.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbcf024e/op3aafb0f303b6.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbcf024e/op3aafb10b03b6.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbcf024e/op3aafb10b03b6.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbcf024e/op3aafb1570136.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbcf024e/op3aafb1570136.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbcf024e/op3b2f2c9a0168.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbcf024e/op3b2f2c9a0168.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbcf024e/op3b2f4b24026c.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbcf024e/op3b2f4b730000.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbcf024e/op3b2f4c3f03d4.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbcf024e/op3b2f4c3f03d4.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbcf024e/op3b2f4c47037a.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbcf024e/op3b2f4c47037a.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbcf024e/op3b2f4c500190.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbcf024e/op3b2f4c500190.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbcf024e/op3b2f4c56003c.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbcf024e/op3b2f4c56003c.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbcf024e/op3b2f4c600118.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbcf024e/op3b2f4c600118.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbcf024e/op3b8b532903de.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbcf024e/op3b8b532903de.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbe20104/att3b8b555a01c2.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbe20104/att3b8b58f00280.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbe20104/att3b8b58f00280.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbe20104/att3b8b58f602e4.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbe20104/att3b8b58f602e4.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbe20104/att3b8b58fb0276.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbe20104/att3b8b58fb0276.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbe20104/att3b8b5901000a.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbe20104/att3b8b5901000a.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbe20104/att3b8b59080096.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbe20104/att3b8b59080096.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbe20104/att3b8b590d0028.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbe20104/att3b8b590d0028.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbe20104/att3b8b6245023a.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbe20104/att3b8b6245023a.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbe20104/att3b8b62550262.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbe20104/att3b8b62550262.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbe20104/att3b9095cf00e6.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbe20104/att3b9095cf00e6.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbe20104/cat3b0cbbe20104.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbe20104/cat3b0cbbe20104.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbe20104/class3b0cf6410014.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbe20104/class3b0cf6410014.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbe20104/class3b8b547d03a2.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbe20104/class3b8b547d03a2.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbe20104/class3b8b54880280.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbe20104/class3b8b54880280.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbe20104/contents.cnt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbe20104/dgm3b0cbce70032.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbe20104/dgm3b0cbce70032.png N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbe20104/inh3b8b58300316.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbe20104/obj3b0cfd580244.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbe20104/obj3b0cfd670384.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbe20104/op3b8b558a0046.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbe20104/op3b8b558a0046.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbe20104/op3b8b56cd02ee.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbe20104/op3b8b56cd02ee.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbe20104/op3b8b57a50118.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbe20104/op3b8b57a50118.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbe20104/op3b8b5a3801b8.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbe20104/op3b8b5a3801b8.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbe20104/op3b8b5a3e035c.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbe20104/op3b8b5a3e035c.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbe20104/op3b8b5a450082.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbe20104/op3b8b5a450082.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbe20104/op3b8b5a5a02c6.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbe20104/op3b8b5a5a02c6.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbe20104/op3b8b5a620316.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbe20104/op3b8b5a620316.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbe20104/op3b8b5a6903d4.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbe20104/op3b8b5a6903d4.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbe20104/op3b8b5a700014.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbe20104/op3b8b5a700014.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbe20104/op3b8b5a80000a.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbe20104/op3b8b5a80000a.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbe20104/op3b8b5a8c0320.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbe20104/op3b8b5a8c0320.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbe20104/op3b8b5a930118.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbe20104/op3b8b5a930118.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbe20104/op3b8b5a9e0000.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbe20104/op3b8b5a9e0000.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbe20104/op3b8b5aae00c8.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbe20104/op3b8b5aae00c8.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbe20104/op3b8b5ac20320.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbe20104/op3b8b5ac20320.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbe20104/op3b8b639d0276.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbe20104/op3b8b639d0276.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbe20104/op3b8b63a9010e.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbe20104/op3b8b63a9010e.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbe20104/op3b8b63ae03d4.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbe20104/op3b8b63ae03d4.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbe20104/op3b8b63b401a4.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbe20104/op3b8b63b401a4.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbe20104/op3b8b63be01d6.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbe20104/op3b8b63be01d6.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbe20104/op3b8f37d500d2.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbe20104/op3b8f37d500d2.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbe20104/op3b9097fe00a0.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbe20104/op3b9097fe00a0.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b0cbbe20104/uses3b8b5822026c.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224000c8/cat3b2f224000c8.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224000c8/cat3b2f224000c8.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224000c8/contents.cnt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224000c8/dgm3b2f227903de.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224000c8/dgm3b2f227903de.png N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224000c8/cat3b0cbc13038e/cat3b0cbc13038e.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224000c8/cat3b0cbc13038e/contents.cnt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224000c8/cat3b2f22c2028a/att3aaecf330230.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224000c8/cat3b2f22c2028a/att3aaecf330230.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224000c8/cat3b2f22c2028a/att3b8bc9f602da.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224000c8/cat3b2f22c2028a/att3b8bc9f602da.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224000c8/cat3b2f22c2028a/att3b8bc9fa038e.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224000c8/cat3b2f22c2028a/att3b8bc9fa038e.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224000c8/cat3b2f22c2028a/att3b8bc9ff0244.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224000c8/cat3b2f22c2028a/att3b8bc9ff0244.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224000c8/cat3b2f22c2028a/att3b8bca05026c.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224000c8/cat3b2f22c2028a/att3b8bca05026c.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224000c8/cat3b2f22c2028a/att3b8bcbc501e0.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224000c8/cat3b2f22c2028a/att3b8bcbc501e0.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224000c8/cat3b2f22c2028a/att3b8bcbcd03ac.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224000c8/cat3b2f22c2028a/att3b8bcbcd03ac.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224000c8/cat3b2f22c2028a/cat3b2f22c2028a.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224000c8/cat3b2f22c2028a/class3aaec6790050.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224000c8/cat3b2f22c2028a/class3aaec6790050.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224000c8/cat3b2f22c2028a/class3b8bc45b038e.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224000c8/cat3b2f22c2028a/class3b8bc45b038e.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224000c8/cat3b2f22c2028a/class3b8bc47b006e.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224000c8/cat3b2f22c2028a/class3b8bc47b006e.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224000c8/cat3b2f22c2028a/contents.cnt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224000c8/cat3b2f22c2028a/dgm3b2f22c50190.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224000c8/cat3b2f22c2028a/dgm3b2f22c50190.png N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224000c8/cat3b2f22c2028a/op3aaecb340276.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224000c8/cat3b2f22c2028a/op3aaecb340276.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224000c8/cat3b2f22c2028a/op3aaecb5b02e4.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224000c8/cat3b2f22c2028a/op3aaecb5b02e4.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224000c8/cat3b2f22c2028a/op3aaecb7401c2.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224000c8/cat3b2f22c2028a/op3aaecb7401c2.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224000c8/cat3b2f22c2028a/op3aaecb8b0050.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224000c8/cat3b2f22c2028a/op3aaecb8b0050.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224000c8/cat3b2f22c2028a/op3aafb1ad0032.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224000c8/cat3b2f22c2028a/op3aafb1ad0032.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224000c8/cat3b2f22c2028a/op3b8bc82f023a.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224000c8/cat3b2f22c2028a/op3b8bc82f023a.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224000c8/cat3b2f22c2028a/op3b8bc94102bc.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224000c8/cat3b2f22c2028a/op3b8bc94102bc.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224000c8/cat3b2f22c2028a/op3b8bcae8023a.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224000c8/cat3b2f22c2028a/op3b8bcae8023a.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224000c8/cat3b2f22c2028a/op3b8bcbf501ae.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224000c8/cat3b2f22c2028a/op3b8bcbf501ae.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224000c8/cat3b2f22c2028a/op3b8bcbfb005a.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224000c8/cat3b2f22c2028a/op3b8bcbfb005a.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224000c8/cat3b2f22c2028a/op3b8bcc0203ac.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224000c8/cat3b2f22c2028a/op3b8bcc0203ac.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224000c8/cat3b2f22c2028a/op3b8bcc090172.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224000c8/cat3b2f22c2028a/op3b8bcc090172.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224000c8/cat3b2f234e03de/cat3b2f234e03de.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224000c8/cat3b2f234e03de/contents.cnt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224b00be/cat3b2f224b00be.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224b00be/cat3b2f224b00be.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224b00be/contents.cnt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224b00be/dgm3b2f227c01cc.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224b00be/dgm3b2f227c01cc.png N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224b00be/cat3b0cbc270050/att3b0cc39e0226.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224b00be/cat3b0cbc270050/att3b0cc39e0226.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224b00be/cat3b0cbc270050/att3b0cca2d00e6.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224b00be/cat3b0cbc270050/att3b0cca2d00e6.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224b00be/cat3b0cbc270050/att3b0cca7200dc.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224b00be/cat3b0cbc270050/att3b0cca7200dc.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224b00be/cat3b0cbc270050/att3b0cca7c01b8.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224b00be/cat3b0cbc270050/att3b0cca7c01b8.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224b00be/cat3b0cbc270050/att3b0ccfce0172.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224b00be/cat3b0cbc270050/att3b0ccfe50294.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224b00be/cat3b0cbc270050/att3b0cd1a203ac.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224b00be/cat3b0cbc270050/att3b0cd1ad024e.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224b00be/cat3b0cbc270050/att3b0cd1b70172.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224b00be/cat3b0cbc270050/att3b0cd1c50064.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224b00be/cat3b0cbc270050/att3b0cd1cf0096.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224b00be/cat3b0cbc270050/att3b0cd1dc0078.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224b00be/cat3b0cbc270050/att3b0cd1e6014a.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224b00be/cat3b0cbc270050/cat3b0cbc270050.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224b00be/cat3b0cbc270050/class3b0cbe3f017c.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224b00be/cat3b0cbc270050/class3b0cbe3f017c.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224b00be/cat3b0cbc270050/class3b0cbe4a02b2.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224b00be/cat3b0cbc270050/class3b0cbe4a02b2.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224b00be/cat3b0cbc270050/class3b0cbe5c0140.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224b00be/cat3b0cbc270050/class3b0cbe5c0140.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224b00be/cat3b0cbc270050/contents.cnt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224b00be/cat3b0cbc270050/dgm3b0cbe3c023a.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224b00be/cat3b0cbc270050/dgm3b0cbe3c023a.png N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224b00be/cat3b0cbc270050/dgm3b0cd4c30136.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224b00be/cat3b0cbc270050/dgm3b0cd4c30136.png N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224b00be/cat3b0cbc270050/inh3b0cbe64033e.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224b00be/cat3b0cbc270050/inh3b0cbe68015e.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224b00be/cat3b0cbc270050/obj3b0cd70e00fa.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224b00be/cat3b0cbc270050/obj3b0cd77d019a.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224b00be/cat3b0cbc270050/obj3b0cd814015e.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224b00be/cat3b0cbc270050/obj3b0cd83b02da.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224b00be/cat3b0cbc270050/obj3b0cd83f019a.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224b00be/cat3b0cbc270050/obj3b0cd9500118.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224b00be/cat3b0cbc270050/obj3b0cd9a2000a.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224b00be/cat3b0cbc270050/obj3b0cda2d0276.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224b00be/cat3b0cbc270050/op3b0cca8c01d6.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224b00be/cat3b0cbc270050/op3b0cca8c01d6.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224b00be/cat3b0cbc270050/op3b0cca9801f4.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224b00be/cat3b0cbc270050/op3b0ccab00190.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224b00be/cat3b0cbc270050/op3b0ccab70104.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224b00be/cat3b0cbc270050/op3b0ccac700be.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224b00be/cat3b0cbc270050/op3b0ccac700be.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224b00be/cat3b0cbc270050/op3b0ccace0032.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224b00be/cat3b0cbc270050/op3b0ccace0032.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224b00be/cat3b0cbc270050/op3b0ccad60046.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224b00be/cat3b0cbc270050/op3b0ccad60046.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224b00be/cat3b0cbc270050/op3b0ccff900d2.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224b00be/cat3b0cbc270050/op3b0cd007017c.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224b00be/cat3b0cbc270050/op3b0cd007017c.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224b00be/cat3b0cbc270050/op3b0cd243028a.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224b00be/cat3b0cbc270050/op3b0cd24c02c6.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224b00be/cat3b0cbc270050/op3b0cd24c02c6.txt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224b00be/cat3b0cbc40026c/cat3b0cbc40026c.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224b00be/cat3b0cbc40026c/contents.cnt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224b00be/cat3b0cbc4802ee/cat3b0cbc4802ee.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224b00be/cat3b0cbc4802ee/contents.cnt N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224b00be/cat3b0cbc6f02b2/cat3b0cbc6f02b2.htm N documentation/uml_model/logicalview/cat3b0cba3700a0/cat3b2f224b00be/cat3b0cbc6f02b2/contents.cnt N documentation/uml_model/logicalview/cat3b0cba4e0118/cat3b0cba4e0118.htm N documentation/uml_model/logicalview/cat3b0cba4e0118/contents.cnt N documentation/uml_model/logicalview/cat3b0cba4e0118/dgm3b0cbbb80208.htm N documentation/uml_model/logicalview/cat3b0cba4e0118/dgm3b0cbbb80208.png N documentation/uml_model/looseends/ass3b0cc0250168.htm N documentation/uml_model/looseends/ass3b0cc032032a.htm N documentation/uml_model/looseends/ass3b0cc05002ee.htm N documentation/uml_model/looseends/ass3b0cf65501f4.htm N documentation/uml_model/looseends/ass3b2f510a019a.htm N documentation/uml_model/looseends/ass3b8bcb6e00c8.htm N documentation/uml_model/looseends/ass3b94dc0f01ea.htm N documentation/uml_model/looseends/ass3b94dc720168.htm N documentation/uml_model/looseends/ass3b94dcac00fa.htm N documentation/uml_model/looseends/obj3b0cd5000370.htm N documentation/uml_model/looseends/obj3b0cd6fe02bc.htm N documentation/uml_model/looseends/obj3b0cda8302bc.htm N documentation/uml_model/looseends/obj3b0cda9400b4.htm N documentation/uml_model/looseends/obj3b0cda9b0398.htm N documentation/uml_model/looseends/obj3b0cdaa002f8.htm N documentation/uml_model/looseends/obj3b0cfb990064.htm N documentation/uml_model/looseends/obj3b0cfbc103ca.htm N documentation/uml_model/looseends/obj3b909a7b0082.htm N documentation/uml_model/looseends/obj3b909a9d026c.htm N documentation/uml_model/looseends/obj3b909ac200fa.htm N documentation/uml_model/looseends/obj3b909acf02c6.htm N documentation/uml_model/looseends/obj3b909ae201f4.htm N documentation/uml_model/looseends/obj3b909af0030c.htm N documentation/uml_model/looseends/obj3b909b0c02da.htm N documentation/uml_model/looseends/obj3b94e62f021c.htm N documentation/uml_model/looseends/obj3b94e645026c.htm N documentation/uml_model/looseends/role3b0cc0260046.htm N documentation/uml_model/looseends/role3b0cc0260047.htm N documentation/uml_model/looseends/role3b0cc0330212.htm N documentation/uml_model/looseends/role3b0cc0330213.htm N documentation/uml_model/looseends/role3b0cc0550168.htm N documentation/uml_model/looseends/role3b0cc0550169.htm N documentation/uml_model/looseends/role3b0cf6560226.htm N documentation/uml_model/looseends/role3b0cf6560227.htm N documentation/uml_model/looseends/role3b2f510a03c0.htm N documentation/uml_model/looseends/role3b2f510a03c1.htm N documentation/uml_model/looseends/role3b8bcb6f0168.htm N documentation/uml_model/looseends/role3b8bcb6f0169.htm N documentation/uml_model/looseends/role3b94dc10024e.htm N documentation/uml_model/looseends/role3b94dc10024f.htm N documentation/uml_model/looseends/role3b94dc74003c.htm N documentation/uml_model/looseends/role3b94dc74003d.htm N documentation/uml_model/looseends/role3b94dcb1019a.htm N documentation/uml_model/looseends/role3b94dcb1019b.htm N documentation/uml_model/webviewer/16.jpg N documentation/uml_model/webviewer/17.jpg N documentation/uml_model/webviewer/18.jpg N documentation/uml_model/webviewer/23.jpg N documentation/uml_model/webviewer/30.jpg N documentation/uml_model/webviewer/31.jpg N documentation/uml_model/webviewer/32.jpg N documentation/uml_model/webviewer/34.jpg N documentation/uml_model/webviewer/35.jpg N documentation/uml_model/webviewer/36.jpg N documentation/uml_model/webviewer/37.jpg N documentation/uml_model/webviewer/81.jpg N documentation/uml_model/webviewer/82.jpg N documentation/uml_model/webviewer/assoccat.gif N documentation/uml_model/webviewer/banner.jpg N documentation/uml_model/webviewer/home.gif N documentation/uml_model/webviewer/impl.gif N documentation/uml_model/webviewer/intro.html N documentation/uml_model/webviewer/priv.gif N documentation/uml_model/webviewer/prop.gif N documentation/uml_model/webviewer/prot.gif N documentation/uml_model/webviewer/pub.gif N documentation/uml_model/webviewer/win3bmp.jar N documentation/webobjects/tabs3/tabs3.css N documentation/webobjects/tabs3/tabs3.html N documentation/webobjects/tabs3/tabs3.js N documentation/webobjects/tabs3/tabs3.php N documentation/webobjects/tabs3/tabs3.txt N documentation/webobjects/tabs3/tabs3_items.php N documentation/webobjects/tabs1/tabs1.txt N documentation/webobjects/tabs1/tabs1.php N documentation/webobjects/tabs1/tabs1.html N documentation/webobjects/tabs1/tabs1.css N documentation/webobjects/tabs1/tabs1.js N documentation/webobjects/tabs1/tabs1_items.php N documentation/webobjects/tabs2/tabs2.css N documentation/webobjects/tabs2/tabs2.html N documentation/webobjects/tabs2/tabs2.js N documentation/webobjects/tabs2/tabs2.php N documentation/webobjects/tabs2/tabs2.txt N documentation/webobjects/tabs2/tabs2_items.php No conflicts created by this import ***** Bogus filespec: - Imported sources |
From: Dashamir H. <das...@us...> - 2003-02-21 08:17:12
|
Update of /cvsroot/phpwebapp/web_app In directory sc8-pr-cvs1:/tmp/cvs-serv5422 Log Message: GPL phpWebApp Status: Vendor Tag: dashohoxha Release Tags: release_2003-02-21 N web_app/ChangeLog N web_app/WebApp.php N web_app/class.WebApp.php N web_app/const.Paths.php N web_app/makedoc.sh N web_app/styles.css N web_app/COPYING N web_app/append/append.html N web_app/append/wbDbgStatevars.php N web_app/append/wbDbgTemplates.php N web_app/append/wbDebug.html N web_app/append/wbDebug.php N web_app/append/wbMessages.php N web_app/boxes/codeViewer/codeViewer.css N web_app/boxes/codeViewer/codeViewer.html N web_app/boxes/codeViewer/codeViewer.php N web_app/boxes/codeViewer/doc.codeViewer.txt N web_app/boxes/codeViewer/codeColorizer/COPYING N web_app/boxes/codeViewer/codeColorizer/README N web_app/boxes/codeViewer/codeColorizer/Beautifier/Context.php N web_app/boxes/codeViewer/codeColorizer/Beautifier/Core.php N web_app/boxes/codeViewer/codeColorizer/Beautifier/HFile.php N web_app/boxes/codeViewer/codeColorizer/Beautifier/Magic.php N web_app/boxes/codeViewer/codeColorizer/Beautifier/MagicConfig.php N web_app/boxes/codeViewer/codeColorizer/HFile/HFile_css.php N web_app/boxes/codeViewer/codeColorizer/HFile/HFile_dosbatch.php N web_app/boxes/codeViewer/codeColorizer/HFile/HFile_html.php N web_app/boxes/codeViewer/codeColorizer/HFile/HFile_htmlphpsql.php N web_app/boxes/codeViewer/codeColorizer/HFile/HFile_ini.php N web_app/boxes/codeViewer/codeColorizer/HFile/HFile_javascript.php N web_app/boxes/codeViewer/codeColorizer/HFile/HFile_jscript.php N web_app/boxes/codeViewer/codeColorizer/HFile/HFile_mixedphp.php N web_app/boxes/codeViewer/codeColorizer/HFile/HFile_mysql.php N web_app/boxes/codeViewer/codeColorizer/HFile/HFile_php3.php N web_app/boxes/codeViewer/codeColorizer/HFile/HFile_phphtml.php N web_app/boxes/codeViewer/codeColorizer/HFile/HFile_sqlnew.php N web_app/boxes/codeViewer/codeColorizer/HFile/HFile_xhtml10.php N web_app/boxes/codeViewer/codeColorizer/HFile/HFile_xhtml11.php N web_app/boxes/codeViewer/codeColorizer/HFile/HFile_xhtmlbasic.php N web_app/boxes/codeViewer/codeColorizer/HFile/HFile_xml.php N web_app/boxes/codeViewer/codeColorizer/HFile/HFile_xsl.php N web_app/boxes/codeViewer/codeColorizer/Output/Output_HTML.php N web_app/boxes/codeViewer/codeColorizer/Output/Output_css.php N web_app/boxes/editMenus/class.MenuElem.php N web_app/boxes/editMenus/class.MenuTopElem.php N web_app/boxes/editMenus/class.Menus.php N web_app/boxes/editMenus/class.XMLMenus.php N web_app/boxes/editMenus/editMenus.html N web_app/boxes/editMenus/editMenus.js N web_app/boxes/editMenus/editMenus.php N web_app/boxes/editMenus/fun.editMenus.php N web_app/boxes/editMenus/hierMenus.js N web_app/boxes/editMenus/include_menus.js N web_app/boxes/editMenus/menubar.css N web_app/boxes/editMenus/test.php N web_app/boxes/editMenus/test_1.php N web_app/boxes/editMenus/tri.gif N web_app/boxes/editMenus/sample_menu/hierMenus.js N web_app/boxes/editMenus/sample_menu/include_menus.js N web_app/boxes/editMenus/sample_menu/sample_menu.html N web_app/boxes/editMenus/sample_menu/sample_menu.php N web_app/boxes/editMenus/sample_menu/tri.gif N web_app/boxes/editMenus/sample_menu/menu_data/menu_arrays.js N web_app/boxes/editMenus/sample_menu/menu_data/menu_data.xml N web_app/boxes/editMenus/sample_menu/menu_data/menubar.css N web_app/boxes/editMenus/sample_menu/menu_data/menubar.html N web_app/boxes/editMenus/sample_menu/menu_data/menus.dtd N web_app/boxes/fileView/fileView.html N web_app/boxes/fileView/fileView.php N web_app/boxes/fileView/sample_file.html N web_app/boxes/fileView/viewHtml.html N web_app/boxes/fileView/viewImage.html N web_app/boxes/fileView/viewImage.php N web_app/boxes/fileView/viewPHP.html N web_app/boxes/fileView/viewPHP.php N web_app/boxes/fileView/viewText.html N web_app/boxes/fileView/viewUnknown.html N web_app/boxes/fileView/viewUnknown.php N web_app/boxes/folderListing/doc.folderListing.txt N web_app/boxes/folderListing/empty.html N web_app/boxes/folderListing/folderListing.css N web_app/boxes/folderListing/folderListing.html N web_app/boxes/folderListing/folderListing.js N web_app/boxes/folderListing/folderListing.php N web_app/boxes/folderManager/folderEditing.html N web_app/boxes/folderManager/folderEditing.js N web_app/boxes/folderManager/folderEditing.php N web_app/boxes/folderManager/folderManager.html N web_app/database/class.Connection.php N web_app/database/class.EditableRS.php N web_app/database/class.MySQLCnn.php N web_app/database/class.PagedRS.php N web_app/database/class.Recordset.php N web_app/database/class.StaticRS.php N web_app/database/class.TableRS.php N web_app/database/database.doc N web_app/database/package.DB.php N web_app/doc/ToDo.WebDevelopment.txt N web_app/doc/ToDo.XML.txt N web_app/doc/ToDo.txt N web_app/doc/WebApp.doc N web_app/doc/WebApp.mdl N web_app/doc/WebApp.txt N web_app/doc/bugs.txt N web_app/doc/changes.txt N web_app/doc/changes_1.txt N web_app/doc/manual.doc N web_app/doc/tasks.txt N web_app/doc/tutorial.txt N web_app/doc/xhtml_template_specification.txt N web_app/parser/class.FileTpl.php N web_app/parser/class.IfTpl.php N web_app/parser/class.MainTpl.php N web_app/parser/class.Parser.php N web_app/parser/class.Render.php N web_app/parser/class.RepeatTpl.php N web_app/parser/class.Template.php N web_app/parser/class.VarStack.php N web_app/parser/class.WebClassTpl.php N web_app/parser/class.WebObject.php N web_app/parser/class.WebObjectTpl.php N web_app/parser/class.WebPage.php N web_app/parser/package.ParseRender.php N web_app/session/class.Event.php N web_app/session/class.Request.php N web_app/session/class.Session.js N web_app/session/class.Session.php N web_app/session/doc.Session.txt N web_app/session/func.GoTo.js N web_app/session/tst.php N web_app/session/wbSession.html N web_app/session/wbSession.php N web_app/session/sample/Back.gif N web_app/session/sample/Add.gif N web_app/session/sample/functions.js N web_app/session/sample/test.Session.php N web_app/timer/class.Timer.js N web_app/timer/class.Timer.php N web_app/tools/fileBrowser/doc.fileBrowser.txt N web_app/tools/fileBrowser/file.html N web_app/tools/fileBrowser/file.php N web_app/tools/fileBrowser/fileBrowser.css N web_app/tools/fileBrowser/fileBrowser.html N web_app/tools/fileBrowser/fileBrowser.php N web_app/tools/fileBrowser/folder.html N web_app/tools/fileBrowser/panel.html N web_app/tools/fileBrowser/panel.js N web_app/tools/fileBrowser/panel.php N web_app/tools/fileBrowser/sample.html N web_app/webobjects/datebox/datebox.css N web_app/webobjects/datebox/datebox.html N web_app/webobjects/datebox/datebox.js N web_app/webobjects/datebox/datebox.php N web_app/webobjects/datebox/datebox.txt N web_app/webobjects/datebox/show_calendar.gif N web_app/webobjects/dbTable/dbTable.db N web_app/webobjects/dbTable/dbTable.html N web_app/webobjects/dbTable/dbTable.js N web_app/webobjects/dbTable/dbTable.php N web_app/webobjects/dbTable/dbTable.txt N web_app/webobjects/dbTable/editRecord.css N web_app/webobjects/dbTable/editRecord.db N web_app/webobjects/dbTable/editRecord.html N web_app/webobjects/dbTable/editRecord.js N web_app/webobjects/dbTable/editRecord.php N web_app/webobjects/form/formWebObj.js N web_app/webobjects/form/formWebObj.php N web_app/webobjects/form/formWebObj.txt N web_app/webobjects/leftMenu/leftMenu.css N web_app/webobjects/leftMenu/leftMenu.html N web_app/webobjects/leftMenu/leftMenu.js N web_app/webobjects/leftMenu/leftMenu.php N web_app/webobjects/leftMenu/leftMenu.txt N web_app/webobjects/leftMenu/leftMenu_items.php N web_app/webobjects/listbox/listbox.html N web_app/webobjects/listbox/listbox.php N web_app/webobjects/listbox/listbox.txt N web_app/webobjects/table/table.html N web_app/webobjects/table/table.php N web_app/webobjects/table/table.txt N web_app/webobjects/xlistbox/xlistbox.html N web_app/webobjects/xlistbox/xlistbox.js N web_app/webobjects/xlistbox/xlistbox.php N web_app/webobjects/xlistbox/xlistbox.txt No conflicts created by this import ***** Bogus filespec: - Imported sources |
From: Dashamir H. <das...@us...> - 2003-02-20 10:46:00
|
Update of /cvsroot/phpwebapp/lgpl-documentation In directory sc8-pr-cvs1:/tmp/cvs-serv20371 Added Files: info.php Log Message: --- NEW FILE: info.php --- <? phpinfo(); ?> |
From: Dashamir H. <das...@us...> - 2003-02-20 10:43:44
|
Update of /cvsroot/phpwebapp/lgpl-app2/config In directory sc8-pr-cvs1:/tmp/cvs-serv19566/config Modified Files: const.Paths.php Log Message: Index: const.Paths.php =================================================================== RCS file: /cvsroot/phpwebapp/lgpl-app2/config/const.Paths.php,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** const.Paths.php 28 Dec 2001 19:55:30 -0000 1.2 --- const.Paths.php 20 Feb 2003 10:43:41 -0000 1.3 *************** *** 1,5 **** <? //constants of the paths in the application ! define("APP_URL", "/app2/"); define("WEBAPP_PATH", APP_PATH."../web_app/"); define("EVENTHANDLER_PATH", APP_PATH."event_handlers/"); --- 1,5 ---- <? //constants of the paths in the application ! define("APP_URL", "/lgpl/app2/"); define("WEBAPP_PATH", APP_PATH."../web_app/"); define("EVENTHANDLER_PATH", APP_PATH."event_handlers/"); |
From: Dashamir H. <das...@us...> - 2003-02-20 10:43:03
|
Update of /cvsroot/phpwebapp/lgpl-app1/config In directory sc8-pr-cvs1:/tmp/cvs-serv19338/config Modified Files: const.Paths.php Log Message: Index: const.Paths.php =================================================================== RCS file: /cvsroot/phpwebapp/lgpl-app1/config/const.Paths.php,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** const.Paths.php 12 Dec 2001 01:13:19 -0000 1.1.1.1 --- const.Paths.php 20 Feb 2003 10:43:00 -0000 1.2 *************** *** 1,7 **** ! <? ! //constants of the paths in the application ! define("APP_URL", "/app1/"); ! define("WEBAPP_PATH", APP_PATH."../web_app/"); ! define("EVENTHANDLER_PATH", APP_PATH."event_handlers/"); ! define("TPL_PATH", APP_PATH); ?> --- 1,7 ---- ! <? ! //constants of the paths in the application ! define("APP_URL", "/lgpl/app1/"); ! define("WEBAPP_PATH", APP_PATH."../web_app/"); ! define("EVENTHANDLER_PATH", APP_PATH."event_handlers/"); ! define("TPL_PATH", APP_PATH); ?> |
From: Dashamir H. <das...@us...> - 2003-02-20 10:42:11
|
Update of /cvsroot/phpwebapp/lgpl-documentation/templates/tutorial In directory sc8-pr-cvs1:/tmp/cvs-serv19092/templates/tutorial Modified Files: templates.html transitions.html Log Message: Index: templates.html =================================================================== RCS file: /cvsroot/phpwebapp/lgpl-documentation/templates/tutorial/templates.html,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** templates.html 28 Dec 2001 20:05:32 -0000 1.4 --- templates.html 20 Feb 2003 10:42:05 -0000 1.5 *************** *** 10,16 **** Explains how to debug the template structure. <br><br> ! [<a href="/app2/" target="_new">Test</a>] ! [<a href="/app2/browse.php" target="_new">Browse</a>] ! [<a href="http://phpwebapp.sourceforge.net/download/app2.tar.gz">Download</a>] <br><br> <hr> --- 10,16 ---- Explains how to debug the template structure. <br><br> ! [<a href="{{APP2_URL}}" target="_new">Test</a>] ! [<a href="{{APP2_URL}}browse.php" target="_new">Browse</a>] ! [<a href="http://phpwebapp.sourceforge.net/download/lgpl/app2.tar.gz">Download</a>] <br><br> <hr> *************** *** 60,66 **** See this <a href="javascript: codeReview('{{APP2_PATH}}templates/page3/page3.html','4,8,10,12','')">example</a>. The <i>{ {TPL_URL} }</i> variable in line 4 contains the URL of the folder ! 'templates', which in this case is '/app2/templates/'. The <i>{ {TPL_PATH} }</i> variable in lines 8 and 12 contains the path in the server of the folder ! templates, e.g. '/var/www/html/app2/templates/'. Both of them are declared in the file <a href="javascript: codeReview('{{APP2_PATH}}config/const.Paths.php','6,7','')"><i>config/const.Paths.php</i></a>. --- 60,66 ---- See this <a href="javascript: codeReview('{{APP2_PATH}}templates/page3/page3.html','4,8,10,12','')">example</a>. The <i>{ {TPL_URL} }</i> variable in line 4 contains the URL of the folder ! 'templates', which in this case is '{{APP2_URL}}templates/'. The <i>{ {TPL_PATH} }</i> variable in lines 8 and 12 contains the path in the server of the folder ! templates, e.g. '/var/www/html{{APP2_URL}}templates/'. Both of them are declared in the file <a href="javascript: codeReview('{{APP2_PATH}}config/const.Paths.php','6,7','')"><i>config/const.Paths.php</i></a>. *************** *** 183,187 **** <br><br> ! <li> <a href="/app2/browse.php" target="_blank">Browse</a> the files of the application and see the templates 'page1.html', 'header.html', 'footer.html', 'page1_content.html'. --- 183,187 ---- <br><br> ! <li> <a href="{{APP2_URL}}browse.php" target="_blank">Browse</a> the files of the application and see the templates 'page1.html', 'header.html', 'footer.html', 'page1_content.html'. Index: transitions.html =================================================================== RCS file: /cvsroot/phpwebapp/lgpl-documentation/templates/tutorial/transitions.html,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** transitions.html 28 Dec 2001 20:05:32 -0000 1.6 --- transitions.html 20 Feb 2003 10:42:05 -0000 1.7 *************** *** 9,15 **** debug transitions. <br><br> ! [<a href="/app1/" target="_new">Test</a>] ! [<a href="/app1/browse.php" target="_new">Browse</a>] ! [<a href="http://phpwebapp.sourceforge.net/download/app1.tar.gz">Download</a>] <br><br> <hr> --- 9,15 ---- debug transitions. <br><br> ! [<a href="{{APP1_URL}}" target="_new">Test</a>] ! [<a href="{{APP1_URL}}browse.php" target="_new">Browse</a>] ! [<a href="http://phpwebapp.sourceforge.net/download/lgpl/app1.tar.gz">Download</a>] <br><br> <hr> *************** *** 61,65 **** <br> If you have not tested the application yet, please ! <a href="/app1/" target="_new">test it</a> now and pay attention to how the <b>GoTo()</b> is used. </p> --- 61,65 ---- <br> If you have not tested the application yet, please ! <a href="{{APP1_URL}}" target="_new">test it</a> now and pay attention to how the <b>GoTo()</b> is used. </p> *************** *** 107,111 **** <p> If you have not yet browsed the application, then ! <a href="/app1/browse.php" target="_new">browse it</a> now. </p> <p> --- 107,111 ---- <p> If you have not yet browsed the application, then ! <a href="{{APP1_URL}}browse.php" target="_new">browse it</a> now. </p> <p> *************** *** 168,173 **** <li> Edit the file app1_test/config/<a href="javascript: codeReview('{{APP1_PATH}}config/const.Paths.php','3','')">const.Paths.php</a> ! so that the constant 'APP_URL' is set to '/app1_test/'. ! <li> Open the application '/app1_test/' in browser to test it. It should work. </ol> 'APP_URL' is the URL of the application starting from the DocumentRoot. --- 168,173 ---- <li> Edit the file app1_test/config/<a href="javascript: codeReview('{{APP1_PATH}}config/const.Paths.php','3','')">const.Paths.php</a> ! so that the constant 'APP_URL' is set to '/lgpl/app1_test/'. ! <li> Open the application '/lgpl/app1_test/' in browser to test it. It should work. </ol> 'APP_URL' is the URL of the application starting from the DocumentRoot. *************** *** 186,192 **** <li> Edit the file test/app1_test/config/<a href="javascript: codeReview('{{APP1_PATH}}config/const.Paths.php','3,4','')">const.Paths.php</a> ! so that the constant 'APP_URL' is set to '/test/app1_test/', and the constant 'WEBAPP_PATH' is set to '../../web_app'. ! <li> Open the application '/test/app1_test/' in browser to test it. It should work. </ol> --- 186,192 ---- <li> Edit the file test/app1_test/config/<a href="javascript: codeReview('{{APP1_PATH}}config/const.Paths.php','3,4','')">const.Paths.php</a> ! so that the constant 'APP_URL' is set to '/lgpl/test/app1_test/', and the constant 'WEBAPP_PATH' is set to '../../web_app'. ! <li> Open the application '/lgpl/test/app1_test/' in browser to test it. It should work. </ol> |
From: Dashamir H. <das...@us...> - 2003-02-20 10:42:10
|
Update of /cvsroot/phpwebapp/lgpl-documentation/templates In directory sc8-pr-cvs1:/tmp/cvs-serv19092/templates Modified Files: about.html Log Message: Index: about.html =================================================================== RCS file: /cvsroot/phpwebapp/lgpl-documentation/templates/about.html,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** about.html 17 Jan 2002 04:22:11 -0000 1.12 --- about.html 20 Feb 2003 10:42:05 -0000 1.13 *************** *** 5,8 **** --- 5,13 ---- <BODY> <br> + <p> + <strong>Note:</strong>This (LGPL-ed) version of phpWebApp is not supported + anymore. See the <a href="http://phpwebapp.sourceforge.net/">GPL-ed version</a> + for the latest copy of the framework. + </p> <h3>What is phpWebApp</h3> <p> *************** *** 94,116 **** You can get the phpWebApp directly from <a href="http://sourceforge.net/cvs/?group_id=41147" target="_blank">CVS@sourceforge</a>. ! Login as an <i>anonymous</i> user and checkout the modules <i>web_app</i>, ! <i>documentation</i>, <i>app1</i>, <i>app2</i> etc. Alternatively, you can download them from here: ! <a href="http://phpwebapp.sourceforge.net/download/web_app.tar.gz">web_app.tar.gz</a> (168 KB) , ! <a href="http://phpwebapp.sourceforge.net/download/documentation.tar.gz">documentation.tar.gz</a> (212 KB) , ! <a href="http://phpwebapp.sourceforge.net/download/app1.tar.gz">app1.tar.gz</a> (5 KB) , ! <a href="http://phpwebapp.sourceforge.net/download/app2.tar.gz">app2.tar.gz</a> (7 KB) </p> <h3>Related Links</h3> <ul> ! <li> <a href="http://sourceforge.net" target="_new"> SourceForge.net ! </a> ! <li> <a href="http://sourceforge.net/projects/phpwebapp/" target="_new"> phpWebApp Project</a> at SourceForge <li> <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/phpwebapp/" target="_new"> Browse the CVS</a> at SourceForge ! <li> <a href="/documentation/browse.php" target="_new"> Browse the Documentation templates </a> ! <li> <a href="/app1/" target="_new"> Sample Application 1 </a> ! <li> <a href="/app1/browse.php" target="_new"> Browse the Sample Application templates </a> </ul> --- 99,137 ---- You can get the phpWebApp directly from <a href="http://sourceforge.net/cvs/?group_id=41147" target="_blank">CVS@sourceforge</a>. ! Login as an <i>anonymous</i> user and checkout the modules <i>lgpl-web_app</i>, ! <i>lgpl-documentation</i>, <i>lgpl-app1</i> and <i>lgpl-app2</i>. Alternatively, you can download them from here: ! <a href="http://phpwebapp.sourceforge.net/download/lgpl/web_app.tar.gz">web_app.tar.gz</a> (168 KB) , ! <a href="http://phpwebapp.sourceforge.net/download/lgpl/documentation.tar.gz">documentation.tar.gz</a> (212 KB) , ! <a href="http://phpwebapp.sourceforge.net/download/lgpl/app1.tar.gz">app1.tar.gz</a> (5 KB) , ! <a href="http://phpwebapp.sourceforge.net/download/lgpl/app2.tar.gz">app2.tar.gz</a> (7 KB) </p> + + <h3>Compatibility Issues</h3> + <p> + Since the LGPL version is not supported anymore, it may be incompatible with + the new versions of PHP. Some of the known problems with PHP 4.2.2 + (in RedHat Linux 8.0) are these: + <ul> + <li>in '/etc/php.ini', <b>short_open_tag</b> should be 'On' + <li>in '/etc/php.ini', <b>register_globals</b> should be 'On' + <li>in '/etc/php.ini', <b>allow_call_time_pass_reference</b> should be 'On' + </ul> + You can <a href="{{APP_URL}}info.php" target="_new">see some information</a> + about the PHP version and its configuration in the server running + this application. + </p> + <h3>Related Links</h3> <ul> ! <li><a href="http://phpwebapp.sourceforge.net/">GPL-ed phpWebApp</a> ! <li><a href="http://sourceforge.net" target="_new">SourceForge.net</a> ! <li><a href="http://sourceforge.net/projects/phpwebapp/" target="_new"> phpWebApp Project</a> at SourceForge <li> <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/phpwebapp/" target="_new"> Browse the CVS</a> at SourceForge ! <li> <a href="{{APP_URL}}browse.php" target="_new"> Browse the Documentation templates </a> ! <li> <a href="{{APP1_URL}}" target="_new"> Sample Application 1 </a> ! <li> <a href="{{APP1_URL}}browse.php" target="_new"> Browse the Sample Application templates </a> </ul> |
From: Dashamir H. <das...@us...> - 2003-02-20 10:42:10
|
Update of /cvsroot/phpwebapp/lgpl-documentation/config In directory sc8-pr-cvs1:/tmp/cvs-serv19092/config Modified Files: const.Paths.php Log Message: Index: const.Paths.php =================================================================== RCS file: /cvsroot/phpwebapp/lgpl-documentation/config/const.Paths.php,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** const.Paths.php 23 Dec 2001 01:10:09 -0000 1.2 --- const.Paths.php 20 Feb 2003 10:42:05 -0000 1.3 *************** *** 1,5 **** <? //constants of the paths in the application ! define("APP_URL", "/documentation/"); define("WEBAPP_PATH", APP_PATH."../web_app/"); define("EVENTHANDLER_PATH", APP_PATH."event_handlers/"); --- 1,5 ---- <? //constants of the paths in the application ! define("APP_URL", "/lgpl/documentation/"); define("WEBAPP_PATH", APP_PATH."../web_app/"); define("EVENTHANDLER_PATH", APP_PATH."event_handlers/"); *************** *** 11,13 **** --- 11,15 ---- define("APP1_PATH", APP_PATH."../app1/"); define("APP2_PATH", APP_PATH."../app2/"); + define("APP1_URL", "/lgpl/app1/"); + define("APP2_URL", "/lgpl/app2/"); ?> |
From: Yves G. <ga...@us...> - 2002-04-13 19:18:17
|
Update of /cvsroot/phpwebapp/documentation/templates/tutorial In directory usw-pr-cvs1:/tmp/cvs-serv20719/templates/tutorial Modified Files: Tag: gablin_1 advanced.html database.html events.html intro.html sess_var.html templates.html transitions.html tutorial.html weboxes.html Added Files: Tag: gablin_1 submenu_items.php tutorial.php Log Message: --- NEW FILE: submenu_items.php --- <? //The $tab_items array contains the items of the tab. The values //of this array are used as labels for the items of the tab, and //the keys are used to generate the name of the template that //contains the subform. $tab_items = array( "intro" => "Introduction", "transitions" => "1-Transitions", "templates" => "2-Templates", "weboxes" => "3-WebBox-es", "events" => "4-Events", "sess_var" => "5-Session and Variables", "database" => "6-Database", "advanced" => "7-Advanced" ); ?> --- NEW FILE: tutorial.php --- <? function tutorial_eventHandler($event) { global $session; } function tutorial_onLoad() { global $session; $submenuBaseURL = WebApp::getVar("./"); $session->Vars["submenuBaseURL"] = $submenuBaseURL; } function tutorial_onRender() { global $session; } ?> Index: advanced.html =================================================================== RCS file: /cvsroot/phpwebapp/documentation/templates/tutorial/advanced.html,v retrieving revision 1.1 retrieving revision 1.1.4.1 diff -C2 -d -r1.1 -r1.1.4.1 *** advanced.html 16 Dec 2001 05:47:05 -0000 1.1 --- advanced.html 13 Apr 2002 19:18:04 -0000 1.1.4.1 *************** *** 1,25 **** ! <h3>7 - All the rest of the advanced features</h3> ! A complicated, real and almost finished web application (which may evolve from the previous samples or may be independent of them), which makes use and explains almost all of the advanced features of framework which have not been explained in the ! previous samples. Such features may be: <ul> ! <li> Detailed explanation of the <Repeat> element and the page ! recordsets. ! <li> <Var> elements ! <li> An <Include> element that uses a variable. ! <li> Usage of an external webox. ! <li> Etc. </ul> ! <br><br> ! [<a href="javascript: alert('Sorry! Not implemented yet.')">Test</a>] ! [<a href="javascript: alert('Sorry! Not implemented yet.')">Browse</a>] ! <br><br> ! <hr> ! <br> ! <ul> ! <li> ! <li> ! <li> ! </ul> \ No newline at end of file --- 1,18 ---- ! <h2>7 - All the rest of the advanced features</h2> ! ! <p>A complicated, real and almost finished web application (which may evolve from the previous samples or may be independent of them), which makes use and explains almost all of the advanced features of framework which have not been explained in the ! previous samples. Such features may be:</p> <ul> ! <li>Detailed explanation of the <Repeat> element and the page recordsets. ! <li><Var> elements ! <li>An <Include> element that uses a variable. ! <li>Usage of an external webox. ! <li>Etc. </ul> ! <p>[<a href="javascript: alert('Sorry! Not implemented yet.')">Test</a>] ! [<a href="javascript: alert('Sorry! Not implemented yet.')">Browse</a>]</p> ! <hr /> ! <b>.<br />.<br />.</b> Index: database.html =================================================================== RCS file: /cvsroot/phpwebapp/documentation/templates/tutorial/database.html,v retrieving revision 1.1 retrieving revision 1.1.4.1 diff -C2 -d -r1.1 -r1.1.4.1 *** database.html 16 Dec 2001 05:47:05 -0000 1.1 --- database.html 13 Apr 2002 19:18:04 -0000 1.1.4.1 *************** *** 1,4 **** ! <h3>6 - Interacting with a Database</h3> ! Explains how to set a default connection with a database. Explains the configuration file of a template (*.tpc) and the <Recordset> element. Explains the <Repeat> elements and --- 1,5 ---- ! <h2>6 - Interacting with a Database</h2> ! ! <p>Explains how to set a default connection with a database. Explains the configuration file of a template (*.tpc) and the <Recordset> element. Explains the <Repeat> elements and *************** *** 8,21 **** and WebApp::execQuery() inside the PHP code of the webox. Explains how to debug the recordsets of the page and the execution ! times of the queries (and other processes). ! <br><br> ! [<a href="javascript: alert('Sorry! Not implemented yet.')">Test</a>] ! [<a href="javascript: alert('Sorry! Not implemented yet.')">Browse</a>] ! <br><br> ! <hr> ! <br> ! <ul> ! <li> ! <li> ! <li> ! </ul> \ No newline at end of file --- 9,15 ---- and WebApp::execQuery() inside the PHP code of the webox. Explains how to debug the recordsets of the page and the execution ! times of the queries (and other processes).</p> ! <p>[<a href="javascript: alert('Sorry! Not implemented yet.')">Test</a>] ! [<a href="javascript: alert('Sorry! Not implemented yet.')">Browse</a>]</p> ! <hr /> ! <b>.<br />.<br />.</b> Index: events.html =================================================================== RCS file: /cvsroot/phpwebapp/documentation/templates/tutorial/events.html,v retrieving revision 1.1 retrieving revision 1.1.4.1 diff -C2 -d -r1.1 -r1.1.4.1 *** events.html 16 Dec 2001 05:47:05 -0000 1.1 --- events.html 13 Apr 2002 19:18:04 -0000 1.1.4.1 *************** *** 1,18 **** ! <h3>4 - Sending and Handelling Events</h3> ! Some of the transitions send events to some of the weboxes. The target weboxes handle these events in their eventHandler() functions. Explains also the transitions to 'thisPage', sending an event to 'any' webox, ! and sending events to 'none' of the weboxes (independent events). ! <br><br> ! [<a href="javascript: alert('Sorry! Not implemented yet.')">Test</a>] ! [<a href="javascript: alert('Sorry! Not implemented yet.')">Browse</a>] ! <br><br> ! <hr> ! <br> ! <ul> ! <li> ! <li> ! <li> ! </ul> \ No newline at end of file --- 1,11 ---- + <h2>4 - Sending and Handelling Events</h2> ! <p>Some of the transitions send events to some of the weboxes. The target weboxes handle these events in their eventHandler() functions. Explains also the transitions to 'thisPage', sending an event to 'any' webox, ! and sending events to 'none' of the weboxes (independent events).</p> ! <p>[<a href="javascript: alert('Sorry! Not implemented yet.')">Test</a>] ! [<a href="javascript: alert('Sorry! Not implemented yet.')">Browse</a>]</p> ! <hr /> ! <b>.<br />.<br />.</b> Index: intro.html =================================================================== RCS file: /cvsroot/phpwebapp/documentation/templates/tutorial/intro.html,v retrieving revision 1.1 retrieving revision 1.1.4.1 diff -C2 -d -r1.1 -r1.1.4.1 *** intro.html 16 Dec 2001 05:47:05 -0000 1.1 --- intro.html 13 Apr 2002 19:18:04 -0000 1.1.4.1 *************** *** 1,115 **** ! The tutorial consists of a list of sample applications which are built using phpWebApp. Each application uses some features of phpWebApp and has explanations about the features used. It also has code reviews which show how these features are used in the application, and exercises which require the ! reader to try himself some simple modifications to the application. ! <p> ! Each application builds on the things explained on the previous applications and explains only the new features that are introduced ! in it, so it is recomended to study them in the given order. ! <p> ! These sample applications may also serve as templates for your applications. Instead of building a new application from scratch, you can just copy one ! of the samples and modify it according to your needs. ! <br> ! <br> ! <table width="100%" align="center" cellspacing="0" cellpadding="20" border="0"> ! <tr> ! <td width="50%" valign="top"> ! <b><a href="javascript: tutorialTab('transitions')">1 - Transitions</a></b> ! <br> ! A very simple application that has 2 or 3 HTML files ! which have transitions to each-other and have some ! links to external pages. ! Explains the folder structure of a simple application, ! explains what are the transitions and the difference ! between the transitions and the links. Explains how to ! debug transitions. ! </td> ! <td width="50%" valign="top"> ! <b><a href="javascript: tutorialTab('templates')">2 - Templates</a></b> ! <br> ! The HTML files now become templates. This application ! uses the <Include> tag to insert the same header file ! at the beginning of each template and to break the ! templates into sub templates. It shows how to include ! the javascript code and the stylesheet of each template. ! It also explains the use of the framework comments and ! the difference between them and the HTML comments. ! Explains how to debug the template structure. ! </td> ! </tr> ! <tr> ! <td width="50%" valign="top"> ! <b><a href="javascript: tutorialTab('weboxes')">3 - Introducing WebBox-es</a></b> ! <br> ! Some of the templates are turned into weboxes. ! Explains the fundamental difference between a template ! and a webox. The PHP code of the weboxes ! declares the function onRender(), where some variables ! are added using WebApp::addVar(), and these {{variables}} ! are used in the corresponding template. ! </td> ! <td width="50%" valign="top"> ! <b><a href="javascript: tutorialTab('events')">4 - Sending and Handelling Events</a></b> ! <br> ! Some of the transitions send ! events to some of the weboxes. The target weboxes handle ! these events in their eventHandler() functions. Explains also ! the transitions to 'thisPage', sending an event to 'any' webox, ! and sending events to 'none' of the weboxes (independent events). ! </td> ! </tr> ! <tr> ! <td width="50%" valign="top"> ! <b><a href="javascript: tutorialTab('sess_var')">5 - Session and Variables</a></b> ! <br> ! Explains what are the session variables and how to use them. ! Explains further how the {{template variables}} are evaluated. ! Explains how the session variables are used to keep the state ! of the weboxes and the states of the application (introduces ! the function onLoad() of the weboxes). Explains how the <If> ! elements are used to display templates conditionally. ! Explains how to debug the session variables. ! </td> ! <td width="50%" valign="top"> ! <b><a href="javascript: tutorialTab('database')">6 - Interacting with a Database</a></b> ! <br> ! Explains how to set a default connection with a database. ! Explains the configuration file of a template (*.tpc) and ! the <Recordset> element. Explains the <Repeat> elements and ! how to use them inside a template. Explains the '.db' file ! of a webox, the <Recordset> and <dbCommand> elements inside it, ! and how to use the functions WebApp::execDBCmd(), WebApp::openRS() ! and WebApp::execQuery() inside the PHP code of the webox. ! Explains how to debug the recordsets of the page and the execution ! times of the queries (and other processes). ! </td> ! </tr> ! <tr> ! <td width="50%" valign="top"> ! <b><a href="javascript: tutorialTab('advanced')">7 - All the rest of the advanced features</a></b> ! <br> ! A complicated, real and almost finished web application (which ! may evolve from the previous samples or may be independent of ! them), which makes use and explains almost all of the advanced ! features of framework which have not been explained in the ! previous samples. Such features may be: ! <ul> ! <li> Detailed explanation of the <Repeat> element and the page ! recordsets. ! <li> <Var> elements ! <li> An <Include> element that uses a variable. ! <li> Usage of an external webox. ! <li> Etc. ! </ul> ! </td> ! <td width="50%" valign="top"> ! <b>8 - _____</b> ! <br> ! </td> </tr> </table> --- 1,94 ---- + <h2>Introduction</h2> ! <p>The tutorial consists of a list of sample applications which are built using phpWebApp. Each application uses some features of phpWebApp and has explanations about the features used. It also has code reviews which show how these features are used in the application, and exercises which require the ! reader to try himself some simple modifications to the application.</p> ! <p>Each application builds on the things explained on the previous applications and explains only the new features that are introduced ! in it, so it is recomended to study them in the given order.</p> ! <p>These sample applications may also serve as templates for your applications. Instead of building a new application from scratch, you can just copy one ! of the samples and modify it according to your needs.</p> ! <table width="100%" cellspacing="0" cellpadding="20" border="0" ! style="clear:both"> ! <tr> ! <td width="50%"> ! <h3><a href="javascript:submenuGo('transitions')">1 - Transitions</a></h3> ! <p>A very simple application that has 2 or 3 HTML files ! which have transitions to each-other and have some ! links to external pages. ! Explains the folder structure of a simple application, ! explains what are the transitions and the difference ! between the transitions and the links. Explains how to ! debug transitions.</p></td> ! <td width="50%"> ! <h3><a href="javascript:submenuGo('templates')">2 - Templates</a></h3> ! <p>The HTML files now become templates. This application ! uses the <Include> tag to insert the same header file ! at the beginning of each template and to break the ! templates into sub templates. It shows how to include ! the javascript code and the stylesheet of each template. ! It also explains the use of the framework comments and ! the difference between them and the HTML comments. ! Explains how to debug the template structure.</p></td> ! </tr><tr> ! <td> ! <h3><a href="javascript:submenuGo('weboxes')">3 - Introducing WebBox-es</a></h3> ! <p>Some of the templates are turned into weboxes. ! Explains the fundamental difference between a template ! and a webox. The PHP code of the weboxes ! declares the function onRender(), where some variables ! are added using WebApp::addVar(), and these {{variables}} ! are used in the corresponding template.</p></td> ! <td> ! <h3><a href="javascript:submenuGo('events')">4 - Sending and Handelling Events</a></h3> ! <p>Some of the transitions send ! events to some of the weboxes. The target weboxes handle ! these events in their eventHandler() functions. Explains also ! the transitions to 'thisPage', sending an event to 'any' webox, ! and sending events to 'none' of the weboxes (independent events).</p></td> ! </tr><tr> ! <td> ! <h3><a href="javascript:submenuGo('sess_var')">5 - Session and Variables</a></h3> ! <p>Explains what are the session variables and how to use them. ! Explains further how the {{template variables}} are evaluated. ! Explains how the session variables are used to keep the state ! of the weboxes and the states of the application (introduces ! the function onLoad() of the weboxes). Explains how the <If> ! elements are used to display templates conditionally. ! Explains how to debug the session variables.</p></td> ! <td> ! <h3><a href="javascript:submenuGo('database')">6 - Interacting with a Database</a></h3> ! <p>Explains how to set a default connection with a database. ! Explains the configuration file of a template (*.tpc) and ! the <Recordset> element. Explains the <Repeat> elements and ! how to use them inside a template. Explains the '.db' file ! of a webox, the <Recordset> and <dbCommand> elements inside it, ! and how to use the functions WebApp::execDBCmd(), WebApp::openRS() ! and WebApp::execQuery() inside the PHP code of the webox. ! Explains how to debug the recordsets of the page and the execution ! times of the queries (and other processes).</p></td> ! </tr><tr> ! <td> ! <h3><a href="javascript:submenuGo('advanced')">7 - All the rest of the advanced features</a></h3> ! <p>A complicated, real and almost finished web application (which ! may evolve from the previous samples or may be independent of ! them), which makes use and explains almost all of the advanced ! features of framework which have not been explained in the ! previous samples. Such features may be :</p> ! <ul> ! <li> Detailed explanation of the <Repeat> element and the page ! recordsets. ! <li> <Var> elements ! <li> An <Include> element that uses a variable. ! <li> Usage of an external webox. ! <li> Etc. ! </ul></td> ! <td> ! <h3>8 - _____</h3></td> </tr> </table> Index: sess_var.html =================================================================== RCS file: /cvsroot/phpwebapp/documentation/templates/tutorial/sess_var.html,v retrieving revision 1.1 retrieving revision 1.1.4.1 diff -C2 -d -r1.1 -r1.1.4.1 *** sess_var.html 16 Dec 2001 05:47:05 -0000 1.1 --- sess_var.html 13 Apr 2002 19:18:04 -0000 1.1.4.1 *************** *** 1,5 **** ! <h3>5 - Session and Variables</h3> ! Explains what are the session variables and how to use them. Explains further how the {{template variables}} are evaluated. Explains how the session variables are used to keep the state --- 1,5 ---- + <h2>5 - Session and Variables</h2> ! <p>Explains what are the session variables and how to use them. Explains further how the {{template variables}} are evaluated. Explains how the session variables are used to keep the state *************** *** 7,20 **** the function onLoad() of the weboxes). Explains how the <If> elements are used to display templates conditionally. ! Explains how to debug the session variables. ! <br><br> ! [<a href="javascript: alert('Sorry! Not implemented yet.')">Test</a>] ! [<a href="javascript: alert('Sorry! Not implemented yet.')">Browse</a>] ! <br><br> ! <hr> ! <br> ! <ul> ! <li> ! <li> ! <li> ! </ul> \ No newline at end of file --- 7,13 ---- the function onLoad() of the weboxes). Explains how the <If> elements are used to display templates conditionally. ! Explains how to debug the session variables.</p> ! <p>[<a href="javascript: alert('Sorry! Not implemented yet.')">Test</a>] ! [<a href="javascript: alert('Sorry! Not implemented yet.')">Browse</a>]</p> ! <hr /> ! <b>.<br />.<br />.</b> Index: templates.html =================================================================== RCS file: /cvsroot/phpwebapp/documentation/templates/tutorial/templates.html,v retrieving revision 1.4 retrieving revision 1.4.2.1 diff -C2 -d -r1.4 -r1.4.2.1 *** templates.html 28 Dec 2001 20:05:32 -0000 1.4 --- templates.html 13 Apr 2002 19:18:04 -0000 1.4.2.1 *************** *** 1,5 **** <script language="JavaScript" src="{{./}}codeReview.js"></script> ! <h3>2 - Templates</h3> ! Explains templates. This application uses the <Include> tag to insert the same header file at the beginning of each template and to break the --- 1,7 ---- <script language="JavaScript" src="{{./}}codeReview.js"></script> ! ! <h2>2 - Templates</h2> ! ! <p>Explains templates. This application uses the <Include> tag to insert the same header file at the beginning of each template and to break the *************** *** 8,135 **** It also explains the use of the framework comments and the difference between them and the HTML comments. ! Explains how to debug the template structure. ! <br><br> ! [<a href="/app2/" target="_new">Test</a>] ! [<a href="/app2/browse.php" target="_new">Browse</a>] ! [<a href="http://phpwebapp.sourceforge.net/download/app2.tar.gz">Download</a>] ! <br><br> ! <hr> ! <a name="toc"> ! <h4>Table of Contents</h4> <ul> ! <li><a href="#templates">Templates</a> ! <ol> ! <li><a href="#variables">Template Variables</a> ! <li><a href="#include">The <Include> tag</a> ! <li><a href="#comments">Comments</a> ! <li><a href="#including">JavaScript code and stylesheet of a template</a> ! </ol> ! <li><a href="#study">Study the sample</a> ! <li><a href="#exercises">Exercises</a> ! <ol> ! <li><a href="#exercise1">Modify page2.html and page3.html</a> ! <li><a href="#exercise2">Rename folder 'img' to 'images'</a> ! <li><a href="#exercise3">Divide Page1 further into subtemplates</a> ! <li><a href="#exercise4">Move Page1 to a new folder</a> ! <li><a href="#exercise5">Change the styles of the page1_content</a> ! <li><a href="#exercise6">Move template tpl_2.html and its related files to folder 'page3/tpl_2/</a> ! <li><a href="#exercise7"> Think about it</a> ! </ol> </ul> ! <hr> ! <a name="templates"></a> ! <h4>Templates</h4> ! <p> ! Templates are pieces of HTML code, that are used or combined by the framework to generate the HTML pages that are sent to ! the browser. ! </p> ! [<a href="#toc">TOC</a>] ! <hr> ! <a name="variables"></a> ! <h5>1 - Template variables</h5> ! <p> ! The templates may contain variables inside them (called "template variables"), which are replaced by the framework with their string values. The variables ! inside a template are denoted by double curly braces: <i>{ {tpl_var} }</i>. ! </p> ! <p> ! See this <a href="javascript: codeReview('{{APP2_PATH}}templates/page3/page3.html','4,8,10,12','')">example</a>. ! The <i>{ {TPL_URL} }</i> variable in line 4 contains the URL of the folder ! 'templates', which in this case is '/app2/templates/'. The <i>{ {TPL_PATH} }</i> ! variable in lines 8 and 12 contains the path in the server of the folder ! templates, e.g. '/var/www/html/app2/templates/'. Both of them are declared ! in the file ! <a href="javascript: codeReview('{{APP2_PATH}}config/const.Paths.php','6,7','')"><i>config/const.Paths.php</i></a>. ! The variable <i>{ {./} }</i> in line 10 is a special framework variable ! that always contains the path of the current folder, i.e. the folder ! of the current file. ! </p> ! [<a href="#toc">TOC</a>] ! <hr> ! <a name="include"></a> ! <h5>2 - The <Include> tag</h5> ! <p> ! The templates may also contain some extra tags, which are not HTML tags. These tags are reckognised and processed by the framework. One of them is the <Include> tag, which is used to include another template inside the ! current template: ! </p> ! <pre> ! <Include SRC="file_to_be_included" /> ! </pre> ! <p> ! It is a very useful tag, because it allows to divide pages into subtemplates, which results in a better structured application, provides modularity (the graphical designer can work with smaller pieces of code), and reusability (templates are easier to be reused in other pages or other applications). See again the same ! <a href="javascript: codeReview('{{APP2_PATH}}templates/page3/page3.html','8,10,12','')">example</a>. ! </p> ! [<a href="#toc">TOC</a>] ! <hr> ! <a name="comments"></a> ! <h5>3 - Comments</h5> ! <p> ! The templates may contain some special comments as well: ! </p> ! <pre> ! <!--# Framework comments #--> ! </pre> ! <p> ! These comments are like HTML comments by they have a diesis (#) at the opening and closing marks. These comments are not processed by the framework and are not displayed in the HTML page that is generated. ! <a href="javascript: codeReview('{{APP2_PATH}}templates/header.html','1-3','')">Example</a>. ! </p> ! [<a href="#toc">TOC</a>] ! <hr> ! <a name="including"></a> ! <h5>4 - JavaScript code and stylesheet of a template</h5> ! <p> ! If a certain template has some javascript code or some special styles of its own, then it is better to include them at the begining of the template (instead of including them globally, at the <Head> of the page). This makes the template more independant from the other parts of the page and thus easier to use it again into another page. They are included like ! this: ! </p> ! <pre> ! <script language="javascript" src="file.js"></script> ! <link rel="stylesheet" type="text/css" href="file.css"> ! </pre> ! <p> ! <a href="javascript: codeReview('{{APP2_PATH}}templates/footer.html','1','')">example1</a>, ! <a href="javascript: codeReview('{{APP2_PATH}}templates/page3/tpl_2.html','1','')">example2</a> ! <br> The inclusion is much better than writting the JS and CSS code in the template because it separates the HTML code from the JS and CSS codes. --- 10,125 ---- It also explains the use of the framework comments and the difference between them and the HTML comments. ! Explains how to debug the template structure.</p> ! <p>[<a href="/app2/" target="_new">Test</a>] ! [<a href="/app2/browse.php" target="_new">Browse</a>] ! [<a href="http://phpwebapp.sourceforge.net/download/app2.tar.gz">Download</a>]</p> ! ! <hr /> ! ! <a name="toc" /> ! <h3>Table of Contents</h3> <ul> ! <li><a href="#templates">Templates</a><ol> ! <li><a href="#variables">Template Variables</a></li> ! <li><a href="#include">The <Include> tag</a></li> ! <li><a href="#comments">Comments</a></li> ! <li><a href="#including">JavaScript code and stylesheet of a template</a></li> ! </ol></li> ! <li><a href="#study">Study the sample</a></li> ! <li><a href="#exercises">Exercises</a><ol> ! <li><a href="#exercise1">Modify page2.html and page3.html</a></li> ! <li><a href="#exercise2">Rename folder 'img' to 'images'</a></li> ! <li><a href="#exercise3">Divide Page1 further into subtemplates</a></li> ! <li><a href="#exercise4">Move Page1 to a new folder</a></li> ! <li><a href="#exercise5">Change the styles of the page1_content</a></li> ! <li><a href="#exercise6">Move template tpl_2.html and its related files to folder 'page3/tpl_2/</a></li> ! <li><a href="#exercise7">Think about it</a></li> ! </ol></li> </ul> ! <hr /> ! ! <a name="templates" /> ! <h3>Templates</h3> ! <p>Templates are pieces of HTML code, that are used or combined by the framework to generate the HTML pages that are sent to ! the browser.</p> ! <p>[<a href="#toc">TOC</a>]</p> ! <hr /> ! ! <a name="variables" /> ! <h4>1 - Template variables</h4> ! <p>The templates may contain variables inside them (called "template variables"), which are replaced by the framework with their string values. The variables ! inside a template are denoted by double curly braces: <i>{ {tpl_var} }</i>.</p> ! <p>See this ! <a href="javascript:codeReview('{{APP2_PATH}}templates/page3/page3.html','4,8,10,12','')" ! >example</a>. The <i>{ {TPL_URL} }</i> variable in line 4 contains the URL ! of the folder 'templates', which in this case is '/app2/templates/'. ! The <i>{ {TPL_PATH} }</i> variable in lines 8 and 12 contains the path in the ! server of the folder templates, e.g. '/var/www/html/app2/templates/'. ! Both of them are declared in the file ! <a href="javascript:codeReview('{{APP2_PATH}}config/const.Paths.php','6,7','')" ! ><i>config/const.Paths.php</i></a>. The variable <i>{ {./} }</i> in line 10 ! is a special framework variable that always contains the path of the current ! folder, i.e. the folder of the current file.</p> ! <p>[<a href="#toc">TOC</a>]</p> ! <hr /> ! ! <a name="include" /> ! <h4>2 - The <Include> tag</h4> ! <p>The templates may also contain some extra tags, which are not HTML tags. These tags are reckognised and processed by the framework. One of them is the <Include> tag, which is used to include another template inside the ! current template:</p> ! ! <pre><Include SRC="file_to_be_included" /></pre> ! ! <p>It is a very useful tag, because it allows to divide pages into subtemplates, which results in a better structured application, provides modularity (the graphical designer can work with smaller pieces of code), and reusability (templates are easier to be reused in other pages or other applications). See again the same ! <a href="javascript:codeReview('{{APP2_PATH}}templates/page3/page3.html','8,10,12','')" ! >example</a>.</p> ! <p>[<a href="#toc">TOC</a>]</p> ! <hr /> ! ! <a name="comments" /> ! <h4>3 - Comments</h4> ! <p>The templates may contain some special comments as well:</p> ! ! <pre><!--# Framework comments #--></pre> ! ! <p>These comments are like HTML comments by they have a diesis (#) at the opening and closing marks. These comments are not processed by the framework and are not displayed in the HTML page that is generated. ! <a href="javascript:codeReview('{{APP2_PATH}}templates/header.html','1-3','')" ! >Example</a>.</p> ! <p>[<a href="#toc">TOC</a>]</p> ! <hr /> ! ! <a name="including" /> ! <h4>4 - JavaScript code and stylesheet of a template</h4> ! <p>If a certain template has some javascript code or some special styles of its own, then it is better to include them at the begining of the template (instead of including them globally, at the <Head> of the page). This makes the template more independant from the other parts of the page and thus easier to use it again into another page. They are included like ! this:</p> ! ! <pre><script language="javascript" src="file.js"></script> ! <link rel="stylesheet" type="text/css" href="file.css"></pre> ! ! <p><a href="javascript:codeReview('{{APP2_PATH}}templates/footer.html','1','')">example1</a>, ! <a href="javascript:codeReview('{{APP2_PATH}}templates/page3/tpl_2.html','1','')">example2</a><br /> The inclusion is much better than writting the JS and CSS code in the template because it separates the HTML code from the JS and CSS codes. *************** *** 137,409 **** time that this template is loaded in browser again, most probably the browser will get "file.js" and "file.css" from its cache, instead of ! retrieving them again from the server. ! </p> ! ! [<a href="#toc">TOC</a>] ! <hr> ! ! <a name="study"> ! <h4>Study the sample</h4> ! <p> ! Here we will highlight and discuss some of the features of the ! sample application, so that we can understand it better. ! </p> ! <p> ! <ul> ! <li> All the templates of the application are placed ! in the folder '/templates/'. We tell to the framework where ! to look for the templates by giving an appropriate value to ! the constant TPL_PATH in the file ! <a href="javascript: codeReview('{{APP2_PATH}}config/const.Paths.php','7,8','')"><i>config/const.Paths.php</i></a>. ! <br><br> ! ! <li> All the images of this application are placed in the folder '/img/'. ! In templates they are linked using the { {IMG_URL} } variable. ! <a href="javascript: codeReview('{{APP2_PATH}}templates/footer.html','9,10','')">See</a> how it is used. ! The { {IMG_URL} } template variable gets the value from the ! PHP constant IMG_URL, which is declared in the file ! <a href="javascript: codeReview('{{APP2_PATH}}config/const.Paths.php','6','')"><i>config/const.Paths.php</i></a>. ! ! <br><br> ! ! <li> All the files and templates of the page3 are placed in the folder ! '/templates/page3/'. Organizing files into folders and subfolders ! reduces the complexity of the application and makes it easier to be ! understood and maintained. ! <a href="javascript: codeReview('{{APP2_PATH}}templates/footer.js','17','')">Notice</a> ! how the transition to page3 is done. ! <br><br> ! ! <li> All the pages include the same header and footer template, ! e.g. see ! <a href="javascript: codeReview('{{APP2_PATH}}templates/page1.html','8,10','')">page1.html</a>. ! If you want to change something in the footer of the page, then you ! don't have to change every page, but you make the change only once ! in the footer. ! <br><br> ! <li> <a href="/app2/browse.php" target="_blank">Browse</a> ! the files of the application and see the templates ! 'page1.html', 'header.html', 'footer.html', 'page1_content.html'. ! See them both in preview mode and in code view mode (select the ! "Code View" mode in the panel at the top and then click "Refresh"). ! <br><br> ! <li> Browse the files and see the template 'page2.html' and all the templates ! in the folder '/templates/page3/'. See them both in preview mode and ! in code view mode. These two pages are the same in terms of what they ! display, however they are implemented differently in the server. ! 'page2.html' is implemented as a flat big HTML file, while ! 'page3.html' is structured, divided into several small subtemplates. ! Try to make the same modification in both of them and see which one ! is easier to be modified. ! <br><br> </ul> ! [<a href="#toc">TOC</a>] ! <hr> ! <a name="exercises"> ! <h4>Exercises</h4> ! <p> ! Before starting the exercises, make a copy of the application 'app2' to the folder 'test/app2'. If you don't know how to do it, go and ! study the first part of the tutorial (Transitions). ! </p> ! [<a href="#toc">TOC</a>] ! <hr> ! <a name="exercise1"> ! <h5>1 - Modify page2.html and page3.html</h5> ! <p> ! Change to red the color of the tpl_2_1 box, and change the text ! inside it to "This box is red!". ! </p> ! <p> ! Modify page2.html: <ol> ! <li> Open the file ! <a href="javascript: codeReview('{{APP2_PATH}}templates/page2.css','52,59','')">page2.css</a> ! and change the color in the highlighted lines to 'red'. ! <li> Open the file ! <a href="javascript: codeReview('{{APP2_PATH}}templates/page2.html','39-40','')">page2.html</a> ! and change the text in the highlighted lines to "This box is red!". </ol> ! Which of the pages do you think is easier to be modified? ! </p> ! <p> ! Modify page3.html: <ol> ! <li> Open the file ! <a href="javascript: codeReview('{{APP2_PATH}}templates/page3/tpl_2_1.css','5,12','')">tpl_2_1.css</a> ! and change the color in the highlighted lines to 'red'. ! <li> Open the file ! <a href="javascript: codeReview('{{APP2_PATH}}templates/page3/tpl_2_1.html','5-6','')">tpl_2_1.html</a> ! and change the text in the highlighted lines to "This box is red!". </ol> - </p> ! [<a href="#toc">TOC</a>] ! <hr> - <a name="exercise2"> - <h5>2 - Rename folder 'img' to 'images'</h5> - <p> <ol> ! <li> Rename folder 'img' to 'images' ($ mv img images). Test the application; ! the images will be broken. ! <li> Change the value of the IMG_URL constant in the file ! <a href="javascript: codeReview('{{APP2_PATH}}config/const.Paths.php','5-6','')">const.Paths.php</a>. ! Reload the application. The images should be allright. </ol> - If all the images in the application are linked like this: - <pre> - <img src="{ {IMG_URL} }image_name.gif"/> - </pre> - there will be no problem. However, if any image is hard linked like this: - <pre> - <img src="/img/image_name.gif"/> - </pre> - it will not be displayed. - </p> ! [<a href="#toc">TOC</a>] ! <hr> ! <a name="exercise3"> ! <h5>3 - Divide Page1 further into subtemplates</h5> ! <p> <ol> ! <li> Open the file ! <a href="javascript: codeReview('{{APP2_PATH}}templates/page1_content.html','11-17','')">page1_content.html</a> ! and copy the selected lines to the file 'tpl_vars.html'. ! <li> Replace the selected lines with this line: ! <pre> ! <Include SRC="{ {./} }tpl_vars.html"/> ! </pre> ! <li> Copy the ! <a href="javascript: codeReview('{{APP2_PATH}}templates/page1_content.html','19-36','15-40')">selected lines</a> ! of 'page1_content.html' to file 'include_tag.html', and replace ! them with: ! <pre> ! <Include SRC="{ {./} }include_tag.html"/> ! </pre> ! <li> Copy the ! <a href="javascript: codeReview('{{APP2_PATH}}templates/page1_content.html','38-49','33-55')">selected lines</a> ! of 'page1_content.html' to file 'comments.html', and replace ! them with: ! <pre> ! <Include SRC="{ {./} }comments.html"/> ! </pre> ! <li> Copy the ! <a href="javascript: codeReview('{{APP2_PATH}}templates/page1_content.html','51-72','45-72')">selected lines</a> ! of 'page1_content.html' to file 'js_code.html', and replace ! them with: ! <pre> ! <Include SRC="{ {./} }js_code.html"/> ! </pre> ! <li> If you test the application now, page1 will be displayed correctly, ! but if you click the link 'page1' at the bottom of the page, an ! error will occour. To fix this, open the file ! <a href="javascript: codeReview('{{APP2_PATH}}templates/footer.js','7','')">footer.js</a> ! and correct line 7 to go to "page1/page1.html". ! <li> Test that the application now is OK. </ol> - </p> ! [<a href="#toc">TOC</a>] ! <hr> ! <a name="exercise4"> ! <h5>4 - Move Page1 to a new folder</h5> ! <p> ! If you make a listing of the folder '/templates/' you will see that now there are a lot of files in it and it has started to become messy. ! It would be better if we moved page1 files to another folder. <ol> ! <li> Create new folder 'page1' ($ mkdir page1) ! <li> Move files 'page1.html', 'page1_content.html', 'tpl_vars.html', 'include_tags.html', 'comments.html', ! 'js_code.html' to folder 'page1' (e.g. $ mv page1.html page1/) ! <li> If you test the application now, it will give an error. Open the file ! <a href="javascript: codeReview('{{APP2_PATH}}event_handlers/on.firstTime.php','8','')">event_handlers/on.firstTime.php</a> ! and change the $targetPage to "page1/page1.html". ! <li> If you test the application now, it will not be able to find the stylesheet and the header and footer templates. Open the file ! <a href="javascript: codeReview('{{APP2_PATH}}templates/page1.html','4,8,10','')">page1/page1.html</a> ! and replace <i>{ {./} }</i> with <i>{ {TPL_URL} }</i> for the ! stylesheet, and with <i>{ {TPL_PATH} }</i> for the templates, ! in the selected lines. </ol> - </p> ! [<a href="#toc">TOC</a>] ! <hr> ! <a name="exercise5"> ! <h5>5 - Change the styles of the page1_content</h5> ! <p> <ol> ! <li> In the folder '/templates/page1/' create the file 'page1_content.css' ! which has these lines: ! <pre> ! h4 { color: red } ! p { color: blue } ! </pre> ! <li> At the top of the file 'page1_content.html' add this line: ! <pre> ! <link rel="stylesheet" type="text/css" href="{ {./} }page1_content.css"> ! </pre> ! <li> Test the application and notice the changes in page1. </ol> - </p> ! [<a href="#toc">TOC</a>] ! <hr> ! <a name="exercise6"> ! <h5>6 - Move template tpl_2.html and its related files to folder 'page3/tpl_2/</h5> ! <p> <ol> ! <li> Create new folder 'tpl_2' ! ($ cd templates/page3/ $ mkdir tpl_2) ! <li> Move the files 'tpl_2.html', 'tpl_2.css', 'tpl_2_1.html', 'tpl_2_1.css', ! 'tpl_2_2.html', 'tpl_2_2.css' to the new folder ! (e.g. $ mv tpl_2*.* tpl_2) ! <li> Open the file ! <a href="javascript: codeReview('{{APP2_PATH}}templates/page3/tmpl.html','11','')">tmpl.html</a> ! and change the SRC of the included template to ! "{ {./} }tpl_2/tpl_2.html". ! <li> Test the application and go to page3. It should be displayed correctly. </ol> ! Do yourself these changes as well: <ul> ! <li> Create a new folder '/templates/page2/' and move the files ! 'page2.html' and 'page2.css' to it. ! <li> Create a new folder '/templates/page3/tpl_1' and move the files ! 'tpl_1.html' and 'tpl_1.css' to it. ! <li> Create a new folder '/templates/page3/tpl_2/tpl_2_1' and move the files ! 'tpl_2_1.html' and 'tpl_2_1.css' to it. ! <li> Create a new folder '/templates/page3/tpl_2/tpl_2_2' and move the files ! 'tpl_2_2.html' and 'tpl_2_2.css' to it. </ul> - </p> ! [<a href="#toc">TOC</a>] ! <hr> ! <a name="exercise7"> ! <h5>7 - Think about it</h5> ! <p> ! Suppose that you would like to add the current date at the top of each ! file (whithout using JavaScript, using PHP). How would you do it? ! Or, in general, how could you display something from PHP in the page? ! </p> ! [<a href="#toc">TOC</a>] ! <hr> --- 127,359 ---- time that this template is loaded in browser again, most probably the browser will get "file.js" and "file.css" from its cache, instead of ! retrieving them again from the server.</p> ! <p>[<a href="#toc">TOC</a>]</p> ! <hr /> + <a name="study" /> + <h3>Study the sample</h3> + <p>Here we will highlight and discuss some of the features of the + sample application, so that we can understand it better.</p> + <ul> + <li>All the templates of the application are placed + in the folder '/templates/'. We tell to the framework where + to look for the templates by giving an appropriate value to + the constant TPL_PATH in the file + <a href="javascript:codeReview('{{APP2_PATH}}config/const.Paths.php','7,8','')" + ><i>config/const.Paths.php</i></a>.</li> + <li>All the images of this application are placed in the folder '/img/'. + In templates they are linked using the { {IMG_URL} } variable. + <a href="javascript:codeReview('{{APP2_PATH}}templates/footer.html','9,10','')" + >See</a> how it is used. The { {IMG_URL} } template variable gets the + value from the PHP constant IMG_URL, which is declared in the file + <a href="javascript:codeReview('{{APP2_PATH}}config/const.Paths.php','6','')" + ><i>config/const.Paths.php</i></a>.</li> + <li>All the files and templates of the page3 are placed in the folder + '/templates/page3/'. Organizing files into folders and subfolders + reduces the complexity of the application and makes it easier to be + understood and maintained. + <a href="javascript:codeReview('{{APP2_PATH}}templates/footer.js','17','')" + >Notice</a> how the transition to page3 is done.</li> + <li>All the pages include the same header and footer template, e.g. see + <a href="javascript:codeReview('{{APP2_PATH}}templates/page1.html','8,10','')" + >page1.html</a>. If you want to change something in the footer of the page, + then you don't have to change every page, but you make the change only once + in the footer.</li> + <li><a href="/app2/browse.php" target="_blank">Browse</a> + the files of the application and see the templates + 'page1.html', 'header.html', 'footer.html', 'page1_content.html'. + See them both in preview mode and in code view mode (select the + "Code View" mode in the panel at the top and then click "Refresh").</li> + <li>Browse the files and see the template 'page2.html' and all the templates + in the folder '/templates/page3/'. See them both in preview mode and + in code view mode. These two pages are the same in terms of what they + display, however they are implemented differently in the server. + 'page2.html' is implemented as a flat big HTML file, while + 'page3.html' is structured, divided into several small subtemplates. + Try to make the same modification in both of them and see which one + is easier to be modified.</li> </ul> ! <p>[<a href="#toc">TOC</a>]</p> ! <hr /> ! ! <a name="exercises" /> ! <h3>Exercises</h3> ! <p>Before starting the exercises, make a copy of the application 'app2' to the folder 'test/app2'. If you don't know how to do it, go and ! study the first part of the tutorial (Transitions).</p> ! <p>[<a href="#toc">TOC</a>]</p> ! <hr /> ! ! <a name="exercise1" /> ! <h4>1 - Modify page2.html and page3.html</h4> ! <p>Change to red the color of the tpl_2_1 box, and change the text ! inside it to "This box is red!".</p> ! <p>Modify page2.html:</p> <ol> ! <li>Open the file ! <a href="javascript:codeReview('{{APP2_PATH}}templates/page2.css','52,59','')" ! >page2.css</a> and change the color in the highlighted lines to 'red'.</li> ! <li>Open the file ! <a href="javascript:codeReview('{{APP2_PATH}}templates/page2.html','39-40','')" ! >page2.html</a> and change the text in the highlighted lines to ! "This box is red!".</li> </ol> ! <p>Which of the pages do you think is easier to be modified?</p> ! <p>Modify page3.html:</p> <ol> ! <li>Open the file ! <a href="javascript:codeReview('{{APP2_PATH}}templates/page3/tpl_2_1.css','5,12','')" ! >tpl_2_1.css</a> and change the color in the highlighted lines to 'red'.</li> ! <li>Open the file ! <a href="javascript:codeReview('{{APP2_PATH}}templates/page3/tpl_2_1.html','5-6','')" ! >tpl_2_1.html</a> and change the text in the highlighted lines to ! "This box is red!".</li> </ol> ! <p>[<a href="#toc">TOC</a>]</p> ! ! <hr /> ! ! <a name="exercise2" /> ! <h4>2 - Rename folder 'img' to 'images'</h4> <ol> ! <li>Rename folder 'img' to 'images' ($ mv img images). Test the application; ! the images will be broken. ! <li>Change the value of the IMG_URL constant in the file ! <a href="javascript:codeReview('{{APP2_PATH}}config/const.Paths.php','5-6','')" ! >const.Paths.php</a>. Reload the application. The images should be allright.</li> </ol> ! <p>If all the images in the application are linked like this:</p> ! <pre><img src="{ {IMG_URL} }image_name.gif"/></pre> ! <p>there will be no problem. However, if any image is hard linked like this:</p> ! <pre><img src="/img/image_name.gif"/></pre> ! <p>it will not be displayed.</p> ! <p>[<a href="#toc">TOC</a>]</p> ! ! <hr /> ! ! <a name="exercise3" /> ! <h4>3 - Divide Page1 further into subtemplates</h4> <ol> ! <li>Open the file ! <a href="javascript:codeReview('{{APP2_PATH}}templates/page1_content.html','11-17','')" ! >page1_content.html</a> and copy the selected lines to the file ! 'tpl_vars.html'.</li> ! <li>Replace the selected lines with this line:<br /> ! <code><Include SRC="{ {./} }tpl_vars.html"/></code></li> ! <li>Copy the ! <a href="javascript:codeReview('{{APP2_PATH}}templates/page1_content.html','19-36','15-40')" ! >selected lines</a> of 'page1_content.html' to file 'include_tag.html', ! and replace them with:<br /> ! <code><Include SRC="{ {./} }include_tag.html"/></code></li> ! <li>Copy the ! <a href="javascript:codeReview('{{APP2_PATH}}templates/page1_content.html','38-49','33-55')" ! >selected lines</a> of 'page1_content.html' to file 'comments.html', ! and replace them with:<br /> ! <code><Include SRC="{ {./} }comments.html"/></code></li> ! <li>Copy the ! <a href="javascript:codeReview('{{APP2_PATH}}templates/page1_content.html','51-72','45-72')" ! >selected lines</a> of 'page1_content.html' to file 'js_code.html', ! and replace them with:<br /> ! <code><Include SRC="{ {./} }js_code.html"/></code></li> ! <li>If you test the application now, page1 will be displayed correctly, ! but if you click the link 'page1' at the bottom of the page, an ! error will occour. To fix this, open the file ! <a href="javascript:codeReview('{{APP2_PATH}}templates/footer.js','7','')" ! >footer.js</a> and correct line 7 to go to "page1/page1.html".</li> ! <li>Test that the application now is OK.</li> </ol> ! <p>[<a href="#toc">TOC</a>]</p> ! <hr /> ! ! <a name="exercise4" /> ! <h4>4 - Move Page1 to a new folder</h4> ! <p>If you make a listing of the folder '/templates/' you will see that now there are a lot of files in it and it has started to become messy. ! It would be better if we moved page1 files to another folder.</p> <ol> ! <li>Create new folder 'page1' ($ mkdir page1)</li> ! <li>Move files 'page1.html', 'page1_content.html', 'tpl_vars.html', 'include_tags.html', 'comments.html', ! 'js_code.html' to folder 'page1' (e.g. $ mv page1.html page1/)</li> ! <li>If you test the application now, it will give an error. Open the file ! <a href="javascript:codeReview('{{APP2_PATH}}event_handlers/on.firstTime.php','8','')" ! >event_handlers/on.firstTime.php</a> and change the $targetPage to ! "page1/page1.html".</li> ! <li>If you test the application now, it will not be able to find the stylesheet and the header and footer templates. Open the file ! <a href="javascript:codeReview('{{APP2_PATH}}templates/page1.html','4,8,10','')" ! >page1/page1.html</a> and replace <i>{ {./} }</i> with <i>{ {TPL_URL} }</i> ! for the stylesheet, and with <i>{ {TPL_PATH} }</i> for the templates, ! in the selected lines.</li> </ol> ! <p>[<a href="#toc">TOC</a>]</p> ! <hr /> ! ! <a name="exercise5" /> ! <h4>5 - Change the styles of the page1_content</h4> <ol> ! <li>In the folder '/templates/page1/' create the file 'page1_content.css' ! which has these lines:<br /> ! <code>h4 { color: red }<br />p { color: blue }</code></li> ! <li>At the top of the file 'page1_content.html' add this line:<br /> ! <code><link rel="stylesheet" type="text/css" href="{ {./} }page1_content.css"></code></li> ! <li>Test the application and notice the changes in page1.</li> </ol> ! <p>[<a href="#toc">TOC</a>]</p> ! <hr /> ! ! <a name="exercise6" /> ! <h4>6 - Move template tpl_2.html and its related files to folder 'page3/tpl_2/</h4> <ol> ! <li>Create new folder 'tpl_2' ! ($ cd templates/page3/ $ mkdir tpl_2)</li> ! <li>Move the files 'tpl_2.html', 'tpl_2.css', 'tpl_2_1.html', 'tpl_2_1.css', ! 'tpl_2_2.html', 'tpl_2_2.css' to the new folder ! (e.g. $ mv tpl_2*.* tpl_2)</li> ! <li>Open the file ! <a href="javascript:codeReview('{{APP2_PATH}}templates/page3/tmpl.html','11','')" ! >tmpl.html</a> and change the SRC of the included template to ! "{ {./} }tpl_2/tpl_2.html".</li> ! <li>Test the application and go to page3. It should be displayed correctly.</li> </ol> ! <p>Do yourself these changes as well:</p> <ul> ! <li>Create a new folder '/templates/page2/' and move the files ! 'page2.html' and 'page2.css' to it.</li> ! <li>Create a new folder '/templates/page3/tpl_1' and move the files ! 'tpl_1.html' and 'tpl_1.css' to it.</li> ! <li>Create a new folder '/templates/page3/tpl_2/tpl_2_1' and move the files ! 'tpl_2_1.html' and 'tpl_2_1.css' to it.</li> ! <li>Create a new folder '/templates/page3/tpl_2/tpl_2_2' and move the files ! 'tpl_2_2.html' and 'tpl_2_2.css' to it.</li> </ul> ! <p>[<a href="#toc">TOC</a>]</p> ! <hr /> ! <a name="exercise7" /> ! <h4>7 - Think about it</h4> ! <p>Suppose that you would like to add the current date at the top of each ! file (whithout using JavaScript, using PHP). How would you do it? ! Or, in general, how could you display something from PHP in the page?</p> + <p>[<a href="#toc">TOC</a>]</p> Index: transitions.html =================================================================== RCS file: /cvsroot/phpwebapp/documentation/templates/tutorial/transitions.html,v retrieving revision 1.6 retrieving revision 1.6.2.1 diff -C2 -d -r1.6 -r1.6.2.1 *** transitions.html 28 Dec 2001 20:05:32 -0000 1.6 --- transitions.html 13 Apr 2002 19:18:04 -0000 1.6.2.1 *************** *** 1,5 **** <script language="JavaScript" src="{{./}}codeReview.js"></script> ! <h3>1 - Transitions</h3> ! A very simple application that has 2 or 3 HTML files which have transitions to each-other and have some links to external pages. --- 1,6 ---- <script language="JavaScript" src="{{./}}codeReview.js"></script> ! <h2>1 - Transitions</h2> ! ! <p>A very simple application that has 2 or 3 HTML files which have transitions to each-other and have some links to external pages. *************** *** 7,349 **** explains what are the transitions and the difference between the transitions and the links. Explains how to ! debug transitions. ! <br><br> ! [<a href="/app1/" target="_new">Test</a>] ! [<a href="/app1/browse.php" target="_new">Browse</a>] ! [<a href="http://phpwebapp.sourceforge.net/download/app1.tar.gz">Download</a>] ! <br><br> ! <hr> ! <a name="toc"> ! <h4>Table of Contents</h4> <ul> ! <li><a href="#goto">Transitions by GoTo()</a> ! <li><a href="#external">External Pages</a> ! <li><a href="#structure">The Structure of the Application</a> ! <li><a href="#exercises">Exercises</a> ! <ol> ! <li><a href="#exercise_1">Create a new application</a> ! <li><a href="#exercise_2">Move an application to another location</a> ! <li><a href="#exercise_3">Debugging Transitions</a> ! <li><a href="#exercise_4">Change the Name of the Folder 'event_handlers'</a> ! <li><a href="#exercise_5">Add a New Page to the Application</a> ! <li><a href="#exercise_6">Set the initial page of the application</a> ! <li><a href="#exercise_7">Before and after each page</a> ! <li><a href="#exercise_8">Put the pages in another folder</a> ! </ol> ! <li><a href="#experiments">Experiments, questions and food for thought</a> </ul> ! <hr> ! <a name="goto"></a> ! <h4>Transitions by Goto</h4> ! <p> ! Transitions from one page of the application to another are done by using the javascript function <b>GoTo('page.html')</b>. This function is declared by the framework itself and is included automatically at the end of each page of the application. The parameter given to <b>GoTo()</b> is the target page, i.e. the page ! that will be displayed by the framework after doing the transition. ! </p> ! <p> ! Think of a web application as a collection of states, where each state is a web page. The user of the application goes from the current page (source state) to another page (target state) by clicking ! a <b>GoTo()</b> link (transition). ! </p> ! <p> ! In real applications, usually the link calls a <b>JavaScript</b> function, and this function makes the transition by calling <b>GoTo()</b>. So, the application has a chance to make any error checkings, input data validations ! etc. before making the transition to the other page. ! </p> ! <p> ! <a href="javascript: codeReview('{{APP1_PATH}}page1.html','14,36,37','')">See the code</a> ! of the first page and notice how the <b>GoTo()</b> is used. ! <br> ! If you have not tested the application yet, please <a href="/app1/" target="_new">test it</a> ! now and pay attention to how the <b>GoTo()</b> is used. ! </p> ! [<a href="#toc">TOC</a>] ! <hr> ! <a name="external"></a> ! <h4>External Pages</h4> ! <p> ! The external pages are HTML pages that are outside the application. They are linked as usually in HTML, without using transitions and the function <b>GoTo()</b>. These pages are not part of the application, they are either plain HTML pages ! or pages of other applications. ! </p> ! <p> ! While in an external page, you cannot go back to a page of the application by using the function <b>GoTo()</b> because it is undefined. You can only go back to the same page of the application from which you got out by pressing the button <b>back</b> ! in the browser (or calling the JS function <i>history.back()</i>). ! </p> ! <p> ! If you open a page of the application by linking (as an external page), not by a <b>GoTo()</b> transition, then it will not behave as a page of the ! application. ! </p> ! <p> ! See an <a href="javascript: codeReview('{{APP1_PATH}}page2.html','14,15','9-16')">example</a> of linking to external pages. ! </p> ! [<a href="#toc">TOC</a>] ! <hr> ! <a name="structure"></a> ! <h4>The Structure of the Application</h4> ! <p> ! The application is composed of some <i>standart (or framework)</i> files and folders and some application files and folders. The standart ones are files and folders required by the framework and are almost the same for every application built with phpWebApp. The <i>application</i> files and folders are created by the application developer and they ! are different for each application. ! </p> ! <p> ! If you have not yet browsed the application, then ! <a href="/app1/browse.php" target="_new">browse it</a> now. ! </p> ! <p> ! The standart files and folders are: ! <pre> ! config/ -- configuration files for the application ! const.Paths.php -- constants of paths used in the application ! const.Settings.php -- constants that change the behaviour of the app. ! event_handlers/ -- event handler files ! on.firstTime.php -- called first time that the application is opened ! on.beforePage.php -- called before each page is generated ! on.afterPage.php -- called after each page ! application.php -- standart framework file ! index.php -- standart framework file ! </pre> ! </p> ! <p> ! The application files and folders are: ! <pre> ! img/ ! Back.gif ! home.gif ! page1.html ! page2.html ! page3.html ! styles.css ! </pre> ! </p> ! <p> ! The file <i>browse.php</i> is almost the same for each application, but it is not required by the framework. It is usually used during the development of the application to preview how the templates and weboxes ! look like. ! </p> ! [<a href="#toc">TOC</a>] ! <hr> ! <a name="exercises"></a> ! <h4>Exerxises</h4> ! <p> ! To be able to try the exercises you have to have installed the framework and the sample applications in your computer or somewhere where you can ! make changes. ! </p> ! <br> ! <a name="exercise_1"></a> ! <h5>1 - Create a new application</h5> ! <p> ! In this exercise you will create another application which is identic with <b>app1</b> but has a different name, <b>app1_test</b>. ! Follow these steps: <ol> ! <li> Copy the folder 'app1' to the folder 'app1_test' ($ cp -R app1 app1_test) ! <li> Edit the file ! app1_test/config/<a href="javascript: codeReview('{{APP1_PATH}}config/const.Paths.php','3','')">const.Paths.php</a> ! so that the constant 'APP_URL' is set to '/app1_test/'. ! <li> Open the application '/app1_test/' in browser to test it. It should work. </ol> ! 'APP_URL' is the URL of the application starting from the DocumentRoot. ! </p> ! [<a href="#toc">TOC</a>] ! <br> ! <a name="exercise_2"></a> ! <h5>2 - Move an application to another location</h5> ! <p> ! In this exercise you will move the application 'app1_test' to 'test/app1_test'. <ol> ! <li> Create the folder 'test' and move 'app1_test' to it ! ($ mkdir test $ mv app1_test test) ! <li> Edit the file ! test/app1_test/config/<a href="javascript: codeReview('{{APP1_PATH}}config/const.Paths.php','3,4','')">const.Paths.php</a> ! so that the constant 'APP_URL' is set to '/test/app1_test/', ! and the constant 'WEBAPP_PATH' is set to '../../web_app'. ! <li> Open the application '/test/app1_test/' in browser to test it. ! It should work. </ol> ! 'WEBAPP_PATH' is the path of the phpWebApp framework and tells the application where to find the framework. This constant is used by the file 'application.php' to include the framework classes and modules. The developer doesn't have to ! wory about using this constant, just give it the right path. ! </p> ! <p> ! In this example it is set as a relative path, but it can be set as an absolute path as well, e.g. '/var/www/html/web_app' (or 'c:/www/html/web_app' for Windows). In this case you don't have to wory about changing it when moving an application to another ! location. ! </p> ! [<a href="#toc">TOC</a>] ! <br> ! <a name="exercise_3"></a> ! <h5>3 - Debugging Transitions</h5> ! <p> <ol> ! <li> Open in editor the file ! <a href="javascript: codeReview('{{APP1_PATH}}config/const.Settings.php','12-14','')"><i>config/const.Settings.php</i></a> ! and set the constant <b>DEBUG_GOTO</b> to <b>true</b>. ! <li> Test the application and notice that each time that you make ! a transition you get an alert about it. </ol> - </p> ! [<a href="#toc">TOC</a>] ! <... [truncated message content] |
Update of /cvsroot/phpwebapp/documentation/templates In directory usw-pr-cvs1:/tmp/cvs-serv20719/templates Modified Files: Tag: gablin_1 developer_docs.html main.html styles.css Added Files: Tag: gablin_1 submenu.css submenu.html submenu.js submenu.php Log Message: --- NEW FILE: submenu.css --- #submenu-tabs { float: left; padding: 5px; border: none; } .submenu-between-tabs { } .submenu-tab { font-size: 80%; border: outset 2px rgb(255,255,255); padding: 0; margin: 0 4px; width: 156px; } .submenu-tab-current { font-size: 80%; border: outset 2px rgb(239,223,255); padding: 0; margin: 0 4px; width: 156px; } .submenu-tab a { display: block; font-family: sans-serif; width: 150px; margin: 0; padding: 3px; color: rgb(0,0,127); background-color: rgb(255,255,255); text-transform: none; text-decoration: none; } .submenu-tab-current a { display: block; font-family: sans-serif; width: 150px; margin: 0; padding: 3px; color: rgb(0,0,0); background-color: rgb(239,223,255); text-transform: none; text-decoration: none; } .submenu-tab-current a:after { content: " > "; text-decoration: none; color: rgb(128,128,128); } .submenu-tab a:hover { border: inset 3px rgb(255,255,255); padding: 0; } .submenu-tab-current a:hover { border: inset 3px rgb(239,223,255); padding: 0; } --- NEW FILE: submenu.html --- <WebBox ID="submenu"> <script language="javascript" src="{{dotslash}}submenu.js"></script> <link rel="stylesheet" type="text/css" href="{{./}}submenu.css" /> {{submenu_html}} </WebBox> --- NEW FILE: submenu.js --- function submenuGo(tab_id) { GoTo("thisPage?event=submenu.select(tab="+tab_id+")"); } --- NEW FILE: submenu.php --- <? function submenu_eventHandler($event) { global $session; switch ($event->name) { case "select": $tab_id = $event->args["tab"]; $session->Vars["submenuSelectedTab"] = $tab_id; break; } } function submenu_onLoad() { global $session; $current_url = WebApp::getVar("./"); $current_url = str_replace(APP_PATH,"",$current_url); $current_url = APP_URL.$current_url; $cu = ereg_replace("/[^/]+/\.\./","/",$current_url); while ( $cu != $current_url ) { $current_url = $cu; $cu = ereg_replace("/[^/]+/\.\./","/",$current_url); } $session->Vars["dotslash"] = $current_url; if (!isset($session->Vars["submenuBaseURL"])) { // no base URL was preset $current_path = WebApp::getVar("./"); $session->Vars["submenuBaseURL"] = $current_path; } if (!isset($session->Vars["submenuSelectedTab"])) { //read the tab items $path = $session->Vars["submenuBaseURL"]; include $path."submenu_items.php"; //set the first tab item as selected $first_tab_item = key($tab_items); $session->Vars["submenuSelectedTab"] = $first_tab_item; } } function submenu_onRender() { $tabs = get_tabs_html(); WebApp::addVar("submenu_html", $tabs); } function get_tabs_html() { global $session; //read the tab items $path = $session->Vars["submenuBaseURL"]; include $path."submenu_items.php"; $selected = $session->Vars["submenuSelectedTab"]; $tabs = "<div id=\"submenu-tabs\">\n"; while ( list($id,$item) = each($tab_items) ) { $tabs .= "\t<div class=\""; $tabs .= ($id==$selected ? "submenu-tab-current" : "submenu-tab"); $tabs .= "\"><a href=\"javascript:submenuGo('".$id."')\">"; $tabs .= $item."</a></div>\n"; } $tabs .= "</div>\n"; return $tabs; } ?> Index: developer_docs.html =================================================================== RCS file: /cvsroot/phpwebapp/documentation/templates/developer_docs.html,v retrieving revision 1.1 retrieving revision 1.1.4.1 diff -C2 -d -r1.1 -r1.1.4.1 *** developer_docs.html 15 Dec 2001 06:04:25 -0000 1.1 --- developer_docs.html 13 Apr 2002 19:18:03 -0000 1.1.4.1 *************** *** 1,5 **** ! <br> ! <li> <a href="{{APP_URL}}uml_model/phpWebApp.html" target="new"> ! Logical View (UML Model)</a> ! <li> . . . ! --- 1,8 ---- ! <ul> ! <!--li><a href="{{APP_URL}}uml_model/phpWebApp.html" target="_new" ! >Logical View (UML Model)</a></li--> ! <li><a href="javascript:alert('Sorry... not available, yet.');" ! >Logical View (UML Model)</a></li> ! </ul> ! <hr /> ! <b>.<br />.<br />.</b> Index: main.html =================================================================== RCS file: /cvsroot/phpwebapp/documentation/templates/main.html,v retrieving revision 1.2.4.1 retrieving revision 1.2.4.2 diff -C2 -d -r1.2.4.1 -r1.2.4.2 *** main.html 1 Apr 2002 22:46:44 -0000 1.2.4.1 --- main.html 13 Apr 2002 19:18:04 -0000 1.2.4.2 *************** *** 6,17 **** </head><body> ! <img src="http://sourceforge.net/sflogo.php?group_id=41147" ! width="88" height="31" border="0" alt="SourceForge Logo" id="sf-logo" /> ! <!--img src="graphics/white.gif" width="88" height="31" border="0" alt="SourceForge Logo" id="sf-logo" /--> <Include SRC="{{./}}mainMenu/mainMenu.html" /> - - <!--table width="100%" align="center" cellspacing="0" cellpadding="0" border="0" --> <div id="content"> <Include SRC="{{./}}{{content_file}}" /> --- 6,15 ---- </head><body> ! <!--img src="http://sourceforge.net/sflogo.php?group_id=41147" width="88" height="31" border="0" alt="SourceForge Logo" id="sf-logo" /--> + <img src="graphics/white.gif" + width="88" height="31" border="0" alt="SourceForge Logo" id="sf-logo" /> <Include SRC="{{./}}mainMenu/mainMenu.html" /> <div id="content"> <Include SRC="{{./}}{{content_file}}" /> Index: styles.css =================================================================== RCS file: /cvsroot/phpwebapp/documentation/templates/styles.css,v retrieving revision 1.1.1.1.4.1 retrieving revision 1.1.1.1.4.2 diff -C2 -d -r1.1.1.1.4.1 -r1.1.1.1.4.2 *** styles.css 1 Apr 2002 22:46:44 -0000 1.1.1.1.4.1 --- styles.css 13 Apr 2002 19:18:04 -0000 1.1.1.1.4.2 *************** *** 6,23 **** position: fixed; float: right; ! top: 5px; ! right: 5px; z-index: 10; } #content { ! position: absolute; ! z-index: 0; ! left: 5px; ! right: 5px; ! top: 65px; ! padding: 10px 2px 2px 2px; border: 1px solid rgb(0,0,0); background-color: rgb(239,239,255); } h2 { text-align: left; --- 6,24 ---- position: fixed; float: right; ! top: 4px; ! right: 4px; z-index: 10; } #content { ! margin: 0 4px; ! padding-left: 2px; ! padding-right: 2px; ! padding-bottom: 2px; border: 1px solid rgb(0,0,0); background-color: rgb(239,239,255); } + div#content { /* not read by Netscape 4.xx */ + padding-top: 80px; + } h2 { text-align: left; *************** *** 25,31 **** font-weight: 600; font-family: sans-serif; ! padding: 0; background-color: rgb(239,223,255); } a { color: rgb(92,64,255); --- 26,70 ---- font-weight: 600; font-family: sans-serif; ! padding: 4px; ! color: rgb(0,0,0); background-color: rgb(239,223,255); } + h3 { + text-align: center; + font-size: 1.2em; + font-weight: 600; + font-family: sans-serif; + padding: 1px; + margin: 0 20px; + color: rgb(0,0,0); + border: groove 4px rgb(239,223,255); + letter-spacing: -0.1ex; + } + h4 { + text-align: left; + font-size: 1.0em; + font-weight: 600; + font-family: sans-serif; + padding: 0; + margin-left: 20px; + color: rgb(0,0,0); + } + h5 { + text-align: left; + font-size: 0.8em; + font-weight: 600; + font-family: sans-serif; + padding: 0; + margin-left: 20px; + color: rgb(0,0,0); + letter-spacing: -0.1ex; + } + h2 a, h3 a, h4 a, h5 a { + color: rgb(92,64,255); + text-decoration: none; + } + h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover { + text-decoration: underline; + } a { color: rgb(92,64,255); *************** *** 37,38 **** --- 76,93 ---- background-color: rgb(223,239,255); } + hr { + clear: both; + } + td { + vertical-align: top; + } + pre, code { + font-family: monospace; + font-size: 90%; + color: rgb(63,255,255); + background-color: rgb(31,15,127); + } + pre { + padding: 1px 20px; + margin: 0 1px; + } \ No newline at end of file |