Exemplo n.º 1
0
 /**
  * A função do construtor é definir qual método será executado após
  * receber do Init() a action da requisição. Não é permitido parâmetros
  * nos actions.
  * @param string $action
  */
 public function __construct($action)
 {
     if (is_null($action)) {
         $this->main();
     } elseif (method_exists($this, $action)) {
         $this->{$action}();
     } else {
         header("location: " . \core\url\Url::setURL("error", null, array('x305', 'erro no processamento do action')));
     }
     /**
      * Esse procedimento deverá ser repetido e todos os controladores
      * da rota admin e app. 
      * Empacotá-lo, juntamente com outras funções e permitir que a classe
      * herde essas características.
      
     
     # 1 - Verifica se existe um método com o mesmo nome da action
     if( method_exists($this, $action) ){
         
         $this->$action();
         
     # 2 - Se a action for null, a classe chama um método padrão.    
     }elseif( is_null($action) ){
         
         $this->main();
         
     # 3 - Se não existir método compatível com a action, o sistema deve apresentar uma mensagem de erro.    
     }else{
         # exceção - deve haver tratamento
         debug(__FILE__,__LINE__,"variável action não definida - fazer tratamento de exceção");
     }
     */
 }
Exemplo n.º 2
0
 public function home()
 {
     /*
      * TESTE
      */
     echo '<a href="' . \core\url\Url::setURL("teste") . '" target="_blank">Tela home do módulo Cliente</a>';
     echo "<br>";
     echo '<a href="' . \core\url\Url::setURL("teste", "frm") . '" target="_blank">Cadastrar Cliente</a>';
     echo "<br>";
     echo '<a href="' . \core\url\Url::setURL("teste", "lista") . '" target="_blank">Listar Clientes</a>';
     echo "<br>";
     #echo '<a href="'.\core\url\Url::setURL("admin","tabelas").'" target="_blank">Listar tabelas</a>';
     /*
     echo "<p>";
     echo '<a href="'.\core\url\Url::setURL("agenda").'" target="_blank">Agenda</a>';
     echo "<br>";
     echo '<a href="'.\core\url\Url::setURL("agenda","frm").'" target="_blank">Reservar Sala</a>';
     echo "<br>";
     echo '<a href="'.\core\url\Url::setURL("agenda","lista").'" target="_blank">Listar reservas</a>';
     echo "<br>";
     echo '<a href="'.\core\url\Url::setURL("agenda","teste").'" target="_blank">Nova Agenda</a>';
     echo "<br>";
     echo '<a href="'.\core\url\Url::setURL("agenda","dhtmlreadonly").'" target="_blank">Agenda Apenas leitura</a>';
     
     echo "<br>";
     echo '<a href="'.\core\url\Url::setURL("agenda","maps").'" target="_blank">Google Maps</a>';
     
     echo "<p>";
     echo '<a href="'.\core\url\Url::setURL("gantt","gantt").'" target="_blank">GANTT</a>';
     echo "<p>";
     echo '<a href="'.\core\url\Url::setURL("gantt","message").'" target="_blank">MESSAGE</a>';
     */
 }
Exemplo n.º 3
0
 public function home()
 {
     /*
      * TESTE
      */
     echo '<a href="' . \core\url\Url::setURL("teste") . '" target="_blank">Tela home do módulo Cliente</a>';
     echo "<br>";
     echo '<a href="' . \core\url\Url::setURL("teste", "dxhtml") . '" target="_blank">dxhtml</a>';
     echo "<br>";
     echo '<a href="' . \core\url\Url::setURL("teste", "show", array('1', ''), null, array('modulo' => 'cliente')) . '" target="_blank">Teste edição cliente</a>';
     echo "<br>";
     echo '<a href="' . \core\url\Url::setURL("tabelas", "tabelas") . '" target="_blank">Listar tabelas</a>';
     /*
     echo "<p>";
     echo '<a href="'.\core\url\Url::setURL("agenda").'" target="_blank">Agenda</a>';
     echo "<br>";
     echo '<a href="'.\core\url\Url::setURL("agenda","frm").'" target="_blank">Reservar Sala</a>';
     echo "<br>";
     echo '<a href="'.\core\url\Url::setURL("agenda","lista").'" target="_blank">Listar reservas</a>';
     echo "<br>";
     echo '<a href="'.\core\url\Url::setURL("agenda","teste").'" target="_blank">Nova Agenda</a>';
     echo "<br>";
     echo '<a href="'.\core\url\Url::setURL("agenda","dhtmlreadonly").'" target="_blank">Agenda Apenas leitura</a>';
     
     echo "<br>";
     echo '<a href="'.\core\url\Url::setURL("agenda","maps").'" target="_blank">Google Maps</a>';
     
     echo "<p>";
     echo '<a href="'.\core\url\Url::setURL("gantt","gantt").'" target="_blank">GANTT</a>';
     echo "<p>";
     echo '<a href="'.\core\url\Url::setURL("gantt","message").'" target="_blank">MESSAGE</a>';
     */
 }
