Autor Tópico: Topo Menu  (Lida 194 vezes)

kleberalmeida

  • Iniciante
  • **
  • Mensagens: 98
    • SelfMaster
Topo Menu
« Online: Janeiro 22, 2016, 11:41:27 am »
Olá

Amigos, eu gostaria de colocar em meu projeto, no topo a seguinte forma.:

Link da imagem.: https://drive.google.com/open?id=0B1_kaaYBdf0sRDhfMlhFUVdtVDg

Na verdade, e colocar a imagem de quem se loga no sistema, no menu, com o nome, cargo, etc... no topo
Tem como.?? alguem já fez isso no SC..?

Aguardo
« Última modificação: Janeiro 22, 2016, 11:44:33 am por kleberalmeida »
Analista de sistemas.
Desenvolvedor WEB, Mobile, Desktop.
Ferramentas.: ScriptCase, Delphi
Banco de Dados.: MySql, Firebird, SqlServer.
http://selfmaster.com.br/

Kleyber

  • Expert
  • *****
  • Mensagens: 2235
    • Email
Re:Topo Menu
« Responder #1 Online: Janeiro 22, 2016, 11:47:29 am »
Kleber,

Não dá pra ver a imagem sem autorização.
Kleyber Derick

ITIL® V3 Foundation Certified
Analista de Sistemas
São Luís - Maranhão
www.tkinformidia.net

Kleyber

  • Expert
  • *****
  • Mensagens: 2235
    • Email
Re:Topo Menu
« Responder #2 Online: Janeiro 22, 2016, 12:02:28 pm »
Se não me engano, acho que vi alguém aqui no fórum que já fez isso... dá uma procurada aqui no fórum.
Kleyber Derick

ITIL® V3 Foundation Certified
Analista de Sistemas
São Luís - Maranhão
www.tkinformidia.net

michel

  • Novato
  • *
  • Mensagens: 33
Re:Topo Menu
« Responder #3 Online: Março 07, 2016, 06:43:44 pm »
Eu fiz uma coisa parecida, mas depois que o usuário se loga no sistema.
No meu caso, eu tenho uma tabela para o cadastro de clientes, uma tabela para o cadastro de usuários e outra para referenciar o usuário ao cliente.
Na tabela de clientes, eu tenho um campo com o nome do arquivo de logo do cliente. O arquivo físico eu armazenei na pasta "<nome no seu projeto>/_lib/img" do servidor do Scriptcase.
No meu caso, cada grupo de usuário usa um menu específico e o acesso está definido no módulo de segurança padrão do Scriptcase.
Para o menu, eu criei um novo Template HTML com o código abaixo:

--------------------------------------------------------------

<style>
   body {
background-color:#004D82;
/*background-image:url('../_lib/img/grp__NM__bgTickets.png');*/
padding-top:15px;
}
#lin1_col1 { margin-left:9px; margin-top:7px; width:40%; height:27px; float:left; overflow:hidden;}         
#lin1_col2 { margin-left:0px; margin-top:7px; width:40%; height:35px; float:left; overflow:hidden;}         
#lin1_col3 { margin-left:0px; margin-top:7px; width:10%; height:35px; float:right; overflow:hidden;}         
#lin2_col1 { margin-left:9px; margin-top:0px; width:40%; height:15px; float:left; overflow:hidden;}         
</style>

<div style="width: 100%" >
 <span style="font-family:Calibri; font-size:14px; font-weight:bold; font-color:red; height:40px; background-color:#C4C4C4;
              border-width:0px 0px 0px 0px; display: block;">
      <span id="lin1_col1" {NM_CSS_CAB}><font color="#004D82">{LIN1_COL1}</font color></span>
      <span id="lin1_col2" {NM_CSS_CAB} style="float: left">{LIN1_COL2}</font color></span>
      <span id="lin1_col3" {NM_CSS_CAB} style="float: right">{LIN1_COL3}</font color></span>
 </span>
</div>
<div style="width: 100%" >
 <span style="font-family:Calibri; font-size:14px; font-weight:bold; font-color:red; height:20px; background-color:#C4C4C4;
              border-width:0px 0px 0px 0px; display: block;">
      <span id="lin2_col1" {NM_CSS_CAB}><font color="#004D82">{LIN2_COL1}</font color></span>
 </span>
</div>

--------------------------------------------------------------


No Menu, eu associo esse template e no parâmetro "LIN1_COL2", eu selecionei "valor" e coloquei a variiável "[logo]".
Na tela de login, no evento "onValidate", coloquei o código abaixo:

--------------------------------------------------------------

$slogin = sc_sql_injection({login});
$spswd = sc_sql_injection(md5({pswd}));

$sql = "SELECT
        USER_ID,
        PRIV_ADMIN,
      ACTIVE,
      USER_NAME,
      EMAIL
         FROM USERS
         WHERE LOGIN_NAME = $slogin
      AND PSWD = ".$spswd."";
   
sc_lookup(rs, $sql);
   
if(count({rs}) == 0)
{
   sc_log_add('login Fail', {lang_login_fail} . {login});
   sc_error_message({lang_error_login});
   sc_error_exit();
}
else if({rs[0][2]} == 'Y')
{
   $usr_id         = {rs[0][0]};
   $usr_login      = {login};
   $usr_priv_admin = ({rs[0][1]} == 'Y') ? TRUE : FALSE;
   $usr_name      = {rs[0][3]};
   $usr_email      = {rs[0][4]};
   sc_set_global($usr_id);      
   sc_set_global($usr_login);
   sc_set_global($usr_priv_admin);
   sc_set_global($usr_name);
   sc_set_global($usr_email);

   /* Pesquisa o logo - somente para usuarios do grupo de Clientes */
    $logo = "";

    $sql = "SELECT logo_name
            FROM customers
           WHERE customer_id IN (SELECT customer_id
                                     FROM user_customers uc
                                        , users u
                                    WHERE uc.user_id = u.user_id
                                      AND u.user_type_id = 4
                                      AND uc.user_id = " . $usr_id . " ) ";

    sc_lookup(rs,$sql);
    if(count({rs}) == 0)
    {
      $logo = "";
      sc_set_global($logo);
    }
    else
    {
       $img = {rs}[0][0];
       $logo = "<img border=0 src='../_lib/img/".$img."'>";
       sc_set_global($logo);
    }
    /* Fim pesquisa logo*/
   
}
else
{
   sc_error_message({lang_error_not_active});
   sc_error_exit();
}

--------------------------------------------------------------


O que o sistema vai fazer:
1. Após o login válido do usuário, a query irá pesquisar o nome do arquivo de logo do cliente conforme o cadastro;
2. Depois associa essa informação à variável "$img";
3. Em seguida, associo a string "<img border=0 src='../_lib/img/".$img."'>", com o nome do arquivo à variável "$logo";
4. Set como variável global;

Por fim, no evento "onValidateSuccess" da tela de login, faço uma query para pesquisar o menu que será acessado pelo usuário, conforme meus critérios de segurança e depois dou o comando "sc_redir($l_sMenu);", onde "$l_sMenu" contém o nome do menu que deverá ser aberto.

Uma vez que declarei a variável "logo" como global, o menu carregará a imagem que defini.

Não sei se é a melhor forma de fazer isso, mas até o momento, isto funciona muito bem aqui no sistema.

Espero ter colaborado.

Michel