0171b9880033907816289bce212ba4a7b37ba28d
Author: Jeff Loiselle
Date: 2008-12-22 19:06:24 -0500
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
