Exemplo n.º 1
0
 /** @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;
 }
Exemplo n.º 2
0
 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);
     }
 }
Exemplo n.º 3
0
 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) {
         }
     }
 }
Exemplo n.º 6
0
 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();
 }
Exemplo n.º 7
0
 /**
  * @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;
 }