Вход Регистрация
Файл: contao-3.5.8/system/modules/core/forms/FormSubmit.php
Строк: 86
<?php

/**
 * Contao Open Source CMS
 *
 * Copyright (c) 2005-2016 Leo Feyer
 *
 * @license LGPL-3.0+
 */

namespace Contao;


/**
 * Class FormSubmit
 *
 * @property string  $name
 * @property string  $label
 * @property string  $singleSRC
 * @property boolean $imageSubmit
 * @property boolean $required
 * @property boolean $mandatory
 * @property integer $minlength
 * @property integer $maxlength
 * @property string  $src
 *
 * @author Leo Feyer <https://github.com/leofeyer>
 */
class FormSubmit extends Widget
{

    
/**
     * Template
     *
     * @var string
     */
    
protected $strTemplate 'form_submit';

    
/**
     * The CSS class prefix
     *
     * @var string
     */
    
protected $strPrefix 'widget widget-submit';


    
/**
     * Add specific attributes
     *
     * @param string $strKey   The attribute name
     * @param mixed  $varValue The attribute value
     */
    
public function __set($strKey$varValue)
    {
        switch (
$strKey)
        {
            case 
'singleSRC':
                
$this->arrConfiguration['singleSRC'] = $varValue;
                break;

            case 
'imageSubmit':
                
$this->arrConfiguration['imageSubmit'] = $varValue true false;
                break;

            case 
'name':
                
$this->arrAttributes['name'] = $varValue;
                break;

            case 
'label':
                
$this->slabel $varValue;
                break;

            case 
'required':
            case 
'mandatory':
            case 
'minlength':
            case 
'maxlength':
                
// Ignore
                
break;

            default:
                
parent::__set($strKey$varValue);
                break;
        }
    }


    
/**
     * Do not validate
     */
    
public function validate()
    {
        return;
    }


    
/**
     * Parse the template file and return it as string
     *
     * @param array $arrAttributes An optional attributes array
     *
     * @return string The template markup
     */
    
public function parse($arrAttributes=null)
    {
        if (
$this->imageSubmit && $this->singleSRC != '')
        {
            
$objModel FilesModel::findByUuid($this->singleSRC);

            if (
$objModel === null)
            {
                if (!
Validator::isUuid($this->singleSRC))
                {
                    return 
'<p class="error">'.$GLOBALS['TL_LANG']['ERR']['version2format'].'</p>';
                }
            }
            elseif (
is_file(TL_ROOT '/' $objModel->path))
            {
                
$this->src $objModel->path;
            }
        }

        return 
parent::parse($arrAttributes);
    }


    
/**
     * Generate the widget and return it as string
     *
     * @return string The widget markup
     */
    
public function generate()
    {
        if (
$this->src)
        {
            return 
sprintf('<input type="image" src="%s" id="ctrl_%s" class="submit%s" title="%s" alt="%s"%s%s',
                            
$this->src,
                            
$this->strId,
                            ((
$this->strClass != '') ? ' ' $this->strClass ''),
                            
specialchars($this->slabel),
                            
specialchars($this->slabel),
                            
$this->getAttributes(),
                            
$this->strTagEnding);
        }

        
// Return the regular button
        
return sprintf('<input type="submit" id="ctrl_%s" class="submit%s" value="%s"%s%s',
                        
$this->strId,
                        ((
$this->strClass != '') ? ' ' $this->strClass ''),
                        
specialchars($this->slabel),
                        
$this->getAttributes(),
                        
$this->strTagEnding);
    }
}
Онлайн: 0
Реклама