[ 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/ -> admincleanupaction.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/view/admin/admintemplatedview.class.php" );
   5      lt_include( PLOG_CLASS_PATH."class/dao/articles.class.php" );
   6      lt_include( PLOG_CLASS_PATH."class/dao/commentscommon.class.php" );
   7      lt_include( PLOG_CLASS_PATH."class/dao/users.class.php" );
   8  
   9      /**
  10       * \ingroup Action
  11       * @private
  12       *
  13       * Action that shows a form to change the settings of the current blog.
  14       */
  15      class AdminCleanupAction extends AdminAction
  16      {
  17          var $_message;
  18          var $_op;
  19          var $_continue;
  20          var $_url;
  21  
  22  		function AdminCleanupAction( $actionInfo, $request )
  23          {
  24              $this->AdminAction( $actionInfo, $request );
  25  
  26              // since we've got two submit buttons in that form, we need to decide what to do
  27              // depending on which button was clicked
  28              if( $this->_request->getValue( "purgePosts" ))
  29                  $this->_op = "cleanupPosts";
  30              elseif( $this->_request->getValue( "purgeSpam" ))
  31                  $this->_op = "cleanupSpam";
  32              elseif( $this->_request->getValue( "purgeUsers" ))
  33                  $this->_op = "cleanupUsers";
  34              elseif( $this->_request->getValue( "purgeBlogs" ))
  35                  $this->_op = "cleanupBlogs";
  36              elseif( $this->_request->getValue( "purgeTemp" ))
  37                  $this->_op = "cleanupTemp";
  38              else
  39                  $this->_op = "";
  40              
  41              $this->_message = '';
  42              $this->_continue = false;
  43              
  44              $this->requireAdminPermission( "purge_data" );
  45          }
  46  
  47          /**
  48           * cleans up posts. Returns true if successful or false otherwise
  49           */
  50  		function cleanupPosts()
  51          {
  52              lt_include( PLOG_CLASS_PATH."class/dao/purgedata.class.php" );
  53              
  54              $purge = new PurgeData();
  55              $result = $purge->purgePosts();
  56              if($result === false){
  57                  $this->_continue = false;
  58                  $this->_message = $this->_locale->tr( "purging_error" );
  59                  return false;
  60              }
  61              else if($result > 0 ) {
  62                  $this->_message = $this->_locale->tr( "purging_please_wait" );
  63                  // flags to indicate that we show refresh the page and continue at the given URL
  64                  $this->_continue = true;                
  65                  $this->_url = "?op=doCleanUp&purgePosts=Purge";
  66              }
  67              else {
  68                  $this->_continue = false;
  69                  $this->_message = $this->_locale->tr( "posts_purged_ok" );
  70              }
  71              
  72              return true;
  73          }
  74  
  75          /**
  76           * cleans up users. Returns true if successful or false otherwise
  77           */        
  78  		function cleanupUsers()
  79          {
  80              lt_include( PLOG_CLASS_PATH."class/dao/purgedata.class.php" );
  81              
  82              $purge = new PurgeData();
  83              $result = $purge->purgeUsers();
  84              if($result === false){
  85                  $this->_continue = false;
  86                  $this->_message = $this->_locale->tr( "purging_error" );
  87                  return false;
  88              }
  89              else if($result > 0){
  90                  $this->_message = $this->_locale->tr( "purging_please_wait" );
  91                  // flags to indicate that we show refresh the page and continue at the given URL
  92                  $this->_continue = true;                
  93                  $this->_url = "?op=doCleanUp&purgeUsers=Purge";
  94              }
  95              else {
  96                  $this->_continue = false;
  97                  $this->_message = $this->_locale->tr( "users_purged_ok" );
  98              }
  99              
 100              return( true );
 101          }        
 102  
 103          /**
 104           * cleans up blogs. Returns true if successful or false otherwise
 105           */        
 106  		function cleanupBlogs()
 107          {
 108              lt_include( PLOG_CLASS_PATH."class/dao/purgedata.class.php" );
 109              
 110              $purge = new PurgeData();
 111              $result = $purge->purgeBlogs();
 112  
 113              if($result === false){
 114                  $this->_continue = false;
 115                  $this->_message = $this->_locale->tr( "purging_error" );
 116                  return false;
 117              }
 118              else if($result > 0 ) {
 119                  $this->_message = $this->_locale->tr( "purging_please_wait" );
 120                  // flags to indicate that we show refresh the page and continue at the given URL
 121                  $this->_continue = true;                
 122                  $this->_url = "?op=doCleanUp&purgeBlogs=Purge";
 123              }
 124              else {
 125                  $this->_continue = false;
 126                  $this->_message = $this->_locale->tr( "blogs_purged_ok" );
 127              }
 128              
 129              return( true );
 130          }
 131  
 132          /**
 133           * cleans up spam comments. Returns true if successful or false otherwise
 134           */
 135  		function cleanupComments()
 136          {
 137              lt_include( PLOG_CLASS_PATH."class/dao/purgedata.class.php" );
 138              
 139              $purge = new PurgeData();
 140              $result = $purge->purgeSpamComments();
 141              if($result === false){
 142                  $this->_continue = false;
 143                  $this->_message = $this->_locale->tr( "purging_error" );
 144                  return false;
 145              }
 146              else if($result > 0) {
 147                  $this->_message = $this->_locale->tr( "purging_please_wait" );
 148                  // flags to indicate that we show refresh the page and continue at the given URL
 149                  $this->_continue = true;                
 150                  $this->_url = "?op=doCleanUp&purgeSpam=Purge";
 151              }
 152              else {
 153                  $this->_continue = false;
 154                  $this->_message = $this->_locale->tr( "spam_comments_purged_ok" );
 155              }
 156              
 157              return( true );
 158          }
 159          
 160          /**
 161           * cleans up temp directory, excluding .htaccess and the .svn directory
 162           *
 163           * @return Returns true
 164           */
 165  		function cleanupTemp()
 166          {
 167              lt_include( PLOG_CLASS_PATH."class/config/config.class.php" );
 168              $config =& Config::getConfig();
 169              $tmpFolder = $config->getValue( "temp_folder" );
 170              $excludes = array('.htaccess', '.svn');
 171              File::deleteDir( $tmpFolder, true, true, $excludes );
 172              
 173              // Iterate through all of the blogs, and give the 
 174              // plugins a chance to regenerate any files that 
 175              // were deleted
 176              lt_include( PLOG_CLASS_PATH."class/dao/blogs.class.php" );
 177  
 178              $blogs = new Blogs();
 179              $activeBlogs = $blogs->getAllBlogs( BLOG_STATUS_ACTIVE );
 180                  // Get the plugin manager
 181  //            $plugMgr =& PluginManager::getPluginManager();
 182  
 183              foreach( $activeBlogs as $blogInfo ) {
 184                  $this->_pm->setBlogInfo( $blogInfo);
 185                  $this->_pm->loadPlugins( "admin" );
 186                  $this->_pm->getPlugins();
 187                  // Send the EVENT_POST_ADMIN_PURGE_TEMP_FOLDER message
 188                  $this->_pm->notifyEvent( EVENT_POST_ADMIN_PURGE_TEMP_FOLDER );            
 189              }
 190              
 191              $this->_message = $this->_locale->tr( "temp_folder_reset_ok" );
 192              
 193              return true ;
 194          }
 195  
 196  		function perform()
 197          {
 198              $result = false;
 199              
 200              // decide what we're going to do...
 201              if( $this->_op == "cleanupSpam" ) {
 202                  $result = $this->cleanupComments();
 203              }
 204              elseif( $this->_op == "cleanupPosts" ) {
 205                  $result = $this->cleanupPosts();
 206              }
 207              elseif( $this->_op == "cleanupUsers" ) {
 208                  lt_include( PLOG_CLASS_PATH."class/template/cachecontrol.class.php" );
 209                  $result = $this->cleanupUsers();
 210                  CacheControl::resetSummaryCache();
 211              }
 212              elseif( $this->_op == "cleanupBlogs" ) {
 213                  lt_include( PLOG_CLASS_PATH."class/template/cachecontrol.class.php" );
 214                  $result = $this->cleanupBlogs();
 215                  CacheControl::resetSummaryCache();
 216              }
 217              elseif( $this->_op == "cleanupTemp" ) {
 218                  $result = $this->cleanupTemp();
 219              }
 220  
 221              // create the view and see if there was a success message
 222              $this->_view = new AdminTemplatedView( $this->_blogInfo, "cleanup" );
 223              if( $result ) {
 224                  $this->_view->setSuccessMessage( $this->_message );
 225              }    
 226              elseif ($this->_message != '') {
 227                  $this->_view->setErrorMessage( $this->_message );
 228              }
 229              
 230              
 231              $this->_view->setValue( "continue", $this->_continue );
 232              $this->_view->setValue( "dest", $this->_url );
 233  
 234              $this->setCommonData();
 235  
 236              return true;
 237          }
 238      }
 239  ?>


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