Files
idpan.poznan.pl/components/com_pagebuilderck/views/templateedition/view.html.php
2026-02-08 21:16:11 +01:00

159 lines
5.3 KiB
PHP

<?php
/**
* @name Page Builder CK
* @package com_pagebuilderck
* @copyright Copyright (C) 2015. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
* @author Cedric Keiflin - https://www.template-creator.com - https://www.joomlack.fr
*/
defined('_JEXEC') or die;
jimport('joomla.application.component.view');
class PagebuilderckViewTemplateedition extends JViewLegacy
{
protected $item;
protected $state;
public function display($tpl = null)
{
// check that the user has the rights to edit
$user = JFactory::getUser();
$app = JFactory::getApplication();
$authorised = ($user->authorise('core.create', 'com_pagebuilderck') || (count($user->getAuthorisedCategories('com_pagebuilderck', 'core.create'))));
if ($authorised !== true)
{
if ($user->guest === 1)
{
$return = base64_encode(JUri::getInstance());
$login_url_with_return = JRoute::_('index.php?option=com_users&return=' . $return);
$app->enqueueMessage(JText::_('JERROR_ALERTNOAUTHOR'), 'notice');
$app->redirect($login_url_with_return, 403);
}
else
{
$app->enqueueMessage(JText::_('JERROR_ALERTNOAUTHOR'), 'error');
$app->setHeader('status', 403, true);
return;
}
// JError::raiseError(403, JText::_('JERROR_ALERTNOAUTHOR'));
// return false;
}
// check that the template is compatible
$app = JFactory::getApplication();
$template = $app->getTemplate();
// load xml file from the template
$xml = simplexml_load_file(JPATH_SITE . '/templates/' . $template . '/templateDetails.xml');
// check that the template is made with a compatible version of Template Creator CK
if ($xml->generator != 'Template Creator CK') {
JError::raiseWarning(403, JText::_('The template you are trying to edit has not been created with Template Creator CK, or not the latest version of if. You can download Template Creator CK on <a href="https://www.template-creator.com">https://www.template-creator.com</a>'));
return;
}
// die ('ok');
// $app = JFactory::getApplication();
// $user = JFactory::getUser();
/*if (substr( $app->input->get('layout', null, 'cmd'), 0, 4 ) !== 'ajax') {
$this->item = $this->get('Item');
$this->state = $this->get('State');
// $this->form = $this->get('Form');
// check that we got a page
if (empty($this->item))
{
return JError::raiseError(404, JText::_('COM_PAGEBUILDERCK_ERROR_PAGE_NOT_FOUND'));
}
}
// check if we are viewing the frontend layout
if ( ($app->input->get('layout', null, 'cmd') === null || $app->input->get('layout', null, 'cmd') === 'default')
&& $tpl === null) {
// check the rights to access the page
$groups = $user->getAuthorisedViewLevels();
// if ((!in_array($this->item->access, $groups)) || (!in_array($this->item->category_access, $groups)))
if (!in_array($this->item->access, $groups))
{
JError::raiseWarning(403, JText::_('JERROR_ALERTNOAUTHOR'));
return;
}
} else {
// check that the user has the rights to edit
$authorised = ($user->authorise('core.create', 'com_pagebuilderck') || (count($user->getAuthorisedCategories('com_pagebuilderck', 'core.create'))));
if ($authorised !== true)
{
JError::raiseError(403, JText::_('JERROR_ALERTNOAUTHOR'));
return false;
}
include_once JPATH_ADMINISTRATOR . '/components/com_pagebuilderck/helpers/menustyles.php';
include_once JPATH_ADMINISTRATOR . '/components/com_pagebuilderck/helpers/stylescss.php';
include_once JPATH_ADMINISTRATOR . '/components/com_pagebuilderck/helpers/ckeditor.php';
include_once JPATH_ADMINISTRATOR . '/components/com_pagebuilderck/helpers/pagebuilderck.php';
// get instance of the editor to load the css / js in the page
$this->ckeditor = PagebuilderckHelper::loadEditor();
// check if the page is available for modification
$model = $this->getModel();
$id = $app->input->get('id', 0, 'int');
if (! $model->checkout($id)) {
$app->redirect(
JRoute::_(
'index.php?option=com_pagebuilderck&view=page&id=' . $id, false
)
);
return false;
}
}*/
// Get the parameters
// $params = JComponentHelper::getParams('com_pagebuilderck');
// if ($app->input->get('layout', '', 'cmd') !== null || $tpl !== null) {
// Check for errors.
// if (count($errors = $this->get('Errors')))
// {
// JError::raiseWarning(500, implode("\n", $errors));
// return false;
// }
// loads the neede library
// include_once JPATH_ADMINISTRATOR . '/components/com_pagebuilderck/helpers/menustyles.php';
// include_once JPATH_ADMINISTRATOR . '/components/com_pagebuilderck/helpers/stylescss.php';
// Check if access is not public
// $groups = $user->getAuthorisedViewLevels();
// if ($this->_layout == 'edit' || !$this->item->id) {
// $authorised = $user->authorise('core.edit.own', 'com_pagebuilderck');
// if ($authorised !== true) {
// Redirect to the edit screen.
// $app->redirect(JURI::root() . 'index.php?option=com_templateck&view=login&template=templatecreatorck&tmpl=login&id=' . $this->item->id);
// return false;
// }
// }
// TODO : ajouter permissions et acl
// if ((!in_array($item->access, $groups)) || (!in_array($item->category_access, $groups)))
// {
// JError::raiseWarning(403, JText::_('JERROR_ALERTNOAUTHOR'));
// return;
// }
// $model = $this->getModel();
// $model->hit();
return parent::display($tpl);
}
}