public function onSalesModelServiceQuoteSubmitSuccess($observer) { $order = $observer->getOrder(); if ($order->getInstallmentTypeId()) { $orderId = $order->getRealOrderId(); $installment = Mage::getModel('installment/master')->getCollection(); $date = date("Y-m-d", Mage::getModel('core/date')->timestamp(time())) . ' 23:59:59'; $installment->addFieldToFilter('order_id', $orderId)->addFieldToFilter('installment_master_amount_due_date', array('lt' => $date)); foreach ($installment as $transaction) { $maxAttempt = Mage::getStoreConfig('installment/grace_period_options/grace_period_attempts', $order->getStoreId()); $attempt = $transaction->getInstallmentMasterAttemptToAuthorize() + 1; if ($attempt <= $maxAttempt) { $amount = $transaction->getInstallmentMasterAmountDue(); $payment = $order->getPayment(); $payment->getMethodInstance()->setStore($order->getStoreId())->authorize($payment, $amount); $payment->addTransaction(Mage_Sales_Model_Order_Payment_Transaction::TYPE_AUTH, null, false, sprintf('Authorized amount of %s for installment payment #%s', $amount, $transaction->getInstallmentMasterSequenceNumber())); if ($payment->getStatus() == 'Approved') { $order->setState(Mage_Sales_Model_Order::STATE_PROCESSING, 'ready_to_print')->save(); $transaction->setInstallmentMasterInstallmentAuthorized(true)->setInstallmentMasterAttemptToAuthorize($attempt)->save(); // Insert row into installment_transaction for the order $poNumber = $payment->getPoNumber(); list($customerProfileId, $paymentProfileId, $authorizeCode) = explode('-', $poNumber); $currencyCode = Mage::app()->getStore($order->getStoreId())->getCurrentCurrencyCode(); $installmentTrans = Mage::getModel('installment/transaction'); $installmentTrans->setOrderId($orderId)->setInstallmentTransactionTransactionSequenceNumber($attempt)->setInstallmentTransactionPaymentToken($payment->getCcTransId() . '-' . $payment->getPoNumber())->setInstallmentTransactionSequenceNumber($transaction->getInstallmentMasterSequenceNumber())->setInstallmentTransactionAuthorizeAmount($amount)->setInstallmentTransactionAuthorizeAttemptDate($payment->getCreatedAt())->setInstallmentTransactionAuthorizationCode($authorizeCode)->setInstallmentTransactionCurrencyCode($currencyCode)->save(); // Generate offline invoice for order if (!$order->canInvoice()) { Mage::throwException(Mage::helper('core')->__('Cannot create an invoice.')); } $invoice = Mage::getModel('sales/service_order', $order)->prepareInvoice(); if (!$invoice->getTotalQty()) { Mage::throwException(Mage::helper('core')->__('Cannot create an invoice without products.')); } $invoice->setRequestedCaptureCase(Mage_Sales_Model_Order_Invoice::CAPTURE_OFFLINE); $invoice->register(); $transactionSave = Mage::getModel('core/resource_transaction')->addObject($invoice)->addObject($invoice->getOrder()); $transactionSave->save(); $invoice->setState(Mage_Sales_Model_Order_Invoice::STATE_OPEN)->save(); } else { // Increase auth attempt for installment master record and update due date $date = NGC_Installment_Model_Master::calculateAmountDueDate(Mage::getStoreConfig('installment/grace_period_options/grace_period_days', $order > getStoreId())); $transaction->setInstallmentMasterAttemptToAuthorize($attempt)->setInstallmentMasterAmountDueDate($date)->save(); // Insert installment transaction record with failed auth details $installmentTrans = Mage::getModel('installment/transaction'); $installmentTrans->setOrderId($orderId)->setInstallmentTransactionTransactionSequenceNumber($attempt)->setInstallmentTransactionPaymentToken($payment->getCcTransId() . '-' . $payment->getPoNumber())->setInstallmentTransactionSequenceNumber($transaction->getInstallmentMasterSequenceNumber())->setInstallmentTransactionAuthorizeAmount($amount)->setInstallmentTransactionAuthorizeAttemptDate($payment->getCreatedAt())->setInstallmentTransactionDeclineCode($authorizeCode)->setInstallmentTransactionDeclineTransationMessage($payment->getDeclineCode())->setInstallmentTransactionCurrencyCode($currencyCode)->save(); $fmtAmount = $payment->getOrder()->getBaseCurrency()->formatTxt($amount); $message = Mage::helper('sales')->__('Failed to captured amount of %s for installment payment #%s', $fmtAmount, $transaction->getInstallmentMasterSequenceNumber()); $order->setState(Mage_Sales_Model_Order::STATE_PROCESSING, 'installment_capture_failed', $message)->save(); } } else { // Max auth attempts have been reached, suspend current & future installment payments and update as hard decline NGC_Installment_Model_Master::suspendInstallmentPayment($orderId, $transaction->getInstallmentMasterSequenceNumber()); } } } }
//require_once('plataform.php'); chdir('../pages/store'); if (!isset($_GET["store"]) or !storeExists($_GET["store"])) { header("Location: ../index.php"); } // Update paths function updatePath($elem) { if ($elem["filename"] != 'imageurl') { $elem["file"] = "../../files/" . $elem["file"]; } return $elem; } /* BEGIN -- Get store data */ $domain = $_GET["store"]; $storeId = getStoreId($domain); // Logo $logoPath = getStoreLogo($domain); // Categories $categories = getCategories($storeId); // Products $searchTerm = $_GET["terms"]; $products = searchOnStore($storeId, $searchTerm, 30); $products = array_map("updatePath", $products); // Vat $vat_oux = getStoreById($storeId); $vat = $vat_oux[0]["vat"]; //loged in user $smarty->assign('userPermission', 'guest'); if (isset($_SESSION['storesLogin'][$storeId]['userId'])) { $userInfo = $_SESSION['storesLogin'][$storeId]['userId'];
/** * writes imported assets to the magento cache machinery * there is two assets defined within the imported object * i would not knwo the reason * they get labeled the1st and the2nd from now on * image paths delivered by the import objects look like: "magpic/[some.png]" * the "magpic/" is *wrong */ function writeImportedAssets() { logger("writeImportedAssets()"); global $productContainer; global $magicImportIDs; foreach ($productContainer as $product) { if (false === ($prod = Mage::getModel("catalog/product")->loadByAttribute("sku", $product[0]["sku"]))) { return false; } // clears gallery of current product clearGallery($prod); // imports the "default" image $prod = $prod->load($prod->getId()); $prod->setStoreId(getStoreId("default")); $visibility = array("image", "small_image", "thumbnail"); $name = str_replace("magpic/", "", $prod->getImage()); // print ">" . $prod->getImage() . "\n"; writeImportedAsset($prod, $name, "the1st", $visibility); // imports magic images /* $sku = $product[0]["sku"]; $importedFileNames = array(); $magicIndex = 0; for($i = 0; $i < count($magicImportIDs["images"][$sku]); $i++){ $id = $magicImportIDs["images"][$sku][$i]; // do not import the same magic asset twice $fileName = $product[$id]["image"]; if(!in_array($fileName, $importedFileNames)){ $importedFileNames[]= $fileName; $label = "magic-asset-" . $magicIndex; $magicIndex++; $visibility = array(); writeImportedAsset($prod, $name = str_replace("magpic/", "", $fileName), $label, $visibility); } } */ $prod->save(); } return true; }
<?php /** * Creates a ghost copy of the default shop-view * The ghost copy will not get edited at importing new products */ require_once "mygassi-config.php"; require_once "mygassi-logger.php"; require_once mageroot; Mage::app(); $coll = Mage::getModel("catalog/product")->getCollection(); $ghostStoreId = getStoreId("ghost"); print "ghostStoreId: " . $ghostStoreId; foreach ($coll as $product) { $prod = $product->load($product->getId()); $prod->setStoreId($ghostStoreId); $prod->save(); } function getStoreId($code = "default") { $allStores = Mage::app()->getStores(); $res = 0; foreach ($allStores as $eachStoreId => $val) { $storeCode = Mage::app()->getStore($eachStoreId)->getCode(); $storeId = Mage::app()->getStore($eachStoreId)->getId(); if ($code === $storeCode) { $res = $storeId; } } return $res; }
require ROOT_PATH . 'includes/cls_json.php'; $res = array('error' => 0, 'message' => ''); $move_id = isset($_REQUEST['move_id']) && intval($_REQUEST['move_id']) > 0 ? intval($_REQUEST['move_id']) : 0; $json = new JSON(); if ($move_id <= 0) { $res['message'] = '非法操作'; die($json->encode($res)); } $rec_id = $db->getOne('select rec_id from ' . $ecs->table('store_inout_list') . " where move_id=" . $move_id); $db->query("delete from " . $ecs->table('store_inout_goods') . " where inout_rec_id = " . $rec_id); $db->query("delete from " . $ecs->table('store_inout_list') . " where rec_id = " . $rec_id); $db->query("delete from " . $ecs->table('store_move') . " where move_id = " . $move_id); $res['error'] = $move_id; die($json->encode($res)); } elseif ($_REQUEST['act'] == 'query') { $store_info = getStoreId($_SESSION['supplier_user_id']); $store_str = implode(',', $store_info); $info = getMoveList($store_str); $smarty->assign('info', $info['arr']); $smarty->assign('filter', $info['filter']); $smarty->assign('record_count', $info['record_count']); $smarty->assign('page_count', $info['page_count']); $sort_flag = sort_flag($info['filter']); $smarty->assign($sort_flag['tag'], $sort_flag['img']); make_json_result($smarty->fetch('store_move.htm'), '', array('filter' => $info['filter'], 'page_count' => $info['page_count'])); } //////////////////////////////////////////////////////////////////////////方法//////////////////////////////////////////// /* 获取所有的仓库 */ function getAllStock()
<?php require_once "mygassi-config.php"; require_once "mygassi-logger.php"; require_once mageroot; Mage::app(); logger("Starting: check-missing-images"); $coll = Mage::getModel("catalog/product")->getCollection(); $m = 0; $n = 0; $t = 0; $buff = ""; foreach ($coll as $prod) { $prod = Mage::getModel("catalog/product")->setStoreId(getStoreId("default"))->load($prod->getId()); $missing = true; foreach ($prod->getMediaGalleryImages() as $image) { // print $t . " : " . $n . " : SKU: " . $prod->getSku() . " image->getFile(): " . $image->getFile() . "\n"; $missing = false; $n++; } if ($missing) { // print $t . " : " . $m . " : SKU: " . $prod->getSku() . " '" .$prod->getName() . "' hat kein Produktbild.\n"; $buff .= "SKU: " . $prod->getSku() . " '" . $prod->getName() . "' hat kein Produktbild.\n"; $m++; } $t++; } file_put_contents(MissingAssetLogPath, $buff); function getStoreId($code = "default") { $allStores = Mage::app()->getStores();
<?php header('Content-type: application/json'); chdir('../../common'); require_once 'init.php'; chdir('../database'); require_once 'storeFrontend.php'; require_once 'plataform.php'; chdir('../actions'); require_once 'plataform.php'; chdir('../ajax/plataform'); if (isset($_GET['email']) and isset($_GET['domain'])) { $merchantEmail = (string) $_GET['email']; $storeDomain = (string) $_GET['domain']; $merchantId = getMerchantByEmail($merchantEmail); $merchantId = $merchantId["id"]; $storeId = getStoreId($storeDomain); addStoreOwner($storeId, $merchantId); echo json_encode(array("result" => "ok")); } else { echo json_encode(array("result" => "missingParams")); }
require ROOT_PATH . 'includes/cls_json.php'; $res = array('error' => 0, 'message' => ''); $move_id = isset($_REQUEST['move_id']) && intval($_REQUEST['move_id']) > 0 ? intval($_REQUEST['move_id']) : 0; $json = new JSON(); if ($move_id <= 0) { $res['message'] = '非法操作'; die($json->encode($res)); } $rec_id = $db->getOne('select rec_id from ' . $ecs->table('store_inout_list') . " where move_id=" . $move_id); $db->query("delete from " . $ecs->table('store_inout_goods') . " where inout_rec_id = " . $rec_id); $db->query("delete from " . $ecs->table('store_inout_list') . " where rec_id = " . $rec_id); $db->query("delete from " . $ecs->table('store_move') . " where move_id = " . $move_id); $res['error'] = $move_id; die($json->encode($res)); } elseif ($_REQUEST['act'] == 'query') { $store_info = getStoreId($_SESSION['admin_id']); $store_str = implode(',', $store_info); $info = getMoveList($store_str); $smarty->assign('info', $info['arr']); $smarty->assign('filter', $info['filter']); $smarty->assign('record_count', $info['record_count']); $smarty->assign('page_count', $info['page_count']); $sort_flag = sort_flag($info['filter']); $smarty->assign($sort_flag['tag'], $sort_flag['img']); make_json_result($smarty->fetch('store_move.htm'), '', array('filter' => $info['filter'], 'page_count' => $info['page_count'])); } //////////////////////////////////////////////////////////////////////////方法//////////////////////////////////////////// /* 获取所有的仓库 */ function getAllStock()