890 lines
34 KiB
PHP
890 lines
34 KiB
PHP
<?php
|
||
|
||
namespace D3\Birthdayvoucher\Setup;
|
||
|
||
use D3\ModCfg\Application\Model\Install\d3install_updatebase;
|
||
use D3\ModCfg\Application\Model\Installwizzard\d3installdbrecord;
|
||
use d3\modcfg\Application\Model\d3database;
|
||
use OxidEsales\Eshop\Core\DatabaseProvider;
|
||
use OxidEsales\Eshop\Core\Registry;
|
||
use OxidEsales\Facts\Facts;
|
||
|
||
/**
|
||
* Class d3birthdayvoucher_update
|
||
*/
|
||
class d3birthdayvoucher_update extends d3install_updatebase
|
||
{
|
||
|
||
protected $_aRefreshMetaModuleIds = array();
|
||
public $aMultiLangTables = array();
|
||
|
||
public $aRenameTables = array();
|
||
|
||
public $sModRevision = '265';
|
||
public $sModKey = 'd3birthdayvoucher';
|
||
public $sModName = 'Geburtstagsgutscheine';
|
||
public $sModVersion = '4.0.0.1';
|
||
public $sModBaseConfKey = 'fYgv2==ZjZmL2ZqYlBCY0ZoOTJtNFUxUFFDKzluYUplWFBsbzBDb3AzK1pLVElCZERxbmlhSGZhdzF2Z
|
||
itYZHErYkhKazRLTDZtNVFycVdQbllyMVhsdEpNc3ZBZ1BVUWVNYWJ4NVAvcjZqdkNnSXVGd1FEaGRzM
|
||
VRiVFQzc05uc0VPT2hoV2xKWlk1ck1tVVlxalFwOWZWZFA4YUFxVlZ6aUxObXpwbkQ1R0hKMjdwOEEva
|
||
3lCbGNuSWJBajdtWmRiem04WWlhYVlVbFRmRTA0eHNTbzdmUDl3RCt5bUQ5enZ1cFZvdUE4Ky9PdTNHe
|
||
C9nZmQ5V0ErV1hoMUpwSksrajU2ZjZpSW0xYWg0MGFFWmdZcElzMDRndHZFU3R4MFZzT3JFc2xHRFBjV
|
||
0lZMXhtS2pGN2cvM2dqL0R3ak1CcFZSR2FMTC9pR0FPRmIxYVNzKzBVRnV2UFVRPT0=';
|
||
|
||
public $sRequirements ='';
|
||
|
||
|
||
// auszuf<75>hrende Check- und Updateanweisungen in auszuf<75>hrender Reihenfolge
|
||
protected $_aUpdateMethods = array(
|
||
array('check' => 'checkMultiLangTables',
|
||
'do' => 'fixRegisterMultiLangTables'),
|
||
#array('check' => 'checkRenameTables', // pr<70>ft auf umzubenennende Tabellen und f<>hrt dies ggf. aus
|
||
# 'do' => 'fixRenameTables'),
|
||
#array('check' => 'checkTestTableExist', // pr<70>ft Tabelle und legt sie ggf. an
|
||
# 'do' => 'updateTestTableExist'),
|
||
array('check' => 'checkRenameFields', // pr<70>ft auf umzubenennende Felder und f<>hrt dies ggf. aus
|
||
'do' => 'fixRenameFields'),
|
||
array('check' => 'checkFields', // pr<70>ft Felder in Tabelle und legt sie ggf. an bzw. modifiziert diese
|
||
'do' => 'fixFields'),
|
||
array('check' => 'checkIndizes', // pr<70>ft Indizes in Tabelle und legt sie ggf. an
|
||
'do' => 'fixIndizes'),
|
||
array('check' => 'checkModCfgItemExist', // pr<70>ft auf DB-Eintrag (hier ModCfg) und f<>gt diese ggf. ein bzw. f<>hrt Update aus
|
||
'do' => 'updateModCfgItemExist'),
|
||
array('check' => 'checkVoucherSeriesItemExist', // pr<70>ft auf DB-Eintrag (hier ModCfg) und f<>gt diese ggf. ein bzw. f<>hrt Update aus
|
||
'do' => 'updateVoucherSeriesItemExist'),
|
||
|
||
/*
|
||
array('check' => 'checkCmsItems',
|
||
'do' => 'updateCmsItems'),
|
||
*/
|
||
/*
|
||
array('check' => 'checkCmsItems_01',
|
||
'do' => 'executeCmsTypesItemsList_01'),
|
||
array('check' => 'checkCmsItems_02',
|
||
'do' => 'executeCmsTypesItemsList_02'),
|
||
array('check' => 'checkCmsItems_03',
|
||
'do' => 'executeCmsTypesItemsList_03'),
|
||
*/
|
||
array('check' => 'checkModCfgSameRevision', // pr<70>ft auf nachgezogene Revisionsnummer und <20>bertr<74>gt diese ggf.
|
||
'do' => 'updateModCfgSameRevision'),
|
||
);
|
||
|
||
|
||
// Standardwerte f<>r checkFields(), _addTable() und fixFields()
|
||
public $aFields = array(
|
||
array(
|
||
'sTableName' => 'oxuser',
|
||
'sFieldName' => 'D3BIRTHDAYVOUCHER_LASTDATE',
|
||
'sType' => 'date',
|
||
'blNull' => FALSE,
|
||
'sDefault' => '0000-00-00',
|
||
'sComment' => 'send last BirthdayVoucher on',
|
||
'sExtra' => '',
|
||
'blMultilang' => FALSE,
|
||
),
|
||
array(
|
||
'sTableName' => 'oxvouchers',
|
||
'sFieldName' => 'D3VOUCHEREXPIRATIONDATE',
|
||
'sType' => 'date',
|
||
'blNull' => FALSE,
|
||
'sDefault' => '0000-00-00',
|
||
'sComment' => 'D3 Birthdayvoucher,last Day of validity',
|
||
'sExtra' => '',
|
||
'blMultilang' => FALSE,
|
||
),
|
||
array(
|
||
'sTableName' => 'oxvouchers',
|
||
'sFieldName' => 'D3VOUCHERLASTACTION',
|
||
'sType' => 'date',
|
||
'blNull' => FALSE,
|
||
'sDefault' => '0000-00-00',
|
||
'sComment' => 'D3 Birthdayvoucher,last Day of an action',
|
||
'sExtra' => '',
|
||
'blMultilang' => FALSE,
|
||
),
|
||
array(
|
||
'sTableName' => 'oxvouchers',
|
||
'sFieldName' => 'D3USERID',
|
||
'sType' => 'varchar(32)',
|
||
'blNull' => TRUE,
|
||
'sDefault' => '',
|
||
'sComment' => 'D3 Birthdayvoucher, User Oxid, used to send reminder',
|
||
'sExtra' => '',
|
||
'blMultilang' => FALSE,
|
||
),
|
||
);
|
||
|
||
// Standardwerte f<>r checkIndizes() und fixIndizes()
|
||
public $aIndizes = array();
|
||
|
||
// Standardwerte f<>r checkRenameFields() und fixRenameFields()
|
||
public $aRenameFields = array(
|
||
array(
|
||
'sTableName' => 'oxuser',
|
||
'mOldFieldNames' => array('d3lastbdvoucherdate','D3LASTBDVOUCHERDATE'), // is case sensitive
|
||
'sFieldName' => 'D3BIRTHDAYVOUCHER_LASTDATE',
|
||
'sComment' => 'send last BirthdayVoucher on',
|
||
'blMultilang' => FALSE,
|
||
'blNull' => TRUE,
|
||
'sDefault' => '0000-00-00',
|
||
'use_quote' => false,
|
||
),
|
||
);
|
||
|
||
/*******************************************************************************************/
|
||
/***** eigene Test- und Updatemethoden (ggf. <20>berladung vorhandener Methoden) **************/
|
||
/*******************************************************************************************/
|
||
|
||
/**
|
||
* @return bool
|
||
* @throws \Doctrine\DBAL\DBALException
|
||
* @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException
|
||
*/
|
||
public function checkModCfgItemExist()
|
||
{
|
||
$blRet = false;
|
||
foreach (Registry::getConfig()->getShopIds() as $sShopId) {
|
||
$aWhere = array(
|
||
'oxmodid' => $this->sModKey,
|
||
'oxnewrevision' => $this->sModRevision,
|
||
'oxshopid' => $sShopId,
|
||
);
|
||
|
||
$blRet = $this->_checkTableItemNotExist('d3_cfg_mod', $aWhere);
|
||
|
||
if ($blRet) {
|
||
return $blRet;
|
||
}
|
||
}
|
||
|
||
return $blRet;
|
||
}
|
||
|
||
/**
|
||
* @return bool
|
||
* @throws \Doctrine\DBAL\DBALException
|
||
* @throws \OxidEsales\Eshop\Core\Exception\ConnectionException
|
||
* @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException
|
||
* @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException
|
||
*/
|
||
public function updateModCfgItemExist()
|
||
{
|
||
$blRet = FALSE;
|
||
|
||
if ($this->checkModCfgItemExist()) {
|
||
foreach (Registry::getConfig()->getShopIds() as $sShopId) {
|
||
$aWhere = array(
|
||
'oxmodid' => $this->sModKey,
|
||
'oxshopid' => $sShopId,
|
||
'oxnewrevision' => $this->sModRevision,
|
||
);
|
||
if($this->_checkTableItemNotExist('d3_cfg_mod',$aWhere))
|
||
{
|
||
// update don't use this property
|
||
unset($aWhere['oxnewrevision']);
|
||
$aInsertFields = array(
|
||
array(
|
||
'fieldname' => 'OXID',
|
||
'content' => "md5('" . $this->sModKey . " " . $sShopId . " de')",
|
||
'force_update' => FALSE,
|
||
'use_quote' => FALSE,
|
||
'use_multilang' => FALSE,
|
||
),
|
||
array(
|
||
'fieldname' => 'OXSHOPID',
|
||
'content' => $sShopId,
|
||
'force_update' => FALSE,
|
||
'use_quote' => TRUE,
|
||
),
|
||
array(
|
||
'fieldname' => 'OXMODID',
|
||
'content' => $this->sModKey,
|
||
'force_update' => FALSE,
|
||
'use_quote' => TRUE,
|
||
),
|
||
array(
|
||
'fieldname' => 'OXNAME',
|
||
'content' => $this->sModName,
|
||
'force_update' => FALSE,
|
||
'use_quote' => TRUE,
|
||
),
|
||
array(
|
||
'fieldname' => 'OXACTIVE',
|
||
'content' => '0',
|
||
'force_update' => FALSE,
|
||
'use_quote' => FALSE,
|
||
),
|
||
array(
|
||
'fieldname' => 'OXBASECONFIG',
|
||
'content' => $this->sModBaseConfKey,
|
||
'force_update' => TRUE,
|
||
'use_quote' => TRUE,
|
||
),
|
||
array(
|
||
'fieldname' => 'OXSERIAL',
|
||
'content' => "",
|
||
'force_update' => FALSE,
|
||
'use_quote' => TRUE,
|
||
),
|
||
array(
|
||
'fieldname' => 'OXINSTALLDATE',
|
||
'content' => "NOW()",
|
||
'force_update' => TRUE,
|
||
'use_quote' => FALSE,
|
||
),
|
||
array(
|
||
'fieldname' => 'OXVERSION',
|
||
'content' => $this->sModVersion,
|
||
'force_update' => TRUE,
|
||
'use_quote' => TRUE,
|
||
),
|
||
array(
|
||
'fieldname' => 'OXSHOPVERSION',
|
||
'content' => oxNew(Facts::class)->getEdition(),
|
||
'force_update' => TRUE,
|
||
'use_quote' => TRUE,
|
||
),
|
||
array(
|
||
'fieldname' => 'OXREQUIREMENTS',
|
||
'content' => $this->sRequirements,
|
||
'force_update' => TRUE,
|
||
'use_quote' => TRUE,
|
||
),
|
||
array(
|
||
'fieldname' => $this->_getLangAbbrFieldName('d3_cfg_mod', 'OXVALUE', 'de'),
|
||
'content' => '',
|
||
'force_update' => FALSE,
|
||
'use_quote' => TRUE,
|
||
),
|
||
array(
|
||
'fieldname' => 'OXNEWREVISION',
|
||
'content' => $this->sModRevision,
|
||
'force_update' => TRUE,
|
||
'use_quote' => TRUE,
|
||
)
|
||
);
|
||
$aRet = $this->_updateTableItem2('d3_cfg_mod', $aInsertFields, $aWhere);
|
||
$blRet = $aRet['blRet'];
|
||
$this->setActionLog('SQL', $aRet['sql'], __METHOD__);
|
||
$this->setUpdateBreak(true);
|
||
}
|
||
}
|
||
}
|
||
return $blRet;
|
||
}
|
||
|
||
/**
|
||
* @return bool
|
||
* @throws \Doctrine\DBAL\DBALException
|
||
* @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException
|
||
*/
|
||
public function checkVoucherSeriesItemExist()
|
||
{
|
||
/*
|
||
$sShopEdition = Registry::getConfig()->getActiveShop()->oxshops__oxedition->value;
|
||
if ($sShopEdition == 'EE') {
|
||
$sShopId = '1';
|
||
} else {
|
||
$sShopId = '1';
|
||
}
|
||
*/
|
||
$sShopId = '1';
|
||
|
||
$aWhere = array(
|
||
'oxid' => 'oxidbirthdayvouchers',
|
||
'oxshopid' => $sShopId,
|
||
);
|
||
|
||
$blRet = $this->_checkTableItemNotExist('oxvoucherseries', $aWhere);
|
||
|
||
if ($blRet) {
|
||
return $blRet;
|
||
}
|
||
|
||
return $blRet;
|
||
}
|
||
|
||
/**
|
||
* @return bool
|
||
* @throws \Doctrine\DBAL\DBALException
|
||
* @throws \OxidEsales\Eshop\Core\Exception\ConnectionException
|
||
* @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException
|
||
* @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException
|
||
*/
|
||
public function updateVoucherSeriesItemExist()
|
||
{
|
||
/*
|
||
$sShopEdition = Registry::getConfig()->getActiveShop()->oxshops__oxedition->value;
|
||
if ($sShopEdition == 'EE') {
|
||
$sShopId = '1';
|
||
} else {
|
||
$sShopId = '1';
|
||
}
|
||
*/
|
||
$sShopId = '1';
|
||
|
||
$blRet = FALSE;
|
||
if ($this->checkVoucherSeriesItemExist()) {
|
||
$aWhere = array(
|
||
'oxid' => 'oxidbirthdayvouchers',
|
||
'oxshopid' => $sShopId,
|
||
);
|
||
$aInsertFields = array(
|
||
array(
|
||
'fieldname' => 'OXID',
|
||
'content' => 'oxidbirthdayvouchers',
|
||
'force_update' => FALSE,
|
||
'use_quote' => true,
|
||
'use_multilang' => FALSE,
|
||
),
|
||
array(
|
||
'fieldname' => 'OXSHOPID',
|
||
'content' => $sShopId,
|
||
'force_update' => FALSE,
|
||
'use_quote' => TRUE,
|
||
),
|
||
array(
|
||
'fieldname' => 'OXSERIENR',
|
||
'content' => 'Geburtstagsgutscheine (D3)',
|
||
'force_update' => FALSE,
|
||
'use_quote' => TRUE,
|
||
),
|
||
array(
|
||
'fieldname' => 'OXSERIEDESCRIPTION',
|
||
'content' => 'Geburtstagsgutscheine',
|
||
'force_update' => FALSE,
|
||
'use_quote' => TRUE,
|
||
),
|
||
array(
|
||
'fieldname' => 'OXDISCOUNT',
|
||
'content' => '5.00',
|
||
'force_update' => false,
|
||
'use_quote' => true,
|
||
),
|
||
array(
|
||
'fieldname' => 'OXDISCOUNTTYPE',
|
||
'content' => 'absolute',
|
||
'force_update' => false,
|
||
'use_quote' => TRUE,
|
||
),
|
||
array(
|
||
'fieldname' => 'OXBEGINDATE',
|
||
'content' => '2009-01-01 00:00:00',
|
||
'force_update' => true,
|
||
'use_quote' => TRUE,
|
||
),
|
||
array(
|
||
'fieldname' => 'OXENDDATE',
|
||
'content' => '2100-12-31 00:00:00',
|
||
'force_update' => false,
|
||
'use_quote' => true,
|
||
),
|
||
|
||
array(
|
||
'fieldname' => 'OXMINIMUMVALUE',
|
||
'content' => '20.00',
|
||
'force_update' => false,
|
||
'use_quote' => TRUE,
|
||
)
|
||
);
|
||
/*
|
||
$sShopEdition = Registry::getConfig()->getActiveShop()->oxshops__oxedition->value;
|
||
if($sShopEdition == 'EE')
|
||
{
|
||
}
|
||
*/
|
||
|
||
$aRet = $this->_updateTableItem2('oxvoucherseries', $aInsertFields, $aWhere);
|
||
$blRet = $aRet['blRet'];
|
||
$this->setActionLog('SQL', $aRet['sql'], __METHOD__);
|
||
$this->setUpdateBreak(FALSE);
|
||
}
|
||
return $blRet;
|
||
}
|
||
|
||
/**
|
||
* @return bool
|
||
* @throws \oxSystemComponentException
|
||
*/
|
||
public function addCmsItems()
|
||
{
|
||
$blRet = TRUE;
|
||
|
||
$aExampleJobMethods = array('executeCmsTypesItemsList_01','executeCmsTypesItemsList_02','executeCmsTypesItemsList_03');
|
||
foreach ($aExampleJobMethods as $sJobMethod)
|
||
{
|
||
$blRet = $this->{$sJobMethod}();
|
||
if (!$blRet)
|
||
{
|
||
break;
|
||
}
|
||
}
|
||
return $blRet;
|
||
}
|
||
|
||
/**
|
||
* @return bool TRUE, if update is required
|
||
* @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException
|
||
*/
|
||
public function checkCmsItems()
|
||
{
|
||
$blRet = FALSE;
|
||
foreach (Registry::getConfig()->getShopIds() as $sShopId)
|
||
{
|
||
// change this to your inividual check criterias
|
||
/*
|
||
$sSql = "SELECT count(`oxid`) FROM `oxcontents`
|
||
WHERE (
|
||
OXLOADID = 'd3birthdayvouchersubjectmail'
|
||
OR OXLOADID = 'd3birthdayvouchermail'
|
||
OR OXLOADID = 'd3birthdayvoucherplainmail'
|
||
)
|
||
AND OXSHOPID = '".$oShop->getId()."'";
|
||
*/
|
||
$sSql = <<<MYSQL
|
||
SELECT count(oxid) FROM oxcontents
|
||
WHERE (
|
||
OXLOADID = 'd3birthdayvouchersubjectmail'
|
||
OR OXLOADID = 'd3birthdayvouchermail'
|
||
OR OXLOADID = 'd3birthdayvoucherplainmail'
|
||
)
|
||
AND OXSHOPID = '{$sShopId}'
|
||
MYSQL;
|
||
|
||
#echo "<hr>".$sSql;
|
||
if ($this->getDb()->getOne($sSql) != 3)
|
||
{
|
||
$blRet = TRUE;
|
||
}
|
||
}
|
||
return $blRet;
|
||
}
|
||
|
||
/**
|
||
* @return bool
|
||
*/
|
||
public function updateCmsItems()
|
||
{
|
||
return $this->_confirmMessage('D3_BIRTHDAY_UPDATE_ITEMINSTALL');
|
||
}
|
||
|
||
/**
|
||
* @return bool
|
||
* @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException
|
||
*/
|
||
public function checkCmsItems_01()
|
||
{
|
||
$blRet = FALSE;
|
||
foreach (Registry::getConfig()->getShopIds() as $sShopId)
|
||
{
|
||
// change this to your inividual check criterias
|
||
/*
|
||
$sSql = "SELECT count(`oxid`) FROM `oxcontents`
|
||
WHERE
|
||
OXLOADID = 'd3birthdayvouchersubjectmail'
|
||
AND OXSHOPID = '".$oShop->getId()."'";
|
||
*/
|
||
$sSql = <<<MYSQL
|
||
SELECT count(oxid) FROM oxcontents
|
||
WHERE
|
||
OXLOADID = 'd3birthdayvouchersubjectmail'
|
||
AND OXSHOPID = '{$sShopId}'
|
||
MYSQL;
|
||
|
||
#echo "<hr>".$sSql;
|
||
if ($this->getDb()->getOne($sSql) != 1)
|
||
{
|
||
$blRet = TRUE;
|
||
}
|
||
}
|
||
return $blRet;
|
||
}
|
||
|
||
/**
|
||
* @return bool
|
||
* @throws \Doctrine\DBAL\DBALException
|
||
* @throws \OxidEsales\Eshop\Core\Exception\ConnectionException
|
||
* @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException
|
||
* @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException
|
||
*/
|
||
public function executeCmsTypesItemsList_01()
|
||
{
|
||
$blRet = FALSE;
|
||
|
||
foreach (Registry::getConfig()->getShopIds() as $sShopId)
|
||
{
|
||
$aWhere = array(
|
||
#'oxid' => "md5('d3birthdayvouchersubjectmail " . $oShop->getId() . " de')",
|
||
'oxshopid' => $sShopId,
|
||
'OXLOADID' => 'd3birthdayvouchersubjectmail',
|
||
);
|
||
$aInsertFields = array(
|
||
array(
|
||
'fieldname' => 'OXID',
|
||
'content' => "md5('d3birthdayvouchersubjectmail " . $sShopId . "')",
|
||
'force_update' => FALSE,
|
||
'use_quote' => FALSE,
|
||
'use_multilang' => FALSE,
|
||
),
|
||
array(
|
||
'fieldname' => 'OXLOADID',
|
||
'content' => 'd3birthdayvouchersubjectmail',
|
||
'force_update' => FALSE,
|
||
'use_quote' => TRUE,
|
||
),
|
||
array(
|
||
'fieldname' => 'OXSHOPID',
|
||
'content' => $sShopId,
|
||
'force_update' => FALSE,
|
||
'use_quote' => TRUE,
|
||
),
|
||
array (
|
||
'fieldname' => 'OXSNIPPET',
|
||
'content' => "1",
|
||
'force_update' => TRUE,
|
||
'use_quote' => TRUE,
|
||
'use_multilang' => FALSE,
|
||
),
|
||
array (
|
||
'fieldname' => 'OXTYPE',
|
||
'content' => "0",
|
||
'force_update' => TRUE,
|
||
'use_quote' => TRUE,
|
||
'use_multilang' => FALSE,
|
||
),
|
||
array(
|
||
'fieldname' => 'OXACTIVE',
|
||
'content' => '1',
|
||
'force_update' => FALSE,
|
||
'use_quote' => FALSE,
|
||
),
|
||
array (
|
||
'fieldname' => 'OXPOSITION',
|
||
'content' => "",
|
||
'force_update' => FALSE,
|
||
'use_quote' => TRUE,
|
||
'use_multilang' => FALSE,
|
||
),
|
||
array(
|
||
'fieldname' => $this->_getLangAbbrFieldName('oxcontents', 'OXTITLE', 'de'),
|
||
'content' => 'Geburtstags-EMail Betreff-Text',
|
||
'force_update' => TRUE,
|
||
'use_quote' => TRUE,
|
||
'use_multilang' => FALSE,
|
||
),
|
||
array (
|
||
'fieldname' => $this->_getLangAbbrFieldName('oxcontents', 'OXCONTENT', 'de'),
|
||
'content' => "Ihr Gutschein zum Geburtstag!",
|
||
'force_update' => FALSE,
|
||
'use_quote' => TRUE,
|
||
'use_multilang' => FALSE,
|
||
),
|
||
|
||
array(
|
||
'fieldname' => 'OXCATID',
|
||
'content' => '8a142c3e4143562a5.46426637',
|
||
'force_update' => TRUE,
|
||
'use_quote' => TRUE,
|
||
),
|
||
array(
|
||
'fieldname' => 'OXFOLDER',
|
||
'content' => 'CMSFOLDER_EMAILS',
|
||
'force_update' => TRUE,
|
||
'use_quote' => TRUE,
|
||
),
|
||
);
|
||
$aRet = $this->_updateTableItem2('oxcontents', $aInsertFields, $aWhere);
|
||
#dumpvar($aRet);
|
||
$blRet = $aRet['blRet'];
|
||
$this->setActionLog('SQL', $aRet['sql'], __METHOD__);
|
||
$this->setUpdateBreak(FALSE);
|
||
}
|
||
return $blRet;
|
||
}
|
||
|
||
/**
|
||
* @return bool TRUE, if update is required
|
||
* @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException
|
||
*/
|
||
public function checkCmsItems_02()
|
||
{
|
||
$blRet = FALSE;
|
||
foreach (Registry::getConfig()->getShopIds() as $sShopId)
|
||
{
|
||
// change this to your inividual check criterias
|
||
/*
|
||
$sSql = "SELECT count(`oxid`) FROM `oxcontents`
|
||
WHERE
|
||
OXLOADID = 'd3birthdayvoucherplainmail'
|
||
AND OXSHOPID = '".$oShop->getId()."'";
|
||
*/
|
||
|
||
$sSql = <<<MYSQL
|
||
SELECT count(oxid) FROM oxcontents
|
||
WHERE
|
||
OXLOADID = 'd3birthdayvoucherplainmail'
|
||
AND OXSHOPID = '{$sShopId}'
|
||
MYSQL;
|
||
|
||
#echo "<hr>".$sSql;
|
||
if ($this->getDb()->getOne($sSql) != 1)
|
||
{
|
||
$blRet = TRUE;
|
||
}
|
||
}
|
||
return $blRet;
|
||
}
|
||
|
||
/**
|
||
* @return bool
|
||
* @throws \Doctrine\DBAL\DBALException
|
||
* @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException
|
||
* @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException
|
||
* @throws \oxSystemComponentException
|
||
*/
|
||
public function executeCmsTypesItemsList_02()
|
||
{
|
||
$blRet = FALSE;
|
||
|
||
foreach (Registry::getConfig()->getShopIds() as $sShopId)
|
||
{
|
||
$aWhere = array(
|
||
#'oxid' => "md5('d3birthdayvouchersubjectmail " . $oShop->getId() . " de')",
|
||
'oxshopid' => $sShopId,
|
||
'OXLOADID' => 'd3birthdayvoucherplainmail',
|
||
);
|
||
$aInsertFields = array(
|
||
array(
|
||
'fieldname' => 'OXID',
|
||
'content' => "md5('d3birthdayvoucherplainmail " . $sShopId . "')",
|
||
'force_update' => FALSE,
|
||
'use_quote' => FALSE,
|
||
'use_multilang' => FALSE,
|
||
),
|
||
array(
|
||
'fieldname' => 'OXLOADID',
|
||
'content' => 'd3birthdayvoucherplainmail',
|
||
'force_update' => FALSE,
|
||
'use_quote' => TRUE,
|
||
),
|
||
array(
|
||
'fieldname' => 'OXSHOPID',
|
||
'content' => $sShopId,
|
||
'force_update' => FALSE,
|
||
'use_quote' => TRUE,
|
||
),
|
||
array (
|
||
'fieldname' => 'OXSNIPPET',
|
||
'content' => "1",
|
||
'force_update' => TRUE,
|
||
'use_quote' => TRUE,
|
||
'use_multilang' => FALSE,
|
||
),
|
||
array (
|
||
'fieldname' => 'OXTYPE',
|
||
'content' => "0",
|
||
'force_update' => TRUE,
|
||
'use_quote' => TRUE,
|
||
'use_multilang' => FALSE,
|
||
),
|
||
array(
|
||
'fieldname' => 'OXACTIVE',
|
||
'content' => '1',
|
||
'force_update' => FALSE,
|
||
'use_quote' => FALSE,
|
||
),
|
||
array (
|
||
'fieldname' => 'OXPOSITION',
|
||
'content' => "",
|
||
'force_update' => FALSE,
|
||
'use_quote' => TRUE,
|
||
'use_multilang' => FALSE,
|
||
),
|
||
array(
|
||
'fieldname' => $this->_getLangAbbrFieldName('oxcontents', 'OXTITLE', 'de'),
|
||
'content' => 'Geburtstags-EMail Plain-Text',
|
||
'force_update' => TRUE,
|
||
'use_quote' => TRUE,
|
||
'use_multilang' => FALSE,
|
||
),
|
||
array (
|
||
'fieldname' => $this->_getLangAbbrFieldName('oxcontents', 'OXCONTENT', 'de'),
|
||
'content' => 'Guten Tag [{ $user->oxuser__oxsal->value|oxmultilangsal }] [{ $user->oxuser__oxfname->value }] [{ $user->oxuser__oxlname->value }],\r\n\r\nIhr [{ $shop->oxshops__oxname->value }] m<>chte Ihnen ganz herzlich zum Geburtstag gratulieren.\r\n\r\nAls kleines Pr<50>sent senden wir Ihnen im Folgenden einen Gutschein im Wert von [{$voucherserie->oxvoucherseries__oxdiscount->value|string_format:"%.2f"|replace:".":","}] [{if $voucherserie->oxvoucherseries__oxdiscounttype->value == "absolute"}]EUR[{else}]%[{/if}] zu.\r\n\r\n\r\nIhre pers<72>nlicher Geburtstagsgutschein-Nr. lautet: [{$voucher->oxvouchers__oxvouchernr->value}]\r\n\r\nUnd so einfach gehts:\r\nGehen Sie in unseren Onlineshop unter [{ $shop->oxshops__oxurl->value }].\r\nSt<53>bern Sie in Ruhe unter der Vielzahl an Aritkeln und legen Sie die gew<65>nschten Produkte in den Warenkorb.\r\nKlicken Sie nun auf den Warenkorb um eine <20>bersicht Ihrer gew<65>hlten Artikel zu sehen.\r\nUnter der Artikelliste finden Sie das Eingabefeld f<>r den Gutscheincode.\r\nGeben Sie diesen dort ein, best<73>tigen Sie die Eingabe und f<>hren Sie den Bestellvorgang ganz normal durch.\r\n\r\nIn Schritt 4 des Bestellvorgangs sehen Sie nun in der Zusammenfassung den abgezogenen Gutscheinwert.\r\n\r\nNoch einen sch<63>nen Tag w<>nscht\r\n\r\nIhr [{ $shop->oxshops__oxname->value }] Team',
|
||
'force_update' => FALSE,
|
||
'use_quote' => TRUE,
|
||
'use_multilang' => FALSE,
|
||
),
|
||
array(
|
||
'fieldname' => 'OXCATID',
|
||
'content' => '8a142c3e4143562a5.46426637',
|
||
'force_update' => TRUE,
|
||
'use_quote' => TRUE,
|
||
),
|
||
array(
|
||
'fieldname' => 'OXFOLDER',
|
||
'content' => 'CMSFOLDER_EMAILS',
|
||
'force_update' => TRUE,
|
||
'use_quote' => TRUE,
|
||
),
|
||
);
|
||
#$aRet = $this->_updateTableItem2('oxcontents', $aInsertFields, $aWhere);
|
||
$aRet = $this->_updateTableItem22('oxcontents', $aInsertFields, $aWhere);
|
||
#dumpvar($aRet);
|
||
$blRet = $aRet['blRet'];
|
||
$this->setActionLog('SQL', $aRet['sql'], __METHOD__);
|
||
$this->setUpdateBreak(FALSE);
|
||
}
|
||
return $blRet;
|
||
}
|
||
|
||
/**
|
||
* @return bool TRUE, if update is required
|
||
* @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException
|
||
*/
|
||
public function checkCmsItems_03()
|
||
{
|
||
$blRet = FALSE;
|
||
foreach (Registry::getConfig()->getShopIds() as $sShopId)
|
||
{
|
||
// change this to your inividual check criterias
|
||
/*
|
||
$sSql = "SELECT count(`oxid`) FROM `oxcontents`
|
||
WHERE
|
||
OXLOADID = 'd3birthdayvouchermail'
|
||
AND OXSHOPID = '".$oShop->getId()."'";
|
||
*/
|
||
|
||
$sSql = <<<MYSQL
|
||
SELECT count(oxid) FROM oxcontents
|
||
WHERE
|
||
OXLOADID = 'd3birthdayvouchermail'
|
||
AND OXSHOPID = '{$sShopId}'
|
||
MYSQL;
|
||
|
||
#echo "<hr>".$sSql;
|
||
if ($this->getDb()->getOne($sSql) != 1)
|
||
{
|
||
$blRet = TRUE;
|
||
}
|
||
}
|
||
return $blRet;
|
||
}
|
||
|
||
/**
|
||
* @return bool
|
||
* @throws \Doctrine\DBAL\DBALException
|
||
* @throws \OxidEsales\Eshop\Core\Exception\ConnectionException
|
||
* @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException
|
||
* @throws \OxidEsales\Eshop\Core\Exception\DatabaseErrorException
|
||
*/
|
||
public function executeCmsTypesItemsList_03()
|
||
{
|
||
$blRet = FALSE;
|
||
|
||
foreach (Registry::getConfig()->getShopIds() as $sShopId)
|
||
{
|
||
$aWhere = array(
|
||
#'oxid' => "md5('d3birthdayvouchersubjectmail " . $oShop->getId() . " de')",
|
||
'oxshopid' => $sShopId,
|
||
'OXLOADID' => 'd3birthdayvouchermail',
|
||
);
|
||
$aInsertFields = array(
|
||
array(
|
||
'fieldname' => 'OXID',
|
||
'content' => "md5('d3birthdayvouchermail " . $sShopId . "')",
|
||
'force_update' => FALSE,
|
||
'use_quote' => FALSE,
|
||
'use_multilang' => FALSE,
|
||
),
|
||
array(
|
||
'fieldname' => 'OXLOADID',
|
||
'content' => 'd3birthdayvouchermail',
|
||
'force_update' => FALSE,
|
||
'use_quote' => TRUE,
|
||
),
|
||
array(
|
||
'fieldname' => 'OXSHOPID',
|
||
'content' => $sShopId,
|
||
'force_update' => FALSE,
|
||
'use_quote' => TRUE,
|
||
),
|
||
array (
|
||
'fieldname' => 'OXSNIPPET',
|
||
'content' => "1",
|
||
'force_update' => TRUE,
|
||
'use_quote' => TRUE,
|
||
'use_multilang' => FALSE,
|
||
),
|
||
array (
|
||
'fieldname' => 'OXTYPE',
|
||
'content' => "0",
|
||
'force_update' => TRUE,
|
||
'use_quote' => TRUE,
|
||
'use_multilang' => FALSE,
|
||
),
|
||
array(
|
||
'fieldname' => 'OXACTIVE',
|
||
'content' => '1',
|
||
'force_update' => FALSE,
|
||
'use_quote' => FALSE,
|
||
),
|
||
array (
|
||
'fieldname' => 'OXPOSITION',
|
||
'content' => "",
|
||
'force_update' => FALSE,
|
||
'use_quote' => TRUE,
|
||
'use_multilang' => FALSE,
|
||
),
|
||
array(
|
||
'fieldname' => $this->_getLangAbbrFieldName('oxcontents', 'OXTITLE', 'de'),
|
||
'content' => 'Geburtstags-EMail Text',
|
||
'force_update' => TRUE,
|
||
'use_quote' => TRUE,
|
||
'use_multilang' => FALSE,
|
||
),
|
||
array (
|
||
'fieldname' => $this->_getLangAbbrFieldName('oxcontents', 'OXCONTENT', 'de'),
|
||
'content' => 'Guten Tag [{$user->oxuser__oxsal->value|oxmultilangsal}] [{$user->oxuser__oxfname->value}] [{$user->oxuser__oxlname->value}],
|
||
<p>Ihr [{ $shop->oxshops__oxname->value }] m<>chte Ihnen ganz herzlich zum Geburtstag gratulieren.<br>
|
||
<br>
|
||
Als kleines Pr<50>sent senden wir Ihnen im Folgenden einen Gutschein im Wert von
|
||
[{$voucherserie->oxvoucherseries__oxdiscount->value|string_format:"%.2f"|replace:".":","}] [{if $voucherserie->oxvoucherseries__oxdiscounttype->value == "absolute"}]EUR[{else}]%[{/if}] zu.<br>
|
||
</p>
|
||
<p>Ihre pers<72>nlicher Geburtstagsgutschein-Nr. lautet: <strong>[{$voucher->oxvouchers__oxvouchernr->value}]</strong></p>
|
||
<p><br>
|
||
Und so einfach gehts:<br />
|
||
Gehen Sie in unseren Onlineshop unter [{ $shop->oxshops__oxurl->value }].<br>
|
||
St<EFBFBD>bern Sie in Ruhe unter der Vielzahl an Aritkeln und legen Sie die gew<65>nschten Produkte in den Warenkorb.<br />
|
||
Klicken Sie nun auf den Warenkorb um eine <20>bersicht Ihrer gew<65>hlten Artikel zu sehen.<br>
|
||
Unter der Artikelliste finden Sie das Eingabefeld f<>r den Gutscheincode.<br />
|
||
Geben Sie diesen dort ein, best<73>tigen Sie die Eingabe und f<>hren Sie den Bestellvorgang ganz normal durch.<br />
|
||
In Schritt 4 des Bestellvorgangs sehen Sie nun in der Zusammenfassung den abgezogenen Gutscheinwert.<br />
|
||
<br />
|
||
Noch einen sch<63>nen Tag w<>nscht</p>
|
||
<p>Ihr [{ $shop->oxshops__oxname->value }] Team </p>',
|
||
'force_update' => FALSE,
|
||
'use_quote' => TRUE,
|
||
'use_multilang' => FALSE,
|
||
),
|
||
array(
|
||
'fieldname' => 'OXCATID',
|
||
'content' => '8a142c3e4143562a5.46426637',
|
||
'force_update' => TRUE,
|
||
'use_quote' => TRUE,
|
||
),
|
||
array(
|
||
'fieldname' => 'OXFOLDER',
|
||
'content' => 'CMSFOLDER_EMAILS',
|
||
'force_update' => TRUE,
|
||
'use_quote' => TRUE,
|
||
),
|
||
);
|
||
$aRet = $this->_updateTableItem2('oxcontents', $aInsertFields, $aWhere);
|
||
#dumpvar($aRet);
|
||
$blRet = $aRet['blRet'];
|
||
$this->setActionLog('SQL', $aRet['sql'], __METHOD__);
|
||
$this->setUpdateBreak(FALSE);
|
||
}
|
||
return $blRet;
|
||
}
|
||
} |