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 |