primo commit
This commit is contained in:
47
components/com_wrapper/src/Controller/DisplayController.php
Normal file
47
components/com_wrapper/src/Controller/DisplayController.php
Normal file
@ -0,0 +1,47 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @package Joomla.Site
|
||||
* @subpackage com_wrapper
|
||||
*
|
||||
* @copyright (C) 2009 Open Source Matters, Inc. <https://www.joomla.org>
|
||||
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||
*/
|
||||
|
||||
namespace Joomla\Component\Wrapper\Site\Controller;
|
||||
|
||||
use Joomla\CMS\MVC\Controller\BaseController;
|
||||
|
||||
// phpcs:disable PSR1.Files.SideEffects
|
||||
\defined('_JEXEC') or die;
|
||||
// phpcs:enable PSR1.Files.SideEffects
|
||||
|
||||
/**
|
||||
* Content Component Controller
|
||||
*
|
||||
* @since 1.5
|
||||
*/
|
||||
class DisplayController extends BaseController
|
||||
{
|
||||
/**
|
||||
* 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.
|
||||
* @see \Joomla\CMS\Filter\InputFilter::clean() for valid values.
|
||||
*
|
||||
* @return BaseController This object to support chaining.
|
||||
*
|
||||
* @since 1.5
|
||||
*/
|
||||
public function display($cachable = false, $urlparams = [])
|
||||
{
|
||||
$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, ['Itemid' => 'INT']);
|
||||
}
|
||||
}
|
||||
57
components/com_wrapper/src/Service/Router.php
Normal file
57
components/com_wrapper/src/Service/Router.php
Normal file
@ -0,0 +1,57 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @package Joomla.Site
|
||||
* @subpackage com_wrapper
|
||||
*
|
||||
* @copyright (C) 2008 Open Source Matters, Inc. <https://www.joomla.org>
|
||||
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||
*/
|
||||
|
||||
namespace Joomla\Component\Wrapper\Site\Service;
|
||||
|
||||
use Joomla\CMS\Component\Router\RouterBase;
|
||||
|
||||
// phpcs:disable PSR1.Files.SideEffects
|
||||
\defined('_JEXEC') or die;
|
||||
// phpcs:enable PSR1.Files.SideEffects
|
||||
|
||||
/**
|
||||
* Routing class from com_wrapper
|
||||
*
|
||||
* @since 3.3
|
||||
*/
|
||||
class Router extends RouterBase
|
||||
{
|
||||
/**
|
||||
* 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 [];
|
||||
}
|
||||
|
||||
/**
|
||||
* 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 ['view' => 'wrapper'];
|
||||
}
|
||||
}
|
||||
115
components/com_wrapper/src/View/Wrapper/HtmlView.php
Normal file
115
components/com_wrapper/src/View/Wrapper/HtmlView.php
Normal file
@ -0,0 +1,115 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @package Joomla.Site
|
||||
* @subpackage com_wrapper
|
||||
*
|
||||
* @copyright (C) 2006 Open Source Matters, Inc. <https://www.joomla.org>
|
||||
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||
*/
|
||||
|
||||
namespace Joomla\Component\Wrapper\Site\View\Wrapper;
|
||||
|
||||
use Joomla\CMS\Factory;
|
||||
use Joomla\CMS\MVC\View\HtmlView as BaseHtmlView;
|
||||
use Joomla\CMS\Uri\Uri;
|
||||
|
||||
// phpcs:disable PSR1.Files.SideEffects
|
||||
\defined('_JEXEC') or die;
|
||||
// phpcs:enable PSR1.Files.SideEffects
|
||||
|
||||
/**
|
||||
* Wrapper view class.
|
||||
*
|
||||
* @since 1.5
|
||||
*/
|
||||
class HtmlView extends BaseHtmlView
|
||||
{
|
||||
/**
|
||||
* The page class suffix
|
||||
*
|
||||
* @var string
|
||||
* @since 4.0.0
|
||||
*/
|
||||
protected $pageclass_sfx = '';
|
||||
|
||||
/**
|
||||
* The page parameters
|
||||
*
|
||||
* @var \Joomla\Registry\Registry|null
|
||||
* @since 4.0.0
|
||||
*/
|
||||
protected $params = null;
|
||||
|
||||
/**
|
||||
* The page parameters
|
||||
*
|
||||
* @var \stdClass
|
||||
* @since 4.0.0
|
||||
*/
|
||||
protected $wrapper = null;
|
||||
|
||||
/**
|
||||
* Execute and display a template script.
|
||||
*
|
||||
* @param string $tpl The name of the template file to parse; automatically searches through the template paths.
|
||||
*
|
||||
* @return void
|
||||
*
|
||||
* @since 1.5
|
||||
*/
|
||||
public function display($tpl = null)
|
||||
{
|
||||
$params = Factory::getApplication()->getParams();
|
||||
|
||||
// Because the application sets a default page title, we need to get it
|
||||
// right from the menu item itself
|
||||
|
||||
$this->setDocumentTitle($params->get('page_title', ''));
|
||||
|
||||
if ($params->get('menu-meta_description')) {
|
||||
$this->getDocument()->setDescription($params->get('menu-meta_description'));
|
||||
}
|
||||
|
||||
if ($params->get('robots')) {
|
||||
$this->getDocument()->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 = Uri::getInstance()->toString(['scheme']) . substr($url, 2);
|
||||
} elseif (strpos($url, '/') === 0) {
|
||||
// Relative URL in component. Use scheme + host + port.
|
||||
$wrapper->url = Uri::getInstance()->toString(['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 = Uri::getInstance()->toString(['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);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user