Source for file cgrupo.modulo.php

Documentation is available at cgrupo.modulo.php

  1. <?php
  2.     /**
  3.      * grupo.modulo.php
  4.      * 
  5.      * @copyright 2008 Soomp
  6.      * @author Marcio Merlone <mmerlone@gmail.com>
  7.      * @version 1.0
  8.      * @since 04/01/2007
  9.      * @package Soomp
  10.      */
  11.     /* $Id: cgrupo.modulo.php,v 1.1 2007/05/24 20:23:44 mmerlone Exp $ */
  12.  
  13.     require_once(CFG_LOCAL_FRAMEWORK.'control.classe.php');
  14.     /**
  15.      * Classe controle de grupos e funções relacionadas
  16.      */
  17.     class cgrupo extends control{
  18.  
  19.         /**
  20.          * Construtor
  21.          */
  22.         public function __construct(){
  23.             require_once(CFG_LOCAL_FRAMEWORK.'grupo.classe.php');
  24.         }
  25.  
  26.         /**
  27.          * Exibe a listagem de grupos
  28.          * @param object $req objeto de requisição
  29.          * @return string A ação a ser redirecionado ou null
  30.          */
  31.         public function lista(requisicao &$req){
  32.  
  33.             if($this->_smarty(&& $this->_dbUser()){
  34.  
  35.                 $req->outputHead();
  36.  
  37.                 $g new grupo();
  38.  
  39.                 $idListagem    $this->getIntIdListagem();
  40.                 $intPag        $this->getIntPag();
  41.                 $arrAcoes    array('delmulti' => array('id' => 31'value' => 'Remove selecionados'));
  42.  
  43.                 $lista $g->initPage($intPag$idListagemtrue);
  44.                 $this->setPagePrefs($lista);
  45.                 $lista->setComboAcoes($arrAcoes);
  46.                 $lista->legenda 'Grupos';
  47.                 $lista $g->Page($lista);
  48.  
  49.                 $this->smarty->assign('lista'$lista);
  50.                 $this->smarty->assign('pk'CFG_GRUPO_DB_PK);
  51.                 $this->smarty->jsSrc('j/usuario.lista.js');
  52.                 $this->smarty->js('jsVarsLista.tpl');
  53.                 $this->smarty->display('grupo.lista.tpl');
  54.                 $req->outputFoot();
  55.                 return;
  56.  
  57.             }elseif(defind('AJAX')){
  58.                 $g new grupo();
  59.                 return $g->Find('');
  60.             }
  61.         }
  62.         
  63.         /**
  64.          * Exibe o formulário para adicionar um grupo
  65.          * @param object $req objeto de requisição
  66.          * @param object $objG objeto grupo ou $_POST de um grupo
  67.          * @return string A ação a ser redirecionado ou null
  68.          */
  69.         public function add(requisicao &$reqgrupo $objG null){
  70.             if(defined('INDEX')){
  71.                 if(!is_null($objG)){
  72.                     $objG $objG;
  73.                 }else{
  74.                     $objG new grupo();
  75.                 }
  76.  
  77.                 $fields $objG->getFields();
  78.                 if($this->_smarty()){
  79.                     $req->outputHead();
  80.                     $this->smarty->assign('g'$objG);
  81.                     $this->smarty->assign('fields'$fields);
  82.                     $this->smarty->display('grupo.add.tpl');
  83.                     $req->outputFoot();
  84.                 }
  85.             }elseif(defined('AJAX')){
  86.                 return debug('','cgrupo::add',3);
  87.             }
  88.             return;
  89.         }
  90.     
  91.         /**
  92.          * Exibe o formulário com os dados de um grupo existente.
  93.          * @param object $req objeto de requisição
  94.          */
  95.         public function edit(requisicao &$req$g false){
  96.             if(!$g){
  97.                 $g new grupo();
  98.                 $g->Load($_REQUEST[CFG_GRUPO_DB_PK]);
  99.             }
  100.             if(is_object($g)){
  101.                 $this->add($req$g);
  102.             }else{
  103.                 $this->msg(0'Dados inválidos, informe o grupo a ser editado.''erro');
  104.                 debug(null'cgrupo::edit'3);
  105.             }
  106.             return;
  107.         }
  108.  
  109.         /**
  110.          * Grava os dados de um grupo novo ou existente
  111.          * @param object $req objeto de requisição
  112.          * @return string A ação a ser redirecionado ou null
  113.          */
  114.         public function save(requisicao &$req){
  115.             if(!empty($_POST)){
  116.  
  117.                 require_once(CFG_LOCAL_FRAMEWORK.'validacao.classe.php');
  118.                 $v new validacao();
  119.                 $v->strObj 'grupo';
  120.                 $v->username($_POST[CFG_GRUPO_DB_NOME]);
  121.                 $v->duplicado(array(CFG_GRUPO_DB_PK => $_POST[CFG_GRUPO_DB_PK]CFG_GRUPO_DB_NOME => $_POST[CFG_GRUPO_DB_NOME]));
  122.  
  123.                 $g new grupo();
  124.                 if(isset($_POST[CFG_GRUPO_DB_PK]&& $_POST[CFG_GRUPO_DB_PK])
  125.                     $g->Load($_POST[CFG_GRUPO_DB_PK]);
  126.                 $g->{CFG_GRUPO_DB_NOME$_POST[CFG_GRUPO_DB_NOME];
  127.  
  128.                 if(!$v->valido){
  129.  
  130.                     /**
  131.                      * Dados inválidos
  132.                      */
  133.                     $erros $v->erros;
  134.                     foreach($erros as $erro){
  135.                         switch($erro[0]){
  136.     
  137.                             case 'username':
  138.                                 $this->msg(0'Nome inválido para grupo: "$nome". Utilize apenas letras e números. Deve possuir no mínimo '.CFG_USUARIO_MIN_LEN.' caracteres.''erro'array('nome' => $_POST[CFG_GRUPO_DB_NOME]));
  139.                                 break;
  140.  
  141.                             case 'duplicado':
  142.                                 $this->msg(0'Já existe um grupo de nome "$nome"!''erro'array('nome' => $_POST[CFG_GRUPO_DB_NOME]));
  143.                                 break;
  144.                         }
  145.                     }
  146.                     $this->add($req$g);
  147.                     return;
  148.  
  149.                 }else{
  150.                     unset($v);
  151.                     if($ok $g->Save()){
  152.                         if(empty($_POST[CFG_GRUPO_DB_PK])){
  153.                             $this->msg(0'Grupo "$nome" criado com sucesso.''sucesso'array('nome' => $_POST[CFG_GRUPO_DB_NOME]));
  154.  
  155.                         }else{
  156.                             $this->msg(0'Grupo "$nome" alterado com sucesso.''sucesso'array('nome' => $_POST[CFG_GRUPO_DB_NOME]));
  157.                         }
  158.  
  159.                         $goto (isset($_POST['goto']&& !empty($_POST['goto'])) $_POST['goto''lista';
  160.                         $goto $goto == 'edit' 'm=grupo&a=edit&'.CFG_GRUPO_DB_PK.'='.$g->{CFG_GRUPO_DB_PK$goto;
  161.                         return $goto;
  162.  
  163.                     }else{
  164.                         $this->msg(0'Erro ao criar ou editar o grupo. '.$ok'erro');
  165.                         $this->add($req$g);
  166.                         debug($g'erro cgrupo::save'3);
  167.                         return;
  168.                     }
  169.                 }
  170.             }
  171.             return 'lista';
  172.         }
  173.  
  174.         /**
  175.          * Remove um grupo
  176.          * @param object $req objeto de requisição
  177.          * @return string A ação a ser redirecionado ou null
  178.          */
  179.         public function del(requisicao &$req){
  180.             if(isset($_GET[CFG_GRUPO_DB_PK]&& is_numeric($_GET[CFG_GRUPO_DB_PK])){
  181.                 $g new grupo();
  182.                 if($g->Load($_GET[CFG_GRUPO_DB_PK])){
  183.                     if($g->{CFG_GRUPO_DB_PK== 0){
  184.                         $this->msg(0'O grupo "'.$g->{CFG_GRUPO_DB_NOME}.'" não pode ser removido.''erro');
  185.                     }else{
  186.                         if($g->Delete()){
  187.                             $this->msg(0'Grupo removido com sucesso.''sucesso');
  188.                         }else{
  189.                             $this->msg(0'Erro ao remover grupo''erro');
  190.                         }
  191.                     }
  192.                 }else{
  193.                     $this->msg(0'Grupo inexistente.''erro');
  194.                 }
  195.             }else{
  196.                 $this->msg(0'Dados inválidos, informe o grupo a ser removido.''erro');
  197.                 debug(null'cgrupo::del'3);
  198.                 
  199.             }
  200.             return 'lista';
  201.         }
  202.  
  203.         /**
  204.          * Remove um conjunto de grupos
  205.          * @param object $req objeto de requisição
  206.          * @return string A ação a ser redirecionado ou null
  207.          */
  208.         public function delmulti(requisicao &$req){
  209.             $g new grupo();
  210.             if(isset($_POST['ids']&& $g->Delete($_POST['ids'])){
  211.                 $this->msg(0'Registros removidos com sucesso.''sucesso');
  212.             }else{
  213.                 $this->msg(0'Erro removendo os registros ou nenhum registro selecionado.''erro');
  214.             }
  215.             return 'lista';
  216.         }
  217.  
  218.     }
  219. ?>

Documentation generated on Sun, 09 Mar 2008 23:50:49 -0300 by phpDocumentor 1.4.0

SourceForge.net Logo Support This Project