[ Index ] |
|
Code source de LifeType 1.2.4 |
1 <?php 2 3 lt_include( PLOG_CLASS_PATH."class/action/admin/adminaction.class.php" ); 4 lt_include( PLOG_CLASS_PATH."class/dao/referers.class.php" ); 5 lt_include( PLOG_CLASS_PATH."class/data/validator/integervalidator.class.php" ); 6 lt_include( PLOG_CLASS_PATH."class/data/validator/arrayvalidator.class.php" ); 7 lt_include( PLOG_CLASS_PATH."class/dao/articles.class.php" ); 8 lt_include( PLOG_CLASS_PATH."class/view/admin/adminreferrersview.class.php" ); 9 10 /** 11 * \ingroup Action 12 * @private 13 * 14 * Allows to remove referrers 15 */ 16 class AdminDeleteReferrerAction extends AdminAction 17 { 18 19 var $_articleId; 20 var $_referrerIds; 21 var $_mode; 22 var $_referrerId; 23 24 /** 25 * Constructor. If nothing else, it also has to call the constructor of the parent 26 * class, BlogAction with the same parameters 27 */ 28 function AdminDeleteReferrerAction( $actionInfo, $request ) 29 { 30 $this->AdminAction( $actionInfo, $request ); 31 32 // data validation 33 $this->_mode = $actionInfo->getActionParamValue(); 34 if( $this->_mode == "deleteReferrer" ) 35 $this->registerFieldValidator( "referrerId", new IntegerValidator()); 36 else 37 $this->registerFieldValidator( "referrerIds", new ArrayValidator()); 38 $view = new AdminReferrersView( $this->_blogInfo ); 39 $view->setErrorMessage( $this->_locale->tr("error_no_items_selected" )); 40 $this->setValidationErrorView( $view ); 41 42 $this->requirePermission( "update_blog_stats" ); 43 } 44 45 function perform() 46 { 47 // collect the data and call the right method... 48 if( $this->_mode == "deleteReferrer" ) { 49 $this->_referrerId = $this->_request->getValue( "referrerId" ); 50 $this->_referrerIds = Array(); 51 $this->_referrerIds[] = $this->_referrerId; 52 } 53 else 54 $this->_referrerIds = $this->_request->getValue( "referrerIds" ); 55 56 $this->_deleteReferrers(); 57 58 return true; 59 } 60 61 /** 62 * Carries out the specified action 63 */ 64 function _deleteReferrers() 65 { 66 $referrers = new Referers(); 67 $errorMessage = ""; 68 $successMessage = ""; 69 $totalOk = 0; 70 71 foreach( $this->_referrerIds as $referrerId ) { 72 // fetch the referrer 73 $referrer = $referrers->getBlogReferer( $referrerId, $this->_blogInfo->getId()); 74 75 // fire the pre-event 76 $this->notifyEvent( EVENT_PRE_REFERRER_DELETE, Array( "referrer" => &$referrer )); 77 78 if( !$referrer ) { 79 $errorMessage .= $this->_locale->pr("error_deleting_referrer2", $referrerId )."<br/>"; 80 } 81 else { 82 if( !$referrers->deleteBlogReferer( $referrerId, $this->_blogInfo->getId())) 83 $errorMessage .= $this->_locale->pr("error_deleting_referrer", $referrer->getUrl())."<br/>"; 84 else { 85 $totalOk++; 86 if( $totalOk < 2 ) 87 $successMessage = $this->_locale->pr("referrer_deleted_ok", $referrer->getUrl()); 88 else 89 $successMessage = $this->_locale->pr("referrers_deleted_ok", $totalOk ); 90 // fire the post-event 91 $this->notifyEvent( EVENT_POST_REFERRER_DELETE, Array( "referrer" => &$referrer )); 92 93 $clearCache = true; 94 } 95 } 96 } 97 98 if( $clearCache ) { 99 // clear the cache if needed 100 CacheControl::resetBlogCache( $this->_blogInfo->getId(), false ); 101 } 102 103 $this->_view = new AdminReferrersView( $this->_blogInfo ); 104 if( $errorMessage != "" ) $this->_view->setErrorMessage( $errorMessage ); 105 if( $successMessage != "" ) $this->_view->setSuccessMessage( $successMessage ); 106 $this->setCommonData(); 107 108 // better to return true if everything fine 109 return true; 110 } 111 } 112 ?>
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Mon Nov 26 21:04:15 2007 | par Balluche grâce à PHPXref 0.7 |
![]() |