protected function getSchema() { $schema = new Elite_Vaf_Model_Schema(); $schema->setConfig($this->getCOnfig()); /** @todo potential linux bug needs regression test */ return $schema; }
function run() { $schema = new Elite_Vaf_Model_Schema(); $db = Elite_Vaf_Helper_Data::getInstance()->getReadAdapter(); foreach ($schema->getLevels() as $level) { $db->query('ALTER TABLE `elite_mapping` ADD INDEX ( `entity_id` ) ;'); } }
function getSchema() { $schema = new Elite_Vaf_Model_Schema(); if (!is_null($this->getConfig())) { $schema->setConfig($this->getConfig()); } return $schema; }
function run() { $schema = new Elite_Vaf_Model_Schema(); $db = Elite_Vaf_Helper_Data::getInstance()->getReadAdapter(); foreach ($schema->getLevels() as $level) { $db->query('ALTER TABLE `elite_level_' . str_replace(' ', '_', $level) . '` ADD INDEX ( `title` ) '); } }
function setSortingLevels() { $schema = new Elite_Vaf_Model_Schema(); foreach ($schema->getLevels() as $level) { if (isset($_GET[$level . 'Sorting'])) { $this->generator()->setSorting($level, $_GET[$level . 'Sorting']); } } }
function run() { $schema = new Elite_Vaf_Model_Schema(); $db = Elite_Vaf_Helper_Data::getInstance()->getReadAdapter(); foreach ($schema->getLevels() as $level) { $old = 'elite_' . $level; $new = 'elite_level_' . $level; $db->query(sprintf("RENAME TABLE %s TO %s", $old, $new)); } }
function levels() { $params = $this->getRequest()->getParam('vehicle'); $params = explode("-", $params); $schema = new Elite_Vaf_Model_Schema(); $levels = array(); foreach ($schema->getLevels() as $level) { $levels[$level] = current($params); next($params); } return $levels; }
protected function rowResult() { $this->getReadAdapter()->getConnection()->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, true); $select = $this->getReadAdapter()->select()->from('elite_mapping', array('id', 'universal')); foreach ($this->schema->getLevels() as $level) { $table = 'elite_level_' . $level; $condition = sprintf('%s.id = elite_mapping.%s_id', $table, $level); $select->joinLeft($table, $condition, array($level => 'title')); } $select->joinLeft(array('p' => $this->getProductTable()), 'p.entity_id = elite_mapping.entity_id', array('sku')); return $this->query($select); }
function addUniqueOnMappings() { $schema = new Elite_Vaf_Model_Schema(); $db = Elite_Vaf_Helper_Data::getInstance()->getReadAdapter(); $levels = array(); foreach ($schema->getLevels() as $level) { $levels[] = sprintf('`%s_id`', $level); } $levels[] = 'universal'; $levels[] = 'entity_id'; $levels = implode(',', $levels); $query = "ALTER TABLE `elite_mapping` ADD UNIQUE ( %s );"; $db->query(sprintf($query, $levels)); }
function removeFitments($request, $product) { $schema = new Elite_Vaf_Model_Schema(); if (is_array($request->getParam('vaf-delete')) && count($request->getParam('vaf-delete')) >= 1) { foreach ($request->getParam('vaf-delete', array()) as $fit) { $fit = explode('-', $fit); $level = $fit[0]; $fit = $fit[1]; if ($level == $schema->getLeafLevel()) { $product->deleteVafFit($fit); } } } }
protected function saveLeafLevels() { $schema = new Elite_Vaf_Model_Schema(); $select = $this->getReadAdapter()->select()->from('elite_' . $schema->getLeafLevel()); $result = $select->query(); $vehicleFinder = new Elite_Vaf_Model_Vehicle_Finder($schema); foreach ($result->fetchAll(Zend_Db::FETCH_OBJ) as $row) { $vehicle = $vehicleFinder->findByLeaf($row->id); $bind = array(); foreach ($schema->getLevels() as $level) { $bind[$level . '_id'] = $vehicle->getLevel($level)->getId(); } try { $this->getReadAdapter()->insert('elite_definition', $bind); } catch (Exception $e) { } } }
function selectionPart() { $vehicle = Elite_Vaf_Helper_Data::getInstance()->getFit(); if (!$vehicle) { return false; } if ($this->getConfig()->logo->level) { $level = $this->getConfig()->logo->level; return $vehicle->getLevel($level)->__toString(); } $schema = new Elite_Vaf_Model_Schema(); if (in_array('make', $schema->getLevels())) { $make = $vehicle->getLevel('make'); if (!$make) { return false; } return $make->__toString(); } $rootLevel = $schema->getRootLevel(); return $vehicle->getLevel($rootLevel)->__toString(); }
function save() { if (!(int) $this->product_id) { throw new Exception('Trying to insert a mapping with no product ID'); } $schema = new Elite_Vaf_Model_Schema(); $schema->setConfig($this->getConfig()); $levels = $schema->getLevels(); $select = $this->getReadAdapter()->select()->from('elite_mapping', array('id')); foreach ($this->vehicle->toValueArray() as $level => $id) { $select->where($this->inflect($level) . '_id = ?', $id); } $select->where('entity_id = ?', $this->product_id); $id = (int) $select->query()->fetchColumn(); if (0 !== $id) { return $id; } $columns = ''; $values = ''; foreach ($levels as $level) { $columns .= '`' . $this->inflect($level) . '_id`,'; $values .= $this->inflect($this->vehicle->getLevel($level)->getId()); $values .= ','; } $query = sprintf(' INSERT INTO `elite_mapping` ( ' . $columns . ' `entity_id` ) VALUES ( ' . $values . ' %d ) ', (int) $this->product_id); $r = $this->query($query); return $this->getReadAdapter()->lastInsertId(); }
function vafDoLevel($level, $parent_id = 0) { $schema = new Elite_Vaf_Model_Schema(); $finder = new Elite_Vaf_Model_Level($level); $parentLevel = $schema->getPrevLevel($level); if ($parentLevel) { $entities = $finder->listInUse(array($parentLevel => $parent_id)); } else { $entities = $finder->listInUse(); } echo $level . '["' . $parent_id . '"] = new Array();'; foreach ($entities as $entity) { ?> var obj = new Array(); obj["title"] = "<?php echo $entity->getTitle(); ?> "; obj["id"] = "<?php echo $entity->getId(); ?> "; <?php echo $level; ?> ["<?php echo $parent_id; ?> "].push( obj ); <?php if ($level != $schema->getLeafLevel()) { vafDoLevel($schema->getNextLevel($level), $entity->getId()); } echo "\n"; } }
static function reset() { self::$levels = ''; self::$global_status = ''; }
function getDefaultLevel() { $schema = new Elite_Vaf_Model_Schema(); $schema->setConfig($this->getConfig()); return $schema->getRootLevel(); }
function getSchema() { $schema = new Elite_Vaf_Model_Schema(); $schema->setConfig($this->getConfig()); return $schema; }
function renderAvailable() { ob_start(); ?> <?php $schema = new Elite_Vaf_Model_Schema(); $levels = $schema->getLevels(); foreach ($levels as $level) { ?> <div class="multiTree-selectContainer" > <?php echo ucfirst($this->htmlEscape($level)); ?> :<br /> <?php $metadata = "{level:'{$level}', parent:'" . $schema->getPrevLevel($level) . "', parents:'" . implode(',', $schema->getPrevLevels($level)) . "', parents_including:'" . implode(',', $schema->getPrevLevelsIncluding($level)) . "' }"; ?> <select class="multiTree-select <?php echo $level; ?> Select <?php echo $metadata; ?> " multiple="multiple"> <?php if ($schema->getRootLevel() == $level) { foreach ($this->listEntities($schema->getRootLevel()) as $entity) { ?> <option value="<?php echo $entity->getId(); ?> "><?php echo $entity->getTitle(); ?> </option> <?php } } ?> </select> <br /> Quick Add: <br /> <input type="text" class="vafQuickAdd vafQuickAdd_<?php echo $level; ?> {level:'<?php echo $level; ?> '}" name="vafQuickAdd_<?php echo $level; ?> " /> <input type="button" class="vafQuickAddSubmit vafQuickAddSubmit_<?php echo $level; ?> {level:'<?php echo $level; ?> '}" name="vafQuickAddSubmit_<?php echo $level; ?> " value="+" /> <br /> <span class="multiTree-levelName" style="display:none;"><?php echo $level; ?> </span> </div> <?php } ?> <input class="multiTree-Add" type="button" value="Add +" /> <?php return ob_get_clean(); }
/** * Create duplicate * * @return Mage_Catalog_Model_Product */ function duplicate() { $schema = new Elite_Vaf_Model_Schema(); $vehicleFinder = new Elite_Vaf_Model_Vehicle_Finder($schema); $leaf = $schema->getLeafLevel() . '_id'; $newProduct = parent::duplicate(); foreach ($this->getFits() as $fit) { $vehicle = $vehicleFinder->findByLeaf($fit->{$leaf}); $newProduct->insertMapping($vehicle); } if ($this->isUniversal()) { $newProduct->setUniversal(true); } return $newProduct; }
<?php $db = Elite_Vaf_Helper_Data::getInstance()->getReadAdapter(); $query = "CREATE TABLE `elite_schema` (\n`key` VARCHAR( 25 ) NOT NULL ,\n`value` VARCHAR( 255 ) NOT NULL\n) ENGINE = InnoDB;"; $db->query($query); $schema = new Elite_Vaf_Model_Schema(); $levels = $schema->getLevels(); if (!count($levels)) { $levels = array('make', 'model', 'year'); } foreach ($levels as $level) { if (!trim($level)) { $levels = array('make', 'model', 'year'); } } $db->insert('elite_schema', array('key' => 'levels', 'value' => implode(',', $levels)));
function getLeafLevel() { $schema = new Elite_Vaf_Model_Schema(); return $schema->getLeafLevel(); }
/** @param Elite_Vaf_Model_Vehicle */ private static function getValues($vehicle, Elite_Vaf_Model_Schema $schema) { $values = ''; $levels = $schema->getLevels(); $values = ''; $c = count($levels); $i = 0; foreach ($levels as $level) { $i++; $values .= $vehicle->getLevel($level)->getId(); if ($i < $c) { $values .= ','; } } return $values; }
protected function levelIsOutsideFlexibleSelection($level) { return $this->lastFlexibleLevel && $level != $this->lastFlexibleLevel && !$this->schema->levelIsBefore($level, $this->lastFlexibleLevel); }
/** @todo move to importer model */ protected function formatMessages() { $schema = new Elite_Vaf_Model_Schema(); $this->formatMessage('<strong>Vehicles List Import Results</strong>'); $this->formatMessage(number_format($this->importer->getCountAddedVehicles()) . ' Vehicles Added'); foreach ($schema->getLevels() as $level) { $this->formatMessage(number_format($this->importer->getCountAddedByLevel($level)) . ' ' . $level . 's Added'); } // if( $this->importer->getCountSkippedDefinitions() > 0 ) // { // $this->formatMessage( number_format( $this->importer->getCountSkippedDefinitions() ) . ' vehicles skipped because they already existed, your csv contained overlapping ranges or duplicate vehicles.' ); // } $this->doFormatMessages(); }