X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=application%2Fcity%2Fmain%2Fdatabase%2Ffrontend%2Fcity%2Fclass_CityInformationDatabaseWrapper.php;h=6624b56100f39db126518f70953e9099e8bd38ad;hb=a4d43c71eff407c75cc8ed59bc382267c16ec52c;hp=8de393dbc975eaa3d6f965028ff279cbedead53a;hpb=434ac4c43f3b450e25001111584298ee42b8e12a;p=city.git diff --git a/application/city/main/database/frontend/city/class_CityInformationDatabaseWrapper.php b/application/city/main/database/frontend/city/class_CityInformationDatabaseWrapper.php index 8de393d..6624b56 100644 --- a/application/city/main/database/frontend/city/class_CityInformationDatabaseWrapper.php +++ b/application/city/main/database/frontend/city/class_CityInformationDatabaseWrapper.php @@ -65,28 +65,25 @@ class CityInformationDatabaseWrapper extends BaseDatabaseWrapper implements City * @return $isFound Whether a city id has been found for this city */ public function ifCityDataIsFound (CityHelper $cityInstance) { - // Is there cache? - if (!isset($GLOBALS[__METHOD__])) { - // Now get a search criteria instance - $searchInstance = ObjectFactory::createObjectByConfiguredName('search_criteria_class'); + // Now get a search criteria instance + $searchInstance = ObjectFactory::createObjectByConfiguredName('search_criteria_class'); - // Search for the city number one which is hard-coded the default - $searchInstance->addCriteria(CityInformationDatabaseWrapper::DB_COLUMN_CITY_ID , 1); - $searchInstance->addCriteria(CityInformationDatabaseWrapper::DB_COLUMN_CITY_MODE, $cityInstance->getRequestInstance()->getRequestElement('mode')); - $searchInstance->setLimit(1); + // Search for the city number one which is hard-coded the default + $searchInstance->addCriteria(CityInformationDatabaseWrapper::DB_COLUMN_CITY_ID , 1); + $searchInstance->addCriteria(CityInformationDatabaseWrapper::DB_COLUMN_CITY_MODE, $cityInstance->getRequestInstance()->getRequestElement('mode')); + $searchInstance->setLimit(1); - // Get a result back - $resultInstance = $this->doSelectByCriteria($searchInstance); + // Get a result back + $resultInstance = $this->doSelectByCriteria($searchInstance); - // Set result instance in city instance - $cityInstance->setResultInstance($resultInstance); + // Set result instance in city instance + $cityInstance->setResultInstance($resultInstance); - // Is it valid? - $GLOBALS[__METHOD__] = $resultInstance->next(); - } // END - if + // Is it valid? + $isFound = $resultInstance->next(); // Return it - return $GLOBALS[__METHOD__]; + return $isFound; } /** @@ -97,7 +94,7 @@ class CityInformationDatabaseWrapper extends BaseDatabaseWrapper implements City * @param $requestInstance An instance of a Requestable class * @return void */ - public function registerCityId (BaseCity $cityInstance, Requestable $requestInstance) { + public function registerCityId (BaseCityDaemon $cityInstance, Requestable $requestInstance) { // Get a dataset instance $dataSetInstance = ObjectFactory::createObjectByConfiguredName('dataset_criteria_class', array(self::DB_TABLE_CITY_INFORMATION)); @@ -151,7 +148,7 @@ class CityInformationDatabaseWrapper extends BaseDatabaseWrapper implements City $managerInstance->setResultInstance($resultInstance); // Has it been founded? - $hasFounded = $resultInstance->valid(); + $hasFounded = $resultInstance->next(); // Return result return $hasFounded; @@ -225,6 +222,43 @@ class CityInformationDatabaseWrapper extends BaseDatabaseWrapper implements City // Post-check name assert($this->ifCityExists($cityName)); } + + /** + * Getter for all city ids as an array + * + * @return $cityIds All city ids as an array + */ + public function getAllCityIds () { + // Init empty search instance + $searchInstance = ObjectFactory::createObjectByConfiguredName('search_criteria_class'); + + // And run it on the database + $resultInstance = $this->doSelectByCriteria($searchInstance); + + // Init array + $cityIds = array(); + + // Anything found? + if ($resultInstance->count() == 0) { + // Nothing found + return $cityIds; + } // END - if + + // Now get all 'city_id' columns + while ($resultInstance->next()) { + // Get current entry + $current = $resultInstance->current(); + + // 'city_id' should be there + assert(isset($current[self::DB_COLUMN_CITY_ID])); + + // Add it to the array + array_push($cityIds, $current[self::DB_COLUMN_CITY_ID]); + } // END - while + + // Return result + return $cityIds; + } } // [EOF]