0171b9880033907816289bce212ba4a7b37ba28d

Author: Jeff Loiselle

Date: 2008-12-22 19:06:24 -0500

fixed area determination

diff --git a/app_controller.php b/app_controller.php index 63d8e12..1290ef8 100755 --- a/app_controller.php +++ b/app_controller.php @@ -38,7 +38,7 @@ class AppController extends Controller { var $components = array('Auth', 'Cookie'); var $helpers = array('Javascript', 'Form', 'Paginator'); - var $uses = array('User'); + var $uses = array('User', 'Area'); #var $view = 'Theme'; #var $theme = 'pressmate'; @@ -115,15 +115,20 @@ class AppController extends Controller { * determines which area is being requested */ function __determineArea() { - // will determine area to write to config, will run domains/subdomains + $url = $this->Area->Url->findByUrl(Router::url('/', true)); + $area = $this->Area->findById($url['Url']['area_id']); + if (!$area) { + $this->cakeError('error404'); + } + return $area['Area']; } /** * loads configuration from database */ function __loadConfig() { - // $area = $this->__determineArea(); - // Configure::write('Area', $area); + $area = $this->__determineArea(); + Configure::write('Area', $area); $user = $this->User->findById($this->Session->read('Auth.User.id')); Configure::write('User', $user['User']); } diff --git a/controllers/areas_controller.php b/controllers/areas_controller.php index c732487..9fcc597 100644 --- a/controllers/areas_controller.php +++ b/controllers/areas_controller.php @@ -25,7 +25,7 @@ class AreasController extends AppController { $this->redirect($this->referer()); } if (!empty($this->data)) { - if ($this->Area->save($this->data)) { + if ($this->Area->saveAll($this->data, array('validate' => 'first'))) { $this->Session->setFlash(__('Successfully updated area', true)); $this->redirect('/admin/areas'); } else { diff --git a/models/url.php b/models/url.php index 2f7447a..8dd2e16 100644 --- a/models/url.php +++ b/models/url.php @@ -18,7 +18,7 @@ class Url extends AppModel { if ($this->data[$this->alias]['url'] == 'localhost') { return true; } - return !Validation::url($this->data[$this->alias]['url']); + return Validation::url($this->data[$this->alias]['url']); } } diff --git a/views/areas/admin_edit.ctp b/views/areas/admin_edit.ctp index 239121a..4ce4437 100644 --- a/views/areas/admin_edit.ctp +++ b/views/areas/admin_edit.ctp @@ -3,6 +3,7 @@ <?php print $form->create('Area', array('action' => 'edit', 'admin' => true)) ?> <?php print $form->hidden('id') ?> <?php print $form->input('name')?> + <?php print $form->hidden('Url.0.id') ?> <?php print $form->input('Url.0.url') ?> <?php print $form->end('Update') ?> </fieldset> \ No newline at end of file