Esempio n. 1
0
 public function prepareProductCollection($collection)
 {
     parent::prepareProductCollection($collection);
     $query = Mage::helper('catalogsearch')->getQuery();
     $queryText = trim($query->getQueryText());
     do {
         $temp = $queryText;
         $queryText = str_replace('  ', ' ', $queryText);
     } while ($temp != $queryText);
     //		$words = addslashes(str_replace(' ', ',', $queryText));
     $words = explode(' ', $queryText);
     $joinCondition = array();
     foreach (Vikont_Pulliver_Helper_Sku::getDistributorFieldNames() as $dFieldName) {
         foreach ($words as $word) {
             $joinCondition[] = "pn.d_{$dFieldName}='" . addslashes($word) . "'";
         }
     }
     /*
     		$collection->getSelect()
     			->joinLeft(
     				array('pn' => Mage::getSingleton('core/resource')->getTableName('oemdb/sku')),
     				'e.sku = pn.sku AND (' . implode(' OR ', $joinCondition) . ')',
     				null,
     				(string) Mage::getConfig()->getNode('global/resources/oemdb_database/connection/dbname')
     			);
      /**/
     //sql($collection);
     //die;
     return $this;
 }
Esempio n. 2
0
 public static function loadMagentoIds($attributeCode)
 {
     $attribute = Mage::getSingleton('eav/config')->getAttribute(Mage_Catalog_Model_Product::ENTITY, $attributeCode);
     $values = Vikont_Pulliver_Helper_Db::getTableValues($attribute->getBackendTable(), array('value', 'entity_id'), array('store_id=0', 'attribute_id=' . $attribute->getAttributeId()), 10);
     self::$_itemNumbers2ids = array();
     foreach ($values as $value) {
         self::$_itemNumbers2ids[$value['entity_id']] = $value['value'];
     }
     unset($values);
     $values = Vikont_Pulliver_Helper_Db::getTableValues('catalog/product', array('entity_id', 'sku'));
     self::$_skus2ids = array();
     foreach ($values as $value) {
         self::$_skus2ids[$value['entity_id']] = $value['sku'];
     }
     unset($values);
 }
Esempio n. 3
0
 /**
  * Render the grid cell value
  *
  * @param Varien_Object $row
  * @return string
  */
 public function render(Varien_Object $row)
 {
     $html = $row->getData($this->getColumn()->getIndex());
     if ($partNumber = $this->getFilteredValue('part_number')) {
         $distribs = array();
         foreach (Vikont_Pulliver_Helper_Sku::getDistributorFieldNames() as $dCode => $dField) {
             $dNumbers = explode(',', $row->getData('gd_' . $dField));
             foreach ($dNumbers as $dNumber) {
                 if ($partNumber == $dNumber) {
                     $distribs[] = '<span class="pulliver-distribs-part-number">' . htmlspecialchars($dCode) . '</span>';
                     break;
                 }
             }
         }
         $html .= '<div class="pulliver-distribs">' . implode(',', $distribs) . '</div>';
     }
     return $html;
 }
Esempio n. 4
0
 protected function _prepareCollection()
 {
     $this->_prepareCollectionBefore();
     $filter = $this->getParam($this->getVarNameFilter(), null);
     $data = $this->helper('adminhtml')->prepareFilterString($filter);
     if (isset($data['part_number'])) {
         $partNumber = addslashes($data['part_number']);
         $joinCondition = array();
         $extraFields = array();
         foreach (Vikont_Pulliver_Helper_Sku::getDistributorFieldNames() as $dFieldName) {
             $joinCondition[] = "pn.d_{$dFieldName}='{$partNumber}'";
             $extraFields['gd_' . $dFieldName] = new Zend_Db_Expr('GROUP_CONCAT(d_' . $dFieldName . ')');
         }
         $this->getCollection()->getSelect()->joinInner(array('pn' => Mage::getSingleton('core/resource')->getTableName('oemdb/sku')), 'e.sku = pn.sku AND (' . implode(' OR ', $joinCondition) . ')', $extraFields, (string) Mage::getConfig()->getNode('global/resources/oemdb_database/connection/dbname'));
     }
     $this->_prepareCollectionAfter();
     return $this;
 }
Esempio n. 5
0
<?php

