Files
idpan.poznan.pl/administrator/components/com_pagebuilderck/controllers/element.php
2026-02-08 21:16:11 +01:00

115 lines
2.8 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.page-creator.com - https://www.joomlack.fr
*/
// No direct access
defined('_JEXEC') or die;
use Pagebuilderck\CKController;
use Pagebuilderck\CKFof;
/**
* Page controller class.
*/
class PagebuilderckControllerElement extends CKController {
function __construct() {
parent::__construct();
}
public function apply() {
return $this->save(0, 'apply');
}
/**
* Method to save a user's profile data.
*
* @return void
* @since 1.6
*/
public function save($id = 0, $task = 'save') {
// Check for request forgeries.
CKFof::checkToken();
$model = $this->getModel();
// Initialise variables.
$appendToUrl = $this->input->get('tmpl') ? '&tmpl=' . $this->input->get('tmpl') : '';
$layout = $this->input->get('layout') == 'modal' ? '&layout=modal' : '&layout=edit';
// Get the user data.
$data = $this->input->getArray($_POST);
$data['htmlcode'] = $this->input->get('htmlcode', '', 'raw');
$data['htmlcode'] = str_replace(JUri::root(true), "|URIROOT|", $data['htmlcode']);
// Check for errors.
if ($data === false) {
CKFof::enqueueMessage('ERROR : NO DATA SAVED', 'warning');
// Redirect back to the edit screen.
CKFof::redirect(PAGEBUILDERCK_ADMIN_URL . '&view=element' . $layout . '&id=' . $id . $appendToUrl);
return false;
}
// Attempt to save the data.
$return = $model->save($data);
// Check for errors.
if ($return === false) {
// Redirect back to the edit screen.
CKFof::enqueueMessage(JText::_('CK_ITEM_SAVED_FAILED'), 'warning');
CKFof::redirect(PAGEBUILDERCK_ADMIN_URL . '&view=element' . $layout . '&id=' . $id . $appendToUrl);
return false;
}
// Redirect to the list screen.
CKFof::enqueueMessage(JText::_('CK_ITEM_SAVED_SUCCESS'));
switch ($task)
{
case 'apply':
// Redirect back to the edit screen.
CKFof::redirect(PAGEBUILDERCK_ADMIN_URL . '&view=element' . $layout . '&id=' . $return . $appendToUrl);
break;
default:
// Redirect to the list screen.
CKFof::redirect(PAGEBUILDERCK_ADMIN_URL . '&view=elements');
break;
}
}
/**
* copy an existing element
* @return void
*/
function copy() {
// Check for request forgeries.
CKFof::checkToken();
$this->redirect = PAGEBUILDERCK_ADMIN_URL . '&view=elements';
parent::copy();
}
function cancel() {
//Redirect back to list
CKFof::redirect(PAGEBUILDERCK_ADMIN_URL . '&view=elements');
}
/**
* copy an existing element
* @return void
*/
function delete() {
// Check for request forgeries.
CKFof::checkToken();
$this->redirect = PAGEBUILDERCK_ADMIN_URL . '&view=elements';
parent::delete();
}
}