示例#1
0
    public function view()
    {
        $sql = 'SELECT 
					T.name, 
					TD.translation 
				FROM translation T 
				LEFT JOIN translationdata TD ON T.idtranslation = TD.translationid AND TD.languageid = :languageid';
        $stmt = Db::getInstance()->prepare($sql);
        $stmt->bindValue('languageid', Helper::getLanguageId());
        $stmt->execute();
        $xml = new SimpleXMLElement('<rows></rows>');
        while ($rs = $stmt->fetch()) {
            $node = $xml->addChild('row');
            $name = $node->addChild('field', $rs['name']);
            $name->addAttribute('name', 'name');
            $translation = $node->addChild('field', htmlspecialchars($rs['translation']));
            $translation->addAttribute('name', 'translation');
        }
        header('Content-type: text/xml; charset=utf-8');
        header('Content-disposition: attachment; filename=pl_PL.xml');
        header('Content-type: text/xml');
        header('Cache-Control: max-age=0');
        $doc = new DOMDocument('1.0', 'UTF-8');
        $doc->formatOutput = true;
        $domnode = dom_import_simplexml($xml);
        $domnode = $doc->importNode($domnode, true);
        $domnode = $doc->appendChild($domnode);
        echo $doc->saveXML();
    }
示例#2
0
 protected function _Check($value)
 {
     if ($this->_valueProcessFunction) {
         $f = $this->_valueProcessFunction;
         $value = $f($value);
     }
     $sql = "\n\t\t\tSELECT\n\t\t\t\tCOUNT(*) AS items_count\n\t\t\tFROM\n\t\t\t\t{$this->_table}\n\t\t\tWHERE\n\t\t\t\t{$this->_column} = :value\n\t\t";
     if ($this->_exclude and is_array($this->_exclude)) {
         if (!is_array($this->_exclude['values'])) {
             $this->_exclude['values'] = array($this->_exclude['values']);
         }
         $excludedValues = implode(', ', $this->_exclude['values']);
         $sql .= "AND NOT {$this->_exclude['column']} IN ({$excludedValues})";
     }
     $stmt = Db::getInstance()->prepare($sql);
     $stmt->bindValue('value', $value);
     try {
         $stmt->execute();
         $rs = $stmt->fetch();
         if ($rs['items_count'] == 0) {
             return true;
         }
     } catch (Exception $e) {
         throw new Exception('Error while executing sql query: ' . $e->getMessage());
     }
     return false;
 }
示例#3
0
 protected function ProductSearchStatus($productid, $status)
 {
     $sql = 'UPDATE productsearch SET enable = :status WHERE productid = :productid';
     $stmt = Db::getInstance()->prepare($sql);
     $stmt->bindValue('status', $status);
     $stmt->bindValue('productid', $productid);
     try {
         $stmt->execute();
     } catch (Exception $e) {
         throw new Exception($e->getMessage());
     }
 }
示例#4
0
 public function loadSettings()
 {
     $sql = "SELECT\n\t\t\t\t\tM.mailer,\n\t\t\t\t\tM.fromname,\n\t\t\t\t\tM.fromemail,\n\t\t\t\t\tM.server,\n\t\t\t\t\tM.port,\n\t\t\t\t\tM.smtpsecure,\n\t\t\t\t\tM.smtpauth,\n\t\t\t\t\tM.smtpusername,\n\t\t\t\t\tM.smtppassword,\n\t\t\t\t\tV.pageschemeid,\n\t\t\t\t\tPS.templatefolder,\n\t\t\t\t\tV.photoid\n\t\t\t\tFROM mailer M\n\t\t\t\tLEFT JOIN view V ON V.idview = M.viewid\n\t\t\t\tLEFT JOIN pagescheme PS ON PS.idpagescheme = V.pageschemeid\n\t\t\t\tWHERE idview=:id";
     $stmt = Db::getInstance()->prepare($sql);
     $stmt->bindValue('id', $this->viewid);
     $stmt->execute();
     $rs = $stmt->fetch();
     $Data = array();
     if ($rs) {
         $this->settings = array('mailer' => $rs['mailer'], 'fromname' => $rs['fromname'], 'fromemail' => $rs['fromemail'], 'server' => $rs['server'], 'port' => $rs['port'], 'smtpsecure' => $rs['smtpsecure'], 'smtpauth' => $rs['smtpauth'], 'smtpusername' => $rs['smtpusername'], 'smtppassword' => $rs['smtppassword'], 'theme' => $rs['templatefolder'], 'photoid' => $rs['photoid']);
     }
 }