Exemplo n.º 4
0
 /**
  * O método setRoute recebe o array de rotas registradas
  * e o módulo requerido pela URL. Se o módulo estiver registrado
  * como a chave de uma rota a função recupera todas as características
  * da rota (ex: array('route'=>'app', 'controller'=>'Pop');). Essas
  * características contém a rota e o controlador responsável pelo 
  * tratamento dos dados.
  * @param string $modulo (origem: URL)
  * @param array $arrayRoute
  */
 private function setRoute($modulo, array $arrayRoute)
 {
     # 1 - verificar se o módulo está registrado na tabela de rotas
     # 2 - se registrado, definir os dados da rota.
     # 3 - se não registrado, redirecionar para uma tela de erro, pois a requisição é inválida.
     if (key_exists($modulo, $arrayRoute)) {
         $this->route = $arrayRoute[$modulo];
         #array('route'=>'app', 'controller'=>'Index', 'action'=>'home');
     } else {
         header("location: " . \core\url\Url::setURL("error"));
     }
 }
Exemplo n.º 5
0
<?php

use core\html\Html;
?>
<html>
<head>
<title><?php 
echo __FILE__;
?>
</title>
</head>
<body>
<?php 
$html = new \core\html\Html();
$table = $html->table();
$table->head(array("id Agenda", "titulo", "Data", "Hora inicial", "Hora final"));
foreach ($pAgenda->getAllArray() as $key => $agenda) {
    $table->body(array($agenda["idAgenda"], $agenda["titulo"], $agenda["data"], $agenda["horaInicial"], $agenda["horaFinal"], '<a href="' . \core\url\Url::setURL("agenda", "edt", array($agenda['idAgenda'], $agenda['titulo'])) . '" target="_blank">editar</a>', '<a href="' . \core\url\Url::setURL("agenda", "rm", array($agenda['idAgenda'], $agenda['titulo'])) . '" target="_parent">excluir</a>'));
}
echo $table->getTable();
?>
</body>
</html>
 protected function locationActionError()
 {
     header("location: " . \core\url\Url::setURL("error", null, array('x305', 'erro no processamento do action')));
 }
foreach ($cabecalhoTabela as $key => $column_name) {
    $cabecalho[] = $column_name['column_name'];
}
# define o cabeçalho da tabela
//$cabecalhoTabela = array_keys( $metaDadosTabela[0] );
$cabecalho[] = "editar";
$cabecalho[] = "excluir";
//$table->body( array_keys( $dadosTabela[0] ) );
$table->body($cabecalho);
$table->addAtributos("tr", array("class" => "first_row_tpl"));
//debug(__FILE__, __LINE__, array_keys($metaDataTable[0]) );
foreach ($dadosTabela as $row => $dados) {
    /*
     * é necessário a identificação automática da chave primária para
     * a composição do href
     */
    $linkEditarDado = '<a href="' . \core\url\Url::setURL("tabelas", "edt", array($dados[$primary_key], ""), null, array("table" => $tabelaAnalise['table'])) . '" title="Editar linha">Editar</a>';
    $linkExcluirDado = '<a href="" title="Excluir dado">Excluir</a>';
    $dados[] = $linkEditarDado;
    $dados[] = $linkExcluirDado;
    $table->body($dados);
}
echo '<div class="preview_tpl" id="previewData">';
echo '<div class="header_tpl">Metadados da tabela <b>' . $tabelaAnalise['table'] . '</b></div>';
echo $table->getTable();
echo '</div>';
//echo '<div><a href="'.\core\url\Url::setURL( "tabelas", "visualisarDados", array(), null, array('table' => $tabelaAnalise['table']) ).'" title="Administrar dados da tabela '.$tabelaAnalise['table'].'">Administrar dados da tabela</a></div>';
?>

