public function sync() { $this->layout = 'ajax'; Configure::write('debug', 0); App::uses('AclExtras', 'AclManagement.Lib'); $acl = new AclExtras(); $acl->aco_sync(); $permissions = ClassRegistry::init('Permission'); $checkAdminPerm = $permissions->find('count', array('conditions' => array('aro_id' => 1, 'aco_id' => 1))); if ($checkAdminPerm <= 0) { //Allow admins to everything $this->loadModel('Group'); $group = $this->Group; $group->id = 1; $this->Acl->allow($group, 'controllers'); } $this->set('results', $this->__acosList()); }
/** * admin_generate */ public function admin_generate() { App::uses('AclExtras', 'Acl.Lib'); $AclExtras = new AclExtras(); $AclExtras->startup($this); if (isset($this->request->named['sync'])) { $result = $AclExtras->aco_sync(); } else { $result = $AclExtras->aco_update(); } $output = $AclExtras->output; $output += $AclExtras->errors; if ($result) { $class = 'success'; $output[] = __d('croogo', 'Created %d new permissions', $AclExtras->created); } else { $class = 'error'; } $this->Session->setFlash(join('<br>', $output), 'flash', array('class' => $class)); if (isset($this->request->params['named']['permissions'])) { return $this->redirect(array('plugin' => 'acl', 'controller' => 'acl_permissions', 'action' => 'index')); } else { return $this->redirect(array('action' => 'index')); } }