Spade
Mini Shell
controller.php000064400000002014151165174200007437 0ustar00<?php
/**
* @package Joomla.Site
* @subpackage com_wrapper
*
* @copyright Copyright (C) 2005 - 2020 Open Source Matters, Inc. All
rights reserved.
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
/**
* Content Component Controller
*
* @since 1.5
*/
class WrapperController extends JControllerLegacy
{
/**
* Method to display a view.
*
* @param boolean $cachable If true, the view output will be cached
* @param array $urlparams An array of safe URL parameters and their
variable types, for valid values see {@link JFilterInput::clean()}.
*
* @return JControllerLegacy This object to support chaining.
*
* @since 1.5
*/
public function display($cachable = false, $urlparams = array())
{
$cachable = true;
// Set the default view name and format from the Request.
$vName = $this->input->get('view', 'wrapper');
$this->input->set('view', $vName);
return parent::display($cachable, array('Itemid' =>
'INT'));
}
}
router.php000064400000003504151165174200006601 0ustar00<?php
/**
* @package Joomla.Site
* @subpackage com_wrapper
*
* @copyright Copyright (C) 2005 - 2020 Open Source Matters, Inc. All
rights reserved.
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
/**
* Routing class from com_wrapper
*
* @since 3.3
*/
class WrapperRouter extends JComponentRouterBase
{
/**
* Build the route for the com_wrapper component
*
* @param array &$query An array of URL arguments
*
* @return array The URL arguments to use to assemble the subsequent
URL.
*
* @since 3.3
*/
public function build(&$query)
{
if (isset($query['view']))
{
unset($query['view']);
}
return array();
}
/**
* Parse the segments of a URL.
*
* @param array &$segments The segments of the URL to parse.
*
* @return array The URL attributes to be used by the application.
*
* @since 3.3
*/
public function parse(&$segments)
{
return array('view' => 'wrapper');
}
}
/**
* Wrapper router functions
*
* These functions are proxys for the new router interface
* for old SEF extensions.
*
* @param array &$query An array of URL arguments
*
* @return array The URL arguments to use to assemble the subsequent URL.
*
* @deprecated 4.0 Use Class based routers instead
*/
function wrapperBuildRoute(&$query)
{
$router = new WrapperRouter;
return $router->build($query);
}
/**
* Wrapper router functions
*
* These functions are proxys for the new router interface
* for old SEF extensions.
*
* @param array $segments The segments of the URL to parse.
*
* @return array The URL attributes to be used by the application.
*
* @deprecated 4.0 Use Class based routers instead
*/
function wrapperParseRoute($segments)
{
$router = new WrapperRouter;
return $router->parse($segments);
}
views/wrapper/tmpl/default.php000064400000003133151165174200012474
0ustar00<?php
/**
* @package Joomla.Site
* @subpackage com_wrapper
*
* @copyright Copyright (C) 2005 - 2020 Open Source Matters, Inc. All
rights reserved.
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
JHtml::_('script', 'com_wrapper/iframe-height.min.js',
array('version' => 'auto', 'relative'
=> true));
?>
<div class="contentpane<?php echo $this->pageclass_sfx;
?>">
<?php if ($this->params->get('show_page_heading')) :
?>
<div class="page-header">
<h1>
<?php if
($this->escape($this->params->get('page_heading'))) :
?>
<?php echo
$this->escape($this->params->get('page_heading')); ?>
<?php else : ?>
<?php echo
$this->escape($this->params->get('page_title')); ?>
<?php endif; ?>
</h1>
</div>
<?php endif; ?>
<iframe <?php echo $this->wrapper->load; ?>
id="blockrandom"
name="iframe"
src="<?php echo $this->escape($this->wrapper->url);
?>"
width="<?php echo
$this->escape($this->params->get('width')); ?>"
height="<?php echo
$this->escape($this->params->get('height')); ?>"
scrolling="<?php echo
$this->escape($this->params->get('scrolling'));
?>"
frameborder="<?php echo
$this->escape($this->params->get('frameborder', 1));
?>"
<?php if
($this->escape($this->params->get('page_heading'))) :
?>
title="<?php echo
$this->escape($this->params->get('page_heading'));
?>"
<?php else : ?>
title="<?php echo
$this->escape($this->params->get('page_title'));
?>"
<?php endif; ?>
class="wrapper<?php echo $this->pageclass_sfx; ?>">
<?php echo JText::_('COM_WRAPPER_NO_IFRAMES'); ?>
</iframe>
</div>
views/wrapper/tmpl/default.xml000064400000004565151165174200012517
0ustar00<?xml version="1.0" encoding="utf-8"?>
<metadata>
<layout title="COM_WRAPPER_WRAPPER_VIEW_DEFAULT_TITLE"
option="COM_WRAPPER_WRAPPER_VIEW_DEFAULT_OPTION">
<help
key="JHELP_MENUS_MENU_ITEM_WRAPPER"
/>
<message>
<![CDATA[COM_WRAPPER_WRAPPER_VIEW_DEFAULT_DESC]]>
</message>
</layout>
<!-- Add fields to the parameters object for the layout. -->
<fields name="params">
<fieldset name="request"
label="COM_MENUS_BASIC_FIELDSET_LABEL">
<field
name="url"
type="text"
label="COM_WRAPPER_FIELD_URL_LABEL"
description="COM_WRAPPER_FIELD_URL_DESC"
size="30"
required="true"
/>
</fieldset>
<!-- Add fields to the parameters object for the layout. -->
<!-- Scroll. -->
<fieldset name="basic"
label="COM_WRAPPER_FIELD_LABEL_SCROLLBARSPARAMS">
<field
name="scrolling"
type="list"
label="COM_WRAPPER_FIELD_SCROLLBARS_LABEL"
description="COM_WRAPPER_FIELD_SCROLLBARS_DESC"
default="auto"
>
<option value="no">JNO</option>
<option value="yes">JYES</option>
<option
value="auto">COM_WRAPPER_FIELD_VALUE_AUTO</option>
</field>
<field
name="width"
type="text"
label="JGLOBAL_WIDTH"
description="COM_WRAPPER_FIELD_WIDTH_DESC"
default="100%"
size="5"
/>
<field
name="height"
type="number"
label="COM_WRAPPER_FIELD_HEIGHT_LABEL"
description="COM_WRAPPER_FIELD_HEIGHT_DESC"
default="500"
size="5"
/>
</fieldset>
<!-- Advanced options. -->
<fieldset name="advanced">
<field
name="height_auto"
type="radio"
label="COM_WRAPPER_FIELD_HEIGHTAUTO_LABEL"
description="COM_WRAPPER_FIELD_HEIGHTAUTO_DESC"
default="0"
class="btn-group btn-group-yesno"
>
<option value="1">JYES</option>
<option value="0">JNO</option>
</field>
<field
name="add_scheme"
type="radio"
label="COM_WRAPPER_FIELD_ADD_LABEL"
description="COM_WRAPPER_FIELD_ADD_DESC"
class="btn-group btn-group-yesno"
default="1"
>
<option value="1">JYES</option>
<option value="0">JNO</option>
</field>
<field
name="frameborder"
type="radio"
label="COM_WRAPPER_FIELD_FRAME_LABEL"
description="COM_WRAPPER_FIELD_FRAME_DESC"
class="btn-group btn-group-yesno"
default="1"
>
<option value="1">JYES</option>
<option value="0">JNO</option>
</field>
</fieldset>
</fields>
</metadata>
views/wrapper/view.html.php000064400000005620151165174200012014
0ustar00<?php
/**
* @package Joomla.Site
* @subpackage com_wrapper
*
* @copyright Copyright (C) 2005 - 2020 Open Source Matters, Inc. All
rights reserved.
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
/**
* Wrapper view class.
*
* @since 1.5
*/
class WrapperViewWrapper extends JViewLegacy
{
/**
* Execute and display a template script.
*
* @param string $tpl The name of the template file to parse;
automatically searches through the template paths.
*
* @return mixed A string if successful, otherwise an Error object.
*
* @since 1.5
*/
public function display($tpl = null)
{
$app = JFactory::getApplication();
$params = $app->getParams();
// Because the application sets a default page title, we need to get it
// right from the menu item itself
$title = $params->get('page_title', '');
if (empty($title))
{
$title = $app->get('sitename');
}
elseif ($app->get('sitename_pagetitles', 0) == 1)
{
$title = JText::sprintf('JPAGETITLE',
$app->get('sitename'), $title);
}
elseif ($app->get('sitename_pagetitles', 0) == 2)
{
$title = JText::sprintf('JPAGETITLE', $title,
$app->get('sitename'));
}
$this->document->setTitle($title);
if ($params->get('menu-meta_description'))
{
$this->document->setDescription($params->get('menu-meta_description'));
}
if ($params->get('menu-meta_keywords'))
{
$this->document->setMetadata('keywords',
$params->get('menu-meta_keywords'));
}
if ($params->get('robots'))
{
$this->document->setMetadata('robots',
$params->get('robots'));
}
$wrapper = new stdClass;
// Auto height control
if ($params->def('height_auto'))
{
$wrapper->load = 'onload="iFrameHeight(this)"';
}
else
{
$wrapper->load = '';
}
$url = $params->def('url', '');
if ($params->def('add_scheme', 1))
{
// Adds 'http://' or 'https://' if none is set
if (strpos($url, '//') === 0)
{
// URL without scheme in component. Prepend current scheme.
$wrapper->url =
JUri::getInstance()->toString(array('scheme')) . substr($url,
2);
}
elseif (strpos($url, '/') === 0)
{
// Relative URL in component. Use scheme + host + port.
$wrapper->url =
JUri::getInstance()->toString(array('scheme',
'host', 'port')) . $url;
}
elseif (strpos($url, 'http://') !== 0 && strpos($url,
'https://') !== 0)
{
// URL doesn't start with either 'http://' or
'https://'. Add current scheme.
$wrapper->url =
JUri::getInstance()->toString(array('scheme')) . $url;
}
else
{
// URL starts with either 'http://' or 'https://'.
Do not change it.
$wrapper->url = $url;
}
}
else
{
$wrapper->url = $url;
}
// Escape strings for HTML output
$this->pageclass_sfx =
htmlspecialchars($params->get('pageclass_sfx'));
$this->params = &$params;
$this->wrapper = &$wrapper;
parent::display($tpl);
}
}
wrapper.php000064400000000645151165174200006744 0ustar00<?php
/**
* @package Joomla.Site
* @subpackage com_wrapper
*
* @copyright Copyright (C) 2005 - 2020 Open Source Matters, Inc. All
rights reserved.
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
$controller = JControllerLegacy::getInstance('Wrapper');
$controller->execute(JFactory::getApplication()->input->get('task'));
$controller->redirect();
wrapper.xml000064400000002232151165174200006747 0ustar00<?xml
version="1.0" encoding="utf-8"?>
<extension type="component" version="3.1"
method="upgrade">
<name>com_wrapper</name>
<author>Joomla! Project</author>
<creationDate>April 2006</creationDate>
<copyright>(C) 2005 - 2020 Open Source Matters. All rights reserved.
</copyright>
<license>GNU General Public License version 2 or later; see
LICENSE.txt</license>
<authorEmail>admin@joomla.org</authorEmail>
<authorUrl>www.joomla.org</authorUrl>
<version>3.0.0</version>
<description>COM_WRAPPER_XML_DESCRIPTION</description>
<files folder="site">
<filename>controller.php</filename>
<filename>index.html</filename>
<filename>metadata.xml</filename>
<filename>router.php</filename>
<filename>wrapper.php</filename>
<folder>views</folder>
</files>
<languages folder="site">
<language
tag="en-GB">language/en-GB.com_wrapper.ini</language>
</languages>
<administration>
<files folder="admin">
<filename>index.html</filename>
</files>
<languages folder="admin">
<language
tag="en-GB">language/en-GB.com_wrapper.ini</language>
<language
tag="en-GB">language/en-GB.com_wrapper.sys.ini</language>
</languages>
</administration>
</extension>
js/iframe-height.js000064400000000634151165313530010235 0ustar00function
iFrameHeight(iframe)
{
var doc = 'contentDocument' in iframe ?
iframe.contentDocument : iframe.contentWindow.document;
var height = parseInt(doc.body.scrollHeight);
if (!document.all)
{
iframe.style.height = parseInt(height) + 60 + 'px';
}
else if (document.all && iframe.id)
{
document.all[iframe.id].style.height = parseInt(height) + 20 +
'px';
}
}
js/iframe-height.min.js000064400000000501151165313530011010
0ustar00function iFrameHeight(iframe){var doc="contentDocument"in
iframe?iframe.contentDocument:iframe.contentWindow.document;var
height=parseInt(doc.body.scrollHeight);if(!document.all){iframe.style.height=parseInt(height)+60+"px"}else
if(document.all&&iframe.id){document.all[iframe.id].style.height=parseInt(height)+20+"px"}}