125 lines
2.6 KiB
PHP
125 lines
2.6 KiB
PHP
|
<?php
|
||
|
|
||
|
/**
|
||
|
* Contao Open Source CMS
|
||
|
* Copyright (C) 2005-2012 Leo Feyer
|
||
|
*
|
||
|
* Formerly known as TYPOlight Open Source CMS.
|
||
|
*
|
||
|
* Proxy Module
|
||
|
*
|
||
|
* PHP version 5
|
||
|
* @copyright Jörg Kleuver 2008, TYPOlight Version
|
||
|
* @author Jörg Kleuver <joerg@kleuver.de>
|
||
|
*
|
||
|
* @copyright Glen Langer 2012
|
||
|
* @author Glen Langer (BugBuster); for Contao 3
|
||
|
* @package Proxy
|
||
|
* @license LGPL
|
||
|
*/
|
||
|
|
||
|
|
||
|
/**
|
||
|
* Add to palette
|
||
|
*/
|
||
|
$GLOBALS['TL_DCA']['tl_settings']['palettes']['__selector__'][] = 'useProxy';
|
||
|
$GLOBALS['TL_DCA']['tl_settings']['palettes']['default'] .= ';{custom_proxy_legend},useProxy';
|
||
|
|
||
|
/**
|
||
|
* Add to subpalette
|
||
|
*/
|
||
|
$GLOBALS['TL_DCA']['tl_settings']['subpalettes']['useProxy'] = 'proxy_url,proxy_local';
|
||
|
|
||
|
|
||
|
/**
|
||
|
* Add fields
|
||
|
*/
|
||
|
$GLOBALS['TL_DCA']['tl_settings']['fields']['useProxy'] = array
|
||
|
(
|
||
|
'label' => &$GLOBALS['TL_LANG']['tl_settings']['useProxy'],
|
||
|
'inputType' => 'checkbox',
|
||
|
'eval' => array('submitOnChange'=>true)
|
||
|
);
|
||
|
|
||
|
$GLOBALS['TL_DCA']['tl_settings']['fields']['proxy_url'] = array
|
||
|
(
|
||
|
'label' => &$GLOBALS['TL_LANG']['tl_settings']['proxy_url'],
|
||
|
'default' => '',
|
||
|
'exclude' => true,
|
||
|
'inputType' => 'text',
|
||
|
'save_callback' => array( array('tl_proxy', 'checkProxyUrl') ),
|
||
|
'eval' => array('mandatory'=>true, 'maxlength'=>255, 'nospace'=>true, 'rgxp'=>'url')
|
||
|
);
|
||
|
|
||
|
$GLOBALS['TL_DCA']['tl_settings']['fields']['proxy_local'] = array
|
||
|
(
|
||
|
'label' => &$GLOBALS['TL_LANG']['tl_settings']['proxy_local'],
|
||
|
'default' => '',
|
||
|
'exclude' => true,
|
||
|
'inputType' => 'text',
|
||
|
'save_callback' => array( array('tl_proxy', 'checkProxyLocal') ),
|
||
|
'eval' => array('maxlength'=>255)
|
||
|
);
|
||
|
|
||
|
/**
|
||
|
* Class tl_proxy
|
||
|
*
|
||
|
* Provide miscellaneous methods that are used by the data configuration array.
|
||
|
* @copyright Jörg Kleuver 2008
|
||
|
* @author Jörg Kleuver <joerg@kleuver.de>
|
||
|
*/
|
||
|
class tl_proxy extends Backend
|
||
|
{
|
||
|
|
||
|
/**
|
||
|
* Proxy handle
|
||
|
* @var resource
|
||
|
*/
|
||
|
protected $resProxy;
|
||
|
|
||
|
/**
|
||
|
* checkProxyUrl
|
||
|
* @param mixed
|
||
|
* @return string
|
||
|
*/
|
||
|
public function checkProxyUrl($varValue)
|
||
|
{
|
||
|
if (strlen($varValue))
|
||
|
{
|
||
|
try
|
||
|
{
|
||
|
@$this->resProxy = new Proxy($varValue);
|
||
|
}
|
||
|
catch (Exception $e)
|
||
|
{
|
||
|
throw new Exception($e->getMessage());
|
||
|
}
|
||
|
return $varValue;
|
||
|
}
|
||
|
return '';
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* checkProxyLocal
|
||
|
* @param mixed
|
||
|
* @return string
|
||
|
*/
|
||
|
public function checkProxyLocal($varValue)
|
||
|
{
|
||
|
if (strlen($varValue))
|
||
|
{
|
||
|
try
|
||
|
{
|
||
|
@$this->resProxy = new Proxy('', $varValue);
|
||
|
}
|
||
|
catch (Exception $e)
|
||
|
{
|
||
|
throw new Exception($e->getMessage());
|
||
|
}
|
||
|
return $varValue;
|
||
|
}
|
||
|
return '';
|
||
|
}
|
||
|
|
||
|
}
|