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
 /**
  * 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. 3
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. 4
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;
                 }