ini_set('memory_limit', '2048M');
ini_set('max_execution_time', '600');
set_time_limit(0);
$mageRoot = dirname(dirname(getcwd()));
require $mageRoot . '/Vic.php';
require $mageRoot . '/app/Mage.php';
Mage::app('admin')->setUseSessionInUrl(false);
umask(0);
// = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
Vikont_Pulliver_Model_Log::setLogFileName('pulliver.log');
Vikont_Pulliver_Helper_Data::setSilentExceptions(true);
$commonHelper = Mage::helper('pulliver');
$moduleHelper = Mage::helper('pulliver/LightSpeed');
$skuHelper = Mage::helper('pulliver/Sku');
//vd(Vikont_Pulliver_Helper_Sku::getSkuByItemNumber('punlim', '4010-0075'));
vd(Vikont_Pulliver_Helper_Sku::getSkuByItemNumber('FX', '01179-001-S'));
Esempio n. 6
0
            Vikont_Pulliver_Helper_Data::throwException(sprintf('No %s file found in the downloaded archive %s at %s', $priceFileName, $downloadedFileName, $dirName));
        }
    } else {
        Vikont_Pulliver_Helper_Data::inform(sprintf('Skipped downloading and extracting, using local file %s', $inventoryFileName));
    }
    $update = $moduleHelper->parseFile($inventoryFileName);
    if ($dumpParsedFileName = $params->getData('dump_parsed_file')) {
        $dumpParsedFileName = $moduleHelper->getLocalFileName($dumpParsedFileName);
        $fHandle = $commonHelper->openFile($dumpParsedFileName);
        foreach ($update as $qtys) {
            fputcsv($fHandle, $qtys);
        }
        fclose($fHandle);
        Vikont_Pulliver_Helper_Data::inform(sprintf('Successfully created a dump of parsed file %s', $dumpParsedFileName));
    }
    $outputFileName = $moduleHelper->getLocalFileName('inventory.csv');
    $fileHandle = $commonHelper->openFile($outputFileName);
    $lineCounter = 0;
    foreach ($update as $qtys) {
        if ($sku = Vikont_Pulliver_Helper_Sku::getSkuByItemNumber('PU', $qtys[0])) {
            $qtys[0] = $sku;
            fputcsv($fileHandle, $qtys);
            $lineCounter++;
        }
    }
    fclose($fileHandle);
    Vikont_Pulliver_Helper_Data::inform(sprintf('Successfully created file %s, %d lines processed, %d lines added', $outputFileName, count($update), $lineCounter));
} catch (Exception $e) {
    Mage::logException($e);
    Vikont_Pulliver_Helper_Data::inform($e->getMessage());
}
Esempio n. 7
0
         break;
     }
     Vikont_Pulliver_Helper_Data::inform(sprintf("Data decoded successfully, %d rows have been read", count($data)));
 } else {
     Vikont_Pulliver_Helper_Data::inform('ERROR: could not decode inventory');
     continue;
 }
 // file stuff
 $outputFileName = $moduleHelper->getLocalFileName('lightspeed-' . $vendor . '.csv');
 $fileHandle = $commonHelper->openFile($outputFileName);
 //		$tmsReviewFileName = $moduleHelper->getLocalFileName('review-'.$vendor.'.csv');
 //		$reviewFileNeedsHeader = !(file_exists($tmsReviewFileName) && filesize($tmsReviewFileName));
 $tmsReviewFileName = $moduleHelper->getLocalFileName('review-' . $vendor . '-' . time() . '.csv');
 $reviewFileNeedsHeader = true;
 $tmsReviewFileHandle = null;
 $distributorFieldNames = Vikont_Pulliver_Helper_Sku::getDistributorFieldNames();
 $lineCounter = 0;
 foreach ($data as $item) {
     if ($sku = $skuHelper->getSkuByItemNumber($item['SupplierCode'], $item['PartNumber'])) {
         fputcsv($fileHandle, array($sku, $item['Avail']));
         $lineCounter++;
     } else {
         if ($isWarehouse && $moduleHelper->productIsOEM($item)) {
             $skuHelper->updateOEMtable($item, $isWarehouse);
         } else {
             if (!$tmsReviewFileHandle) {
                 $tmsReviewFileHandle = fopen($tmsReviewFileName, 'ab');
                 if ($reviewFileNeedsHeader) {
                     fputcsv($tmsReviewFileHandle, array_keys($item));
                     $reviewFileNeedsHeader = false;
                 }