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
// 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]