示例#5
0
 public function getLayoutBoxJS($id)
 {
     $sql = "SELECT\n\t\t\t\t\tidlayoutboxjsvalue,\n\t\t\t\t\tvariable,\n\t\t\t\t\tvalue\n\t\t\t\tFROM layoutboxjsvalue\n\t\t\t\tWHERE layoutboxid = :idlayoutbox";
     $Data = array();
     $stmt = Db::getInstance()->prepare($sql);
     $stmt->bindValue('idlayoutbox', $id);
     $stmt->execute();
     while ($rs = $stmt->fetch()) {
         $Data[$rs['variable']] = $rs['value'];
     }
     return $Data;
 }
示例#6
0
 protected static function load()
 {
     if ((self::$events = App::getRegistry()->cache->load('events')) === FALSE) {
         $sql = 'SELECT * FROM event';
         $stmt = Db::getInstance()->prepare($sql);
         $stmt->execute();
         while ($rs = $stmt->fetch()) {
             self::$events[] = array('name' => $rs['name'], 'model' => $rs['model'], 'method' => $rs['method'], 'mode' => $rs['mode']);
         }
         App::getRegistry()->cache->save('events', self::$events);
     }
 }
示例#7
0
 public function getIntegrationWhitelist($module)
 {
     $sql = "SELECT \n\t\t\t\t\t* \n\t\t\t\tFROM integrationwhitelist IW\n\t\t\t\tLEFT JOIN integration I ON IW.integrationid = I.idintegration\n\t\t\t\tWHERE I.symbol = :symbol";
     $stmt = Db::getInstance()->prepare($sql);
     $stmt->bindValue('symbol', $module);
     $stmt->execute();
     $Data = array();
     while ($rs = $stmt->fetch()) {
         $Data[] = $rs['ipaddress'];
     }
     return $Data;
 }
示例#8
0
    public function getCategoriesPathById()
    {
        Db::getInstance()->beginTransaction();
        $sql = 'TRUNCATE categorypath';
        $stmt = Db::getInstance()->prepare($sql);
        $stmt->execute();
        $sql = 'SELECT idcategory AS id, categoryid AS parent FROM category';
        $stmt = Db::getInstance()->prepare($sql);
        $stmt->execute();
        $Data = $stmt->fetchAll();
        $parents = array();
        foreach ($Data as $category) {
            if ($category['parent']) {
                $parents[$category['id']] = $category['parent'];
            } else {
                $parents[$category['id']] = null;
            }
        }
        $alreadyAdded = array();
        foreach ($parents as $category => $ancestor) {
            $order = 0;
            $ancestor = $category;
            for ($i = 0; $i < 50; $i++) {
                if (!isset($alreadyAdded[$category]) || !isset($alreadyAdded[$category][$ancestor]) || !$alreadyAdded[$category][$ancestor]) {
                    $sql = '
							INSERT INTO categorypath
							SET
								categoryid = :categoryid,
								ancestorcategoryid = :ancestorcategoryid,
								`order` = :order
						';
                    $stmt = Db::getInstance()->prepare($sql);
                    $stmt->bindValue('categoryid', $category);
                    $stmt->bindValue('ancestorcategoryid', $ancestor);
                    $stmt->bindValue('order', $order++);
                    $stmt->execute();
                    $alreadyAdded[$category][$ancestor] = true;
                }
                if ($parents[$ancestor] == null) {
                    break;
                }
                $ancestor = $parents[$ancestor];
            }
        }
        Db::getInstance()->commit();
        $this->flushCache();
    }
示例#9
0
 public function getMissingCart($clientid)
 {
     $sql = "SELECT \n\t\t\t\t\tMC.idmissingcart, \n\t\t\t\t\tMC.dispatchmethodid, \n\t\t\t\t\tMC.paymentmethodid \n\t\t\t\tFROM missingcart MC\n\t\t\t\tWHERE MC.clientid = :clientid";
     $stmt = Db::getInstance()->prepare($sql);
     $stmt->bindValue('clientid', Session::getActiveClientid());
     $Data = array();
     try {
         $stmt->execute();
         $rs = $stmt->fetch();
         if ($rs) {
             $Data = array('clientid' => $clientid, 'idmissingcart' => $rs['idmissingcart'], 'dispatchmethodid' => $rs['dispatchmethodid'], 'paymentmethodid' => $rs['paymentmethodid'], 'products' => $this->getProductFromMissingCart($idmissingcart), 'sessionid' => $this['sessionid']);
         } else {
             $Data = 0;
         }
     } catch (Exception $e) {
         new Exception($e->message('Error while selecting session content from sessionhandler.'));
     }
     return $Data;
 }
