Widget staff online

3 participantes

Ver o tópico anterior Ver o tópico seguinte Ir para baixo

Tópico resolvido Widget staff online

Mensagem por Froozen 22.10.18 1:59

Detalhes da questão


Endereço do fórum: http://brasilperfectnew.forumeiros.com/forum
Versão do fórum: ModernBB

Descrição


Código:

<script type="text/javascript">

  myStaff = ['/u1'];

  staff_cache_time = 4*60*1000; // mm*ss*ms;

  </script>

<div id="theStaff">

</div>

 
<div id="theContent" style="display:none">

</div><script type="text/javascript">

  if (localStorage.staffOn && localStorage.staffEx > +new Date -staff_cache_time) jQuery('#theStaff').html(localStorage.staffOn);

  else loadStaff();

 function loadStaff() {

    jQuery('#theContent').load('/viewonline #main-content a, a.gen', function(){

      for (i=0; i<myStaff.length; i++) jQuery('#theContent a').filter(function() { return jQuery(this).attr('href') === myStaff[i]}).appendTo('#theStaff').wrap('<div class="myStaff">');

      if (!jQuery('#theStaff .myStaff').length) jQuery('#theStaff').html('No staff online');

      jQuery('.myStaff a').each(function() {

        var href = jQuery(this).attr('href');

       jQuery(this).before('<span class="monAva"></span>').prev().load(href +' #profile-advanced-right .module:first div img:first,.forumline td.row1.gensmall:first > img, .frm-set.profile-view.left dd img,dl.left-box.details:first dd img, .row1 b .gen:first img, .real_avatar img', function(){

          if (window.localStorage) {

           localStorage.staffOn = jQuery('#theStaff').html();

            localStorage.staffEx = +new Date;

          }

        });

      });

    });

  }
</script>


Queria fazer uma mudança nesse codico, em vez de ter que por o id do usuario pra aparecer no staff online  queria colocar os grupos que poderao aparecer no staff online, tipo g1,g2 etc, pra nao ter que adiocionar membro por membro   >>>myStaff = ['/u1']
Froozen

Froozen
**

Membro desde : 20/12/2016
Mensagens : 82
Pontos : 158

http://katiauoficial.forumeiros.com/forum

Ir para o topo Ir para baixo

Admineiro

Tópico resolvido Re: Widget staff online

Mensagem por tikky 22.10.18 7:16

Olá @Froozen,
Um script que vá buscar os membros ao grupo não existe, porém existe um que vai buscar a cor do grupo, use o seguinte código:
Código:
<ul id="staff_widget">
</ul><script type="text/javascript">
/*
 *  Application: Staff Online Widget
 *  Date: 14/06/2018
 *  Version: 2.014062018
 *  Copyright (c) 2018 Daemon <help.forumotion.com>
 *  This work is free. You can redistribute it and/or modify it
 */
jQuery(function() {

    function staffOnline() {

        var staff = [
            {
                group: "Administrador",
                color: "BF263C" // eb0008
            },
            {
                group: "Moderador",
                color: "2929E6"
            },
            {
                group: "Designer",
                color: "CA4BD1"
            },
            {
                group: "Adaptador de Skin",
                color: "617F9C"
            }
        ];

        jQuery.get("/viewonline", function(data) {
            staffWidget.html("");
            // variables
            var table = jQuery(".table, .table1, .ipbtable, .three-col .forumline", data);
            // List each item in the array
            jQuery.each(staff, function(i, val) {
                var staffColor = table.find("span[style*='" + val.color + "']");
                // Check span elements that contain array colors
                if (typeof(staffColor) != "undefined" && staffColor != null) {
                    // For each existing color
                    jQuery.each(staffColor, function(i, el) {
                        var stafferHref = jQuery(el).closest("a").attr("href");
                        jQuery.get(stafferHref, function(data2) {
                            var stafferName = jQuery(el).closest("a").parent().html(),
                                stafferId = stafferHref.split("/u")[1],
                                avatarSrc = jQuery(".module", data2).find("img").attr("src");
                            staffWidget.append(
                                '<li class="online_staff clearfix">' +
                                '  <div class="div-icon-staff">' +
                                '    <div class="staff-avatar"><img src="' + avatarSrc + '" alt="avatar"></div>' +
                                '  </div>' +
                                '  <div class="div-main-staff">' +
                                '    <div class="staff-mp"><a href="/privmsg?mode=post&u=' + stafferId + '"><img src="https://2img.net/s/t/18/09/33/i_icon_pm.png" title="Send PM"></a></div>' +
                                '    <div class="staff-name">' + stafferName + '</div>' +
                                '    <p class="staff-rank">' + val.group + '</p>' +
                                '  </div>' +
                                '</li>'
                            );
                            sessionStorage.setItem("online_staff", staffWidget.html());
                        }); // end request 2
                    }); // end each staffColor
                }// end if
            });// end each staff
        });// end request 1
    }
  
    var staffWidget = jQuery("#staff_widget");
    storedValue = sessionStorage.getItem("online_staff");
    staffWidget.html((storedValue !== null) ? storedValue : staffOnline());

    setInterval(function() {
        sessionStorage.removeItem("online_staff");
        staffOnline();
    }, 120000); // staffOnline function, reload every 2 minutes

});
</script><style type="text/css">
#staff_widget {padding: 0;}
#staff_widget:empty:before {
    content: "Não há staff online!";
}
#staff_widget .online_staff {
   display: block;
   font-size: 14px;
   padding: 1px 0;
   zoom: 1;
}
#staff_widget .div-icon-staff {
   width: 25px;
   min-width: 25px;
   padding-top: 12px;
}
#staff_widget .div-icon-staff, #staff_widget .div-main-staff {
   display: table-cell;
   padding: 8px;
   vertical-align: top;
}
#staff_widget .staff-avatar {
   background: #fff;
   vertical-align: middle;
   display: inline-block;
   line-height: 1px;
   position: relative;
   margin: 2px;
}
#staff_widget .staff-avatar img {
   width: 34px;
   height: 34px;
   border: 1px solid #ddd;
}
#staff_widget .staff-mp {
   display: inline-block;
   float: right;
   margin-right: -25px;
}
#staff_widget .staff-rank {
   color: rgb(150, 150, 150);
   margin-top: 5px;
}
</style>
Nos parâmetros, basta por a cor correspondente ao grupo:
Código:
   group: "Administrador",
                color: "COR DO GRUPO"


Cordialmente,
pedxz.


Título alterado de 'me ajuda aqui nao sei oque por no titulo desculpa' para 'Widget staff online'.
tikky

tikky
Admineiro
Admineiro

Membro desde : 13/01/2017
Mensagens : 7820
Pontos : 9063

Ir para o topo Ir para baixo

Ajudeiro

Tópico resolvido Re: Widget staff online

Mensagem por Fraise 25.10.18 9:41

Tópico resolvido


Tópico marcado como resolvido pela equipe por abandono do autor.
Fraise

Fraise
Ajudeiro
Ajudeiro

Membro desde : 26/06/2015
Mensagens : 6561
Pontos : 8045

https://ajuda.forumeiros.com/ https://twitter.com/@FraiseFdF

Ir para o topo Ir para baixo

Ver o tópico anterior Ver o tópico seguinte Ir para o topo


Permissões neste sub-fórum
Não podes responder a tópicos