[ Index ]
 

Code source de LifeType 1.2.4

Accédez au Source d'autres logiciels libres

Classes | Fonctions | Variables | Constantes | Tables

title

Body

[fermer]

/class/action/admin/ -> admindeletetemplatesaction.class.php (source)

   1  <?php
   2  
   3      lt_include( PLOG_CLASS_PATH."class/action/admin/adminaction.class.php" );
   4      lt_include( PLOG_CLASS_PATH."class/template/templatesets/templatesetstorage.class.php" );
   5      lt_include( PLOG_CLASS_PATH."class/view/admin/adminsitetemplateslistview.class.php" );
   6      lt_include( PLOG_CLASS_PATH."class/data/validator/stringvalidator.class.php" );
   7      lt_include( PLOG_CLASS_PATH."class/data/validator/arrayvalidator.class.php" );
   8  
   9      /**
  10       * \ingroup Action
  11       * @private
  12       *
  13       * Removes global templates from disk.
  14       */
  15      class AdminDeleteTemplatesAction extends AdminAction
  16      {
  17  
  18          var $_templateIds;
  19          var $_op;
  20  
  21          function AdminDeleteTemplatesAction( $actionInfo, $request )
  22          {
  23              $this->AdminAction( $actionInfo, $request );
  24  
  25              // data validation stuff
  26              $this->_op = $actionInfo->getActionParamValue();
  27              if( $this->_op == "deleteTemplate" )
  28                  $this->registerFieldValidator( "templateId", new StringValidator());
  29              else
  30                  $this->registerFieldValidator( "templateIds", new ArrayValidator());
  31              $view = new AdminSiteTemplatesListView( $this->_blogInfo );
  32              $view->setErrorMessage( $this->_locale->tr("error_no_templates_selected"));
  33              $this->setValidationErrorView( $view );
  34  
  35              $this->requireAdminPermission( "update_template" );
  36          }
  37  
  38          function perform()
  39          {
  40              if( $this->_op == "deleteTemplate" ) {
  41                  $templateId = $this->_request->getValue( "templateId" );
  42                  $this->_templateIds = Array();
  43                  $this->_templateIds[] = $templateId;
  44              }
  45              else
  46                  $this->_templateIds = $this->_request->getValue( "templateIds" );
  47  
  48              // carry out the
  49              $this->_deleteTemplates();
  50          }
  51  
  52          function _deleteTemplates()
  53          {
  54              $ts = new TemplateSetStorage();
  55  
  56              $errorMessage = "";
  57              $successMessage = "";
  58              $totalOk = 0;
  59  
  60              // get the id of the default template
  61              $defaultTemplate = $this->_config->getValue( "default_template" );
  62  
  63              foreach( $this->_templateIds as $templateId ) {
  64                  // we can't remove the default template
  65                  if( $defaultTemplate ==$templateId )
  66                      $errorMessage .=$this->_locale->pr( "error_template_is_default", $templateId)."<br/>";
  67                  else {
  68                      // if it's not the default, then try to really remove it from disk
  69                      if( !$ts->removeGlobalTemplate( $templateId ))
  70                          $errorMessage .= $this->_locale->pr("error_removing_template", $templateId )."<br/>";
  71                      else {
  72                          $totalOk++;
  73                          if( $totalOk < 2 )
  74                              $successMessage = $this->_locale->pr("template_removed_ok", $templateId);
  75                          else
  76                              $successMessage = $this->_locale->pr( "templates_removed_ok", $totalOk );
  77                      }
  78                  }
  79              }
  80  
  81              // create the view and show some feedback
  82              $this->_view = new AdminSiteTemplatesListView( $this->_blogInfo );
  83              if( $errorMessage != "" ) $this->_view->setErrorMessage( $errorMessage );
  84              if( $successMessage != "" ) $this->_view->setSuccessMessage( $successMessage );
  85              $this->setCommonData();
  86  
  87              return true;
  88          }
  89      }
  90  ?>


Généré le : Mon Nov 26 21:04:15 2007 par Balluche grâce à PHPXref 0.7
  Clicky Web Analytics