</body>
</html>
Exemplo n.º 8
0
 /**
  * Esse método foi substituido pelo pelo add e emcapsulado pelo save na classe
  * Generic controler.
  * MANTER APENAS PARA POSSIVEIS CONSULTAS
  */
 private function saveCliente()
 {
     # -- debug do método POST
     # debug(__FILE__, __LINE__, $_POST);
     # Recuperar parâmetors da URL
     $url = \core\url\Url::parseURL();
     # Instância do novo objeto
     $objPrincipal = new \app\teste\models\Cliente();
     # Documentação da classe
     $docObjPrincipal = new \core\orm\PHPDoc(get_class($objPrincipal));
     # array de atributos da classe principal
     # Ex: array(idCliente, nome, data_nascimento, idSituacao)
     $atributos = $docObjPrincipal->getProperties()[get_class($objPrincipal)];
     # Carga dos atributos da classe Principal (sem validação)
     foreach ($atributos as $atributo) {
         $objPrincipal->__set($atributo, $_POST['cliente'][$atributo]);
     }
     /**
      * @TODO como controlar falhas AQUI!!!!!!!!!!!!!!!!!
      */
     $objPrincipal->save();
     # ------------------------------------------------------------------
     # CLASSES DERIVADAS
     # Array com atributos da classe principal e referência as classes derivadas
     $arrayClassesDerivadas = $docObjPrincipal->getProperties();
     # Exclusão das propriedades da classe principal
     unset($arrayClassesDerivadas[get_class($objPrincipal)]);
     # grupo: contém referência ao nome da classe Ex: telefone  (class Telefone)
     # classeDerivada: contém o nome qualificado da classe derivada Ex: namespace/Classe
     foreach ($arrayClassesDerivadas as $classeDerivada => $grupo) {
         # Array de dados oriundos do formulário html
         # Value: array atributo = valor da classe derivada
         foreach ($_POST[$grupo] as $key => $value) {
             # Cria uma instância da classe
             $objDerivado = new $classeDerivada();
             # Recupera a documentação da classe
             $docObjDerivado = new \core\orm\PHPDoc($classeDerivada);
             # Recupera um array com os atributos da classe derivada
             $arrayAttrClasseDerivada = $docObjDerivado->getProperties()[$classeDerivada];
             # Verificar se o objeto já existe
             # Se $key estiver no array $arrayAttrClasseDerivada, o objeto deverá ser criado.
             if (in_array($key, $arrayAttrClasseDerivada)) {
                 # agrupar por características e alimentar a classe.
                 /* formato do array
                        telefone => Array(  1 => Array (idTelefone => 1, ddd => 84, telefone => 999263571),
                                            5 => Array (idTelefone => 1, ddd => 84, telefone => 981565525),
                                            ddd => Array (0 => 55, 1 => 53),
                                            telefone => Array (0 => 111111111, 1 => 2222222222 ));
                    */
                 # Forma um array com os dados novos VER: TRATAMENTO DE ARRAY DE NOVOS DADOS
                 foreach ($value as $kValue => $vValue) {
                     $aDados[$grupo][$kValue][$key] = $vValue;
                 }
             } else {
                 # Se $key não estiver no array $arrayAttrClasseDerivada, o objeto já existe
                 foreach ($arrayAttrClasseDerivada as $attrClasseDerivada) {
                     # Se a clausula if for acionada, os dados já existem
                     if (key_exists($attrClasseDerivada, $value)) {
                         $objDerivado->__set($attrClasseDerivada, $value[$attrClasseDerivada]);
                     }
                 }
                 $objDerivado->__set($docObjPrincipal->getPK(), $objPrincipal->__get($docObjPrincipal->getPK()));
                 /**
                  * @TODO como controlar falhas AQUI!!!!!!!!!!!!!!!!!
                  */
                 $objDerivado->save();
             }
         }
     }
     unset($nomeClasseSimples);
     # --------------------------------------------------------
     # TRATAMENTO DO ARRAY DE NOVOS DADOS
     # --------------------------------------------------------
     foreach ($arrayClassesDerivadas as $namespaceClass => $atributoReferenciado) {
         if (key_exists($atributoReferenciado, $aDados)) {
             foreach ($aDados[$atributoReferenciado] as $kDados => $vDados) {
                 # debug( __FILE__, __LINE__, $namespaceClass );
                 # Cria uma instância da classe
                 $objDerivado2 = new $namespaceClass();
                 # Recupera a documentação da classe
                 $docObjDerivado2 = new \core\orm\PHPDoc($namespaceClass);
                 # Recupera um array com os atributos da classe derivada
                 $arrayAttrClasseDerivada2 = $docObjDerivado2->getProperties()[$namespaceClass];
                 foreach ($vDados as $kvDados => $vvDados) {
                     if (in_array($kvDados, $arrayAttrClasseDerivada2)) {
                         $objDerivado2->__set($kvDados, $vvDados);
                     }
                 }
                 $objDerivado2->__set($docObjPrincipal->getPK(), $objPrincipal->__get($docObjPrincipal->getPK()));
                 /**
                  * @TODO como controlar falhas AQUI!!!!!!!!!!!!!!!!!
                  */
                 //$objDerivado2->save();
             }
         }
     }
     header("location: " . \core\url\Url::setURL("teste", "edt", array($objPrincipal->__get("idCliente"), $objPrincipal->__get("nome"))));
 }
				company: "Monk Home Loans"
			};
			
			var parentObj = document.getElementById("previewData");
			parentObj.innerHTML = window.dhx4.template(parentObj.innerHTML, data);
		}
	</script>
