115 lines
2.8 KiB
PHP
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();
|
|
}
|
|
} |