Example #1
0
<?php

$Read = new WsAcesso();
switch ($method) {
    case "GET":
        //retorna todos os itens
        if (isset($id)) {
            $Read->setAcesso_id($id);
            $Read->Execute()->find();
            Check::JsonReturn($Read->Execute()->getResult(), 'Acesso não encontrado!', '404');
        } else {
            $Read->Execute()->findAll();
            Check::JsonReturn($Read->Execute()->getResult(), 'Nenhum acesso cadastrado!', '204');
        }
        break;
    case "POST":
        if (!empty($request->acesso_id)) {
            //update
            $Read->setThis($request);
            $Read->Execute()->update(NULL, 'acesso_id');
            echo json_encode($request);
        } else {
            //salvar
            $request->acesso_tag = Check::Name($request->acesso_tag);
            $request->acesso_status = 1;
            $request->acesso_name = Check::Name($request->acesso_title);
            $Read->setThis($request);
            $insert = $Read->Execute()->insert();
            if ($insert) {
                $request->acesso_id = (int) $Read->Execute()->MaxFild("acesso_id");
            }
 /**
  * Verifica se o usuario logado tem acesso o acesso informado!
  * 
  * @param type $acesso
  * @return boolean
  */
 public static function UserPermission($acesso, $system = NULL)
 {
     $acessos = $_SESSION['userlogin']['perfil']->acessos;
     $acesso_name = self::Name($acesso);
     $Read = new WsAcesso();
     $Read->setAcesso_name($acesso_name);
     $Read->setAcesso_tag($acesso_name);
     $Read->Execute()->Query("(#acesso_name# OR #acesso_tag#)");
     $result = $Read->Execute()->getResult();
     if ($result) {
         foreach ($acessos as $value) {
             if ($value->acesso_id == $result[0]->acesso_id) {
                 return true;
             }
         }
         $message = "Não tem permissão";
         $status = WS_ALERT;
         self::mensagem($system, false, $message, $status);
     } else {
         $message = "Acesso não encontrado";
         $status = WS_INFOR;
         self::mensagem($system, false, $message, $status);
     }
 }
 private function getAcessos($acessos_id)
 {
     $Read = new WsAcesso();
     $Read->Execute()->FullRead("SELECT a.* FROM ws_acesso a " . " JOIN ws_perfil_has_ws_acesso pa ON(pa.acesso_id = a.acesso_id)" . " WHERE pa.perfil_id = :perfil", "perfil={$acessos_id}");
     if ($Read->Execute()->getResult()) {
         return $Read->Execute()->getResult();
     } else {
         WSErro("Acessos não encontrado para este perfil!", WS_ERROR);
         return null;
     }
 }