Pegando Nome da Aplicação [RESOLVIDO]

Olá pessoal,

Primeiramente, Feliz Ano Novo para todos do fórum. Gostaria de saber como pego o nome da aplicação em tempo de execução, pois tenho uma tabela onde cadastro o nome das aplicações para atribuir as permissões de usuários. Como preciso fazer uma consulta para verificar as permissões, preciso pegar o nome da aplicação no evento OnLoad de cada aplicação.

Grato,

Ilano.

Encontrei!

$arquivo = explode(DIRECTORY_SEPARATOR, FILE);
$nome = end($arquivo);

pode tentar também:

Function AppSobre($_par="Sobre",$_par2="") {
  Global $iw_criador, $iw_release, $iw_autor;
  $_return=""; 
  $iw_criador=empty($iw_criador)?"InfinitusWeb.com.br":$iw_criador;
  $iw_autor=empty($iw_autor)?$this->Ini->nm_autor_alt:$iw_autor;
  if (!empty($_par2)) $iw_release=$_par2;
  switch ($_par) {
    case "DocsPath": $_return=$this->Ini->path_doc;
    case "Autor": $_return=Empty($iw_autor)?"InfinitusWeb.com.br":$iw_autor; break;
    case "Fonte": $_return=$this->Ini->nm_cod_apl; break;
    case "Titulo": $_return=$this->Ini->nm_nome_apl; break;
    case "Datas": $_return="C:".sc_date_conv($this->Ini->nm_dt_criacao,"AAAAMMDD", "DD/MM/AAAA").
          " A:".sc_date_conv($this->Ini->nm_dt_ult_alt,"AAAAMMDD", "DD/MM/AAAA");
          break;
    case "LinkSobre": 
      $_DataC=sc_date_conv($this->Ini->nm_dt_criacao,"AAAAMMDD", "DD/MM/AAAA");
      $_Autor_Ult="Última Alteração: ".sc_date_conv($this->Ini->nm_dt_ult_alt,"AAAAMMDD", "DD/MM/AAAA").
           " Hora:".substr($this->Ini->nm_hr_ult_alt,0,2).":".substr($this->Ini->nm_hr_ult_alt,2,2).
           "\n - feita por ".$iw_autor;
      $_hint="Fonte: ".$this->Ini->nm_cod_apl.
             "\nTítulo: ".$this->Ini->nm_nome_apl.
             "\nDesenvolvedor: $iw_criador".
             "\nCriado em: $_DataC".
             "\nVersão: ".$iw_release.
             "\n$_Autor_Ult".
             "\nCopyright©=InfinitusWeb";
      $_return="<a href=http://www.infinitusweb.com.br style='text-decoration: none' title='$_hint'>App:".$this->Ini->nm_cod_apl." Vs:".$iw_release."</a>";
      Break;
    case "Sobre": 
      $_DataC=sc_date_conv($this->Ini->nm_dt_criacao,"AAAAMMDD", "DD/MM/AAAA");
      $_Autor_Ult="Última Alteração: ".sc_date_conv($this->Ini->nm_dt_ult_alt,"AAAAMMDD", "DD/MM/AAAA").
           " Hora:".substr($this->Ini->nm_hr_ult_alt,0,2).":".substr($this->Ini->nm_hr_ult_alt,2,2).
           "\n - feita por ".$this->Ini->nm_autor_alt;
      $_return="Fonte: ".$this->Ini->nm_cod_apl.
             "\nTítulo: ".$this->Ini->nm_nome_apl.
             "\nAutor: $iw_autor \n".
             "\nCriação: $_DataC".
             "\nVersão: ".$iw_release.
             "\n$_Autor_Ult";
      Break;
    
  }
  Return $_return;
}

echo $this->Ini->nm_cod_apl;

Obrigado pela atenção galera. Só vou perturbar vocês um pouco mais. Lembram que no início do post estava precisando de uma função para pegar o nome das aplicações para fazer a verificação de permissão de usuários. Bem, com essa função fiz o código abaixo em três formulários no evento OnLoad que funciona perfeitamente nessa propriedade desses formulários, mas aí pensei em passar mesmo esse código para uma biblioteca interna dentro do Projeto e aí só chamar a função validarPermissao(); para que eu pudesse utilizá-la em todas as aplicações mas aí dá o erro:

Fatal error: Call to undefined function validarpermissao() in /home/mdierpco/public_html/scriptcase/app/abde/cadAreas/cadAreas_apl.php on line 2382

Segue o código da biblioteca interna do projeto

<?php $arquivo = explode(DIRECTORY_SEPARATOR, __FILE__); $nome = end($arquivo); $perfil = [vlPerfil];

$sql = “SELECT NomeArquivo FROM a000_arquivos WHERE NomeArquivo = ‘$nome’;”;
$cmd = “INSERT INTO a000_arquivos (NomeArquivo) VALUES (’$nome’);”;

sc_lookup(dsDados, $sql);
if(empty({dsDados}))
{
sc_exec_sql($cmd);
};

$sql2 = “SELECT B.NOMEARQUIVO,
B.INCLUIR, B.ALTERAR,
B.EXCLUIR, B.FILTRAR, B.EXPORTAR
FROM a029_permissoes A
INNER JOIN a000_modulos B ON (B.ID = A.IDMODULO)
WHERE B.NOMEARQUIVO = ‘$nome’
AND A.IDPERFIL = $perfil;”;

sc_lookup(dsDados2, $sql2);
if(!empty({dsDados2}))
{
if({dsDados2[0][1]} = 1) {sc_btn_display (‘new’,‘on’);} else {sc_btn_display (‘new’,‘off’);};
if({dsDados2[0][1]} = 1) {sc_btn_display (‘insert’,‘on’);} else {sc_btn_display (‘insert’,‘off’);};
if({dsDados2[0][2]} = 1) {sc_btn_display (‘update’,‘on’);} else {sc_btn_display (‘update’,‘off’);};
if({dsDados2[0][3]} = 1) {sc_btn_display (‘delete’,‘on’);} else {sc_btn_display (‘delete’,‘off’);};
if({dsDados2[0][4]} = 1) {sc_btn_display (‘filter’,‘on’);} else {sc_btn_display (‘filter’,‘off’);};
if({dsDados2[0][5]} = 1) {sc_btn_display (‘filter’,‘on’);} else {sc_btn_display (‘filter’,‘off’);};
} else
if(empty({dsDados2}))
{
sc_btn_display (‘new’,‘off’);
sc_btn_display (‘insert’,‘off’);
sc_btn_display (‘update’,‘off’);
sc_btn_display (‘delete’,‘off’);
sc_btn_display (‘filter’,‘off’);
sc_btn_display (‘filter’,‘off’);
};
?>

O que tem de errado nessa função?

Acabei de fazer um teste. O problema não está no código, está na chamada da função, pois comentei tudo e só passei a seguinte linha:

echo “Teste”;

E mesmo assim ainda deu erro. Lá em Programação > Bibliotecas Internas das aplicações a biblioteca validarPermissao.php está selecionada no grupo Bibliotecas Internas - Projeto: abde. Então, o que está errado?

Tem que ser biblioteca interna.
Que tal criar após <?php:

function validarpermissao () {

e fechar com } no final???

Cara, que bobeira a minha! Era isso mesmo Haroldo. Muitíssimo obrigado amigo.

Agora posso encerrar esse post.

Valeu!