class TaskException extends Exception {
function __construct($message, $taskID) {
parent::__construct("TaskException[Task_ID=" . $taskID . "]: " . $message);
}
}
class InflatingException extends Exception {
}
class NoCountryException extends Exception {
}
class AccountLimitExceededException extends Exception {
}
class AmazonItemInvalidParameterException extends Exception {
}
class AmazonShippingUndefinedException extends Exception {
}
class AmazonShippingNotAvailableException extends Exception {
}
class AmazonItemNotAvailableException extends Exception {
}
class ShippingNotAvailableException extends Exception {
}
class VATNotAvailableException extends Exception {
}
class AmazonUtilException extends Exception {
}
class DatabaseException extends Exception {
}
class MultiCurrencyObjectNotSingleException extends Exception {
}
class NotFoundException extends Exception {
}
class NotUniqueException extends Exception {
}
class HTTPFetchException extends Exception {
}
define("RENDERTYPE_LINK", "RENDERTYPE_LINK");
define("RENDERTYPE_IMAGE", "RENDERTYPE_IMAGE");
define("RENDERTYPE_IMAGE_SEARCH", "RENDERTYPE_IMAGE_SEARCH");
define("RENDERTYPE_IMAGE_SEARCH2", "RENDERTYPE_IMAGE_SEARCH2");
define("RENDERTYPE_PRINTR", "RENDERTYPE_PRINTR");
define("RENDERTYPE_TEXT", "RENDERTYPE_TEXT");
define("RENDERTYPE_TEXTFULL", "RENDERTYPE_TEXTFULL");
define("RENDERTYPE_CRPACTION", "RENDERTYPE_CRPACTION");
define("RENDERTYPE_TEXTTRIM", "RENDERTYPE_TEXTTRIM");
define("RENDERTYPE_VOUCHERCODE", "RENDERTYPE_VOUCHERCODE");
define("RENDERTYPE_USER", "RENDERTYPE_USER");
define("RENDERTYPE_NICK", "RENDERTYPE_NICK");
define("RENDERTYPE_NICK_OR_PAYOUT", "RENDERTYPE_NICK_OR_PAYOUT");
define("RENDERTYPE_INFO", "RENDERTYPE_INFO");
define("RENDERTYPE_HTML", "RENDERTYPE_HTML");
define("RENDERTYPE_HTMLESCAPE", "RENDERTYPE_HTMLESCAPE");
define("RENDERTYPE_CHECKBOX", "RENDERTYPE_CHECKBOX");
define("RENDERTYPE_SPACE", "RENDERTYPE_SPACE");
define("RENDERTYPE_DECIMAL", "RENDERTYPE_DECIMAL");
define("RENDERTYPE_COUNTRY", "RENDERTYPE_COUNTRY");
define("RENDERTYPE_COUNTRYFLAG", "RENDERTYPE_COUNTRYFLAG");
define("RENDERTYPE_DECIMAL_NOT_ZERO", "RENDERTYPE_DECIMAL_NOT_ZERO");
define("RENDERTYPE_INTEGER", "RENDERTYPE_INTEGER");
define("RENDERTYPE_PRODUCT", "RENDERTYPE_PRODUCT");
define("RENDERTYPE_LIST", "RENDERTYPE_LIST");
define("RENDERTYPE_DUMPUNSERIALIZE", "RENDERTYPE_DUMPUNSERIALIZE");
define("RENDERTYPE_ARTICLE", "RENDERTYPE_ARTICLE");
define("RENDERTYPE_DUMP", "RENDERTYPE_DUMP");
define("RENDERTYPE_INTEGER_NOT_ZERO", "RENDERTYPE_INTEGER_NOT_ZERO");
define("RENDERTYPE_INTEGER_NOT_ZERO_MARKED", "RENDERTYPE_INTEGER_NOT_ZERO_MARKED");
define("RENDERTYPE_RATING", "RENDERTYPE_RATING");
define("RENDERTYPE_BOOLEAN", "RENDERTYPE_BOOLEAN");
define("RENDERTYPE_BOOLEAN_POSITIV", "RENDERTYPE_BOOLEAN_POSITIV"); //DO not show X's
define("RENDERTYPE_NEW", "RENDERTYPE_NEW");
define("RENDERTYPE_SHOW", "RENDERTYPE_SHOW");
define("RENDERTYPE_DATETIME", "RENDERTYPE_DATETIME");
define("RENDERTYPE_DATE", "RENDERTYPE_DATE");
define("RENDERTYPE_MINUTE", "RENDERTYPE_MINUTE");
define("RENDERTYPE_TIME", "RENDERTYPE_TIME");
define("RENDERTYPE_PRIORITY", "RENDERTYPE_PRIORITY");
define("RENDERTYPE_USERNAME", "RENDERTYPE_USERNAME");
define("RENDERTYPE_TASKSTATUS", "RENDERTYPE_TASKSTATUS");
define("RENDERTYPE_TASKPRIORITY", "RENDERTYPE_TASKPRIORITY");
define("RENDERTYPE_TASKVISIBILITY", "RENDERTYPE_TASKVISIBILITY");
define("RENDERTYPE_TASKTYPE", "RENDERTYPE_TASKTYPE");
define("RENDERTYPE_KEYVALUE", "RENDERTYPE_KEYVALUE");
define("RENDERTYPE_BIRTHDATE", "RENDERTYPE_BIRTHDATE");
define("RENDERTYPE_CITY", "RENDERTYPE_CITY");
define("RENDERTYPE_DISTANCE", "RENDERTYPE_DISTANCE");
define("RENDERTYPE_PERCENTAGE", "RENDERTYPE_PERCENTAGE");
define("RENDERTYPE_AUTOBYTES", "RENDERTYPE_AUTOBYTES");
define("RENDERTYPE_MINITEMPLATE", "RENDERTYPE_MINITEMPLATE");
define("RENDERTYPE_PRICE", "RENDERTYPE_PRICE");
define("RENDERTYPE_PRICEFOURDIGIT", "RENDERTYPE_PRICEFOURDIGIT");
define("RENDERTYPE_PRICERED", "RENDERTYPE_PRICERED");
define("RENDERTYPE_HTMLCOLLAPSE", "RENDERTYPE_HTMLCOLLAPSE");
define("RENDERTYPE_TEXTCOLLAPSE", "RENDERTYPE_TEXTCOLLAPSE");
define("RENDERTYPE_TEXTTOOLTIP", "RENDERTYPE_TEXTTOOLTIP");
define("RENDERTYPE_ACCOUNT", "RENDERTYPE_ACCOUNT");
define("RENDERTYPE_IMAGE_ORIGINAL", "RENDERTYPE_IMAGE_ORIGINAL");
define("RENDERTYPE_AUTOINCREMENT_INTEGER", "RENDERTYPE_AUTOINCREMENT_INTEGER");
define("RENDERTYPE_AUTOINCREMENT_INTEGER_IGNOREFILTER", "RENDERTYPE_AUTOINCREMENT_INTEGER_IGNOREFILTER");
require_once("../logic/presentation/renderer/ListviewRenderObject.php");
function cmpOrderByField($a, $b) {
global $orderBy; //TODO get globals away!
global $orderByDESC;
if(is_object($a[$orderBy])) {
$aO = clone $a[$orderBy];
} else {
$aO = $a[$orderBy];
}
if(is_object($b[$orderBy])) {
$bO = clone $b[$orderBy];
} else {
$bO = $b[$orderBy];
}
/*var_dump(gettype($aO));
var_dump(gettype($bO));
echo "
";
var_dump($aO);
var_dump($bO);
echo "
";
var_dump(is_numeric($aO));
var_dump(is_numeric($bO));
exit; */
if(is_numeric($aO) && is_numeric($bO)) {
//echo "ABC";
if($orderByDESC) {
return dblcmp($aO, $bO);
} else {
return dblcmp($bO, $aO);
}
}
//echo "$orderByDESC:$orderBy
";
//echo $aO.":".$bO."
";
//var_dump($aO);
//var_dump($bO);
if(!isset($aO)) {
$aO = "";
}
if(!isset($bO)) {
$bO = "";
}
if(is_object($aO) && $aO instanceof MultiCurrencyObject && is_object($bO) && $bO instanceof MultiCurrencyObject) {
$aOM = clone $aO;
$bOM = clone $bO;
if($orderByDESC) {
return dblcmp($aOM->exchangeTo("EUR")->getSingleAmount(), $bOM->exchangeTo("EUR")->getSingleAmount());
} else {
return dblcmp($bOM->exchangeTo("EUR")->getSingleAmount(), $aOM->exchangeTo("EUR")->getSingleAmount());
}
}
if(is_object($aO) && $aO instanceof MultiCurrencyObject) {
/* @var $aOM MultiCurrencyObject */
$aOM = clone $aO;
$aO = $aOM->exchangeTo("EUR")->getSingleAmount();
}
if(is_object($bO) && $bO instanceof MultiCurrencyObject) {
/* @var $bOM MultiCurrencyObject */
$bOM = clone $bO;
$bO = $bOM->exchangeTo("EUR")->getSingleAmount();
}
if(is_object($aO) || is_array($aO)) {
$aO = serialize($aO);
}
if(is_object($bO) || is_array($bO)) {
$bO = serialize($bO);
}
//echo $aO.":".$bO."
";
if($orderByDESC) {
//echo strtolower($aO)." ($aO), ".strtolower($bO)." ($bO)=".strcmp(strtolower($aO), strtolower($bO));
return strcmp(strtolower($aO), strtolower($bO));
} else {
//echo strtolower($aO)." ($aO), ".strtolower($bO)." ($bO)=".strcmp(strtolower($aO), strtolower($bO));
return strcmp(strtolower($bO), strtolower($aO));
}
}
abstract class BaseRenderObject {
public abstract function hashCode();
public abstract function getInternalTitle();
} class CMSPageDB extends BaseDB {
/* @return CMSPageDB */
public static function &getInstance() {
static $_instance;
if(!is_object($_instance)) {
$_instance = new CMSPageDB();
}
return $_instance;
}
function CMSPageDB() {
$this->connect();
}
function insertCMSPage($arrFields) {
$sql = $this->array2SQL_Insert("CMSPage", $arrFields);
return $this->query($sql);
}
function updateCMSPage($arrFields, $CMSPage_Code) {
$arrFieldsWhere = Array("CMSPage_Code" => $CMSPage_Code);
$sql = $this->array2SQL_Update("CMSPage", $arrFields, " WHERE " . $this->array2SQL_Where($arrFieldsWhere));
return $this->query($sql);
}
function deleteCMSPage($CMSPage_Code) {
$arrFieldsWhere = Array("CMSPage_Code" => $CMSPage_Code);
$sql = $this->array2SQL_Delete("CMSPage", $arrFieldsWhere);
return $this->query($sql);
}
function getCMSPage($CMSPage_Code) {
$sql = "SELECT * FROM CMSPage WHERE CMSPage_Code = " . $this->sql_strnull($CMSPage_Code);
$result = $this->query($sql);
$row = $this->fetch($result);
return $row;
}
function getAllCMSPages($orderBy = 'CMSPage_Code') {
$arrList = Array();
$sql = "SELECT * FROM CMSPage ORDER BY " . $orderBy;
$result = $this->query($sql);
if($this->numrows($result) > 0) {
while(($row = $this->fetch($result))) {
$arrList[] = $row;
}
}
return $arrList;
}
function getAllCMSPagesWithBoxesCount($orderBy = 'CMSPage_Code') {
$arrList = Array();
$sql = "SELECT * FROM CMSPage ORDER BY " . $orderBy;
$result = $this->query($sql);
if($this->numrows($result) > 0) {
while(($row = $this->fetch($result))) {
$arrList[$row["CMSPage_Code"]] = $row;
}
}
$sql
= "SELECT CMSPage.*, COUNT(CMSBox.CMSBox_ID) as _BOXES_COUNT FROM CMSPage CROSS JOIN CMSBox
USING(CMSPage_Code) GROUP BY CMSPage_Code
ORDER BY " . $orderBy;
$result = $this->query($sql);
if($this->numrows($result) > 0) {
while(($row = $this->fetch($result))) {
$arrList[$row["CMSPage_Code"]] = $row;
}
}
return $arrList;
}
function getCMSPageRevisionsFromCMSPageCode($cmsPageCode) {
$arrList = Array();
$sql = "SELECT * FROM CMSPageRevision WHERE CMSPage_Code = " . $this->sql_strnull($cmsPageCode);
$result = $this->query($sql);
if($this->numrows($result) > 0) {
while(($row = $this->fetch($result))) {
$arrList[] = $row;
}
}
return $arrList;
}
function getCMSBoxesFromCMSPageCodeRevision($cmsPageCode, $revisionID) {
$arrList = Array();
$sql = "SELECT * FROM CMSBox WHERE CMSPage_Code = " . $this->sql_strnull($cmsPageCode) . " AND CMSPageRevision_Revision=" . $this->sql_strnull($revisionID);
$result = $this->query($sql);
if($this->numrows($result) > 0) {
while(($row = $this->fetch($result))) {
$arrList[] = $row;
}
}
return $arrList;
}
function insertOrUpdateCMSPageRevision($arrFields, $CMSPage_Code, $revisionID) {
$arrFieldsWhere = Array(
"CMSPage_Code" => $CMSPage_Code,
"CMSPageRevision_Revision" => $revisionID
);
$sql = $this->array2SQL_InsertOrUpdate("CMSPageRevision", $arrFields, " WHERE " . $this->array2SQL_Where($arrFieldsWhere));
return $this->query($sql);
}
function insertOrUpdateCMSBox($arrFields, $CMSBox_ID) {
if(!$CMSBox_ID) {
$sql = $this->array2SQL_Insert("CMSBox", $arrFields);
} else {
$arrFieldsWhere = Array("CMSBox_ID" => $CMSBox_ID);
unset($arrFields["CMSBox_ID"]);
$sql = $this->array2SQL_Update("CMSBox", $arrFields, " WHERE " . $this->array2SQL_Where($arrFieldsWhere));
}
// die($sql);
return $this->query($sql);
}
function insertCMSBox($arrFields) {
$sql = $this->array2SQL_Insert("CMSBox", $arrFields);
return $this->query($sql);
}
function updateCMSBox($arrFields, $CMSBox_ID) {
$arrFieldsWhere = Array("CMSBox_ID" => $CMSBox_ID);
$sql = $this->array2SQL_Update("CMSBox", $arrFields, " WHERE " . $this->array2SQL_Where($arrFieldsWhere));
return $this->query($sql);
}
function deleteCMSBox($CMSBox_ID) {
$arrFieldsWhere = Array("CMSBox_ID" => $CMSBox_ID);
$sql = $this->array2SQL_Delete("CMSBoxLanguage", $arrFieldsWhere);
$this->query($sql);
$sql = $this->array2SQL_Delete("CMSBox_Image", $arrFieldsWhere);
$this->query($sql);
$sql = $this->array2SQL_Delete("CMSBox_ArticleShopCategory", $arrFieldsWhere);
$this->query($sql);
$sql = $this->array2SQL_Delete("CMSBox_Article", $arrFieldsWhere);
$this->query($sql);
$sql = $this->array2SQL_Delete("CMSBox_CMSBox", Array("CMSBox_ID_Container" => $CMSBox_ID));
$this->query($sql);
$sql = $this->array2SQL_Delete("CMSBox", $arrFieldsWhere);
$this->query($sql);
}
function getCMSBox($CMSBox_ID) {
$sql = "SELECT * FROM CMSBox WHERE CMSBox_ID = " . $this->sql_strnull($CMSBox_ID);
$result = $this->query($sql);
$row = $this->fetch($result);
return $row;
}
function getAllCMSBoxs($orderBy = 'CMSBox_ID') {
$arrList = Array();
$sql = "SELECT * FROM CMSBox ORDER BY " . $orderBy;
$result = $this->query($sql);
if($this->numrows($result) > 0) {
while(($row = $this->fetch($result))) {
$arrList[] = $row;
}
}
return $arrList;
}
function getCMSBoxArticles($cmsBoxID) {
$arrList = Array();
$sql = "SELECT * FROM CMSBox_Article WHERE CMSBox_ID = " . $this->sql_strnull($cmsBoxID);
$result = $this->query($sql);
if($this->numrows($result) > 0) {
while(($row = $this->fetch($result))) {
$arrList[] = $row;
}
}
return $arrList;
}
function getCMSBoxArticleCategorys($cmsBoxID) {
$arrList = Array();
$sql = "SELECT * FROM CMSBox_ArticleShopCategory WHERE CMSBox_ID = " . $this->sql_strnull($cmsBoxID);
$result = $this->query($sql);
if($this->numrows($result) > 0) {
while(($row = $this->fetch($result))) {
$arrList[] = $row;
}
}
return $arrList;
}
function getCMSBoxImages($cmsBoxID) {
$arrList = Array();
$sql = "SELECT * FROM CMSBox_Image WHERE CMSBox_ID = " . $this->sql_strnull($cmsBoxID);
$result = $this->query($sql);
if($this->numrows($result) > 0) {
while(($row = $this->fetch($result))) {
$arrList[] = $row;
}
}
return $arrList;
}
function getCMSBoxChilds($cmsBoxID) {
$arrList = Array();
$sql = "SELECT * FROM CMSBox_CMSBox WHERE CMSBox_ID_Container = " . $this->sql_strnull($cmsBoxID);
$result = $this->query($sql);
if($this->numrows($result) > 0) {
while(($row = $this->fetch($result))) {
$arrList[] = $row;
}
}
return $arrList;
}
function getCMSBoxLanguages($cmsBoxID) {
$arrList = Array();
$sql = "SELECT * FROM CMSBoxLanguage WHERE CMSBox_ID = " . $this->sql_strnull($cmsBoxID);
$result = $this->query($sql);
if($this->numrows($result) > 0) {
while(($row = $this->fetch($result))) {
$arrList[] = $row;
}
}
return $arrList;
}
function insertDeleteCMSBoxArticles($arrArticles, $CMSBox_ID) {
$arrFieldsWhere = Array("CMSBox_ID" => $CMSBox_ID);
$sql = $this->array2SQL_Delete("CMSBox_Article", $arrFieldsWhere);
$this->query($sql);
foreach($arrArticles as $row) {
$sql = $this->array2SQL_Insert("CMSBox_Article", $row);
$this->query($sql);
}
}
function insertDeleteCMSBoxArticleCategorys($arrArticleCategorys, $CMSBox_ID) {
$arrFieldsWhere = Array("CMSBox_ID" => $CMSBox_ID);
$sql = $this->array2SQL_Delete("CMSBox_ArticleShopCategory", $arrFieldsWhere);
$this->query($sql);
foreach($arrArticleCategorys as $row) {
$sql = $this->array2SQL_Insert("CMSBox_ArticleShopCategory", $row);
$this->query($sql);
}
}
function insertDeleteCMSBoxImages($arrImages, $CMSBox_ID) {
$arrFieldsWhere = Array("CMSBox_ID" => $CMSBox_ID);
$sql = $this->array2SQL_Delete("CMSBox_Image", $arrFieldsWhere);
$this->query($sql);
foreach($arrImages as $row) {
$sql = $this->array2SQL_Insert("CMSBox_Image", $row);
$this->query($sql);
}
}
function insertDeleteCMSBoxLanguages($arrLanguages, $CMSBox_ID) {
$arrFieldsWhere = Array("CMSBox_ID" => $CMSBox_ID);
$sql = $this->array2SQL_Delete("CMSBoxLanguage", $arrFieldsWhere);
$this->query($sql);
foreach($arrLanguages as $row) {
$sql = $this->array2SQL_Insert("CMSBoxLanguage", $row);
$this->query($sql);
}
}
function getAllCMSBoxContentWithRevisions($orderBy = 'CMSBoxContent_ID') {
$arrList = Array();
$sql = "SELECT CMSBoxContent_ID, MAX(CMSBoxContentRevision_Revision) as _MAX_REVISION FROM CMSBoxContentRevision";
$result = $this->query($sql);
if($this->numrows($result) > 0) {
while(($row = $this->fetch($result))) {
$arrList[] = $row;
}
}
return $arrList;
}
}