/** * Adds active promotion check * * @param array $aWhere SQL condition array * @param string $sqlFull SQL query string * * @return $sQ */ protected function _prepareWhereQuery($aWhere, $sqlFull) { $sQ = parent::_prepareWhereQuery($aWhere, $sqlFull); $sDisplayType = (int) oxConfig::getParameter('displaytype'); $sTable = getViewName("oxactions"); //searchong for empty oxfolder fields if ($sDisplayType) { $sNow = date('Y-m-d H:i:s', oxUtilsDate::getInstance()->getTime()); switch ($sDisplayType) { case 1: // active $sQ .= " and {$sTable}.oxactivefrom < '{$sNow}' and {$sTable}.oxactiveto > '{$sNow}' "; break; case 2: // upcoming $sQ .= " and {$sTable}.oxactivefrom > '{$sNow}' "; break; case 3: // expired $sQ .= " and {$sTable}.oxactiveto < '{$sNow}' and {$sTable}.oxactiveto != '0000-00-00 00:00:00' "; break; } } return $sQ; }
public function getTime() { if (!is_null($this->_sTime)) { return $this->_sTime; } return parent::getTime(); }
/** * Inserts object data fields in DB. Returns true on success. * * @return bool */ protected function _insert() { // set oxcreate $sNow = date('Y-m-d H:i:s', oxUtilsDate::getInstance()->getTime()); $this->oxremark__oxcreate = new oxField($sNow, oxField::T_RAW); $this->oxremark__oxheader = new oxField($sNow, oxField::T_RAW); return parent::_insert(); }
/** * log the given message * * @param string $message * @param string $debuginfo */ public function log($message, $debuginfo) { if (oxConfig::getInstance()->getShopConfVar('PAYMILL_ACTIVATE_LOGGING')) { $logging = oxNew('paymill_logging'); $logging->assign(array('identifier' => oxSession::getInstance()->getVar('paymill_identifier'), 'debug' => $debuginfo, 'message' => $message, 'date' => date('Y-m-d H:i:s', oxUtilsDate::getInstance()->getTime()))); $logging->save(); } }
/** * Returns object instance * * @return oxUtilsDate */ public static function getInstance() { // disable caching for test modules if (defined('OXID_PHP_UNIT')) { self::$_instance = modInstances::getMod(__CLASS__); } if (!self::$_instance instanceof oxUtilsDate) { self::$_instance = oxNew('oxUtilsDate'); if (defined('OXID_PHP_UNIT')) { modInstances::addMod(__CLASS__, self::$_instance); } } return self::$_instance; }
/** * Inserts object data fiels in DB. Returns true on success. * * @param string $sUserId user id * @param string $sType object type * @param string $sObjectId object id * * @return bool */ public function allowRating($sUserId, $sType, $sObjectId) { $oDB = oxDb::getDb(); $myConfig = $this->getConfig(); if ($iRatingLogsTimeout = $myConfig->getConfigParam('iRatingLogsTimeout')) { $sExpDate = date('Y-m-d H:i:s', oxUtilsDate::getInstance()->getTime() - $iRatingLogsTimeout * 24 * 60 * 60); $oDB->execute("delete from oxratings where oxtimestamp < '{$sExpDate}'"); } $sSelect = "select oxid from oxratings where oxuserid = " . $oDB->quote($sUserId) . " and oxtype=" . $oDB->quote($sType) . " and oxobjectid = " . $oDB->quote($sObjectId); if ($oDB->getOne($sSelect)) { return false; } return true; }
/** * Sends order. * * @return null */ public function sendorder() { $oOrder = oxNew("oxorder"); if ($oOrder->load($this->getEditObjectId())) { $oOrder->oxorder__oxsenddate->setValue(date("Y-m-d H:i:s", oxUtilsDate::getInstance()->getTime())); $oOrder->save(); // #1071C $oOrderArticles = $oOrder->getOrderArticles(); foreach ($oOrderArticles as $sOxid => $oArticle) { // remove canceled articles from list if ($oArticle->oxorderarticles__oxstorno->value == 1) { $oOrderArticles->offsetUnset($sOxid); } } if ($blMail = oxConfig::getParameter("sendmail")) { // send eMail $oEmail = oxNew("oxemail"); $oEmail->sendSendedNowMail($oOrder); } } }
/** * When exception is converted as string, this magic method return exception message * * @return string */ public function __toString() { $sRes = $this->getErrorClassType() . " (time: " . date('Y-m-d H:i:s', oxUtilsDate::getInstance()->getTime()) . "): " . $this->getOxMessage() . " \n Stack Trace: " . $this->getStackTrace() . "\n"; foreach ($this->_aValues as $key => $value) { $sRes .= $key . " => " . $value . "\n"; } return $sRes; }
/** * Returns SQL select string with checks if items are available * * @param bool $blForceCoreTable forces core table usage (optional) * * @return string */ public function getSqlActiveSnippet($blForceCoreTable = null) { $sQ = ''; $sTable = $this->getViewName($blForceCoreTable); // has 'active' field ? if (isset($this->_aFieldNames['oxactive'])) { $sQ = " {$sTable}.oxactive = 1 "; } // has 'activefrom'/'activeto' fields ? if (isset($this->_aFieldNames['oxactivefrom']) && isset($this->_aFieldNames['oxactiveto'])) { $sDate = date('Y-m-d H:i:s', oxUtilsDate::getInstance()->getTime()); $sQ = $sQ ? " {$sQ} or " : ''; $sQ = " ( {$sQ} ( {$sTable}.oxactivefrom < '{$sDate}' and {$sTable}.oxactiveto > '{$sDate}' ) ) "; } return $sQ; }
/** * Inserts object data into DB, returns true on success. * * @return bool */ protected function _insert() { // set oxinsert value $this->oxpricealarm__oxinsert = new oxField(date('Y-m-d', oxUtilsDate::getInstance()->getTime())); return parent::_insert(); }
/** * Collects and renders visitor/week report data * * @return null */ public function visitor_week() { $myConfig = $this->getConfig(); $oDb = oxDb::getDb(); $aDataX = array(); $aDataY = array(); $sTimeTo = $oDb->quote(date("Y-m-d H:i:s", strtotime(oxConfig::getParameter("time_to")))); $sTimeFrom = $oDb->quote(date("Y-m-d H:i:s", strtotime(oxConfig::getParameter("time_from")))); $sSQL = "select oxtime, count(*) as nrof from oxlogs where oxtime >= {$sTimeFrom} and oxtime <= {$sTimeTo} group by oxsessid order by oxtime"; $aTemp = array(); $rs = $oDb->execute($sSQL); if ($rs != false && $rs->recordCount() > 0) { while (!$rs->EOF) { //$aTemp[date( "W", strtotime( $rs->fields[0]))]++; $aTemp[oxUtilsDate::getInstance()->getWeekNumber($myConfig->getConfigParam('iFirstWeekDay'), strtotime($rs->fields[0]))]++; $rs->moveNext(); } } // initializing list($iFrom, $iTo) = $this->getWeekRange(); for ($i = $iFrom; $i < $iTo; $i++) { $aDataX[$i] = 0; $aDataX2[$i] = 0; $aDataX3[$i] = 0; $aDataY[] = "KW " . $i; } foreach ($aTemp as $key => $value) { $aDataX[$key] = $value; $aDataX2[$key] = 0; $aDataX3[$key] = 0; $aDataY[] = "KW " . $key; } // buyer $sSQL = "select oxorderdate from oxorder where oxorderdate >= {$sTimeFrom} and oxorderdate <= {$sTimeTo} order by oxorderdate"; $aTemp = array(); $rs = $oDb->execute($sSQL); if ($rs != false && $rs->recordCount() > 0) { while (!$rs->EOF) { //$aTemp[date( "W", strtotime( $rs->fields[0]))]++; $aTemp[oxUtilsDate::getInstance()->getWeekNumber($myConfig->getConfigParam('iFirstWeekDay'), strtotime($rs->fields[0]))]++; $rs->moveNext(); } } foreach ($aTemp as $key => $value) { $aDataX2[$key] = $value; } // newcustomer $sSQL = "select oxcreate from oxuser where oxcreate >= {$sTimeFrom} and oxcreate <= {$sTimeTo} order by oxcreate"; $aTemp = array(); $rs = $oDb->execute($sSQL); if ($rs != false && $rs->recordCount() > 0) { while (!$rs->EOF) { //$aTemp[date( "W", strtotime( $rs->fields[0]))]++; $aTemp[oxUtilsDate::getInstance()->getWeekNumber($myConfig->getConfigParam('iFirstWeekDay'), strtotime($rs->fields[0]))]++; $rs->moveNext(); } } foreach ($aTemp as $key => $value) { $aDataX3[$key] = $value; } header("Content-type: image/png"); // New graph with a drop shadow $graph = new Graph(max(800, count($aDataX) * 80), 600); $graph->setBackgroundImage($myConfig->getImageDir(true) . "/reportbgrnd.jpg", BGIMG_FILLFRAME); // Use a "text" X-scale $graph->setScale("textlin"); // Label align for X-axis $graph->xaxis->setLabelAlign('center', 'top', 'right'); // Label align for Y-axis $graph->yaxis->setLabelAlign('right', 'bottom'); $graph->setShadow(); // Description $graph->xaxis->setTickLabels($aDataY); // Set title and subtitle $graph->title->set("Woche"); // Use built in font $graph->title->setFont(FF_FONT1, FS_BOLD); $aDataFinalX = array(); foreach ($aDataX as $dData) { $aDataFinalX[] = $dData; } // Create the bar plot $bplot = new BarPlot($aDataFinalX); $bplot->setFillGradient("navy", "lightsteelblue", GRAD_VER); $bplot->setLegend("Besucher"); $aDataFinalX2 = array(); foreach ($aDataX2 as $dData) { $aDataFinalX2[] = $dData; } // Create the bar plot $bplot2 = new BarPlot($aDataFinalX2); $bplot2->setFillColor("orange"); $bplot2->setLegend("Kaeufer"); $aDataFinalX3 = array(); foreach ($aDataX3 as $dData) { $aDataFinalX3[] = $dData; } // Create the bar plot $bplot3 = new BarPlot($aDataFinalX3); $bplot3->setFillColor("silver"); $bplot3->setLegend("Neukunden"); // Create the grouped bar plot $gbplot = new groupBarPlot(array($bplot, $bplot2, $bplot3)); $graph->add($gbplot); // Finally output the image $graph->stroke(); }
/** * Deletes user cookie data * * @param string $sShopId shop ID (default null) * * @return null */ public function deleteUserCookie($sShopId = null) { $myConfig = $this->getConfig(); $sShopId = !$sShopId ? $this->getConfig()->getShopId() : $sShopId; $sSslUrl = $myConfig->getSslShopUrl(); if (stripos($sSslUrl, 'https') === 0) { $blSsl = true; } else { $blSsl = false; } $this->_aUserCookie[$sShopId] = ''; $this->setOxCookie('oxid_' . $sShopId, '', oxUtilsDate::getInstance()->getTime() - 3600, '/', null, true, $blSsl); $this->setOxCookie('oxid_' . $sShopId . '_autologin', '0', oxUtilsDate::getInstance()->getTime() - 3600, '/'); }
/** * Copies article (with all parameters) to new articles. * * @param string $sOldId old product id (default null) * @param string $sNewId new product id (default null) * @param string $sParentId product parent id * * @return null */ public function copyArticle($sOldId = null, $sNewId = null, $sParentId = null) { $myConfig = $this->getConfig(); $sOldId = $sOldId ? $sOldId : $this->getEditObjectId(); $sNewId = $sNewId ? $sNewId : oxUtilsObject::getInstance()->generateUID(); $oArticle = oxNew('oxbase'); $oArticle->init('oxarticles'); if ($oArticle->load($sOldId)) { if ($myConfig->getConfigParam('blDisableDublArtOnCopy')) { $oArticle->oxarticles__oxactive->setValue(0); $oArticle->oxarticles__oxactivefrom->setValue(0); $oArticle->oxarticles__oxactiveto->setValue(0); } // setting parent id if ($sParentId) { $oArticle->oxarticles__oxparentid->setValue($sParentId); } // setting oxinsert/oxtimestamp $iNow = date('Y-m-d H:i:s', oxUtilsDate::getInstance()->getTime()); $oArticle->oxarticles__oxinsert = new oxField($iNow); $oArticle->oxarticles__oxtimestamp = new oxField($iNow); // mantis#0001590: OXRATING and OXRATINGCNT not set to 0 when copying article $oArticle->oxarticles__oxrating = new oxField(0); $oArticle->oxarticles__oxratingcnt = new oxField(0); $oArticle->setId($sNewId); $oArticle->save(); //copy categories $this->_copyCategories($sOldId, $sNewId); //atributes $this->_copyAttributes($sOldId, $sNewId); //sellist $this->_copySelectlists($sOldId, $sNewId); //crossseling $this->_copyCrossseling($sOldId, $sNewId); //accessoire $this->_copyAccessoires($sOldId, $sNewId); // #983A copying staffelpreis info $this->_copyStaffelpreis($sOldId, $sNewId); //copy article extends (longdescription, tags) $this->_copyArtExtends($sOldId, $sNewId); // resetting $aResetIds['vendor'][$oArticle->oxarticles__oxvendorid->value] = 1; $aResetIds['manufacturer'][$oArticle->oxarticles__oxmanufacturerid->value] = 1; $this->_resetCounts($aResetIds); $myUtilsObject = oxUtilsObject::getInstance(); $oDb = oxDb::getDb(); //copy variants $sQ = "select oxid from oxarticles where oxparentid = " . $oDb->quote($sOldId); $oRs = $oDb->execute($sQ); if ($oRs !== false && $oRs->recordCount() > 0) { while (!$oRs->EOF) { $this->copyArticle($oRs->fields[0], $myUtilsObject->generateUid(), $sNewId); $oRs->moveNext(); } } // only for top articles if (!$sParentId) { $this->setEditObjectId($oArticle->getId()); //article number handling, warns for artnum dublicates if ($myConfig->getConfigParam('blWarnOnSameArtNums') && $oArticle->oxarticles__oxartnum->value && oxConfig::getParameter('fnc') == 'copyArticle') { $sSelect = "select oxid from " . $oArticle->getCoreTableName() . "\n where oxartnum = " . $oDb->quote($oArticle->oxarticles__oxartnum->value) . " and oxid != " . $oDb->quote($sNewId); if ($oArticle->assignRecord($sSelect)) { $this->_aViewData["errorsavingatricle"] = 1; } } } } }
/** * Collects and renders visitor/week report data * * @return null */ public function visitor_week() { $myConfig = $this->getConfig(); $oDb = oxDb::getDb(); $aDataX = array(); $aDataX2 = array(); $aDataX3 = array(); $aDataX4 = array(); $aDataX5 = array(); $aDataX6 = array(); $aDataY = array(); $sTimeTo = $oDb->quote(date("Y-m-d H:i:s", strtotime(oxConfig::getParameter("time_to")))); $sTimeFrom = $oDb->quote(date("Y-m-d H:i:s", strtotime(oxConfig::getParameter("time_from")))); $sSQL = "select oxtime, count(*) as nrof from oxlogs where oxtime >= {$sTimeFrom} and oxtime <= {$sTimeTo} group by oxsessid order by oxtime"; $aTemp = array(); $rs = $oDb->execute($sSQL); if ($rs != false && $rs->recordCount() > 0) { while (!$rs->EOF) { $aTemp[oxUtilsDate::getInstance()->getWeekNumber($myConfig->getConfigParam('iFirstWeekDay'), strtotime($rs->fields[0]))]++; $rs->moveNext(); } } // initializing list($iFrom, $iTo) = $this->getWeekRange(); for ($i = $iFrom; $i < $iTo; $i++) { $aDataX[$i] = 0; $aDataX2[$i] = 0; $aDataX3[$i] = 0; $aDataX4[$i] = 0; $aDataX5[$i] = 0; $aDataX6[$i] = 0; $aDataY[] = "KW " . $i; } foreach ($aTemp as $key => $value) { $aDataX[$key] = $value; $aDataX2[$key] = 0; $aDataX3[$key] = 0; $aDataX4[$key] = 0; $aDataX5[$key] = 0; $aDataX6[$key] = 0; $aDataY[] = "KW " . $key; } // collects sessions what executed 'order' function $sQ = "select oxtime, oxsessid FROM `oxlogs` where oxclass = 'order' and oxfnc = 'execute' and oxtime >= {$sTimeFrom} and oxtime <= {$sTimeTo} group by oxsessid"; $aTempOrder = $this->_collectSessions($sQ); // collects sessions what executed order class $sQ = "select oxtime, oxsessid from `oxlogs` where oxclass = 'order' and oxtime >= {$sTimeFrom} and oxtime <= {$sTimeTo} group by oxsessid"; $aTempExecOrdersSessions = $this->_collectOrderSessions($sQ, $aTempOrder, $aDataX6, false); // collects sessions what executed payment class $sQ = "select oxtime, oxsessid from `oxlogs` where oxclass = 'payment' and oxtime >= {$sTimeFrom} and oxtime <= {$sTimeTo} group by oxsessid"; $aTempPaymentSessions = $this->_collectPaymentSessions($sQ, $aTempOrder, $aTempExecOrdersSessions, $aDataX2, false); // collects sessions what executed 'user' class $sQ = "select oxtime, oxsessid from `oxlogs` where oxclass = 'user' and oxtime >= {$sTimeFrom} and oxtime <= {$sTimeTo} group by oxsessid"; $aTempUserSessions = $this->_collectUserSessionsForVisitorMonth($sQ, $aTempOrder, $aTempExecOrdersSessions, $aTempPaymentSessions, $aDataX2, false); // collects sessions what executed 'tobasket' function $sQ = "select oxtime, oxsessid from `oxlogs` where oxclass = 'basket' and oxtime >= {$sTimeFrom} and oxtime <= {$sTimeTo} group by oxsessid"; $this->_collectToBasketSessions($sQ, $aTempOrder, $aTempExecOrdersSessions, $aTempPaymentSessions, $aTempUserSessions, $aDataX4, false); // orders made $sQ = "select oxorderdate from oxorder where oxorderdate >= {$sTimeFrom} and oxorderdate <= {$sTimeTo} order by oxorderdate"; $this->_collectOrdersMade($sQ, $aDataX5, false); header("Content-type: image/png"); // New graph with a drop shadow $graph = $this->getGraph(max(800, count($aDataX) * 80), 600); // Description $graph->xaxis->setTickLabels($aDataY); // Set title and subtitle $graph->title->set("Woche"); // Create the bar plot $bplot2 = new BarPlot(array_values($aDataX2)); $bplot2->setFillColor("#9966cc"); $bplot2->setLegend("Best.Abbr. in Bezahlmethoden"); // Create the bar plot $bplot3 = new BarPlot(array_values($aDataX3)); $bplot3->setFillColor("#ffcc00"); $bplot3->setLegend("Best.Abbr. in Benutzer"); // Create the bar plot $bplot4 = new BarPlot(array_values($aDataX4)); $bplot4->setFillColor("#6699ff"); $bplot4->setLegend("Best.Abbr. in Warenkorb"); // Create the bar plot $bplot6 = new BarPlot(array_values($aDataX6)); $bplot6->setFillColor("#ff0099"); $bplot6->setLegend("Best.Abbr. in Bestellbestaetigung"); // Create the bar plot $bplot5 = new BarPlot(array_values($aDataX5)); $bplot5->setFillColor("silver"); $bplot5->setLegend("Bestellungen"); // Create the grouped bar plot $gbplot = new groupBarPlot(array($bplot4, $bplot3, $bplot2, $bplot6, $bplot5)); $graph->add($gbplot); // Finally output the image $graph->stroke(); }
/** * marks voucher as used * * @param string $sOrderId order id * @param string $sUserId user id * @param double $dDiscount used discount * * @return null */ public function markAsUsed($sOrderId, $sUserId, $dDiscount) { //saving oxreserved field if ($this->oxvouchers__oxid->value) { $this->oxvouchers__oxorderid->setValue($sOrderId); $this->oxvouchers__oxuserid->setValue($sUserId); $this->oxvouchers__oxdiscount->setValue($dDiscount); $this->oxvouchers__oxdateused->setValue(date("Y-m-d", oxUtilsDate::getInstance()->getTime())); $this->save(); } }
/** * Method adds/removes user chosen article to/from his noticelist or wishlist. Returns total amount * of articles in list. * * @param string $sProductId Article ID * @param double $dAmount Product amount * @param array $aSel product select lists * @param bool $blOverride if true overrides $dAmount, else sums previous with current it * @param array $aPersParam product persistent parameters (default null) * * @return integer */ public function addItemToBasket($sProductId = null, $dAmount = null, $aSel = null, $blOverride = false, $aPersParam = null) { // basket info is only written in DB when something is in it if ($this->_blNewBasket) { $this->save(); } if ($oUserBasketItem = $this->getItem($sProductId, $aSel, $aPersParam)) { // updating object info and adding (if not yet added) item into basket items array if (!$blOverride && !empty($oUserBasketItem->oxuserbasketitems__oxamount->value)) { $dAmount += $oUserBasketItem->oxuserbasketitems__oxamount->value; } if (!$dAmount) { // if amount = 0 the means remove it $oUserBasketItem->delete(); if (isset($this->_aBasketItems[$this->_getItemKey($sProductId, $aSel, $aPersParam)])) { unset($this->_aBasketItems[$this->_getItemKey($sProductId, $aSel, $aPersParam)]); } } else { $oUserBasketItem->oxuserbasketitems__oxamount = new oxField($dAmount, oxField::T_RAW); $oUserBasketItem->save(); $this->_aBasketItems[$this->_getItemKey($sProductId, $aSel, $aPersParam)] = $oUserBasketItem; } //update timestamp $this->oxuserbaskets__oxupdate = new oxField(oxUtilsDate::getInstance()->getTime()); $this->save(); return $dAmount; } }
/** * Updates object parameters to DB. * * @return null */ protected function _update() { $this->oxorder__oxsenddate = new oxField(oxUtilsDate::getInstance()->formatDBDate($this->oxorder__oxsenddate->value, true)); return parent::_update(); }
/** * Returns the OXID date utilities object. * * @return oxUtilsDate */ public function getUtilsDate() { return oxUtilsDate::getInstance(); }
/** * Generating delivery note pdf * * @param object $oPdf pdf document object * * @return null */ public function exportDeliveryNote($oPdf) { $myConfig = $this->getConfig(); $oShop = $this->_getActShop(); $oPdfBlock = new PdfBlock(); $oLang = oxLang::getInstance(); $sSal = $this->oxorder__oxdelsal->value; try { $sSal = $oLang->translateString($this->oxorder__oxdelsal->value, $this->_iSelectedLang); } catch (Exception $e) { } // loading order currency info $this->_oCur = $myConfig->getCurrencyObject($this->oxorder__oxcurrency->value); if (!isset($this->_oCur)) { $this->_oCur = $myConfig->getActShopCurrencyObject(); } // shop info $oPdf->setFont($oPdfBlock->getFont(), '', 6); $oPdf->text(15, 55, $oShop->oxshops__oxname->getRawValue() . ' - ' . $oShop->oxshops__oxstreet->getRawValue() . ' - ' . $oShop->oxshops__oxzip->value . ' - ' . $oShop->oxshops__oxcity->getRawValue()); // delivery address $oPdf->setFont($oPdfBlock->getFont(), '', 10); if ($this->oxorder__oxdelsal->value) { $oPdf->text(15, 59, $sSal); $oPdf->text(15, 63, $this->oxorder__oxdellname->getRawValue() . ' ' . $this->oxorder__oxdelfname->getRawValue()); $oPdf->text(15, 67, $this->oxorder__oxdelcompany->getRawValue()); $oPdf->text(15, 71, $this->oxorder__oxdelstreet->getRawValue() . ' ' . $this->oxorder__oxdelstreetnr->value); $oPdf->setFont($oPdfBlock->getFont(), 'B', 10); $oPdf->text(15, 75, $this->oxorder__oxdelzip->value . ' ' . $this->oxorder__oxdelcity->getRawValue()); $oPdf->setFont($oPdfBlock->getFont(), '', 10); $oPdf->text(15, 79, $this->oxorder__oxdelcountry->getRawValue()); } else { // no delivery address - billing address is used for delivery $this->_setBillingAddressToPdf($oPdf); } // loading user info $oUser = oxNew('oxuser'); $oUser->load($this->oxorder__oxuserid->value); // user info $sText = $this->translate('ORDER_OVERVIEW_PDF_FILLONPAYMENT'); $oPdf->setFont($oPdfBlock->getFont(), '', 5); $oPdf->text(195 - $oPdf->getStringWidth($sText), 70, $sText); // customer number $sCustNr = $this->translate('ORDER_OVERVIEW_PDF_CUSTNR') . ' ' . $oUser->oxuser__oxcustnr->value; $oPdf->setFont($oPdfBlock->getFont(), '', 7); $oPdf->text(195 - $oPdf->getStringWidth($sCustNr), 73, $sCustNr); // shops city $sText = $oShop->oxshops__oxcity->getRawValue() . ', ' . date('d.m.Y'); $oPdf->setFont($oPdfBlock->getFont(), '', 10); $oPdf->text(195 - $oPdf->getStringWidth($sText), 95, $sText); $iTop = 99; // shop VAT number if ($oShop->oxshops__oxvatnumber->value) { $sText = $this->translate('ORDER_OVERVIEW_PDF_TAXIDNR') . ' ' . $oShop->oxshops__oxvatnumber->value; $oPdf->text(195 - $oPdf->getStringWidth($sText), $iTop, $sText); $iTop += 4; } // invoice number $sText = $this->translate('ORDER_OVERVIEW_PDF_COUNTNR') . ' ' . $this->oxorder__oxbillnr->value; $oPdf->text(195 - $oPdf->getStringWidth($sText), $iTop, $sText); // canceled order marker if ($this->oxorder__oxstorno->value == 1) { $this->oxorder__oxordernr->setValue($this->oxorder__oxordernr->getRawValue() . ' ' . $this->translate('ORDER_OVERVIEW_PDF_STORNO'), oxField::T_RAW); } // order number $oPdf->setFont($oPdfBlock->getFont(), '', 12); $oPdf->text(15, 108, $this->translate('ORDER_OVERVIEW_PDF_DELIVNOTE') . ' ' . $this->oxorder__oxordernr->value); // order date $aOrderDate = explode(' ', $this->oxorder__oxorderdate->value); $sOrderDate = oxUtilsDate::getInstance()->formatDBDate($aOrderDate[0]); $oPdf->setFont($oPdfBlock->getFont(), '', 10); $oPdf->text(15, 119, $this->translate('ORDER_OVERVIEW_PDF_ORDERSFROM') . $sOrderDate . $this->translate('ORDER_OVERVIEW_PDF_ORDERSAT') . $oShop->oxshops__oxurl->value); // product info header $oPdf->setFont($oPdfBlock->getFont(), '', 8); $oPdf->text(15, 128, $this->translate('ORDER_OVERVIEW_PDF_AMOUNT')); $oPdf->text(30, 128, $this->translate('ORDER_OVERVIEW_PDF_ARTID')); $oPdf->text(45, 128, $this->translate('ORDER_OVERVIEW_PDF_DESC')); // line separator $oPdf->line(15, 130, 195, 130); // product list $oPdf->setFont($oPdfBlock->getFont(), '', 10); $siteH = 130; // order articles $this->_setOrderArticlesToPdf($oPdf, $siteH, false); // sine separator $oPdf->line(15, $siteH + 2, 195, $siteH + 2); $siteH += 4; // payment date $oPdf->setFont($oPdfBlock->getFont(), '', 10); $text = $this->translate('ORDER_OVERVIEW_PDF_PAYUPTO') . date('d.m.Y', mktime(0, 0, 0, date('m'), date('d') + 7, date('Y'))); $oPdf->text(15, $siteH + 4, $text); }
/** * Inserts new guestbook entry. Returns true on success. * * @return bool */ protected function _insert() { // set oxcreate $this->oxgbentries__oxcreate = new oxField(date('Y-m-d H:i:s', oxUtilsDate::getInstance()->getTime())); return parent::_insert(); }
/** * Performs report generation function (outputs Smarty generated HTML report). * * @return null */ public function generate() { $myConfig = $this->getConfig(); $soxId = $this->getEditObjectId(); // load object $oStat = oxNew("oxstatistic"); $oStat->load($soxId); $aAllreports = $oStat->getReports(); $oShop = oxNew("oxshop"); $oShop->load($myConfig->getShopId()); $oShop = $this->addGlobalParams($oShop); $sTimeFrom = oxConfig::getParameter("time_from"); $sTimeTo = oxConfig::getParameter("time_to"); if ($sTimeFrom && $sTimeTo) { $sTimeFrom = oxUtilsDate::getInstance()->formatDBDate($sTimeFrom, true); $sTimeFrom = date("Y-m-d", strtotime($sTimeFrom)); $sTimeTo = oxUtilsDate::getInstance()->formatDBDate($sTimeTo, true); $sTimeTo = date("Y-m-d", strtotime($sTimeTo)); } else { $dDays = oxConfig::getParameter("timeframe"); $dNow = time(); $sTimeFrom = date("Y-m-d", mktime(0, 0, 0, date("m", $dNow), date("d", $dNow) - $dDays, date("Y", $dNow))); $sTimeTo = date("Y-m-d", time()); } $oSmarty = oxUtilsView::getInstance()->getSmarty(); $oSmarty->assign("time_from", $sTimeFrom . " 23:59:59"); $oSmarty->assign("time_to", $sTimeTo . " 23:59:59"); $oSmarty->assign("oViewConf", $this->_aViewData["oViewConf"]); echo $oSmarty->fetch("report_pagehead.tpl"); foreach ($aAllreports as $file) { if ($file = trim($file)) { $sClassName = str_replace(".php", "", strtolower($file)); $oReport = oxNew($sClassName); $oReport->setSmarty($oSmarty); $oSmarty->assign("oView", $oReport); echo $oSmarty->fetch($oReport->render()); } } oxUtils::getInstance()->showMessageAndExit($oSmarty->fetch("report_bottomitem.tpl")); }
/** * Returns formated delivery date. If the date is not set ('0000-00-00') returns false. * * @return string | bool */ public function getDeliveryDate() { if ($this->oxarticles__oxdelivery->value != '0000-00-00') { return oxUtilsDate::getInstance()->formatDBDate($this->oxarticles__oxdelivery->value); } return false; }
/** * Converts to formatted db date * * @return null */ public function convertToFormattedDbDate() { $this->setValue(oxUtilsDate::getInstance()->formatDBDate($this->rawValue), self::T_RAW); }
/** * Collects and renders visitor/week report data * * @return null */ public function visitor_week() { $myConfig = $this->getConfig(); $oDb = oxDb::getDb(); $aDataX = array(); $aDataX2 = array(); $aDataX3 = array(); $aDataY = array(); $sTimeTo = $oDb->quote(date("Y-m-d H:i:s", strtotime(oxConfig::getParameter("time_to")))); $sTimeFrom = $oDb->quote(date("Y-m-d H:i:s", strtotime(oxConfig::getParameter("time_from")))); $sSQL = "select oxtime, count(*) as nrof from oxlogs where oxtime >= {$sTimeFrom} and oxtime <= {$sTimeTo} group by oxsessid order by oxtime"; $aTemp = array(); $rs = $oDb->execute($sSQL); if ($rs != false && $rs->recordCount() > 0) { while (!$rs->EOF) { //$aTemp[date( "W", strtotime( $rs->fields[0]))]++; $aTemp[oxUtilsDate::getInstance()->getWeekNumber($myConfig->getConfigParam('iFirstWeekDay'), strtotime($rs->fields[0]))]++; $rs->moveNext(); } } // initializing list($iFrom, $iTo) = $this->getWeekRange(); for ($i = $iFrom; $i < $iTo; $i++) { $aDataX[$i] = 0; $aDataX2[$i] = 0; $aDataX3[$i] = 0; $aDataY[] = "KW " . $i; } foreach ($aTemp as $key => $value) { $aDataX[$key] = $value; $aDataX2[$key] = 0; $aDataX3[$key] = 0; $aDataY[] = "KW " . $key; } // buyer $sSQL = "select oxorderdate from oxorder where oxorderdate >= {$sTimeFrom} and oxorderdate <= {$sTimeTo} order by oxorderdate"; $rs = $oDb->execute($sSQL); if ($rs != false && $rs->recordCount() > 0) { while (!$rs->EOF) { $sKey = oxUtilsDate::getInstance()->getWeekNumber($myConfig->getConfigParam('iFirstWeekDay'), strtotime($rs->fields[0])); if (isset($aDataX2[$sKey])) { $aDataX2[$sKey]++; } $rs->moveNext(); } } // newcustomer $sSQL = "select oxtime, oxsessid from oxlogs where oxtime >= {$sTimeFrom} and oxtime <= {$sTimeTo} group by oxsessid order by oxtime"; $rs = $oDb->execute($sSQL); if ($rs != false && $rs->recordCount() > 0) { while (!$rs->EOF) { $sKey = oxUtilsDate::getInstance()->getWeekNumber($myConfig->getConfigParam('iFirstWeekDay'), strtotime($rs->fields[0])); if (isset($aDataX3[$sKey])) { $aDataX3[$sKey]++; } $rs->moveNext(); } } header("Content-type: image/png"); // New graph with a drop shadow $graph = new Graph(max(800, count($aDataX) * 80), 600); $graph->setBackgroundImage($myConfig->getImageDir(true) . "/reportbgrnd.jpg", BGIMG_FILLFRAME); // Use a "text" X-scale $graph->setScale("textlin"); $graph->setY2Scale("lin"); $graph->y2axis->setColor("red"); // Label align for X-axis $graph->xaxis->setLabelAlign('center', 'top', 'right'); // Label align for Y-axis $graph->yaxis->setLabelAlign('right', 'bottom'); $graph->setShadow(); // Description $graph->xaxis->setTickLabels($aDataY); // Set title and subtitle $graph->title->set("Woche"); // Use built in font $graph->title->setFont(FF_FONT1, FS_BOLD); $aDataFinalX = array(); foreach ($aDataX as $dData) { $aDataFinalX[] = $dData; } // Create the bar plot $l2plot = new LinePlot($aDataFinalX); $l2plot->setColor("navy"); $l2plot->setWeight(2); $l2plot->setLegend("Besucher"); $l2plot->value->setColor("navy"); $l2plot->value->setFormat('% d'); $l2plot->value->hideZero(); $l2plot->value->show(); $aDataFinalX2 = array(); foreach ($aDataX2 as $dData) { $aDataFinalX2[] = $dData; } // Create the bar plot $l3plot = new LinePlot($aDataFinalX2); $l3plot->setColor("orange"); $l3plot->setWeight(2); $l3plot->setLegend("Bestellungen"); //$l1plot->SetBarCenter(); $l3plot->value->setColor("orange"); $l3plot->value->setFormat('% d'); $l3plot->value->hideZero(); $l3plot->value->show(); //conversion rate graph $l1datay = array(); for ($iCtr = 0; $iCtr < count($aDataFinalX); $iCtr++) { if ($aDataFinalX[$iCtr] != 0 && $aDataFinalX2[$iCtr] != 0) { $l1datay[] = 100 / ($aDataFinalX[$iCtr] / $aDataFinalX2[$iCtr]); } else { $l1datay[] = 0; } } $l1plot = new LinePlot($l1datay); $l1plot->setColor("red"); $l1plot->setWeight(2); $l1plot->setLegend("Conversion rate (%)"); $l1plot->value->setColor('red'); $l1plot->value->setFormat('% 0.4f%%'); $l1plot->value->hideZero(); $l1plot->value->show(); // Create the grouped bar plot $graph->addY2($l1plot); $graph->add($l2plot); $graph->add($l3plot); // Finally output the image $graph->stroke(); }
/** * Loads next not yet started promotions before the given timespan * * @param int $iTimespan timespan to load * * @return null */ public function loadFutureByTimespan($iTimespan) { $sViewName = $this->getBaseObject()->getViewName(); $sDate = date('Y-m-d H:i:s', oxUtilsDate::getInstance()->getTime()); $sDateTo = date('Y-m-d H:i:s', oxUtilsDate::getInstance()->getTime() + $iTimespan); $sQ = "select * from {$sViewName} where oxtype=2 and oxactive=1 and oxshopid='" . $this->getConfig()->getShopId() . "' and (oxactiveto > " . oxDb::getDb()->quote($sDate) . " or oxactiveto=0) and oxactivefrom > " . oxDb::getDb()->quote($sDate) . " and oxactivefrom < " . oxDb::getDb()->quote($sDateTo) . "\n " . $this->_getUserGroupFilter() . "\n order by oxactiveto, oxactivefrom"; $this->selectString($sQ); }
/** * renews expiration timer to maximum value * * @return null */ public function renewExpiration() { if ($oReserved = $this->getReservations()) { $iTime = oxUtilsDate::getInstance()->getTime(); $oReserved->oxuserbaskets__oxupdate = new oxField($iTime); $oReserved->save(); oxSession::deleteVar("iBasketReservationTimeout"); } }
/** * check if this action is active * * @return bool */ public function isRunning() { if (!($this->oxactions__oxactive->value && $this->oxactions__oxtype->value == 2 && $this->oxactions__oxactivefrom->value != '0000-00-00 00:00:00')) { return false; } $iNow = oxUtilsDate::getInstance()->getTime(); $iFrom = strtotime($this->oxactions__oxactivefrom->value); if ($iNow < $iFrom) { return false; } if ($this->oxactions__oxactiveto->value != '0000-00-00 00:00:00') { $iTo = strtotime($this->oxactions__oxactiveto->value); if ($iNow > $iTo) { return false; } } return true; }
/** * Updating invitations statistics * * @param array $aRecEmail array of recipients emails * * @return null */ public function updateInvitationStatistics($aRecEmail) { $oDb = oxDb::getDb(true); $sUserId = $this->getId(); if ($sUserId && is_array($aRecEmail) && count($aRecEmail) > 0) { //iserting statistics about invitation $sDate = oxUtilsDate::getInstance()->formatDBDate(date("Y-m-d"), true); $aRecEmail = oxDb::getInstance()->quoteArray($aRecEmail); foreach ($aRecEmail as $sRecEmail) { $sSql = "INSERT INTO oxinvitations SET oxuserid = " . $oDb->quote($sUserId) . ", oxemail = {$sRecEmail}, oxdate='{$sDate}', oxpending = '1', oxaccepted = '0', oxtype = '1' "; $oDb->execute($sSql); } } }
/** * Returns XML compatible text for LexwareOrders export. * * @param integer $iFromOrderNr Order from (default null) * @param integer $iToOrderNr Order number * * @return string */ function exportLexwareOrders($iFromOrderNr = "", $iToOrderNr = "") { // thnx to Volker Dörk for this function and his help here $myConfig = $this->getConfig(); $sNewLine = "\r\n"; $sSelect = "select * from oxorder where 1 "; if ($iFromOrderNr !== "") { $iFromOrderNr = (int) $iFromOrderNr; $sSelect .= "and oxordernr >= {$iFromOrderNr} "; } if ($iToOrderNr !== "") { $iToOrderNr = (int) $iToOrderNr; $sSelect .= "and oxordernr <= {$iToOrderNr} "; } $oOrderlist = oxNew("oxlist"); $oOrderlist->init("oxorder"); $oOrderlist->selectString($sSelect); if (!$oOrderlist->count()) { return null; } $sCharset = $this->_getCharset(); $sExport = "<?xml version=\"1.0\" encoding=\"{$sCharset}\"?>{$sNewLine}"; $sExport .= "<Bestellliste>{$sNewLine}"; $sRet = $sExport; foreach ($oOrderlist as $oOrder) { // Convert each amount of money with currency rate of the order $dOrderCurRate = (double) $oOrder->oxorder__oxcurrate->value; $oUser = oxNew("oxuser"); $oUser->load($oOrder->oxorder__oxuserid->value); $sExport = "<Bestellung " . $this->_convertStr("zurückgestellt") . "=\"Nein\" bearbeitet=\"Nein\" " . $this->_convertStr("übertragen") . "=\"Nein\">{$sNewLine}"; $sExport .= "<Bestellnummer>" . $oOrder->oxorder__oxordernr->value . "</Bestellnummer>{$sNewLine}"; $sExport .= "<Rechnungsnummer>" . $oOrder->oxorder__oxbillnr->value . "</Rechnungsnummer>{$sNewLine}"; $sExport .= "<Standardwaehrung>978</Standardwaehrung>{$sNewLine}"; $sExport .= "<Bestelldatum>{$sNewLine}"; $sDBDate = oxUtilsDate::getInstance()->formatDBDate($oOrder->oxorder__oxorderdate->value); $sExport .= "<Datum>" . substr($sDBDate, 0, 10) . "</Datum>{$sNewLine}"; $sExport .= "<Zeit>" . substr($sDBDate, 11, 8) . "</Zeit>{$sNewLine}"; $sExport .= "</Bestelldatum>{$sNewLine}"; $sExport .= "<Kunde>{$sNewLine}"; $sExport .= "<Kundennummer>" . "</Kundennummer>{$sNewLine}"; $sExport .= "<Firmenname>" . $this->interForm($oOrder->oxorder__oxbillcompany->value) . "</Firmenname>{$sNewLine}"; $sExport .= "<Anrede>" . $this->interForm(oxLang::getInstance()->translateString($oOrder->oxorder__oxbillsal->value)) . "</Anrede>{$sNewLine}"; $sExport .= "<Vorname>" . $this->interForm($oOrder->oxorder__oxbillfname->value) . "</Vorname>{$sNewLine}"; $sExport .= "<Name>" . $this->interForm($oOrder->oxorder__oxbilllname->value) . "</Name>{$sNewLine}"; $sExport .= "<Strasse>" . $this->interForm($oOrder->oxorder__oxbillstreet->value) . " " . $this->interForm($oOrder->oxorder__oxbillstreetnr->value) . "</Strasse>{$sNewLine}"; $sExport .= "<PLZ>" . $this->interForm($oOrder->oxorder__oxbillzip->value) . "</PLZ>{$sNewLine}"; $sExport .= "<Ort>" . $this->interForm($oOrder->oxorder__oxbillcity->value) . "</Ort>{$sNewLine}"; $sExport .= "<Bundesland>" . "" . "</Bundesland>{$sNewLine}"; $sExport .= "<Land>" . $this->interForm($oOrder->oxorder__oxbillcountry->value) . "</Land>{$sNewLine}"; $sExport .= "<Email>" . $this->interForm($oOrder->oxorder__oxbillemail->value) . "</Email>{$sNewLine}"; $sExport .= "<Telefon>" . $this->interForm($oOrder->oxorder__oxbillfon->value) . "</Telefon>{$sNewLine}"; $sExport .= "<Telefon2>" . $this->interForm($oUser->oxuser__oxprivfon->value) . "</Telefon2>{$sNewLine}"; $sExport .= "<Fax>" . $this->interForm($oOrder->oxorder__oxbillfax->value) . "</Fax>{$sNewLine}"; $sDelComp = ""; $sDelfName = ""; $sDellName = ""; $sDelStreet = ""; $sDelZip = ""; $sDelCity = ""; $sDelCountry = ""; // lieferadresse if ($oOrder->oxorder__oxdellname->value) { $sDelComp = $oOrder->oxorder__oxdelcompany->value; $sDelfName = $oOrder->oxorder__oxdelfname->value; $sDellName = $oOrder->oxorder__oxdellname->value; $sDelStreet = $oOrder->oxorder__oxdelstreet->value . " " . $oOrder->oxorder__oxdelstreetnr->value; $sDelZip = $oOrder->oxorder__oxdelzip->value; $sDelCity = $oOrder->oxorder__oxdelcity->value; $sDelCountry = $oOrder->oxorder__oxdelcountry->value; } $sExport .= "<Lieferadresse>{$sNewLine}"; $sExport .= "<Firmenname>" . $this->interForm($sDelComp) . "</Firmenname>{$sNewLine}"; $sExport .= "<Vorname>" . $this->interForm($sDelfName) . "</Vorname>{$sNewLine}"; $sExport .= "<Name>" . $this->interForm($sDellName) . "</Name>{$sNewLine}"; $sExport .= "<Strasse>" . $this->interForm($sDelStreet) . "</Strasse>{$sNewLine}"; $sExport .= "<PLZ>" . $this->interForm($sDelZip) . "</PLZ>{$sNewLine}"; $sExport .= "<Ort>" . $this->interForm($sDelCity) . "</Ort>{$sNewLine}"; $sExport .= "<Bundesland>" . "" . "</Bundesland>{$sNewLine}"; $sExport .= "<Land>" . $this->interForm($sDelCountry) . "</Land>{$sNewLine}"; $sExport .= "</Lieferadresse>{$sNewLine}"; $sExport .= "<Matchcode>" . $this->interForm($oOrder->oxorder__oxbilllname->value) . ", " . $this->interForm($oOrder->oxorder__oxbillfname->value) . "</Matchcode>{$sNewLine}"; // ermitteln ob steuerbar oder nicht $sCountry = strtolower($oUser->oxuser__oxcountryid->value); $aHomeCountry = $myConfig->getConfigParam('aHomeCountry'); $sSteuerbar = is_array($aHomeCountry) && in_array($sCountry, $aHomeCountry) ? "ja" : "nein"; $sExport .= "<fSteuerbar>" . $this->interForm($sSteuerbar) . "</fSteuerbar>{$sNewLine}"; $sExport .= "</Kunde>{$sNewLine}"; $sExport .= "<Artikelliste>{$sNewLine}"; $sRet .= $sExport; $dSumNetPrice = 0; $dSumBrutPrice = 0; $oOrderArticles = $oOrder->getOrderArticles(); foreach ($oOrderArticles as $oOrderArt) { $dVATSet = array_search($oOrderArt->oxorderarticles__oxvat->value, $myConfig->getConfigParam('aLexwareVAT')); $sExport = " <Artikel>{$sNewLine}"; //$sExport .= " <Artikelzusatzinfo><Nettostaffelpreis>".$this->InternPrice( $oOrderArt->oxorderarticles__oxnetprice->value)."</Nettostaffelpreis></Artikelzusatzinfo>$sNewLine"; $sExport .= " <Artikelzusatzinfo><Nettostaffelpreis></Nettostaffelpreis></Artikelzusatzinfo>{$sNewLine}"; $sExport .= " <SteuersatzID>" . $dVATSet . "</SteuersatzID>{$sNewLine}"; $sExport .= " <Steuersatz>" . $this->internPrice($oOrderArt->oxorderarticles__oxvat->value / 100) . "</Steuersatz>{$sNewLine}"; $sExport .= " <Artikelnummer>" . $oOrderArt->oxorderarticles__oxartnum->value . "</Artikelnummer>{$sNewLine}"; $sExport .= " <Anzahl>" . $oOrderArt->oxorderarticles__oxamount->value . "</Anzahl>{$sNewLine}"; $sExport .= " <Produktname>" . $this->interForm($oOrderArt->oxorderarticles__oxtitle->value); if ($oOrderArt->oxorderarticles__oxselvariant->value) { $sExport .= "/" . $oOrderArt->oxorderarticles__oxselvariant->value; } $sExport .= " </Produktname>{$sNewLine}"; $sExport .= " <Rabatt>0.00</Rabatt>{$sNewLine}"; $dUnitPrice = $oOrderArt->oxorderarticles__oxbrutprice->value / $oOrderArt->oxorderarticles__oxamount->value; if ($dOrderCurRate > 0) { $dUnitPrice /= $dOrderCurRate; } $sExport .= " <Preis>" . $this->internPrice($dUnitPrice) . "</Preis>{$sNewLine}"; $sExport .= " </Artikel>{$sNewLine}"; $sRet .= $sExport; $dSumNetPrice += $oOrderArt->oxorderarticles__oxnetprice->value; $dSumBrutPrice += $oOrderArt->oxorderarticles__oxbrutprice->value; } $dDiscount = $oOrder->oxorder__oxvoucherdiscount->value + $oOrder->oxorder__oxdiscount->value; $dDelCost = $oOrder->oxorder__oxdelcost->value; $dPaymentCost = $oOrder->oxorder__oxpaycost->value; if ($dOrderCurRate > 0) { $dDiscount /= $dOrderCurRate; $dSumNetPrice /= $dOrderCurRate; $dDelCost /= $dOrderCurRate; $dSumBrutPrice /= $dOrderCurRate; $dPaymentCost /= $dOrderCurRate; } $sExport = "<GesamtRabatt>" . $this->internPrice($dDiscount) . "</GesamtRabatt>{$sNewLine}"; $sExport .= "<GesamtNetto>" . $this->internPrice($dSumNetPrice) . "</GesamtNetto>{$sNewLine}"; $sExport .= "<Lieferkosten>" . $this->internPrice($dDelCost) . "</Lieferkosten>{$sNewLine}"; $sExport .= "<Zahlungsartkosten>" . $this->internPrice($dPaymentCost) . "</Zahlungsartkosten>{$sNewLine}"; $sExport .= "<GesamtBrutto>" . $this->internPrice($dSumBrutPrice) . "</GesamtBrutto>{$sNewLine}"; $sExport .= "<Bemerkung>" . strip_tags($oOrder->oxorder__oxremark->value) . "</Bemerkung>{$sNewLine}"; $sRet .= $sExport; $sExport = "</Artikelliste>{$sNewLine}"; $sExport .= "<Zahlung>{$sNewLine}"; $oPayment = oxNew("oxpayment"); $oPayment->load($oOrder->oxorder__oxpaymenttype->value); $sExport .= "<Art>" . $oPayment->oxpayments__oxdesc->value . "</Art>{$sNewLine}"; $sExport .= "</Zahlung>{$sNewLine}"; $sExport .= "</Bestellung>{$sNewLine}"; $sRet .= $sExport; $oOrder->oxorder__oxexport->setValue(1); $oOrder->save(); } $sExport = "</Bestellliste>{$sNewLine}"; $sRet .= $sExport; return $sRet; }
/** * Inserts object details to DB, returns true on success. * * @return bool */ protected function _insert() { if (!$this->oxnews__oxdate || oxUtilsDate::getInstance()->isEmptyDate($this->oxnews__oxdate->value)) { // if date field is empty, assigning current date $this->oxnews__oxdate = new oxField(date('Y-m-d')); } else { $this->oxnews__oxdate = new oxField(oxUtilsDate::getInstance()->formatDBDate($this->oxnews__oxdate->value, true)); } return parent::_insert(); }