]> git.mxchange.org Git - city.git/blobdiff - application/city/main/database/frontend/city/class_CityInformationDatabaseWrapper.php
Updated 'core'.
[city.git] / application / city / main / database / frontend / city / class_CityInformationDatabaseWrapper.php
index 8de393dbc975eaa3d6f965028ff279cbedead53a..6624b56100f39db126518f70953e9099e8bd38ad 100644 (file)
@@ -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]