/**
  * 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;
 }
Example #2
0
 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;
 }
Example #9
0
 /**
  * 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;
     }
 }
Example #17
0
 /**
  * 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();
 }
Example #18
0
 /**
  * Returns the OXID date utilities object.
  *
  * @return oxUtilsDate
  */
 public function getUtilsDate()
 {
     return oxUtilsDate::getInstance();
 }
Example #19
0
 /**
  * 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;
 }
Example #23
0
 /**
  * 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;
 }
Example #28
0
 /**
  * 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);
         }
     }
 }
Example #29
0
 /**
  * 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;
 }
Example #30
0
 /**
  * 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();
 }