示例#10
0
 protected function getDb()
 {
     return \Gekosale\Db::getInstance();
 }
示例#11
0
    public function reportPayment()
    {
        if (isset($_POST['p24_session_id']) && $_POST['p24_session_id'] != '') {
            $sessionid = base64_decode($_POST['p24_session_id']);
            $sql = 'SELECT 
						*
					FROM `order`
					WHERE sessionid = :crc';
            $stmt = Db::getInstance()->prepare($sql);
            $stmt->bindValue('crc', base64_decode($_POST['p24_session_id']));
            $stmt->execute();
            $rs = $stmt->fetch();
            if ($rs) {
                $settings = $this->registry->core->loadModuleSettings('przelewy24', $rs['viewid']);
                $p24_session_id = $_POST["p24_session_id"];
                $p24_order_id = $_POST["p24_order_id"];
                $p24_kwota = number_format($rs['globalprice'] * 100, 0, '', '');
                $P = array();
                $RET = array();
                $url = "https://secure.przelewy24.pl/transakcja.php";
                $P[] = "p24_id_sprzedawcy=" . $settings['idsprzedawcy'];
                $P[] = "p24_session_id=" . $p24_session_id;
                $P[] = "p24_order_id=" . $p24_order_id;
                $P[] = "p24_kwota=" . $p24_kwota;
                $user_agent = "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)";
                $ch = curl_init();
                curl_setopt($ch, CURLOPT_POST, 1);
                curl_setopt($ch, CURLOPT_POSTFIELDS, join("&", $P));
                curl_setopt($ch, CURLOPT_URL, $url);
                curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
                curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
                curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
                curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
                $result = curl_exec($ch);
                curl_close($ch);
                $T = explode(chr(13) . chr(10), $result);
                $res = false;
                foreach ($T as $line) {
                    $line = ereg_replace("[\n\r]", "", $line);
                    if ($line != "RESULT" and !$res) {
                        continue;
                    }
                    if ($res) {
                        $RET[] = $line;
                    } else {
                        $res = true;
                    }
                }
                if ($RET[0] == 'TRUE') {
                    $status = $settings['positiveorderstatusid'];
                    $comment = 'Płatność zakończona sukcesem';
                    $url = $this->registry->router->generate('frontend.payment', true, array('action' => 'confirm', 'param' => 'przelewy24'));
                } else {
                    $status = $settings['negativeorderstatusid'];
                    $comment = 'Płatność zakończona niepowodzeniem';
                    $url = $this->registry->router->generate('frontend.payment', true, array('action' => 'cancel', 'param' => 'przelewy24'));
                }
                $sql = "UPDATE `order` SET orderstatusid = :status WHERE idorder = :idorder";
                $stmt = Db::getInstance()->prepare($sql);
                $stmt->bindValue('status', $status);
                $stmt->bindValue('idorder', $rs['idorder']);
                $stmt->execute();
                $sql = 'INSERT INTO orderhistory SET
							content = :content,
							orderstatusid = :status,
							orderid = :idorder,
							inform = 0';
                $stmt = Db::getInstance()->prepare($sql);
                $stmt->bindValue('content', $comment);
                $stmt->bindValue('idorder', $rs['idorder']);
                $stmt->bindValue('status', $status);
                $stmt->execute();
                if (Session::getActivePaymentData() != NULL) {
                    App::redirectUrl($url);
                }
            }
        }
    }
示例#12
0
 public function checkEraty($idpaymentmethod)
 {
     $price = Session::getActiveglobalPriceWithDispatchmethod();
     if ($price > 0) {
         if ($price < 100) {
             return 0;
         }
     } else {
         $order = Session::getActiveClientOrder();
         if (!isset($order['priceWithDispatchMethod']) || $order['priceWithDispatchMethod'] < 100) {
             return 0;
         }
     }
     $sql = "SELECT ES.wariantsklepu, ES.numersklepu, ES.`char`\n\t\t\t\t\tFROM eratysettings ES\n\t\t\t\t\t\tLEFT JOIN paymentmethodview PV ON  ES.paymentmethodid  = PV.paymentmethodid\n\t\t\t\t\tWHERE PV.viewid = :viewid\n\t\t\t\t\tAND ES.paymentmethodid = :idpaymentmethod";
     $stmt = Db::getInstance()->prepare($sql);
     $stmt->bindValue('viewid', Helper::getViewId());
     $stmt->bindValue('idpaymentmethod', $idpaymentmethod);
     $stmt->execute();
     $rs = $stmt->fetch();
     if ($rs) {
         $Data = array('wariantsklepu' => $rs['wariantsklepu'], 'numersklepu' => $rs['numersklepu'], 'char' => $rs['char']);
         return $Data;
     }
     return 0;
 }
