146 lines
4.5 KiB
PHP
146 lines
4.5 KiB
PHP
<?php
|
|
|
|
/**
|
|
* Copyright (c) D3 Data Development (Inh. Thomas Dartsch)
|
|
*
|
|
* For the full copyright and license information, please view
|
|
* the LICENSE file that was distributed with this source code.
|
|
*
|
|
* https://www.d3data.de
|
|
*
|
|
* @copyright (C) D3 Data Development (Inh. Thomas Dartsch)
|
|
* @author D3 Data Development - Daniel Seifert <info@shopmodule.com>
|
|
* @link https://www.oxidmodule.com
|
|
*/
|
|
|
|
namespace D3\ModCfg\Application\Controller\Admin\TPLBlocks;
|
|
|
|
use D3\ModCfg\Application\Model\Constants;
|
|
use D3\ModCfg\Application\Model\d3oxtplblocks;
|
|
use Doctrine\DBAL\Exception as DBALException;
|
|
use Exception;
|
|
use OxidEsales\Eshop\Core\ConfigFile;
|
|
use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
|
|
use OxidEsales\Eshop\Core\Registry;
|
|
use OxidEsales\Eshop\Core\Request;
|
|
use OxidEsales\Eshop\Core\Exception\StandardException;
|
|
use OxidEsales\Eshop\Core\Exception\DatabaseException;
|
|
use OxidEsales\Eshop\Core\UtilsView;
|
|
|
|
class d3tplblocks_main extends d3tplblocks_base
|
|
{
|
|
protected $_sThisTemplate = '@'.Constants::OXID_MODULE_ID.'/admin/tplblocks/main';
|
|
protected $_aNonIndexedFields = ['oxartnum'];
|
|
protected $_sSavedId = null;
|
|
protected $_blUseOwnOxid = true;
|
|
public $sSearchTerm;
|
|
public $sAction;
|
|
public $sSynsetId;
|
|
public $aSynList;
|
|
protected $_aNaviItems = [
|
|
'new' => [
|
|
'sScript' => 'top.basefrm.list.EditThis( -1 );return false;',
|
|
'sTranslationId' => 'D3TPLBLOCKS_MAIN_NEWBLOCK',
|
|
],
|
|
];
|
|
|
|
protected $_sMenuItemTitle = 'mxextensions';
|
|
|
|
protected $_sMenuSubItemTitle = 'd3mxtplblocks';
|
|
|
|
public function init()
|
|
{
|
|
$this->sSearchTerm = Registry::get(Request::class)->getRequestEscapedParameter('searchterm');
|
|
$this->sAction = Registry::get(Request::class)->getRequestEscapedParameter('action');
|
|
$this->sSynsetId = Registry::get(Request::class)->getRequestEscapedParameter('synsetid');
|
|
parent::init();
|
|
}
|
|
|
|
/**
|
|
* @throws Exception
|
|
*/
|
|
public function save()
|
|
{
|
|
if ((bool) Registry::get(ConfigFile::class)->getVar('iDebug')) {
|
|
startProfile(__METHOD__);
|
|
}
|
|
|
|
if (method_exists($this, 'getEditObjectId')) {
|
|
$soxId = $this->getEditObjectId();
|
|
} else {
|
|
$soxId = Registry::get(Request::class)->getRequestEscapedParameter("oxid");
|
|
}
|
|
|
|
$aParams = Registry::get(Request::class)->getRequestEscapedParameter("editval");
|
|
|
|
// default values
|
|
$aParams = $this->addDefaultValues($aParams);
|
|
|
|
/** @var d3oxtplblocks $oTplBlock */
|
|
$oTplBlock = oxNew(d3oxtplblocks::class);
|
|
|
|
if ($soxId != "-1") {
|
|
$oTplBlock->load($soxId);
|
|
} else {
|
|
$aParams['oxtplblocks__oxid'] = null;
|
|
}
|
|
|
|
$oTplBlock->assign($aParams);
|
|
$oTplBlock->save();
|
|
|
|
Registry::get(UtilsView::class)->addErrorToDisplay(new StandardException('D3TPLBLOCKS_MOVEFIRST_SUCC'));
|
|
|
|
if (method_exists($this, 'setEditObjectId')) {
|
|
$this->setEditObjectId($oTplBlock->getId());
|
|
} elseif ($soxId == "-1") {
|
|
$this->_sSavedId = $oTplBlock->getId();
|
|
}
|
|
|
|
if ((bool) Registry::get(ConfigFile::class)->getVar('iDebug')) {
|
|
stopProfile(__METHOD__);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* @throws DatabaseConnectionException
|
|
* @throws DatabaseException
|
|
* @throws DBALException
|
|
* @throws Exception
|
|
*/
|
|
public function moveToFirst()
|
|
{
|
|
if ((bool) Registry::get(ConfigFile::class)->getVar('iDebug')) {
|
|
startProfile(__METHOD__);
|
|
}
|
|
|
|
if (method_exists($this, 'getEditObjectId')) {
|
|
$soxId = $this->getEditObjectId();
|
|
} else {
|
|
$soxId = Registry::get(Request::class)->getRequestEscapedParameter("oxid");
|
|
}
|
|
|
|
if ($soxId != "-1") {
|
|
/** @var d3oxtplblocks $oTplBlock */
|
|
$oTplBlock = oxNew(d3oxtplblocks::class);
|
|
$oTplBlock->load($soxId);
|
|
$oTplBlock->assign(
|
|
[
|
|
'oxpos' => $oTplBlock->getNextFirstPosition(),
|
|
]
|
|
);
|
|
$oTplBlock->save();
|
|
|
|
if (method_exists($this, 'setEditObjectId')) {
|
|
$this->setEditObjectId($oTplBlock->getId());
|
|
}
|
|
|
|
Registry::get(UtilsView::class)->addErrorToDisplay(new StandardException('D3TPLBLOCKS_MOVEFIRST_SUCC'));
|
|
$this->addTplParam("updatelist", "1");
|
|
}
|
|
|
|
if ((bool) Registry::get(ConfigFile::class)->getVar('iDebug')) {
|
|
stopProfile(__METHOD__);
|
|
}
|
|
}
|
|
}
|