/** @todo move/rename this to definition finder -> find all in use() method */ function getDefinitions($perPage = false, $offset = false, $productId = null) { $return = array(); $vehicleFinder = new Elite_Vaf_Model_Vehicle_Finder($this->getSchema()); $vehicles = $this->doGetDefinitions($perPage, $offset, $productId); foreach ($vehicles as $vehicleStdClass) { $vehicle = $vehicleFinder->findOneByLevelIds($vehicleStdClass, Elite_Vaf_Model_Vehicle_Finder::EXACT_ONLY); array_push($return, $vehicle); } return $return; }
function createVehicleDefinition() { if (is_array($this->parent_id)) { $vehicleFinder = new Elite_Vaf_Model_Vehicle_Finder($this->getSchema()); $bind = $this->vehicleBind(); if (count($vehicleFinder->findByLevelIds($bind)) == 0) { $this->getReadAdapter()->insert('elite_definition', $bind); } } else { $this->entity->createDefinition($this->parent_id); } }
function getDefinitions() { Elite_Vaf_Helper_Data::getInstance()->storeFitInSession(); if ($this->lastLevelAlreadySelected()) { return array(); } $vehicles = array(); $vehicleFinder = new Elite_Vaf_Model_Vehicle_Finder($this->getSchema()); foreach ($this->getItems() as $level) { array_push($vehicles, $vehicleFinder->findByLevel($level->getType(), $level->getId())); } return $vehicles; }
function explode($input) { $this->input = $input; if (!$this->hasWildCards()) { return array($input); } $this->result = array(); $this->i = 0; $this->replaceAllWithWildcard(); $result = array(); $finder = new Elite_Vaf_Model_Vehicle_Finder($this->getSchema()); foreach ($finder->findByLevels($this->input) as $vehicle) { array_push($result, $vehicle->toTitleArray()); } return $result; }
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 save() { $parent_id = array(); foreach ($this->getLevelObjs() as $level) { $level->save($parent_id, null, false); $parent_id[$level->getType()] = $level->getId(); $bind[$level->getType() . '_id'] = $level->getId(); } $finder = new Elite_Vaf_Model_Vehicle_Finder($this->schema); if ($finder->vehicleExists($this->toTitleArray())) { $vehicle = $finder->findOneByLevels($this->toTitleArray()); return $this->row->id = $vehicle->getId(); } // doesnt exist, insert it try { $insertAdapter = new Elite_Vaf_Model_Db_Adapter_InsertWrapper($this->getReadAdapter()); $insertAdapter->insert('elite_definition', $bind); } catch (Exception $e) { echo $e->getMessage(); print_r($bind); print_r($this->toTitleArray()); echo $e->getTraceAsString(); exit; } $this->row->id = $this->getReadAdapter()->lastInsertId(); }
/** * @param Elite_Vaf_Model_Abstract - if is an "aggregrate" of fits ( iterate and add it's children ) */ function doAddFit($entity) { $vehicleFinder = new Elite_Vaf_Model_Vehicle_Finder(new Elite_Vaf_Model_Schema()); $params = array($entity->getType() => $entity->getTitle()); $vehicles = $vehicleFinder->findByLevels($params); return $vehicles; }
function getFlexibleDefinition() { $this->storeFitInSession(); try { $level = $this->getLevel(); $vehicle = $this->getDefinition(); if (!$vehicle) { return false; } $levelObj = $vehicle->getLevel($level); if (!$level || !$levelObj->getId()) { return false; } $vehicleFinder = new Elite_Vaf_Model_Vehicle_Finder($this->schema()); $vehicle = $vehicleFinder->findByLevel($level, $levelObj->getId()); } catch (Elite_Vaf_Exception_DefinitionNotFound $e) { return false; } return $vehicle; }