Skip to content

Commit

Permalink
Adding partial coument type
Browse files Browse the repository at this point in the history
  • Loading branch information
cheesegrits committed Jun 1, 2016
1 parent 2fffccd commit 6910454
Show file tree
Hide file tree
Showing 8 changed files with 578 additions and 0 deletions.
1 change: 1 addition & 0 deletions libraries/joomla/document/partial/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<html><body bgcolor="#FFFFFF"></body></html>
90 changes: 90 additions & 0 deletions libraries/joomla/document/partial/partial.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
<?php
/**
* @package Joomla.Framework
* @subpackage Document
* @copyright Copyright (C) 2005 - 2010 Open Source Matters. All rights reserved.
* @license GNU/GPL, see LICENSE.php
* Joomla! is free software. This version may have been modified pursuant
* to the GNU General Public License, and as distributed it includes or
* is derivative of works licensed under the GNU General Public License or
* other free or open source software licenses.
* See COPYRIGHT.php for copyright notices and details.
*/

// Check to ensure this file is within the rest of the framework
defined('JPATH_BASE') or die();

file_exists(JPATH_LIBRARIES . '/joomla/document/html/html.php') && require_once JPATH_LIBRARIES . '/joomla/document/html/html.php';
require_once JPATH_SITE . '/components/com_fabrik/helpers/pdf.php';

/**
* DocumentPDF class, provides an easy interface to parse and display a pdf document
*
* @package Joomla.Framework
* @subpackage Document
* @since 1.5
*/
class JDocumentpartial extends JDocumentHTML
{
/**
* Render the document.
*
* @param boolean $cache If true, cache the output
* @param array $params Associative array of attributes
*
* @return string
*/
public function render($cache = false, $params = array())
{
$data = parent::render();

$lnEnd = $this->_getLineEnd();
$tab = $this->_getTab();
$tagEnd = ' />';
$buffer = '';

// Generate script declarations
foreach ($this->_script as $type => $content)
{
$buffer .= $tab . '<script type="' . $type . '">' . $lnEnd;

// This is for full XHTML support.
if ($this->_mime != 'text/html')
{
$buffer .= $tab . $tab . '<![CDATA[' . $lnEnd;
}

$buffer .= $content . $lnEnd;

// See above note
if ($this->_mime != 'text/html')
{
$buffer .= $tab . $tab . ']]>' . $lnEnd;
}
$buffer .= $tab . '</script>' . $lnEnd;
}

return $buffer . $this->_buffer['component'];
}

/**
* Get the contents of a document include
*
* @param string $type The type of renderer
* @param string $name The name of the element to render
* @param array $attribs Associative array of remaining attributes.
*
* @return The output of the renderer
*/
public function getBuffer($type = null, $name = null, $attribs = array())
{
if ($type == 'head' || $type == 'component')
{
return parent::getBuffer($type, $name, $attribs);
}
else
{
return '';
}
}
}
36 changes: 36 additions & 0 deletions libraries/joomla/document/partial/renderer/component.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
<?php
/**
* @package Joomla.Platform
* @subpackage Document
*
* @copyright Copyright (C) 2005 - 2012 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE
*/

defined('JPATH_PLATFORM') or die;

/**
* Component renderer
*
* @package Joomla.Platform
* @subpackage Document
* @since 11.1
*/
class JDocumentRendererComponent extends JDocumentRenderer
{
/**
* Renders a component script and returns the results as a string
*
* @param string $component The name of the component to render
* @param array $params Associative array of values
* @param string $content Content script
*
* @return string The output of the script
*
* @since 11.1
*/
public function render($component = null, $params = array(), $content = null)
{
return $content;
}
}
215 changes: 215 additions & 0 deletions libraries/joomla/document/partial/renderer/head.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,215 @@
<?php
/**
* @package Joomla.Platform
* @subpackage Document
*
* @copyright Copyright (C) 2005 - 2012 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE
*/

defined('JPATH_PLATFORM') or die;

