Source for file userclass.php

Documentation is available at userclass.php

  1. <?php
  2. /**
  3. * Edit/create/delete userclass details
  4. *
  5. * @author    Stuart Prescott
  6. * @copyright  Copyright Stuart Prescott
  7. * @license    http://opensource.org/licenses/gpl-license.php GNU Public License
  8. * @version    $Id$
  9. * @package    Bumblebee
  10. * @subpackage Actions
  11. *
  12. *  path (bumblebee root)/inc/actions/userclass.php
  13. */
  14.  
  15. /** Load ancillary functions */
  16. require_once 'inc/typeinfo.php';
  17.  
  18. /** userclass object */
  19. require_once 'inc/bb/userclass.php';
  20. /** list of choices */
  21. require_once 'inc/formslib/anchortablelist.php';
  22. /** parent object */
  23. require_once 'inc/actions/actionaction.php';
  24.  
  25. /**
  26. * Edit/create/delete userclass details
  27. * @package    Bumblebee
  28. * @subpackage Actions
  29. */
  30. class ActionUserClass extends ActionAction  {
  31.  
  32.   /**
  33.   * Initialising the class
  34.   *
  35.   * @param  BumblebeeAuth $auth  Authorisation object
  36.   * @param  array $pdata   extra state data from the call path
  37.   * @return void nothing
  38.   */
  39.   function ActionUserClass($auth, $pdata) {
  40.     parent::ActionAction($auth, $pdata);
  41.     $this->mungeInputData();
  42.   }
  43.  
  44.   function go() {
  45.     if (! isset($this->PD['id'])) {
  46.       $this->select();
  47.     } elseif (isset($this->PD['delete'])) {
  48.       if ($this->readOnly) {
  49.         $this->readOnlyError();
  50.       } else {
  51.         $this->delete();
  52.       }
  53.     } else {
  54.       if ($this->readOnly) $this->_dataCleanse('id');
  55.       $this->edit();
  56.     }
  57.     echo "<br /><br /><a href='".makeURL('userclass')."'>".T_('Return to user class list')."</a>";
  58.   }
  59.  
  60.   function edit() {
  61.     $class = new UserClass($this->PD['id']);
  62.     $class->update($this->PD);
  63.     $class->checkValid();
  64.     echo $this->reportAction($class->sync(),
  65.           array(
  66.               STATUS_OK =>   ($this->PD['id'] < 0 ? T_('User class created')
  67.                                                   : T_('User class updated')),
  68.               STATUS_ERR =>  T_('User class could not be changed:').' '.$class->errorMessage
  69.           )
  70.         );
  71.         echo $class->display();
  72.     if ($class->id < 0) {
  73.       $submit = T_('Create new class');
  74.       $delete = '0';
  75.     } else {
  76.       $submit = T_('Update entry');
  77.       $delete = T_('Delete entry');
  78.     }
  79.     #$submit = ($PD['id'] < 0 ? "Create new" : "Update entry");
  80.     echo "<input type='submit' name='submit' value='$submit' />";
  81.     if ($delete) echo "<input type='submit' name='delete' value='$delete' />";
  82.   }
  83.  
  84.   /**
  85.   * @param $deleted  (unused)
  86.   */
  87.   function select($deleted=false) {
  88.     $select = new AnchorTableList(T_('UserClass'), T_('Select which user class to view'));
  89.     $select->connectDB('userclass', array('id', 'name'));
  90.     $select->list->prepend(array('-1','Create new user class'));
  91.     $select->hrefbase = makeURL('userclass', array('id'=>'__id__'));
  92.     $select->setFormat('id', '%s', array('name')/*, ' %50.50s', array('longname')*/);
  93.     #echo $groupselect->list->text_dump();
  94.     $select->numcols = 1;
  95.     echo $select->display();
  96.   }
  97.  
  98.   function delete() {
  99.     $class = new UserClass($this->PD['id']);
  100.     echo $this->reportAction($class->delete(),
  101.               array(
  102.                   STATUS_OK =>   T_('User class deleted'),
  103.                   STATUS_ERR =>  T_('User class could not be deleted:')
  104.                                  .'<br/><br/>'.$class->errorMessage
  105.               )
  106.             );
  107.   }
  108. }
  109. ?>

Documentation generated on Tue, 06 Mar 2007 10:02:09 +0000 by phpDocumentor 1.3.0