</head>
<body onload="doOnLoad();">
<?php 
$table = new \core\html\Table();
$table->addAtributos("tr", array("class" => "tr_hdr_tpl"));
# define o cabeçalho da tabela
$table->body(array_keys($metaDataTable[0]));
$table->addAtributos("tr", array("class" => "first_row_tpl"));
//debug(__FILE__, __LINE__, array_keys($metaDataTable[0]) );
foreach ($metaDataTable as $row => $metadados) {
    //$linkMetaDados = '<a href="'..'" title="editar metadados da tabela '.$metadados['TABLE_NAME'].'">IMG META</a>';
    //$linkEditar = '<a href="'..'" title="editar dados da tabela '.$metadados['TABLE_NAME'].'">EDITAR DADOS</a>';
    //$table->body(array($metadados['TABLE_NAME'], $metadados['TABLE_ROWS']));
    $table->body($metadados);
}
echo '<div class="preview_tpl" id="previewData">';
echo '<div class="header_tpl">Metadados da tabela <b>' . $tabelaAnalise['table'] . '</b></div>';
echo $table->getTable();
echo '</div>';
echo '<div><a href="' . \core\url\Url::setURL("tabelas", "visualizarDados", array(), null, array('table' => $tabelaAnalise['table'])) . '" title="Administrar dados da tabela ' . $tabelaAnalise['table'] . '">Administrar dados da tabela</a></div>';
?>

</body>
</html>
Exemplo n.º 10
0
<?php

