JScript

Programação & Desenvolvimento


Você não está conectado. Conecte-se ou registre-se

Shoutbox update by Legolas

3 participantes

Ir à página : Anterior  1, 2

Ir para baixo  Mensagem [Página 2 de 2]

26Shoutbox update by Legolas - Página 2 Empty Re: Shoutbox update by Legolas Qua 02 Out 2013, 8:25 pm

Legolas

Legolas
Moderadores
Moderadores

Amigos, estou adicionando novos comandos para o Shoutbox mas preciso de uma ajudinha de vocês.

Preciso de um script que exclua o post do usuário assim que ele postar. Sim, parece confuso mas vou explicar melhor...

Como disse, estou adicionando novos comandos e acontece que para o comando ser executado ele precisa ser postado no shout como se fosse uma mensagem normal.

Então se alguém editar a mensagem vai poder editar o comando e alterar ou acrescentar algo. Por isso queria um script para que assim que postasse ele excluísse essa linha/mensagem, apenas para o comando ser executado.

Se puderem me ajudar somente para fazer um script que exclua essa row eu faço o resto!

Abraços!

http://aden.rpgwars.net

27Shoutbox update by Legolas - Página 2 Empty Re: Shoutbox update by Legolas Qua 02 Out 2013, 8:29 pm

JScript

JScript
Administradores
Administradores

Eu não entendi nada, primeiro você deseja um script que remova/apague o post, mas que post se refere?

JS

http://autoitbrasil.com

28Shoutbox update by Legolas - Página 2 Empty Re: Shoutbox update by Legolas Qua 02 Out 2013, 8:38 pm

Legolas

Legolas
Moderadores
Moderadores

Sim, que apague o post que o usuário fizer. Um script que tenha a função de apagar a linha postada (que no caso você colocou como class .row2) ou que tenha a mesma função do /remove•shout...

http://aden.rpgwars.net

29Shoutbox update by Legolas - Página 2 Empty Re: Shoutbox update by Legolas Qua 02 Out 2013, 9:16 pm

JScript

JScript
Administradores
Administradores

hummm, agora ficou mais claro o que deseja!!! Eu estava confundindo a palavra post com a criação de um post...

Mas percebi que você se refere a postagem das mensagens no ChatBox, não é?

JS

http://autoitbrasil.com

30Shoutbox update by Legolas - Página 2 Empty Re: Shoutbox update by Legolas Qua 02 Out 2013, 9:48 pm

Legolas

Legolas
Moderadores
Moderadores

Sim, a mensagem no shoutbox normal.

O comando que fiz necessita ser postado no shoutbox para que seja executado. Então eu precisaria que após ser postada, essa mensagem seja apagada, somente para que o comando seja executado. Eu ia implementar o script no comando fazendo com que seja excluída a mensagem apenas se usar esse comando. Com isso eu precisaria que esse script seja acionado assim que apareça no post, isso é possível?

É claro que fiz várias tentativas antes de vir recorrer a você. Uma delas foi adicionar um css junto ao comando fazendo ele excluir o último row, assim:

Código:
.row2:last-child {
display:none;
}
Como pode ver, esse css exclui o último row2. Porém, o problema é que se alguém postar depois, o último row passa a ser outro e o de cima (o que contém o comando) volta a aparecer. Entendeu?

http://aden.rpgwars.net

31Shoutbox update by Legolas - Página 2 Empty Re: Shoutbox update by Legolas Qua 02 Out 2013, 10:16 pm

JScript

JScript
Administradores
Administradores

Vamos ver se eu entendi bem: Você quer remover uma mensagem no ShoutBox, não é no /ChatBox correto?

Se for no ShoutBox, as linhas são referenciadas da seguinte forma:
Código:
<tr data-msg-count="244" class="row2" id="shout-row-18951980892173124">
Onde:
1- data-msg-count="244 refere-se a quantidade de mensagens ativas
2- class="row2" é só uma classe com estilos
3- id="shout-row-18951980892173124" é o identificador de cada mensagem postada no ShoutBox

Então, se deseja apagar uma mensagem, o certo é referenciar-se ao ID!

