本文整理汇总了PHP中JHtmlBehavior::_getJSObject方法的典型用法代码示例。如果您正苦于以下问题:PHP JHtmlBehavior::_getJSObject方法的具体用法?PHP JHtmlBehavior::_getJSObject怎么用?PHP JHtmlBehavior::_getJSObject使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类JHtmlBehavior
的用法示例。
在下文中一共展示了JHtmlBehavior::_getJSObject方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: _getJSObject
/**
* Internal method to get a JavaScript object notation string from an array
*
* @param array $array The array to convert to JavaScript object notation
*
* @return string JavaScript object notation representation of the array
* @since 11.1
*/
protected static function _getJSObject($array = array())
{
// Initialise variables.
$object = '{';
// Iterate over array to build objects
foreach ((array) $array as $k => $v) {
if (is_null($v)) {
continue;
}
if (is_bool($v)) {
if ($k === 'fullScreen') {
$object .= 'size: { ';
$object .= 'x: ';
$object .= 'window.getSize().x-80';
$object .= ',';
$object .= 'y: ';
$object .= 'window.getSize().y-80';
$object .= ' }';
$object .= ',';
} else {
$object .= ' ' . $k . ': ';
$object .= $v ? 'true' : 'false';
$object .= ',';
}
} else {
if (!is_array($v) && !is_object($v)) {
$object .= ' ' . $k . ': ';
$object .= is_numeric($v) || strpos($v, '\\') === 0 ? is_numeric($v) ? $v : substr($v, 1) : "'" . $v . "'";
$object .= ',';
} else {
$object .= ' ' . $k . ': ' . JHtmlBehavior::_getJSObject($v) . ',';
}
}
}
if (substr($object, -1) == ',') {
$object = substr($object, 0, -1);
}
$object .= '}';
return $object;
}
示例2: uploader
/**
* Method to load the system file uploader behavior.
*
* @param string $id The DOM node id for the element to apply the behavior.
* @param array $params The array of options to use for the behavior.
*
* @return void
*
* @since 1.5.19
* @static
*/
function uploader($id = 'file-upload', $params = array(), $upload_queue = 'upload-queue')
{
// Setup the static array of behavior instances.
static $instances;
if (!isset($instances)) {
$instances = array();
}
// Check to see if it has already been loaded.
if (!empty($instances[$id])) {
return;
}
// Load the behavior files into the document head.
JHTML::script('swf.js');
JHTML::script('uploader.js');
JHTML::script('progress.js');
// Setup the options object.
$opt['verbose'] = JDEBUG;
$opt['url'] = isset($params['targetURL']) ? $params['targetURL'] : null;
$opt['path'] = isset($params['swf']) ? $params['swf'] : JURI::root(true) . '/media/system/swf/uploader.swf';
$opt['height'] = isset($params['height']) && $params['height'] ? (int) $params['height'] : null;
$opt['width'] = isset($params['width']) && $params['width'] ? (int) $params['width'] : null;
$opt['multiple'] = isset($params['multiple']) && !$params['multiple'] ? '\\false' : '\\true';
$opt['queued'] = isset($params['queued']) && !$params['queued'] ? (int) $params['queued'] : null;
$opt['target'] = isset($params['target']) ? $params['target'] : '\\$(\'upload-browse\')';
$opt['queueList'] = isset($params['queueList']) ? $params['queueList'] : 'upload-queue';
$opt['instantStart'] = isset($params['instantStart']) && $params['instantStart'] ? '\\true' : '\\false';
$opt['allowDuplicates'] = isset($params['allowDuplicates']) && !$params['allowDuplicates'] ? '\\false' : '\\true';
/* Legacy handling for old parameters */
$opt['fileSizeMax'] = isset($params['limitSize']) && $params['limitSize'] ? (int) $params['limitSize'] : null;
$opt['fileListMax'] = isset($params['limitFiles']) && $params['limitFiles'] ? (int) $params['limitFiles'] : null;
$opt['typeFilter'] = isset($params['types']) ? '\\' . $params['types'] : '\\{\'All Files (*.*)\': \'*.*\'}';
/**/
$opt['fileSizeMax'] = isset($params['fileSizeMax']) && $params['fileSizeMax'] ? (int) $params['fileSizeMax'] : $opt['fileSizeMax'];
$opt['fileSizeMin'] = isset($params['fileSizeMin']) && $params['fileSizeMin'] ? (int) $params['fileSizeMin'] : null;
$opt['fileListMax'] = isset($params['fileListMax']) && $params['fileListMax'] ? (int) $params['fileListMax'] : $opt['fileListMax'];
$opt['fileListSizeMax'] = isset($params['fileListSizeMax']) && $params['fileListSizeMax'] ? (int) $params['fileListSizeMax'] : null;
$opt['typeFilter'] = isset($params['typeFilter']) ? '\\' . $params['typeFilter'] : $opt['typeFilter'];
// Optional functions
$opt['createReplacement'] = isset($params['createReplacement']) ? '\\' . $params['createReplacement'] : null;
$opt['onFileComplete'] = isset($params['onFileComplete']) ? '\\' . $params['onFileComplete'] : null;
$opt['onBeforeStart'] = isset($params['onBeforeStart']) ? '\\' . $params['onBeforeStart'] : null;
$opt['onStart'] = isset($params['onStart']) ? '\\' . $params['onStart'] : null;
$opt['onComplete'] = isset($params['onComplete']) ? '\\' . $params['onComplete'] : null;
$opt['onFileSuccess'] = isset($params['onFileSuccess']) ? '\\' . $params['onFileSuccess'] : '';
if (!isset($params['startButton'])) {
$params['startButton'] = 'upload-start';
}
if (!isset($params['clearButton'])) {
$params['clearButton'] = 'upload-clear';
}
$opt['onLoad'] = '\\function() {
document.id(\'' . $id . '\').removeClass(\'hide\'); // we show the actual UI
document.id(\'upload-noflash\').destroy(); // ... and hide the plain form
// We relay the interactions with the overlayed flash to the link
this.target.addEvents({
click: function() {
return false;
},
mouseenter: function() {
this.addClass(\'hover\');
},
mouseleave: function() {
this.removeClass(\'hover\');
this.blur();
},
mousedown: function() {
this.focus();
}
});
// Interactions for the 2 other buttons
document.id(\'' . $params['clearButton'] . '\').addEvent(\'click\', function() {
Uploader.remove(); // remove all files
return false;
});
document.id(\'' . $params['startButton'] . '\').addEvent(\'click\', function() {
Uploader.start(); // start upload
return false;
});
}';
$options = JHtmlBehavior::_getJSObject($opt);
// Build the script.
$script = 'window.addEvent(\'domready\', function(){
var Uploader = new FancyUpload2(document.id(\'' . $id . '\'), document.id(\'' . $upload_queue . '\'), ' . $options . ' );
});';
// Load the script into the document head.
//.........这里部分代码省略.........