示例#13
0
 public function loadDynamicMethods()
 {
     $sql = 'SELECT method, width, height, keepproportion, staticpath FROM gallerysettings';
     $stmt = Db::getInstance()->prepare($sql);
     $stmt->execute();
     $Data = array();
     while ($rs = $stmt->fetch()) {
         $Data[$rs['method']] = array('width' => $rs['width'], 'height' => $rs['height'], 'keepproportion' => $rs['keepproportion'], 'staticpath' => $rs['staticpath']);
     }
     return $Data;
 }
示例#14
0
    public function updatePhraseAboutMostSearch($id, $counter = 0)
    {
        $counter = $counter + 1;
        $sql = 'UPDATE mostsearch MS SET MS.textcount = :counter
					WHERE MS.idmostsearch = :id';
        $stmt = Db::getInstance()->prepare($sql);
        $stmt->bindValue('id', $id);
        $stmt->bindValue('counter', $counter);
        try {
            $stmt->execute();
        } catch (Exception $e) {
            throw new FrontendException($e->getMessage());
        }
    }
示例#15
0
    public function getCurrencies()
    {
        $sql = 'SELECT CR.idcurrency, CR.currencyname, CR.currencysymbol
					FROM currency CR 
					ORDER BY currencysymbol ASC';
        $stmt = Db::getInstance()->prepare($sql);
        $stmt->execute();
        return $stmt->fetchAll();
    }
示例#16
0
 protected function getSelectedRows($request)
 {
     $offset = isset($request['starting_from']) ? $request['starting_from'] : 0;
     $limit = isset($request['limit']) ? $request['limit'] : (int) $request['n'];
     list($idColumn, $groupBy, $orderBy, $orderDir, $conditionString, $conditions, $additionalConditionString, $havingString, $having) = $this->getQueryData($request);
     $sql = "SELECT DISTINCT {$this->getColumnsString()} FROM {$this->queryFrom}{$conditionString}{$additionalConditionString}{$groupBy}{$havingString} ORDER BY {$orderBy} {$orderDir} LIMIT {$offset},{$limit}";
     $stmt = Db::getInstance()->prepare($sql);
     foreach ($conditions as $i => &$part) {
         $stmt->bindValue('value' . $i, $part['value']);
     }
     if (preg_match('/:encryptionkey/', $sql)) {
         $stmt->bindValue('encryptionkey', $this->encryptionKey);
     }
     if (preg_match('/:languageid/', $sql)) {
         $stmt->bindValue('languageid', $this->languageId);
     }
     foreach ($this->sqlParams as $key => $val) {
         if (preg_match('/:' . $key . '/', $sql)) {
             if (is_array($val)) {
                 $stmt->bindValue($key, implode(',', $val));
             } else {
                 $stmt->bindValue($key, $val);
             }
         }
     }
     if (preg_match('/:viewid/', $sql)) {
         $stmt->bindValue('viewid', $this->viewId > 0 ? $this->viewId : NULL);
     }
     if (preg_match('/:views/', $sql)) {
         $stmt->bindValue('views', implode(',', $this->viewIds));
     }
     $stmt->execute();
     return $stmt->fetchAll();
 }
