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

96 lines
2.5 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;
use Pagebuilderck\CKController;
use Pagebuilderck\CKFof;
/**
* Controller for single page view
*
* @since 1.5.19
*/
class PagebuilderckControllerPage extends CKController
{
function __construct() {
parent::__construct();
}
public function apply() {
return $this->save(0, 'apply');
}
/**
* Method to save data.
*
* @return void
*/
public function save($task = null) {
// Check for request forgeries.
CKFof::checkToken();
// Initialise variables.
$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);
// Check for errors.
if ($data === false) {
CKFof::enqueueMessage('ERROR : NO DATA SAVED', 'warning');
// Redirect back to the edit screen.
CKFof::redirect(PAGEBUILDERCK_BASE_URL . '&view=page'.$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_BASE_URL . '&view=page' . $layout . '&id=' . $id . $appendToUrl);
return false;
}
// Redirect to the list screen.
CKFof::enqueueMessage(JText::_('CK_ITEM_SAVED_SUCCESS'));
$model->checkin($return);
switch ($task)
{
case 'apply':
// Redirect back to the edit screen.
CKFof::redirect(PAGEBUILDERCK_BASE_URL . '&view=page' . $layout . '&id=' . $return . $appendToUrl);
break;
default:
// Redirect to the list screen.
CKFof::redirect(PAGEBUILDERCK_BASE_URL . '&view=page&id=' . $return, false);
break;
}
}
function cancel() {
$id = $this->input->get('id', 0, 'int');
if (! $this->getModel()->checkin($id)) {
CKFof::redirect('index.php?option=com_pagebuilderck&view=page&id=' . $id, JLIB_APPLICATION_ERROR_CHECKIN_FAILED, 'warning');
}
//Redirect back to list
CKFof::redirect('index.php?option=com_pagebuilderck&view=page&id=' . $id);
}
}