/** * @dataProvider dataForTestSet */ function testSet1($slug, $text, $result) { $area = new AreaModel(); $area->setSlug($slug); $area->setTitle($text); $this->assertEquals($result, $area->getSlugForUrl()); }
public function setFromDataBaseRow($data) { $this->id = $data['id']; $this->area_id = $data['area_id']; $this->slug = $data['slug']; $this->title = $data['title']; $this->comment = $data['comment']; $this->user_account_id = $data['user_account_id']; if (isset($data['user_account_username'])) { $this->user_account_username = $data['user_account_username']; } $this->is_deleted = $data['is_deleted']; $this->is_closed_by_admin = $data['is_closed_by_admin']; $utc = new \DateTimeZone("UTC"); $this->created_at = new \DateTime($data['created_at'], $utc); if (isset($data['area_information_slug']) && $data['area_information_slug']) { $this->area = new AreaModel(); $this->area->setTitle($data['area_information_title']); $this->area->setSlug($data['area_information_slug']); } }
public function create(AreaModel $area, AreaModel $parentArea = null, SiteModel $site, CountryModel $country, UserAccountModel $creator = null) { global $DB; try { $DB->beginTransaction(); $stat = $DB->prepare("SELECT max(slug) AS c FROM area_information WHERE site_id=:site_id"); $stat->execute(array('site_id' => $site->getId())); $data = $stat->fetch(); $area->setSlug($data['c'] + 1); if ($parentArea) { $area->setParentAreaId($parentArea->getId()); } $stat = $DB->prepare("INSERT INTO area_information (site_id, slug, title,description,country_id,parent_area_id,created_at,approved_at,cache_area_has_parent_generated, is_deleted) " . "VALUES (:site_id, :slug, :title,:description,:country_id,:parent_area_id,:created_at,:approved_at,:cache_area_has_parent_generated, '0') RETURNING id"); $stat->execute(array('site_id' => $site->getId(), 'slug' => $area->getSlug(), 'title' => substr($area->getTitle(), 0, VARCHAR_COLUMN_LENGTH_USED), 'description' => $area->getDescription(), 'country_id' => $country->getId(), 'parent_area_id' => $parentArea ? $parentArea->getId() : null, 'created_at' => \TimeSource::getFormattedForDataBase(), 'approved_at' => \TimeSource::getFormattedForDataBase(), 'cache_area_has_parent_generated' => $parentArea ? '0' : '1')); $data = $stat->fetch(); $area->setId($data['id']); $stat = $DB->prepare("INSERT INTO area_history (area_id, title,description,country_id,parent_area_id,user_account_id , created_at, approved_at, is_new, is_deleted) VALUES " . "(:area_id, :title,:description,:country_id,:parent_area_id,:user_account_id, :created_at,:approved_at,'1','0')"); $stat->execute(array('area_id' => $area->getId(), 'title' => substr($area->getTitle(), 0, VARCHAR_COLUMN_LENGTH_USED), 'description' => $area->getDescription(), 'country_id' => $country->getId(), 'parent_area_id' => $parentArea ? $parentArea->getId() : null, 'user_account_id' => $creator ? $creator->getId() : null, 'created_at' => \TimeSource::getFormattedForDataBase(), 'approved_at' => \TimeSource::getFormattedForDataBase())); $DB->commit(); } catch (Exception $e) { $DB->rollBack(); } }