public function getRedirectRoad($groupId, $module, $controller = null, $action = null)
 {
     $groupMapper = new Application_Model_Access_AccessGroupMapper();
     $groupName = $groupMapper->getAccessGroupName($groupId);
     unset($groupMapper);
     $row = $this->findRow($groupName, $module, $controller, $action);
     if (is_array($row) && $row['if_drop'] != NULL) {
         $array = explode('_', $row['if_drop']);
         $keys = array("module", "controller", "action");
         return array_combine($keys, $array);
     }
     return NULL;
 }
Exemple #2
0
 /**
  * Contructeur, prend le nom interne, le titre et la description du champ.
  * Peut egalement prendre la valeur par defaut.
  * 
  * @param string $internalName
  * @param string $label
  * @param string $description
  * @param string $default
  */
 public function __construct($internalName, $label, $description, $default = false)
 {
     parent::__construct($internalName);
     $formattedArray = array();
     $this->setLabel($label)->setDescription($description);
     if ($default !== false) {
         $this->setValue($default);
     }
     $model = new Application_Model_Access_AccessGroupMapper();
     $accessGroupArray = $model->fetchAll();
     unset($model);
     foreach ($accessGroupArray as $accessGroup) {
         $formattedArray[$accessGroup->getName()] = $accessGroup->getUsualName();
     }
     if (array_key_exists('all', $formattedArray)) {
         unset($formattedArray['all']);
     }
     unset($accessGroupArray);
     $this->setMultiOptions($formattedArray);
 }
 public function refusedAction()
 {
     $request = $this->getRequest();
     $params = $request->getParams();
     $groupsMapper = new Application_Model_Access_AccessGroupMapper();
     $actualGroup = new Application_Model_Access_AccessGroup();
     $aclMapper = new Application_Model_Access_AccessControlListMapper();
     $session = new Zend_Session_Namespace();
     $groupsMapper->find($session->currentUser['group']['id'], $actualGroup);
     if (!$actualGroup->getName() or !$actualGroup->getId()) {
         $actualGroup = new Application_Model_Access_AccessGroup();
         $actualGroup->setId($groupsMapper->getDefaultUserGroupId())->setName("all");
     }
     $actualAcl = $aclMapper->findRow($actualGroup->getName(), $params['rq_module'], $params['rq_controller'], $params['rq_action']);
     if ($actualAcl == false) {
         $actualAcl = new Application_Model_Access_AccessControlList(0, "admin", $params['rq_module'] . "_" . $params['rq_controller'] . "_" . $params['rq_action'], 0, 0, NULL);
     }
     $this->view->actualAcl = $actualAcl;
     $this->view->actualGroup = $actualGroup;
 }
 private function logAsAdmin(Application_Model_Access_Login $model)
 {
     $session = new Zend_Session_Namespace();
     $groupMapper = new Application_Model_Access_AccessGroupMapper();
     $group = new Application_Model_Access_AccessGroup();
     $groupMapper->find($model->getAccessGroupId(), $group);
     $personneMapper = new Application_Model_PersonneMapper();
     $personne = new Application_Model_Personne();
     $personneMapper->find($model->getPersonneId(), $personne);
     $adresseMapper = new Application_Model_AdresseMapper();
     $adresse = new Application_Model_Adresse();
     $adresseMapper->find($personne->getAdresseId(), $adresse);
     $session->currentUser = array("id" => $model->getId(), "login" => $model->getLogin(), "personne" => array("id" => $model->getPersonneId(), "nom" => $personne->getNom(), "prenom" => $personne->getPrenom(), "adresse" => array("id" => $personne->getAdresseId(), "ligne_1" => $adresse->getLigne_1(), "ligne_2" => $adresse->getLigne_2(), "ville" => $adresse->getVille(), "code_postal" => $adresse->getCode_Postal(), "pays" => $adresse->getPays())), "group" => array("id" => $model->getAccessGroupId(), "name" => $group->getName()));
     $this->_redirect($this->getFrontController()->getRouter()->assemble(array('module' => 'backend', 'controller' => 'index', 'action' => 'index')), array('prependBase' => false));
 }