Ejemplo n.º 1
0
 public function editar($id, $dados, $CDA)
 {
     $this->id = $id;
     if ($this->save($dados)) {
         if (isset($dados['permissoes']) && is_array($dados['permissoes'])) {
             $Permissao = new Permissao();
             $Regra = new Regra();
             // DELETANDO AS REGRAS, PARA QUE POSSAM SER INSERIDAS NOVAMENTE
             $this->query("DELETE FROM regras WHERE permissao_id IN (SELECT id FROM permissoes WHERE perfil_id = {$id})");
             // DELETANDO AS PERMISSÕES, PARA QUE POSSAM SER INSERIDAS NOVAMENTE
             $this->query("DELETE FROM permissoes WHERE perfil_id = {$id}");
             foreach ($dados['permissoes'] as $chave => $flag) {
                 foreach ($flag as $acao) {
                     $perfilPermissoes = $CDA->getRestricoesPorChave($chave . "." . $acao);
                     if (count($perfilPermissoes) > 0) {
                         $Permissao->create(array('perfil_id' => $this->id, 'descricao' => $chave . "." . $acao));
                         $respPermissao = $Permissao->save();
                         if (!$respPermissao) {
                             throw new Exception("Erro ao salvar permissão");
                         }
                         foreach ($perfilPermissoes as $permissao) {
                             $Regra->create(array('permissao_id' => $respPermissao['Permissao']['id'], 'descricao' => $permissao));
                             if (!$Regra->save()) {
                                 throw new Exception("Erro ao salvar regra");
                             }
                         }
                     }
                 }
             }
             return true;
         }
         throw new Exception("Nenhum dado de permissão foi enviado");
     }
     return false;
 }
Ejemplo n.º 2
0
 public function incluir()
 {
     $this->descricao = $_POST['descricao'];
     $this->empresa = new Empresa(EMPRESA);
     $this->save();
     foreach ($_REQUEST['menus'] as $key => $valor) {
         $oAc = new Permissao();
         $m = new Menu();
         $m->id = $valor;
         $oAc->menu = $m;
         $oAc->perfil = $this;
         $oAc->save();
     }
     $_SESSION['zurc.mensagem'] = 16;
 }
Ejemplo n.º 3
0
 public function salvaPermissoes($permissoes)
 {
     $arrayP = explode(",", $permissoes);
     foreach ($arrayP as $key => $value) {
         $p = new Permissao();
         $p->usuario = $this;
         $p->academia = new Academia($value);
         $p->save();
     }
 }