Spade
Mini Shell
| Directory:~$ /proc/self/root/home/lmsyaran/public_html/j3/plugins/content/helpdeskpro/ |
| [Home] [System Details] [Kill Me] |
<?php
/**
* @version 4.3.0
* @package Joomla
* @subpackage Helpdesk Pro
* @author Tuan Pham Ngoc
* @copyright Copyright (C) 2013 - 2021 Ossolution Team
* @license GNU/GPL, see LICENSE.php
*/
defined('_JEXEC') or die;
use Joomla\CMS\Plugin\CMSPlugin;
class plgContentHelpdeskpro extends CMSPlugin
{
public function onContentPrepare($context, &$article, &$params,
$limitstart)
{
$app = JFactory::getApplication();
if ($app->getName() != 'site')
{
return;
}
if (strpos($article->text, 'helpdeskpro') === false)
{
return true;
}
$regex = "#{helpdeskpro}#s";
$article->text = preg_replace_callback($regex, array(&$this,
'displaySubmitTicketForm'), $article->text);
return true;
}
/**
* Replace callback function
*
* @param array $matches
*
* @return string
*/
private function displaySubmitTicketForm($matches)
{
// Bootstrap the component libraries
require_once JPATH_ADMINISTRATOR .
'/components/com_helpdeskpro/init.php';
// Get component config data
$config = require JPATH_ADMINISTRATOR .
'/components/com_helpdeskpro/config.php';
// Creating component container
$container =
OSL\Container\Container::getInstance('com_helpdeskpro',
$config);
// Generate new input for the container to pass it to controller
$Itemid = \OSSolution\HelpdeskPro\Site\Helper\Helper::getItemid();
$input = new OSL\Input\Input(array('view' =>
'ticket', 'layout' => 'form',
'Itemid' => $Itemid));
// Load component language
\OSSolution\HelpdeskPro\Site\Helper\Helper::loadLanguage();
// Create the Controller and Execute the request
$controller = OSL\Controller\Controller::getInstance($container);
$oldInput = $controller->setInput($input);
ob_start();
$controller->execute();
$controller->setInput($oldInput);
return '<div class="clearfix"></div>' .
ob_get_clean();
}
}