Вход Регистрация
Файл: library/XenForo/ControllerPublic/InlineMod/ProfilePost.php
Строк: 139
<?php

/**
 * Inline moderation actions for profile posts
 *
 * @package XenForo_ProfilePost
 */
class XenForo_ControllerPublic_InlineMod_ProfilePost extends XenForo_ControllerPublic_InlineMod_Abstract
{
    
/**
     * Key for inline mod data.
     *
     * @var string
     */
    
public $inlineModKey 'profilePosts';

    
/**
     * @return XenForo_Model_InlineMod_ProfilePost
     */
    
public function getInlineModTypeModel()
    {
        return 
$this->getModelFromCache('XenForo_Model_InlineMod_ProfilePost');
    }

    
/**
     * Profile post deletion handler
     *
     * @return XenForo_ControllerResponse_Abstract
     */
    
public function actionDelete()
    {
        if (
$this->isConfirmedPost())
        {
            
$hardDelete $this->_input->filterSingle('hard_delete'XenForo_Input::STRING);
            
$options = array(
                
'deleteType' => ($hardDelete 'hard' 'soft'),
                
'reason' => $this->_input->filterSingle('reason'XenForo_Input::STRING)
            );

            return 
$this->executeInlineModAction('deleteProfilePosts'$options, array('fromCookie' => false));
        }
        else 
// show confirmation dialog
        
{
            
$profilePostIds $this->getInlineModIds();

            
$handler $this->_getInlineModProfilePostModel();
            if (!
$handler->canDeleteProfilePosts($profilePostIds'soft'$errorPhraseKey))
            {
                throw 
$this->getErrorOrNoPermissionResponseException($errorPhraseKey);
            }

            
$redirect $this->getDynamicRedirect();

            if (!
$profilePostIds)
            {
                return 
$this->responseRedirect(
                    
XenForo_ControllerResponse_Redirect::SUCCESS,
                    
$redirect
                
);
            }

            
$viewParams = array(
                
'profilePostIds' => $profilePostIds,
                
'profilePostCount' => count($profilePostIds),
                
'canHardDelete' => $handler->canDeleteProfilePosts($profilePostIds'hard'),
                
'redirect' => $redirect,
            );

            return 
$this->responseView('XenForo_ViewPublic_InlineMod_ProfilePost_Delete''inline_mod_profile_post_delete'$viewParams);
        }
    }

    
/**
     * Undeletes the specified profile posts.
     *
     * @return XenForo_ControllerResponse_Abstract
     */
    
public function actionUndelete()
    {
        return 
$this->executeInlineModAction('undeleteProfilePosts');
    }

    
/**
     * Approves the specified profile posts.
     *
     * @return XenForo_ControllerResponse_Abstract
     */
    
public function actionApprove()
    {
        return 
$this->executeInlineModAction('approveProfilePosts');
    }

    
/**
     * Unapproves the specified profile posts.
     *
     * @return XenForo_ControllerResponse_Abstract
     */
    
public function actionUnapprove()
    {
        return 
$this->executeInlineModAction('unapproveProfilePosts');
    }

    
/**
     * @return XenForo_Model_InlineMod_ProfilePost
     */
    
protected function _getInlineModProfilePostModel()
    {
        return 
$this->getModelFromCache('XenForo_Model_InlineMod_ProfilePost');
    }
}
Онлайн: 0
Реклама