Added new (clean) yii boilerplate
This commit is contained in:
121
framework/web/widgets/CFlexWidget.php
Normal file
121
framework/web/widgets/CFlexWidget.php
Normal file
@@ -0,0 +1,121 @@
|
||||
<?php
|
||||
/**
|
||||
* CFlexWidget class file.
|
||||
*
|
||||
* @author Qiang Xue <qiang.xue@gmail.com>
|
||||
* @link http://www.yiiframework.com/
|
||||
* @copyright 2008-2013 Yii Software LLC
|
||||
* @license http://www.yiiframework.com/license/
|
||||
*/
|
||||
|
||||
/**
|
||||
* CFlexWidget embeds a Flex 3.x application into a page.
|
||||
*
|
||||
* To use CFlexWidget, set {@link name} to be the Flex application name
|
||||
* (without the .swf suffix), and set {@link baseUrl} to be URL (without the ending slash)
|
||||
* of the directory containing the SWF file of the Flex application.
|
||||
*
|
||||
* @property string $flashVarsAsString The flash parameter string.
|
||||
*
|
||||
* @author Qiang Xue <qiang.xue@gmail.com>
|
||||
* @package system.web.widgets
|
||||
* @since 1.0
|
||||
*/
|
||||
class CFlexWidget extends CWidget
|
||||
{
|
||||
/**
|
||||
* @var string name of the Flex application.
|
||||
* This should be the SWF file name without the ".swf" suffix.
|
||||
*/
|
||||
public $name;
|
||||
/**
|
||||
* @var string the base URL of the Flex application.
|
||||
* This refers to the URL of the directory containing the SWF file.
|
||||
*/
|
||||
public $baseUrl;
|
||||
/**
|
||||
* @var string width of the application region. Defaults to 450.
|
||||
*/
|
||||
public $width='100%';
|
||||
/**
|
||||
* @var string height of the application region. Defaults to 300.
|
||||
*/
|
||||
public $height='100%';
|
||||
/**
|
||||
* @var string quality of the animation. Defaults to 'high'.
|
||||
*/
|
||||
public $quality='high';
|
||||
/**
|
||||
* @var string background color of the application region. Defaults to '#FFFFFF', meaning white.
|
||||
*/
|
||||
public $bgColor='#FFFFFF';
|
||||
/**
|
||||
* @var string align of the application region. Defaults to 'middle'.
|
||||
*/
|
||||
public $align='middle';
|
||||
/**
|
||||
* @var string the access method of the script. Defaults to 'sameDomain'.
|
||||
*/
|
||||
public $allowScriptAccess='sameDomain';
|
||||
/**
|
||||
* @var boolean whether to allow running the Flash in full screen mode. Defaults to false.
|
||||
* @since 1.1.1
|
||||
*/
|
||||
public $allowFullScreen=false;
|
||||
/**
|
||||
* @var string the HTML content to be displayed if Flash player is not installed.
|
||||
*/
|
||||
public $altHtmlContent;
|
||||
/**
|
||||
* @var boolean whether history should be enabled. Defaults to true.
|
||||
*/
|
||||
public $enableHistory=true;
|
||||
/**
|
||||
* @var array parameters to be passed to the Flex application.
|
||||
*/
|
||||
public $flashVars=array();
|
||||
|
||||
/**
|
||||
* Renders the widget.
|
||||
*/
|
||||
public function run()
|
||||
{
|
||||
if(empty($this->name))
|
||||
throw new CException(Yii::t('yii','CFlexWidget.name cannot be empty.'));
|
||||
if(empty($this->baseUrl))
|
||||
throw new CException(Yii::t('yii','CFlexWidget.baseUrl cannot be empty.'));
|
||||
if($this->altHtmlContent===null)
|
||||
$this->altHtmlContent=Yii::t('yii','This content requires the <a href="http://www.adobe.com/go/getflash/">Adobe Flash Player</a>.');
|
||||
|
||||
$this->registerClientScript();
|
||||
|
||||
$this->render('flexWidget');
|
||||
}
|
||||
|
||||
/**
|
||||
* Registers the needed CSS and JavaScript.
|
||||
*/
|
||||
public function registerClientScript()
|
||||
{
|
||||
$cs=Yii::app()->getClientScript();
|
||||
$cs->registerScriptFile($this->baseUrl.'/AC_OETags.js');
|
||||
|
||||
if($this->enableHistory)
|
||||
{
|
||||
$cs->registerCssFile($this->baseUrl.'/history/history.css');
|
||||
$cs->registerScriptFile($this->baseUrl.'/history/history.js');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Generates the properly quoted flash parameter string.
|
||||
* @return string the flash parameter string.
|
||||
*/
|
||||
public function getFlashVarsAsString()
|
||||
{
|
||||
$params=array();
|
||||
foreach($this->flashVars as $k=>$v)
|
||||
$params[]=urlencode($k).'='.urlencode($v);
|
||||
return CJavaScript::quote(implode('&',$params));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user