Вход Регистрация
Файл: library/XenForo/ControllerAdmin/TrophyUserTitle.php
Строк: 89
<?php

/**
 * Controller for trophy user titles.
 *
 * @package XenForo_Trophy
 */
class XenForo_ControllerAdmin_TrophyUserTitle extends XenForo_ControllerAdmin_Abstract
{
    protected function 
_preDispatch($action)
    {
        
$this->assertAdminPermission('trophy');
    }

    
/**
     * Displays a list of all trophies, with an option to delete.
     * Also shows form to create new.
     *
     * @return XenForo_ControllerResponse_Abstract
     */
    
public function actionIndex()
    {
        
$viewParams = array(
            
'titles' => $this->_getTrophyModel()->getAllTrophyUserTitles()
        );

        return 
$this->responseView('XenForo_ViewAdmin_TrophyUserTitle_List''trophy_user_title_list'$viewParams);
    }

    
/**
     * Updates existing titles, deletes specified ones, and optionally creates
     * a new one.
     *
     * @return XenForo_ControllerResponse_Abstract
     */
    
public function actionUpdate()
    {
        
$this->_assertPostOnly();

        
$update $this->_input->filterSingle('update'XenForo_Input::ARRAY_SIMPLE);
        
$delete $this->_input->filterSingle('delete', array(XenForo_Input::UINT'array' => true));
        foreach (
$delete AS $deletePoint)
        {
            unset(
$update[$deletePoint]);
        }

        
$input $this->_input->filter(array(
            
'minimum_points' => XenForo_Input::UINT,
            
'title' => XenForo_Input::STRING
        
));

        
$trophyModel $this->_getTrophyModel();

        
XenForo_Db::beginTransaction();

        
$trophyModel->deleteTrophyUserTitles($deletefalse);
        
$trophyModel->updateTrophyUserTitles($updatefalse);

        if (
$input['title'])
        {
            
$trophyModel->insertTrophyUserTitle($input['title'], $input['minimum_points'], false);
        }

        
$trophyModel->rebuildTrophyUserTitleCache();

        
XenForo_Db::commit();

        return 
$this->responseRedirect(
            
XenForo_ControllerResponse_Redirect::SUCCESS,
            
XenForo_Link::buildAdminLink('trophy-user-titles')
        );
    }

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