use core\html\Html;
?>
<html>
<head>
<title><?php 
echo __FILE__;
?>
</title>
</head>
<body>
<?php 
$html = new \core\html\Html();
$table = $html->table();
$table->head(array("id", "Codificação", "Data emissão", "Elaborado Por", "Revisado por", "Aprovado por", "editar", "excluir"));
foreach ($pPop->getAllArray() as $key => $pop) {
    $table->body(array($pop["idPop"], $pop["codificacao"], $pop["dataEmissao"], $pop["elaboradoPor"], $pop["revisadoPor"], $pop["aprovadoPor"], '<a href="' . \core\url\Url::setURL("pop", "edt", array($pop['idPop'], $pop['codificacao'])) . '" target="_blank">editar</a>', '<a href="' . \core\url\Url::setURL("pop", "rm", array($pop['idPop'], $pop['codificacao'])) . '" target="_parent">excluir</a>'));
}
echo $table->getTable();
?>
</body>
</html>
Exemplo n.º 11
0
			eventLimit: true, // allow "more" link when too many events
			events: [
<?php 
$contador = 1;
foreach ($pAgenda->getAllArray() as $key => $agenda) {
    echo "{";
    echo "\n\t";
    echo "id: " . $agenda["idAgenda"] . ",";
    echo "\n\t";
    echo "title: '" . $agenda["titulo"] . "',";
    echo "\n\t";
    echo "start: '" . $agenda["data"] . "T" . $agenda["horaInicial"] . "',";
    echo "\n\t";
    echo "end: '" . $agenda["data"] . "T" . $agenda["horaFinal"] . "',";
    echo "\n\t";
    echo "url: '" . \core\url\Url::setURL("agenda", "show", array($agenda['idAgenda'], $agenda['titulo'])) . "',";
    echo "\n\t";
    if ($contador % 2 == 0) {
        echo "color: '#ff9f89'";
    } else {
        echo "color: '#ff4d89'";
    }
    echo "\n";
    echo "}";
    if ($contador < $pAgenda->getNumberRows()) {
        echo ",";
    }
    echo "\n";
    $contador++;
}
?>
Exemplo n.º 12
0
 /**
  * action RM
  * remove um registro do banco de dados
  */
 public function rm()
 {
     # - recuperar a URL
     $url = Url::parseURL();
     # - estabeler conexão com o banco de dados
     $oCon = new \core\dba\pdo\Conexao(DRIVER, HOST, DBNAME, USERNAME, PASSWD);
     # - instanciar um objeto do modelo de acordo com o Id
     $oPop = new \app\models\Pop(array("idPop" => $url['id']));
     # - instanciar um objeto persistente
     $pPop = new \app\models\PopPersist($oCon, $oPop);
     $pPop->removeObject();
     header("location: " . Url::setURL("pop", "lista"));
     $class = explode('\\', strtolower(__CLASS__));
     $class = array_pop($class);
     $method = explode('::', strtolower(__METHOD__));
     include_once 'app/views/' . $class . '/' . $class . '.lista.php';
 }
Exemplo n.º 13
0
use core\url\Url;
$html = new \core\html\Html();
?>
<html>
<head>
<title><?php 
echo __FILE__;
?>
</title>
<!-- Place inside the <head> of your HTML -->

</head>
<body>

<form action="<?php 
echo Url::setURL("agenda", "add");
?>
" method="POST">

<p>
<label for="titulo">Título:</label>
<input type="text" name="titulo" id="titulo" value="teste da agenda">
</p>

<p>
<label for="data">Data: </label>
<input type="date" name="data" id="data" value="" size="100%">
</p>

<p>
<label for="horaInicial">Início: </label>
Exemplo n.º 14
0
		<div class="header_tpl">Strings</div>
		<table cellspacing="0" cellpadding="0" border="0">
			<tr class="tr_hdr_tpl"><td>Template</td><td>Key</td><td>Value</td><td>Result</td></tr>
			<tr class="first_row_tpl"><td>uppercase</td><td>first_name</td><td>#first_name#</td><td>#first_name|uppercase#</td></tr>
			<tr><td>uppercase</td><td>last_name</td><td>#last_name#</td><td>#last_name|uppercase#</td></tr>
			<tr><td>lowercase</td><td>addr1</td><td>#addr1#</td><td>#addr1|lowercase#</td></tr>
			<tr><td>lowercase</td><td>addr2</td><td>#addr2#</td><td>#addr2|lowercase#</td></tr>
			<tr><td>maxlength</td><td>company</td><td>#company#</td><td>#company|maxlength:11:true#</td></tr>
		</table>
	</div>



<?php 
$table = new \core\html\Table();
$table->addAtributos("tr", array("class" => "tr_hdr_tpl"));
$table->body(array("Tabela", "Registros", "metadados", "editar"));
$table->addAtributos("tr", array("class" => "first_row_tpl"));
foreach ($listaTabelas as $lista => $metadados) {
    $linkMetaDados = '<a href="' . \core\url\Url::setURL("tabelas", "metaDadosTable", array(), null, array('table' => $metadados['TABLE_NAME'])) . '" title="editar metadados da tabela ' . $metadados['TABLE_NAME'] . '">IMG META</a>';
    $linkEditar = '<a href="' . \core\url\Url::setURL("tabelas", "visualizarDados", array(), null, array('table' => $metadados['TABLE_NAME'])) . '" title="editar dados da tabela ' . $metadados['TABLE_NAME'] . '">EDITAR DADOS</a>';
    $table->body(array($metadados['TABLE_NAME'], $metadados['TABLE_ROWS'], $linkMetaDados, $linkEditar));
}
echo '<div class="preview_tpl" id="previewData">';
echo '<div class="header_tpl">Lista de tabelas do sistema</div>';
echo $table->getTable();
echo '</div>';
?>

</body>
</html>
Exemplo n.º 15
0
/*
foreach ( $arrayLabel as $key => $column_name ){
    $label[] = $column_name['column_name'];
}

foreach( $label as $vLabel ){
    
    $dados[] = '<label for="'.$vLabel.'">'.$vLabel.': </label>';
    if( $vLabel == $primary_key ){
        $dados[] = '<input type="text" name="'.$vLabel.'" value="'.$registroTabela[0][$vLabel].'" readonly="readonly">';
    }else{
        $dados[] = '<input type="text" name="'.$vLabel.'" value="'.$registroTabela[0][$vLabel].'" >';
    }
    $table->body( $dados );
    unset( $dados );
}
*/
foreach ($output as $value) {
    $table->body($value);
}
$table->body(array("", '<input type="submit" name="bEdt" value="Gravar">'));
echo '<div class="preview_tpl" id="previewData">';
echo '<div class="header_tpl">Editar registro <b></b></div>';
echo '<form name="edt" method="post" action="' . \core\url\Url::setURL('tabelas', 'save', array($id, ''), null, array('table' => $tabelaAnalise['table'])) . '">';
echo $table->getTable();
echo '</form>';
echo '</div>';
?>

</body>
</html>
Exemplo n.º 16
0
    table_tab_navigation: false,

    plugins: "image",
    image_description: true,
    images_upload_base_path: "/some/basepath",
    images_upload_url: "../../postAcceptor.php"
        
 });