示例#17
0
    public function checkPaymentStatus($event, $request)
    {
        $sql = "SELECT idpaymentmethod FROM paymentmethod WHERE controller = 'paybynet' AND active=1";
        $stmt = Db::getInstance()->prepare($sql);
        $stmt->execute();
        $rs = $stmt->fetch();
        if (!$rs) {
            return;
        }
        $settings = $this->registry->core->loadModuleSettings('paybynet', Helper::getViewId());
        if (empty($settings)) {
            return;
        }
        $id = $request['id'];
        $sql = "SELECT\n\t\t\t\tidorder\n\t\t\tFROM\n\t\t\t\t`order`\n\t\t\tWHERE\n\t\t\t\tidorder = :id\n\t\t\tAND\n\t\t\t\tpaymentmethodid = :paymentmethodid\n\t\t\tAND\n\t\t\t\torderstatusid = :positiveorderstatusid";
        $stmt = Db::getInstance()->prepare($sql);
        $stmt->bindValue('id', $id);
        $stmt->bindValue('idpaymentmethod', $rs['idpaymentmethod']);
        $stmt->bindValue('positiveorderstatusid', $settings['positiveorderstatusid']);
        $stmt->execute();
        if ($stmt->fetch()) {
            return;
        }
        try {
            $soap = new \SoapClient(self::WSDL);
            $statusCode = $soap->getStatusByPaymentID($id, $settings['id_client']);
        } catch (\SoapFault $e) {
            throw new CoreException('Nie można połączyć się z pbn.paybynet.com.pl');
        }
        $status = 0;
        if ($statusCode >= 1000 && $statusCode <= 1012) {
            $status = $settings['verificationrejectedorderstatusid'];
            $comment = 'Weryfikacja odrzucona';
        } else {
            if ($statusCode == 2303) {
                $status = $settings['positiveorderstatusid'];
                $comment = 'Płatność zakończona sukcesem';
            } else {
                if ($statusCode == 2301 || $statusCode == 2302) {
                    $status = $settings['negativeorderstatusid'];
                    $comment = 'Płatność zakończona niepowodzeniem';
                }
            }
        }
        if ($status == 0) {
            return;
        }
        $sql = "UPDATE `order` SET orderstatusid = :status WHERE idorder = :idorder";
        $stmt = Db::getInstance()->prepare($sql);
        $stmt->bindValue('status', $status);
        $stmt->bindValue('idorder', $id);
        $stmt->execute();
        $sql = 'INSERT INTO orderhistory SET
					content = :content,
					orderstatusid = :status,
					orderid = :idorder,
					inform = 0';
        $stmt = Db::getInstance()->prepare($sql);
        $stmt->bindValue('content', $comment);
        $stmt->bindValue('idorder', $id);
        $stmt->bindValue('status', $status);
        $stmt->execute();
    }
示例#18
0
    public function addAttributeToGroup($attributeId, $groupId)
    {
        $sql = 'INSERT INTO attributegroup(attributegroupnameid, attributeproductid)
					VALUES (:attributegroupnameid, :attributeproductid)';
        $stmt = Db::getInstance()->prepare($sql);
        $stmt->bindValue('attributegroupnameid', $attributeId);
        $stmt->bindValue('attributeproductid', $groupId);
        try {
            $stmt->execute();
        } catch (Exception $e) {
            throw new Exception(_('ERR_CATEGORY_ATTRIBUTEPRODUCT_ADD'));
        }
    }
示例#19
0
 public function editAttributeCategory($Data, $id)
 {
     DbTracker::deleteRows('categoryattributeproduct', 'attributeproductid', $id);
     foreach ($Data as $key => $categoryid) {
         $sql = 'INSERT INTO categoryattributeproduct(categoryid, attributeproductid) VALUES (:categoryid, :attributeproductid)';
         $stmt = Db::getInstance()->prepare($sql);
         $stmt->bindValue('categoryid', $categoryid);
         $stmt->bindValue('attributeproductid', $id);
         try {
             $stmt->execute();
         } catch (Exception $e) {
             throw new Exception($e->getMessage());
         }
     }
 }
示例#20
0
 public function getUnitMeasureTranslation($id)
 {
     $sql = "SELECT \n\t\t\t\t\tname, \n\t\t\t\t\tlanguageid\n\t\t\t\tFROM unitmeasuretranslation\n\t\t\t\tWHERE unitmeasureid =:id";
     $stmt = Db::getInstance()->prepare($sql);
     $stmt->bindValue('id', $id);
     $rs = $stmt->execute();
     $Data = array();
     while ($rs = $stmt->fetch()) {
         $Data[$rs['languageid']] = array('name' => $rs['name']);
     }
     return $Data;
 }
