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

class XenForo_ControllerAdmin_EmailTemplateModification extends XenForo_ControllerAdmin_TemplateModificationAbstract
{
    protected 
$_viewPrefix 'XenForo_ViewAdmin_EmailTemplateModification_';
    protected 
$_templatePrefix 'email_template_modification_';
    protected 
$_routePrefix 'email-template-mods';
    protected 
$_dataWriter 'XenForo_DataWriter_EmailTemplateModification';

    protected function 
_preDispatch($action)
    {
        
$this->assertDebugMode();
        
$this->assertAdminPermission('dev');
    }

    public function 
actionAutoComplete()
    {
        
$q $this->_input->filterSingle('q'XenForo_Input::STRING);

        if (
$q)
        {
            
$templates $this->_getEmailTemplateModel()->getMasterEmailTemplatesLikeTitle($q'r'10);
        }
        else
        {
            
$templates = array();
        }

        
$view $this->responseView();
        
$view->jsonParams = array(
            
'results' => XenForo_Application::arrayColumn($templates'title''title')
        );
        return 
$view;
    }

    public function 
actionContents()
    {
        
$templateName $this->_input->filterSingle('template'XenForo_Input::STRING);

        
$template $this->_getEmailTemplateModel()->getEffectiveEmailTemplateByTitle($templateName);

        
$view $this->responseView();
        if (
$template)
        {
            
$subject = new XenForo_Phrase('subject');
            
$plainTextBody = new XenForo_Phrase('plain_text_body');
            
$htmlBody = new XenForo_Phrase('html_body');

            
$view->jsonParams = array(
                
'template' => "$subjectn----------n$template[subject]nn"
                    
"$plainTextBodyn----------n$template[body_text]nn"
                    
"$htmlBodyn----------n$template[body_html]"
            
);
        }
        else
        {
            
$view->jsonParams = array(
                
'template' => false
            
);
        }
        return 
$view;
    }

    protected function 
_getModificationAddEditResponse(array $modification)
    {
        if (empty(
$modification['modification_id']))
        {
            
$modification['search_location'] = 'body_html';
        }

        return 
parent::_getModificationAddEditResponse($modification);
    }

    protected function 
_modifyModificationDwData(array &$dwData$modificationId)
    {
        
$dwData['search_location'] = $this->_input->filterSingle('search_location'XenForo_Input::STRING);
    }

    protected function 
_getTestContent(XenForo_DataWriter_TemplateModificationAbstract $dw)
    {
        
$field $dw->get('search_location') ? $dw->get('search_location') : 'body_html';
        
$template $this->_getEmailTemplateModel()->getEmailTemplateByTitleAndType($dw->get('template'), 0);
        return (
$template $template[$field] : false);
    }

    protected function 
_getTemplatesByIds(array $ids)
    {
        return 
$this->_getEmailTemplateModel()->getEmailTemplatesByIds($ids);
    }

    
/**
     * @return XenForo_Model_EmailTemplate
     */
    
protected function _getEmailTemplateModel()
    {
        return 
$this->getModelFromCache('XenForo_Model_EmailTemplate');
    }

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