</script>


</head>
<body>

<form action="<?php 
echo Url::setURL("pop", "add");
?>
" method="POST">
<input type="hidden" name="idPop" value="<?php 
echo $oPop->__get('idPop');
?>
">
<p>
<label for="tipoDocumento">Tipo de Documento:</label>
<input type="text" name="tipoDocumento" id="tipoDocumento" value="<?php 
echo $oPop->__get('tipoDocumento');
?>
">
</p>
<p>
<label for="codificacao">Codificação: </label>
		dhxWins = new dhtmlXWindows();
		
		//define a div que deve carrega a janela modal
		dhxWins.attachViewportTo("agenda");
		
		//define as propriedades da div
		w1 = dhxWins.createWindow("w1", 600, 300, 600, 400);
		//w1.setText("dhtmlxWindow #1");
		
		//define o tipo de janela como modal
		dhxWins.window("w1").setModal(true);

		//reuperar da data hora do evento
		w1.attachURL("<?php 
echo \core\url\Url::setURL("agenda", "frm");
?>
", true, {data:"2015-10-15", horaInicial:"08:00"});
		
		return false;
	}

	
	
        //scheduler.load("./data/units.xml");

        <?php 
foreach ($pAgenda->getAllArray() as $key => $agenda) {
    echo 'scheduler.addEvent({';
    echo "\n\t";
    echo 'id:' . $agenda["idAgenda"] . ',';