]> git.mxchange.org Git - city.git/blobdiff - application/city/main/database/frontend/city/class_CityInformationDatabaseWrapper.php
Added verifications, if the user has already founded a city and if the city name
[city.git] / application / city / main / database / frontend / city / class_CityInformationDatabaseWrapper.php
index 0fea306d70038218a75b01222e92ee88bbf0d671..0e786839a20d7b911a268d404cd9cd3f13c1bce4 100644 (file)
@@ -30,6 +30,7 @@ class CityInformationDatabaseWrapper extends BaseDatabaseWrapper implements City
        const DB_COLUMN_CITY_ID          = 'city_id';
        const DB_COLUMN_CITY_MODE        = 'city_mode';
        const DB_COLUMN_CITY_NAME        = 'city_name';
+       const DB_COLUMN_CITY_USER_ID     = 'city_user_id';
 
        /**
         * Protected constructor
@@ -124,6 +125,60 @@ class CityInformationDatabaseWrapper extends BaseDatabaseWrapper implements City
                // Return cleaned data
                return $data;
        }
+
+       /**
+        * Checks whether the user has already founded a city
+        *
+        * @return      $hasFounded             Whether the user has already founded a city
+        */
+       public function ifUserHasFoundedCity () {
+               // Get user instance
+               $userInstance = Registry::getRegistry()->getInstance('user');
+
+               // Now get a search criteria instance
+               $searchInstance = ObjectFactory::createObjectByConfiguredName('search_criteria_class');
+
+               // Search for user's cities
+               $searchInstance->addCriteria(CityInformationDatabaseWrapper::DB_COLUMN_CITY_USER_ID, $userInstance->getUserId());
+
+               // Get a result back
+               $resultInstance = $this->doSelectByCriteria($searchInstance);
+
+               // Get city manager instance
+               $managerInstance = ManagerFactory::createManagerByType('city');
+
+               // Set result instance
+               $managerInstance->setResultInstance($resultInstance);
+
+               // Has it been founded?
+               $hasFounded = $resultInstance->valid();
+
+               // Return result
+               return $hasFounded;
+       }
+
+       /**
+        * Checks whether the given city name is taken
+        *
+        * @return      $isTaken        Whether the given city name is taken
+        */
+       public function ifCityExists ($cityName) {
+               // 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_NAME, $cityName);
+               $searchInstance->setLimit(1);
+
+               // Get a result back
+               $resultInstance = $this->doSelectByCriteria($searchInstance);
+
+               // Check it
+               $isTaken = $resultInstance->valid();
+
+               // Return result
+               return $isTaken;
+       }
 }
 
 // [EOF]