Abaixo está o trecho referente a comandos de /remove, /edit, /notice e /prv:
Código:

   receive_mp = '';
   send_mp = '';
   var index_len = 0;
   target = $('#shoutbox-temp-msgs').find('tr');
   
    len = target.length;
    for (var index=0; index<len; index++) {
    /*len = target.length - 1;
    for (var index = len; index >= 0; index--) {*/
      oThis = $(target[index]);
      var shoutObj = oThis.find('span.shoutbox_text');
      var shoutText = shoutObj.text(),
         shoutSplit = 0;
      index_len = index;

      if (shoutText.indexOf('/') == 0) {
         shoutSplit = shoutText.split(unitSplit);

         switch (shoutSplit[0]) {
         case "/remove":
            $("#" + shoutSplit[1]).remove();
            oThis.remove();
                /*
                $.post('/post', {
                    p: index,
                    mode: "delete",
                    confirm: "Sim"
                });*/
            break;
         case "/edit":
            var oTemp = $("#" + shoutSplit[1]).find('span.shoutbox_text')
            if (SUPERMOD !== '') {
               oTemp.attr('title', "Shout original: " + oTemp.text());
            }
            oTemp.html(shoutSplit[2]); /*$("#" + shoutSplit[1]).find('span.shoutbox_text').html(shoutSplit[2]);*/
            oThis.remove();
            break;
         case "/notice":
            if (shoutSplit[1] !== '') {
               $('#shoutbox-inline-error-glb').css('display', '').html(shoutSplit[1]);
            } else {
               $('#shoutbox-inline-error-glb').css('display', 'none');
               var shouts = $('#shoutbox-shouts');
               var oldval = shouts.height();
               if (oldval < 169) {
                  shouts.css('height', (oldval + 41));
               }
            }
            oThis.remove();
            localStorage.setItem('shoutbox-temp-notice', shoutSplit[1])
            break;
         case '/prv':
            switch ([USERNAME]) {
            case shoutSplit[1]:
               oThis.find('img.ipsUserPhoto').attr('src', 'http://i78.servimg.com/u/f78/18/17/62/92/crysta10.png');
               shoutSplit[2] = DecriptMSG(shoutSplit[2], shoutSplit[1]);
               shoutObj.text(shoutSplit[2]);
               oThis.find('span.right > a').remove();
               receive_mp += '<tr id="shout-row-' + index + '" class="row2">' + oThis.html() + '</tr>;';
               decript_mp = shoutSplit[2];
               break;
            case shoutSplit[3]:
               oThis.find('img.ipsUserPhoto').attr('src', 'http://i78.servimg.com/u/f78/18/17/62/92/axiali10.png');
               oThis.find('#column_02').html('<strong>' + shoutSplit[1] + '</strong>');
               shoutSplit[2] = DecriptMSG(shoutSplit[2], shoutSplit[1]);
               oThis.find('span.right > a').remove();
               shoutObj.text(shoutSplit[2]);
               send_mp += '<tr id="shout-row-' + index + '" class="row2">' + oThis.html() + '</tr>;';
               break;
            }
            oThis.remove();
            break;
         }
      }
   }
Note a presença da linha oThis.remove(); logo após o comando ser executado!

E isso que deseja?

JS

http://autoitbrasil.com

32Shoutbox update by Legolas - Página 2 Empty Re: Shoutbox update by Legolas Qua 02 Out 2013, 10:26 pm

Legolas

Legolas
Moderadores
Moderadores

Sim, porém pelo ID eu teria que ter ele completo. No caso ali é gerado uma espécie de token row-12666545367.

Era exatamente isso que eu queria, a mesma função do /remove. Porém o script teria que ser executado quando fosse postado no shout (como uma mensagem normal). Tem como o script ser ativado ao aparecer na mensagem do shout?

Poderia me mostrar um exemplo? Não consegui achar uma alternativa para montar m script com esse code...

http://aden.rpgwars.net

33Shoutbox update by Legolas - Página 2 Empty Re: Shoutbox update by Legolas Qui 03 Out 2013, 3:19 pm

Legolas

Legolas
Moderadores
Moderadores

John, consegui achar uma alternativa mais simples por css!

Agora preciso de opiniões para comandos: http://jscript.forumeiros.com/t316-novos-comandos-para-o-shoutbox

http://aden.rpgwars.net

34Shoutbox update by Legolas - Página 2 Empty Re: Shoutbox update by Legolas Seg 07 Out 2013, 2:16 pm

Legolas

Legolas
Moderadores
Moderadores

John, eu adicionei esse script para jogar atalhos com um select no textarea.

Código:

function adicionarOp(o,c){var t=jQuery('#message');t.val(t.val().substring(0,t[0].selectionStart)+o+t.val().substring(t[0].selectionStart,t[0].selectionEnd)+c+t.val().substring(t[0].selectionEnd,t.val().length))};
function escolha(opt) {
   switch(opt) {
      case 'mp': adicionarOp('/prv•Nome do usuário•Digite a mensagem aqui (não remova os caracteres • ou a MP não será enviada)','');number_of_refresh=0;timer_count=0;break;
      case 'abs': adicionarOp('/abs','');number_of_refresh=0;timer_count=0;break;
      case 'exit': adicionarOp('/exit','');number_of_refresh=0;timer_count=0;break;
   }
}
E o select desta maneira:

Código:
<select onchange=escolha(this.value) style="border:1px solid #38CFFF;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.05),0 0 4px rgba(161,200,24,.6);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,.05),0 0 4px rgba(161,200,24,.6);box-shadow:inset 0 1px 2px rgba(0,0,0,.05),0 0 4px rgba(161,200,24,.6);background:#fff;border-color:#DFDFDF;position:absolute;margin-top: -1px;margin-left: 3px;height:22px;border-style:solid;border-width:1px;color:#333;font-size:16px;font-weight:700;">
        <option value="">Atalhos</option>
        <option value="mp">Enviar MP a alguém</option>
        <option value="abs">Ficar ausente</option>
        <option value="exit">Sair</option>
        </select>
Mas eu queria que ao escolher uma opção ele já jogue para o shoutbox direto sem ter que cair no textarea e depois ter que dar enter, exceto é claro o de MP pois necessita digitar o nick da pessoa. Como eu faço?

http://aden.rpgwars.net

35Shoutbox update by Legolas - Página 2 Empty Re: Shoutbox update by Legolas Seg 07 Out 2013, 2:33 pm

JScript

JScript
Administradores
Administradores

Terá que fazer da seguinte forma:

Seta a variável sent_value = com o valor que deseja
Em seguida, chama a função ajax_submit_chatbox()

JS

http://autoitbrasil.com

36Shoutbox update by Legolas - Página 2 Empty Re: Shoutbox update by Legolas Ter 08 Out 2013, 9:21 am

Legolas

Legolas
Moderadores
Moderadores

Obrigado amigo. Aos poucos vou adicionando algumas funções somente por ora, porque sei que a sua nova versão virá arrebentando! Very Happy

http://aden.rpgwars.net

Conteúdo patrocinado



Ir para o topo  Mensagem [Página 2 de 2]

Ir à página : Anterior  1, 2

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