示例#21
0
 public function getProductListIntegration()
 {
     $sql = "SELECT\n\t\t\t\t  \tPC.categoryid AS id,\n\t\t\t\t  \tP.idproduct,\n\t\t\t\t  \tP.stock,\n\t\t\t\t  \tP.weight,\n\t\t\t\t  \tPT.name,\n\t\t\t\t  \t(P.sellprice * (1 + (V.value / 100)) * CR.exchangerate) AS sellprice,\n\t\t\t\t  \tIF(P.promotion = 1 AND IF(P.promotionstart IS NOT NULL, P.promotionstart <= CURDATE(), 1) AND IF(P.promotionend IS NOT NULL, P.promotionend >= CURDATE(), 1), P.discountprice * (1 + (V.value / 100)) * CR.exchangerate, NULL) AS discountprice,\n\t\t\t\t \tPT.shortdescription,\n\t\t\t\t  \tPhoto.photoid,\n\t\t\t\t  \tNC.name as ceneooriginal,\n\t\t\t\t  \tCN.categoryid,\n\t\t\t\t  \tNC.idceneo,\n\t\t\t\t  \tCN.ceneoid,\n\t\t\t\t  \tPT.seo,\n\t\t\t\t\tPRT.name AS producername,\n\t\t\t\t\tP.ean,\n\t\t\t\t\tNC.path\n\t\t\t\tFROM product P\n\t\t\t\tLEFT JOIN vat V ON P.vatid= V.idvat\n\t\t\t\tLEFT JOIN producttranslation PT ON PT.productid = P.idproduct AND PT.languageid=:languageid\n\t\t\t\tLEFT JOIN productcategory PC ON PC.productid = P.idproduct\n\t\t\t\tINNER JOIN viewcategory VC ON VC.categoryid = PC.categoryid AND VC.viewid = :viewid\n\t\t\t\tLEFT JOIN currencyrates CR ON CR.currencyfrom = P.sellcurrencyid AND CR.currencyto = :currencyto\n\t\t\t\tINNER JOIN productphoto Photo ON Photo.productid = P.idproduct AND Photo.mainphoto=1\n\t\t\t\tINNER JOIN categoryceneo CN ON CN.categoryid = PC.categoryid\n\t\t\t\tINNER JOIN ceneo NC ON NC.idorginal = CN.ceneoid\n\t\t\t\tLEFT JOIN producertranslation PRT ON PRT.producerid = P.producerid AND PRT.languageid = :languageid\n\t\t\t\tWHERE P.enable = 1\n\t            GROUP BY P.idproduct";
     $stmt = Db::getInstance()->prepare($sql);
     $stmt->bindValue('viewid', Helper::getViewId());
     $stmt->bindValue('languageid', Helper::getLanguageId());
     $stmt->bindValue('currencyto', $this->registry->session->getActiveCurrencyId());
     $rs = $stmt->execute();
     $Data = array();
     while ($rs = $stmt->fetch()) {
         $Data[] = array('categoryid' => $rs['id'], 'producername' => $rs['producername'], 'ean' => $rs['ean'], 'productid' => $rs['idproduct'], 'stock' => $rs['stock'], 'avail' => $rs['stock'] > 0 ? 1 : 7, 'weight' => $rs['weight'], 'seo' => $rs['seo'], 'name' => $rs['name'], 'shortdescription' => $rs['shortdescription'], 'sellprice' => number_format(!is_null($rs['discountprice']) ? $rs['discountprice'] : $rs['sellprice'], 2, '.', ''), 'photoid' => $rs['photoid'], 'idproduct' => $rs['idproduct'], 'ceneo' => str_replace('|', '\\', $rs['path']));
     }
     foreach ($Data as $key => $Product) {
         $Image = App::getModel('gallery')->getOrginalImageById($Product['photoid']);
         $Data[$key]['photo'] = App::getModel('gallery')->getImagePath($Image, App::getURLAdress());
     }
     return $Data;
 }
示例#22
0
    public function getMinimumOrderValue()
    {
        $sql = 'SELECT
					ROUND((V.minimumordervalue * CR.exchangerate) - :globalprice, 2) AS required
				FROM view V
				LEFT JOIN currencyrates CR ON CR.currencyfrom = V.currencyid AND CR.currencyto = :currencyto
				WHERE V.idview = :viewid';
        $stmt = Db::getInstance()->prepare($sql);
        $stmt->bindValue('globalprice', $this->getGlobalPrice());
        $stmt->bindValue('currencyto', Session::getActiveCurrencyId());
        $stmt->bindValue('viewid', Helper::getViewId());
        $stmt->execute();
        $rs = $stmt->fetch();
        if ($rs) {
            return $rs['required'];
        }
        return 0;
    }
