Note: this list is kept only as a demonstration for CVSNotice. For the latest CVS notices, see the Xaraya and Postnuke sites
View Statistics - Next Notice - Previous NoticeDirectory filter : [ all ] / postnuke_official / html / modules / template [ view in CVS ]
Date | Directory [filter] | File(s) [view] | Author [filter] |
01 Aug 2002 18:25:42 | postnuke_official/html/modules/template | pnuser.php,1.13,1.14 | Mike |
templatize the template module - designers wanted for improvement ! :-) |
Update of /home/cvsroot/postnuke_official/html/modules/template In directory ns7.hostnuke.net:/tmp/cvs-serv30509 Modified Files: pnuser.php Log Message: templatize the template module - designers wanted for improvement ! :-) Index: pnuser.php =================================================================== RCS file: /home/cvsroot/postnuke_official/html/modules/template/pnuser.php,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** pnuser.php 1 Aug 2002 15:05:20 -0000 1.13 --- pnuser.php 1 Aug 2002 18:25:40 -0000 1.14 *************** *** 33,41 **** function template_user_main() { - // Create output object - this object will store all of our output so that - // we can return it easily when required - $output = new pnHTML(); - - // Security check - important to do this as early as possible to avoid // potential security holes or just too much wasted processing. For the --- 33,36 ---- *************** *** 50,65 **** } ! // Add menu to output - it helps if all of the module pages have a standard ! // menu at their head to aid in navigation ! $output->SetInputMode(_PNH_VERBATIMINPUT); ! $output->Text(template_usermenu()); ! $output->SetInputMode(_PNH_PARSEINPUT); ! // Return the output that has been generated by this function ! return $output->GetOutput(); } /** ! * view items * This is a standard function to provide an overview of all of the items * available from the module. --- 45,74 ---- } ! // If you want to go directly to some default function, instead of ! // having a separate main function, you can simply use this : ! // return template_user_view(); ! // Initialise the $data variable that will hold the data to be used in ! // the blocklayout template, and get the common menu configuration - it ! // helps if all of the module pages have a standard menu at the top to ! // support easy navigation ! $data = template_usermenu(); ! ! // Specify some other variables used in the blocklayout template ! $data['welcome'] = pnML('Welcome to this Example module...'); ! ! // Return the template variables defined in this function ! return $data; ! ! // Note : instead of using the $data variable, you could also specify ! // the different template variables directly in your return statement : ! // ! // return array('menutitle' => ..., ! // 'welcome' => ..., ! // ... => ...); } /** ! * view a list of items * This is a standard function to provide an overview of all of the items * available from the module. *************** *** 74,92 **** $startnum = pnVarCleanFromInput('startnum'); ! // Create output object - this object will store all of our output so that ! // we can return it easily when required ! $output = new pnHTML(); ! // Add menu to output - it helps if all of the module pages have a standard ! // menu at their head to aid in navigation ! $output->SetInputMode(_PNH_VERBATIMINPUT); ! $output->Text(template_usermenu()); ! $output->SetInputMode(_PNH_PARSEINPUT); // Security check - important to do this as early as possible to avoid // potential security holes or just too much wasted processing if (!pnSecAuthAction(0, 'Templates::', '::', ACCESS_OVERVIEW)) { ! $output->Text(_TEMPLATENOAUTH); ! return $output->GetOutput(); } --- 83,105 ---- $startnum = pnVarCleanFromInput('startnum'); ! // Initialise the $data variable that will hold the data to be used in ! // the blocklayout template, and get the common menu configuration - it ! // helps if all of the module pages have a standard menu at the top to ! // support easy navigation ! $data = template_usermenu(); ! // Prepare the variable that will hold some status message if necessary ! $data['status'] = ''; ! ! // Prepare the array variable that will hold all items for display ! $data['items'] = array(); // Security check - important to do this as early as possible to avoid // potential security holes or just too much wasted processing if (!pnSecAuthAction(0, 'Templates::', '::', ACCESS_OVERVIEW)) { ! // Fill in some status variable to be shown in the blocklayout template ! $data['status'] = _TEMPLATENOAUTH; ! // Return the template variables defined in this function ! return $data; } *************** *** 96,101 **** // posted and the function returns if (!pnModAPILoad('template', 'user')) { ! $output->Text(_LOADFAILED); ! return $output->GetOutput(); } --- 109,116 ---- // posted and the function returns if (!pnModAPILoad('template', 'user')) { ! // Fill in the status variable with the status to be shown ! $data['status'] = _LOADFAILED; ! // Return the template variables defined in this function ! return $data; } *************** *** 121,125 **** } // Handle the user exceptions yourself ! $output->Text(_TEMPLATEITEMFAILED); // Possibly handle different exception IDs in specific ways : // if (pnExceptionId() == 'BAD_PARAM') { --- 136,140 ---- } // Handle the user exceptions yourself ! $data['status'] = _TEMPLATEITEMFAILED; // Possibly handle different exception IDs in specific ways : // if (pnExceptionId() == 'BAD_PARAM') { *************** *** 136,146 **** $reason = pnExceptionValueString(); if (!empty($reason)) { ! $output->Linebreak(2); ! $output->Text(pnML('Reason') . ' : ' . $reason); } // Free the exception to tell PostNuke that you handled it pnExceptionFree(); ! // Return the result ! return $output->GetOutput(); } --- 151,160 ---- $reason = pnExceptionValueString(); if (!empty($reason)) { ! $data['status'] .= '<br /><br />'. pnML('Reason') .' : '. $reason; } // Free the exception to tell PostNuke that you handled it pnExceptionFree(); ! // Return the template variables defined in this function ! return $data; } *************** *** 150,154 **** // remove any words from the name that the administrator has deemed // unsuitable for the site - $output->SetInputMode(_PNH_VERBATIMINPUT); foreach ($items as $item) { --- 164,167 ---- *************** *** 171,189 **** "$item[name]::$item[tid]", ACCESS_READ)) { ! $output->URL(pnModURL('template', ! 'user', ! 'display', ! array('tid' => $item['tid'])), ! pnVarPrepForDisplay(pnVarCensor($item['name']))); ! $output->Linebreak(); // Security check 2 - else only display the item name (or whatever is // appropriate for your module) } else { ! $output->Text(pnVarPrepForDisplay(pnVarCensor($item['name']))); ! $output->Linebreak(); } } ! $output->SetInputMode(_PNH_PARSEINPUT); // Call the pnHTML helper function to produce a pager in case of there --- 184,209 ---- "$item[name]::$item[tid]", ACCESS_READ)) { ! $item['link'] = pnModURL('template', ! 'user', ! 'display', ! array('tid' => $item['tid'])); // Security check 2 - else only display the item name (or whatever is // appropriate for your module) } else { ! $item['link'] = ''; } + + // Clean up the item text before display + $item['name'] = pnVarPrepForDisplay(pnVarCensor($item['name'])); + + // Add this item to the list of items to be displayed + $data['items'][] = $item; } ! ! // TODO: replace with a blocklayout pager ! // Create output object - this object will store all of our output so that ! // we can return it easily when required ! $output = new pnHTML(); // Call the pnHTML helper function to produce a pager in case of there *************** *** 200,210 **** array('startnum' => '%%')), pnModGetVar('template', 'itemsperpage')); ! // Return the output that has been generated by this function ! return $output->GetOutput(); } /** ! * display item * This is a standard function to provide detailed informtion on a single item * available from the module. --- 220,239 ---- array('startnum' => '%%')), pnModGetVar('template', 'itemsperpage')); + $data['pager'] = $output->GetOutput(); ! // Return the template variables defined in this function ! return $data; ! ! // Note : instead of using the $data variable, you could also specify ! // the different template variables directly in your return statement : ! // ! // return array('menu' => ..., ! // 'items' => ..., ! // 'pager' => ..., ! // ... => ...); } /** ! * display an item * This is a standard function to provide detailed informtion on a single item * available from the module. *************** *** 245,257 **** } ! // Create output object - this object will store all of our output so that ! // we can return it easily when required ! $output = new pnHTML(); ! // Add menu to output - it helps if all of the module pages have a standard ! // menu at their head to aid in navigation ! $output->SetInputMode(_PNH_VERBATIMINPUT); ! $output->Text(template_usermenu()); ! $output->SetInputMode(_PNH_PARSEINPUT); // Load API. All of the actual work for obtaining information on the items --- 274,285 ---- } ! // Initialise the $data variable that will hold the data to be used in ! // the blocklayout template, and get the common menu configuration - it ! // helps if all of the module pages have a standard menu at the top to ! // support easy navigation ! $data = template_usermenu(); ! // Prepare the variable that will hold some status message if necessary ! $data['status'] = ''; // Load API. All of the actual work for obtaining information on the items *************** *** 260,265 **** // posted and the function returns if (!pnModAPILoad('template', 'user')) { ! $output->Text(_LOADFAILED); ! return $output->GetOutput(); } --- 288,295 ---- // posted and the function returns if (!pnModAPILoad('template', 'user')) { ! // Fill in the status variable with the status to be shown ! $data['status'] = _LOADFAILED; ! // Return the template variables defined in this function ! return $data; } *************** *** 283,287 **** } // Handle the user exceptions yourself ! $output->Text(_TEMPLATEITEMFAILED); // Possibly handle different exception IDs in specific ways : // if (pnExceptionId() == 'BAD_PARAM') { --- 313,317 ---- } // Handle the user exceptions yourself ! $data['status'] = _TEMPLATEITEMFAILED; // Possibly handle different exception IDs in specific ways : // if (pnExceptionId() == 'BAD_PARAM') { *************** *** 298,308 **** $reason = pnExceptionValueString(); if (!empty($reason)) { ! $output->Linebreak(2); ! $output->Text(pnML('Reason') . ' : ' . $reason); } // Free the exception to tell PostNuke that you handled it pnExceptionFree(); ! // Return the result ! return $output->GetOutput(); } --- 328,337 ---- $reason = pnExceptionValueString(); if (!empty($reason)) { ! $data['status'] .= '<br /><br />'. pnML('Reason') .' : '. $reason; } // Free the exception to tell PostNuke that you handled it pnExceptionFree(); ! // Return the template variables defined in this function ! return $data; } *************** *** 312,317 **** // if (!pnSecAuthAction(0, 'Templates::', "$item[name]::$item[tid]", // ACCESS_READ)) { ! // $output->Text(_TEMPLATENOAUTH); ! // return $output->GetOutput(); //} --- 341,348 ---- // if (!pnSecAuthAction(0, 'Templates::', "$item[name]::$item[tid]", // ACCESS_READ)) { ! // // Fill in the status variable with the status to be shown ! // $data['status'] = _TEMPLATENOAUTH; ! // // Return the template variables defined in this function ! // return $data; //} *************** *** 327,345 **** // TODO: check for conflicts between transformation hook output and // pnVarCensor / input parsing of Text() by pnHTML ! // Display details of the item. Note the use of pnVarCensor() to remove // any words from the name that the administrator has deemed unsuitable for // the site. Also note that a module variable is used here to determine // whether or not parts of the item information should be displayed in // bold type or not ! $output->Text(_TEMPLATENAME . ': '); ! if (pnModGetVar('template', 'bold')) { ! $output->BoldText(pnVarCensor($item['name'])); ! } else { ! $output->Text(pnVarCensor($item['name'])); ! } ! $output->Linebreak(2); ! $output->Text(_TEMPLATENUMBER . ': '); ! $output->Text($item['number']); ! $output->Linebreak(2); --- 358,379 ---- // TODO: check for conflicts between transformation hook output and // pnVarCensor / input parsing of Text() by pnHTML ! // Fill in the details of the item. Note the use of pnVarCensor() to remove // any words from the name that the administrator has deemed unsuitable for // the site. Also note that a module variable is used here to determine // whether or not parts of the item information should be displayed in // bold type or not ! $data['namelabel'] = _TEMPLATENAME; ! $data['namevalue'] = pnVarCensor($item['name']); ! $data['numberlabel'] = _TEMPLATENUMBER; ! $data['numbervalue'] = $item['number']; ! ! $data['bold'] = pnModGetVar('template', 'bold'); ! // Note : module variables can also be specified directly in the ! // blocklayout template by using &pnt-mod-<modname>-<varname>; ! ! // Note that you could also pass on the $item variable, and specify ! // the labels directly in the blocklayout template. But make sure you ! // use the <pnt:ml>, <pnt:mlstring> or <pnt:mlkey> tags then, so that ! // labels can be translated for other languages... *************** *** 348,399 **** // hooks will show after they have finished their own work. It is normal // for that URL to bring the user back to this function ! $output->SetInputMode(_PNH_VERBATIMINPUT); ! $output->Text(pnModCallHooks('item', ! 'display', ! $tid, ! pnModURL('template', ! 'user', ! 'display', ! array('tid' => $tid)))); ! $output->SetInputMode(_PNH_PARSEINPUT); ! // Return the output that has been generated by this function ! return $output->GetOutput(); } /** ! * generate menu fragment */ function template_usermenu() { ! // Create output object - this object will store all of our output so that ! // we can return it easily when required ! $output = new pnHTML(); ! // Display status message if any. Note that in future this functionality ! // will probably be in the theme rather than in this menu, but this is the ! // best place to keep it for now ! // Start options menu ! $output->Text(pnGetStatusMsg()); ! $output->Linebreak(2); ! // Menu options. These options are all added in a single row, to add ! // multiple rows of options the code below would just be repeated ! $output->TableStart(_TEMPLATE); ! $output->SetOutputMode(_PNH_RETURNOUTPUT); ! $columns = array(); ! $columns[] = $output->URL(pnModURL('template', ! 'user', ! 'view'), ! _TEMPLATEVIEW); ! $output->SetOutputMode(_PNH_KEEPOUTPUT); ! $output->SetInputMode(_PNH_VERBATIMINPUT); ! $output->TableAddRow($columns); ! $output->SetInputMode(_PNH_PARSEINPUT); ! $output->TableEnd(); ! // Return the output that has been generated by this function ! return $output->GetOutput(); } --- 382,459 ---- // hooks will show after they have finished their own work. It is normal // for that URL to bring the user back to this function ! $data['hookoutput'] = pnModCallHooks('item', ! 'display', ! $tid, ! pnModURL('template', ! 'user', ! 'display', ! array('tid' => $tid))); ! // Return the template variables defined in this function ! return $data; ! ! // Note : instead of using the $data variable, you could also specify ! // the different template variables directly in your return statement : ! // ! // return array('menu' => ..., ! // 'item' => ..., ! // 'hookoutput' => ..., ! // ... => ...); } /** ! * generate the common menu configuration */ function template_usermenu() { ! // Initialise the array that will hold the menu configuration ! $menu = array(); ! // Specify the menu title to be used in your blocklayout template ! $menu['menutitle'] = _TEMPLATE; ! // Specify the menu items to be used in your blocklayout template ! $menu['menulabelview'] = _TEMPLATEVIEW; ! $menu['menulinkview'] = pnModURL('template', ! 'user', ! 'view'); ! // Specify the labels/links for more menu items if relevant ! // $menu['menulabelother'] = pnML('Some other menu item'); ! // $menu['menulinkother'] = pnModURL('template','user','other'); ! // ... ! // Note : you could also put all menu items in a $menu['menuitems'] array ! // ! // Initialise the array that will hold the different menu items ! // $menu['menuitems'] = array(); ! // ! // Define a menu item ! // $item = array(); ! // $item['menulabel'] = _TEMPLATEVIEW; ! // $item['menulink'] = pnModURL('template','user','view'); ! // ! // Add it to the array of menu items ! // $menu['menuitems'][] = $item; ! // ! // Add more menu items to the array ! // ... ! // ! // Then you can let the blocklayout template create the different ! // menu items *dynamically*, e.g. by using something like : ! // ! // <pnt:loop name="menuitems"> ! // <td><a href="&pnt-var-menulink;">&pnt-var-menulabel;</a></td> ! // </pnt:loop> ! // ! // in the templates of your module. Or you could even pass an argument ! // to the usermenu() function to turn links on/off automatically ! // depending on which function is currently called... ! // ! // But most people will prefer to specify all this manually in each ! // blocklayout template anyway :-) ! ! // Return the array containing the menu configuration ! return $menu; }
View Statistics - Next Notice - Previous Notice
Visit Developer Site - Browse CVS Repository |
Syndicate via backend.rss (max. once per hour please) | Powered by CVSNotice 0.1.3 |