Vetor de Classes Públicas Bom dia, Galera estou tentando implementar este vetor conforme sugerido pelo Pablo, e que provavelmente estará presente na próxima versão. http://www.adianti.com.br/forum/pt/view_2198?template-com-acesso-a-paginas-publicas Porém ainda não tive sucesso, se alguém já implementou poderia compartilhar....

Curso Dominando o Adianti Framework

O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado!


Dominando o Adianti Framework Quero me inscrever agora!

Comentários (3)


NR

Eduardo, seguindo o exemplo do Pablo e supondo que você esteja usando o template:
index.php
 
  1. <?php
  2. // classes com acesso liberado, mesmo sem login
  3. $PUBLIC_CLASSES = array('CategoriaList','CategoriaForm','CidadeList','CidadeForm');
  4. if (TSession::getValue('logged') OR in_array($class, $PUBLIC_CLASSES))
  5. ?>

engine.php
 
  1. <?php
  2. // classes com acesso liberado, mesmo sem login
  3. $PUBLIC_CLASSES = array('CategoriaList','CategoriaForm','CidadeList','CidadeForm');
  4. if( isset($programs[$class]) OR in_array($class, $PUBLIC_CLASSES) )
  5. {
  6. $programs = (array) TSession::getValue('programs'); // programs with permission
  7. $programs = array_merge($programs,$PUBLIC_CLASSES); // adiciona os programas liberados ao array de programas antes de verificar a permissao
  8. ?>
NR

Corrigindo, no arquivo index.php:
 
  1. <?php
  2. $PUBLIC_CLASSES = array('CategoriaList','CategoriaForm','CidadeList','CidadeForm');
  3. if (TSession::getValue('logged') OR (isset($_REQUEST['class']) && in_array($_REQUEST['class'], $PUBLIC_CLASSES)))
  4. ?>


engine.php
 
  1. <?php
  2. // classes com acesso liberado, mesmo sem login
  3. $PUBLIC_CLASSES = array('CategoriaList','CategoriaForm','CidadeList','CidadeForm');
  4. ...
  5. if( isset($programs[$class]) OR in_array($class, $PUBLIC_CLASSES) )
  6. ...
  7. else if ($class == 'LoginForm' OR in_array($class, $PUBLIC_CLASSES) )
  8. ?>
EL

Valeu, Nataniel !
Acabei de realizar o teste e funcionou perfeitamente, meu erro estava sendo cometido no arquivo engine a variável $PUBLIC_CLASSES, não estava sendo adicionada:
 
  1. <?php
  2. .......
  3. if ($_REQUEST)
  4. {
  5. $class = isset($_REQUEST['class']) ? $_REQUEST['class'] : '';
  6. $public_classes = array('TecnologiaView');
  7. if (TSession::getValue('logged')) // logged
  8. {
  9. ........
  10. ?>