示例#23
0
 public function changeNewsletterStatus($id)
 {
     $sql = "SELECT email, viewid FROM clientnewsletter WHERE idclientnewsletter = :id";
     $stmt = Db::getInstance()->prepare($sql);
     $stmt->bindValue('id', $id);
     try {
         $stmt->execute();
     } catch (Exception $e) {
         throw new FrontendException($e->getMessage());
     }
     $rs = $stmt->fetch();
     $sql = "UPDATE clientnewsletter\tSET \n\t\t\t\t\tactivelink= :activelink,\n\t\t\t\t\tactive = 1\n\t\t\t\tWHERE idclientnewsletter = :id";
     $stmt = Db::getInstance()->prepare($sql);
     $stmt->bindValue('activelink', NULL);
     $stmt->bindValue('id', $id);
     try {
         $stmt->execute();
     } catch (Exception $e) {
         throw new FrontendException($e->getMessage());
     }
 }
示例#24
0
文件: seo.php 项目: krisldz/Gekosale2
 public function getMetadataForPage()
 {
     $controller = $this->registry->router->getCurrentController();
     $Data = array();
     $sql = "SELECT\n\t\t\t\t\tVT.keyword_title,\n\t\t\t\t\tC.description,\n\t\t\t\t\tVT.keyword,\n\t\t\t\t\tVT.keyword_description\n\t\t\t\tFROM controller C\n\t\t\t\tLEFT JOIN viewtranslation VT ON VT.viewid = :viewid\n\t\t\t\tWHERE C.name = :controller AND C.mode = 0";
     $stmt = Db::getInstance()->prepare($sql);
     $stmt->bindValue('controller', $controller);
     $stmt->bindValue('viewid', Helper::getViewId());
     $stmt->execute();
     $rs = $stmt->fetch();
     if ($rs) {
         if ($rs['keyword_title'] == NULL || $rs['keyword_title'] == '') {
             $keyword_title = $controller == 'mainside' ? Session::getActiveShopName() : _($rs['description']);
         } else {
             $keyword_title = $rs['keyword_title'];
         }
         $title = $controller == 'mainside' ? $keyword_title : _($rs['description']);
         $Data = array('keyword_title' => $title, 'keyword' => $rs['keyword'], 'keyword_description' => $rs['keyword_description']);
     }
     return $Data;
 }
示例#25
0
 public function getDispatchmethodCountries($id)
 {
     $sql = "SELECT \n\t\t\t\t\tcountryids\n\t\t\t\tFROM dispatchmethod\n\t\t\t\tWHERE iddispatchmethod = :id";
     $stmt = Db::getInstance()->prepare($sql);
     $stmt->bindValue('id', $id);
     $stmt->execute();
     $rs = $stmt->fetch();
     $countryids = array();
     if ($rs) {
         if ($rs['countryids'] != '') {
             $countryids = explode(',', $rs['countryids']);
         }
     }
     return $countryids;
 }
示例#26
0
 public function checkDefault($id)
 {
     $sql = 'SELECT pageschemeid FROM view WHERE idview = :viewid';
     $stmt = Db::getInstance()->prepare($sql);
     $stmt->bindValue('viewid', Helper::getViewId());
     $stmt->execute();
     $rs = $stmt->fetch();
     if ($rs) {
         return $rs['pageschemeid'] == $id ? 1 : 0;
     }
     return 0;
 }
示例#27
0
 public function getWarrantyByProductId($id)
 {
     $sql = "SELECT F.name, F.idfile\n                FROM productwarranty PF\n                LEFT JOIN file F ON PF.warrantyid = F.idfile\n                WHERE PF.productid = :id";
     $stmt = Db::getInstance()->prepare($sql);
     $stmt->bindValue('id', $id);
     try {
         $stmt->execute();
     } catch (Exception $e) {
         throw new FrontendException('Error while doing sql query.', 11, $e->getMessage());
     }
     return $stmt->fetchAll();
 }
示例#28
0
文件: App.php 项目: krisldz/Gekosale2
 public function getOfflineMessage()
 {
     $sql = 'SELECT offlinetext FROM view WHERE idview = :viewid';
     $stmt = Db::getInstance()->prepare($sql);
     $stmt->bindValue('viewid', Helper::getViewId());
     $stmt->execute();
     $rs = $stmt->fetch();
     if ($rs) {
         return $rs['offlinetext'];
     }
 }
