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'];
Example #3
0
/**
 * 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;
}
Example #4
0
<?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;
}
Example #5
0
    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"));
}
Example #8
0
    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()