/**
* JDocument head renderer
*
* @package Joomla.Platform
* @subpackage Document
* @since 11.1
*/
class JDocumentRendererHead extends JDocumentRenderer
{
/**
* Renders the document head and returns the results as a string
*
* @param string $head (unused)
* @param array $params Associative array of values
* @param string $content The script
*
* @return string The output of the script
*
* @since 11.1
*
* @note Unused arguments are retained to preserve backward compatibility.
*/
public function render($head, $params = array(), $content = null)
{
ob_start();
echo $this->fetchHead($this->_doc);
$buffer = ob_get_contents();
ob_end_clean();

return $buffer;
}

/**
* Generates the head HTML and return the results as a string
*
* @param JDocument &$document The document for which the head will be created
*
* @return string The head hTML
*
* @since 11.1
*/
public function fetchHead(&$document)
{
// Trigger the onBeforeCompileHead event (skip for installation, since it causes an error)
$app = JFactory::getApplication();
$app->triggerEvent('onBeforeCompileHead');
// Get line endings
$lnEnd = $document->_getLineEnd();
$tab = $document->_getTab();
$tagEnd = ' />';
$buffer = '';

// Generate base tag (need to happen first)
$base = $document->getBase();
if (!empty($base))
{
$buffer .= $tab . '<base href="' . $document->getBase() . '" />' . $lnEnd;
}

// Generate META tags (needs to happen as early as possible in the head)
foreach ($document->_metaTags as $type => $tag)
{
foreach ($tag as $name => $content)
{
if ($type == 'http-equiv')
{
$content .= '; charset=' . $document->getCharset();
$buffer .= $tab . '<meta http-equiv="' . $name . '" content="' . htmlspecialchars($content) . '" />' . $lnEnd;
}
elseif ($type == 'standard' && !empty($content))
{
$buffer .= $tab . '<meta name="' . $name . '" content="' . htmlspecialchars($content) . '" />' . $lnEnd;
}
}
}

// Don't add empty descriptions
$documentDescription = $document->getDescription();
if ($documentDescription)
{
$buffer .= $tab . '<meta name="description" content="' . htmlspecialchars($documentDescription) . '" />' . $lnEnd;
}

// Don't add empty generators
$generator = $document->getGenerator();
if ($generator)
{
$buffer .= $tab . '<meta name="generator" content="' . htmlspecialchars($generator) . '" />' . $lnEnd;
}

$buffer .= $tab . '<title>' . htmlspecialchars($document->getTitle(), ENT_COMPAT, 'UTF-8') . '</title>' . $lnEnd;

// Generate link declarations
foreach ($document->_links as $link => $linkAtrr)
{
$buffer .= $tab . '<link href="' . $link . '" ' . $linkAtrr['relType'] . '="' . $linkAtrr['relation'] . '"';
if ($temp = JArrayHelper::toString($linkAtrr['attribs']))
{
$buffer .= ' ' . $temp;
}
$buffer .= ' />' . $lnEnd;
}

// Generate stylesheet links
foreach ($document->_styleSheets as $strSrc => $strAttr)
{
$buffer .= $tab . '<link rel="stylesheet" href="' . $strSrc . '" type="' . $strAttr['mime'] . '"';
if (!is_null($strAttr['media']))
{
$buffer .= ' media="' . $strAttr['media'] . '" ';
}
if ($temp = JArrayHelper::toString($strAttr['attribs']))
{
$buffer .= ' ' . $temp;
}
$buffer .= $tagEnd . $lnEnd;
}

// Generate stylesheet declarations
foreach ($document->_style as $type => $content)
{
$buffer .= $tab . '<style type="' . $type . '">' . $lnEnd;

// This is for full XHTML support.
if ($document->_mime != 'text/html')
{
$buffer .= $tab . $tab . '<![CDATA[' . $lnEnd;
}

$buffer .= $content . $lnEnd;

// See above note
if ($document->_mime != 'text/html')
{
$buffer .= $tab . $tab . ']]>' . $lnEnd;
}
$buffer .= $tab . '</style>' . $lnEnd;
}

// Generate script file links
foreach ($document->_scripts as $strSrc => $strAttr)
{
$buffer .= $tab . '<script src="' . $strSrc . '"';
if (!is_null($strAttr['mime']))
{
$buffer .= ' type="' . $strAttr['mime'] . '"';
}
if ($strAttr['defer'])
{
$buffer .= ' defer="defer"';
}
if ($strAttr['async'])
{
$buffer .= ' async="async"';
}
$buffer .= '></script>' . $lnEnd;
}

// Generate script declarations
foreach ($document->_script as $type => $content)
{
$buffer .= $tab . '<script type="' . $type . '">' . $lnEnd;

// This is for full XHTML support.
if ($document->_mime != 'text/html')
{
$buffer .= $tab . $tab . '<![CDATA[' . $lnEnd;
}

$buffer .= $content . $lnEnd;

// See above note
if ($document->_mime != 'text/html')
{
$buffer .= $tab . $tab . ']]>' . $lnEnd;
}
$buffer .= $tab . '</script>' . $lnEnd;
}

// Generate script language declarations.
if (count(JText::script()))
{
$buffer .= $tab . '<script type="text/javascript">' . $lnEnd;
$buffer .= $tab . $tab . '(function() {' . $lnEnd;
$buffer .= $tab . $tab . $tab . 'var strings = ' . json_encode(JText::script()) . ';' . $lnEnd;
$buffer .= $tab . $tab . $tab . 'if (typeof Joomla == \'undefined\') {' . $lnEnd;
$buffer .= $tab . $tab . $tab . $tab . 'Joomla = {};' . $lnEnd;
$buffer .= $tab . $tab . $tab . $tab . 'Joomla.JText = strings;' . $lnEnd;
$buffer .= $tab . $tab . $tab . '}' . $lnEnd;
$buffer .= $tab . $tab . $tab . 'else {' . $lnEnd;
$buffer .= $tab . $tab . $tab . $tab . 'Joomla.JText.load(strings);' . $lnEnd;
$buffer .= $tab . $tab . $tab . '}' . $lnEnd;
$buffer .= $tab . $tab . '})();' . $lnEnd;
$buffer .= $tab . '</script>' . $lnEnd;
}

foreach ($document->_custom as $custom)
{
$buffer .= $tab . $custom . $lnEnd;
}

return $buffer;
}
}
1 change: 1 addition & 0 deletions libraries/joomla/document/partial/renderer/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<!DOCTYPE html><title></title>
Loading

0 comments on commit 6910454

Please sign in to comment.