示例#29
0
    public function reportPayment()
    {
        if (in_array($_SERVER['REMOTE_ADDR'], array('195.150.9.37', '217.17.41.5')) && !empty($_POST)) {
            $sql = 'SELECT
						*
					FROM `order`
					WHERE sessionid = :crc';
            $stmt = Db::getInstance()->prepare($sql);
            $stmt->bindValue('crc', base64_decode($_POST['control']));
            $stmt->execute();
            $rs = $stmt->fetch();
            if ($rs) {
                $settings = $this->registry->core->loadModuleSettings('dotpay', $rs['viewid']);
                $id_sprzedawcy = $_POST['id'];
                $m5 = $settings['pin'] . ':' . $settings['idsprzedawcy'] . ':' . $_POST['control'] . ':' . $_POST['t_id'] . ':' . $_POST['amount'] . ':' . $_POST['email'] . ':' . $_POST['service'] . ':' . $_POST['code'] . ':' . $_POST['username'] . ':' . $_POST['password'] . ':' . $_POST['t_status'];
                $status_transakcji = $_POST['t_status'];
                $id_transakcji = $_POST['t_id'];
                $kwota_transakcji = $_POST['amount'];
                $email_klienta = $_POST['email'];
                $suma_kontrolna = $_POST['md5'];
                $status = 0;
                if ($_POST['t_status'] == 2) {
                    $status = $settings['positiveorderstatusid'];
                    $comment = 'Płatność zakończona sukcesem';
                }
                if ($_POST['t_status'] == 3) {
                    $status = $settings['negativeorderstatusid'];
                    $comment = 'Płatność zakończona niepowodzeniem';
                }
                if ($status > 0) {
                    $sql = "UPDATE `order` SET orderstatusid = :status WHERE idorder = :idorder";
                    $stmt = Db::getInstance()->prepare($sql);
                    $stmt->bindValue('status', $status);
                    $stmt->bindValue('idorder', $rs['idorder']);
                    $stmt->execute();
                    $sql = 'INSERT INTO orderhistory SET
								content = :content,
								orderstatusid = :status,
								orderid = :idorder,
								inform = 0';
                    $stmt = Db::getInstance()->prepare($sql);
                    $stmt->bindValue('content', $comment);
                    $stmt->bindValue('idorder', $rs['idorder']);
                    $stmt->bindValue('status', $status);
                    $stmt->execute();
                }
            }
            print "OK";
            exit;
        }
    }
示例#30
0
    public function reportPayment()
    {
        if ($_SERVER['REMOTE_ADDR'] == '195.149.229.109' && !empty($_POST)) {
            $id_sprzedawcy = $_POST['id'];
            $status_transakcji = $_POST['tr_status'];
            $id_transakcji = $_POST['tr_id'];
            $kwota_transakcji = $_POST['tr_amount'];
            $kwota_zaplacona = $_POST['tr_paid'];
            $blad = $_POST['tr_error'];
            $data_transakcji = $_POST['tr_date'];
            $opis_transackji = $_POST['tr_desc'];
            $ciag_pomocniczy = $_POST['tr_crc'];
            $email_klienta = $_POST['tr_email'];
            $suma_kontrolna = $_POST['md5sum'];
            $sql = 'SELECT
						viewid,
						idorder
					FROM `order`
					WHERE sessionid = :crc';
            $stmt = Db::getInstance()->prepare($sql);
            $stmt->bindValue('crc', base64_decode($ciag_pomocniczy));
            $stmt->execute();
            $rs = $stmt->fetch();
            if ($rs) {
                $settings = $this->registry->core->loadModuleSettings('transferuj', $rs['viewid']);
                if ($status_transakcji == 'TRUE' && $blad == 'none') {
                    $status = $settings['positiveorderstatusid'];
                    $comment = 'Płatność zakończona sukcesem';
                } else {
                    $status = $settings['negativeorderstatusid'];
                    $comment = 'Płatność zakończona niepowodzeniem';
                }
                $sql = "UPDATE `order` SET orderstatusid = :status WHERE idorder = :idorder";
                $stmt = Db::getInstance()->prepare($sql);
                $stmt->bindValue('status', $status);
                $stmt->bindValue('idorder', $rs['idorder']);
                $stmt->execute();
                $sql = 'INSERT INTO orderhistory SET
							content = :content,
							orderstatusid = :status,
							orderid = :idorder,
							inform = 0';
                $stmt = Db::getInstance()->prepare($sql);
                $stmt->bindValue('content', $comment);
                $stmt->bindValue('idorder', $rs['idorder']);
                $stmt->bindValue('status', $status);
                $stmt->execute();
            }
            echo 'TRUE';
        }
    }