Fórum dos Fóruns

Fórum dos Fóruns Forumeiros

Welcome FdF Bem-vindo ao fórum de suporte Forumeiros  Muito feliz


Para aproveitar tudo o que o nosso fórum lhe oferece, agradecemos que se identifique, se já é nosso membro, ou que se junte à nossa comunidade, fazendo o seu registo.
Conectar-se

Esqueci minha senha

Perdi minha senha!
Você precisa recuperar sua senha?
Clique aqui
Quem está conectado
267 usuários online :: 13 usuários cadastrados, Nenhum Invisível e 254 Visitantes :: 2 Motores de busca

CesarWatsom2, DustyRhodes, Holkis, iScroll, Ketholy123, Kliha, Luiz, PlayWillian, Railison Ramon, Rolim, TugaTech, Xigncode3, zHugh

[ Ver toda a lista ]


O recorde de usuários online foi de 3131 em 24/12/09, 01:05 pm

Botões em Determinados Tópicos

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

Resolvido Botões em Determinados Tópicos

Mensagem por iScroll em 12/10/17, 11:14 am

Detalhes da questão


Endereço do fórum: http://www.brasilplayultimate.com.br
Versão do fórum: ModernBB

Descrição


Como já havia pedido antes desta vez vou querer mesmo sendo propensos a causar erros :/
Devido a esta bagunça: http://prntscr.com/gwj417
Pois coloco um moderador na área de Designer e ele tem acesso a todos esses botões e tem botões ai que não quero nem pra um nem pra outro e fica difícil discernir qual é qual ...

Código utilizado:
Código:
/**
 * Código jQuery que permite adiconar múltiplos botões ao SCEditor;
 * Autores: Luiz~ e Kyo Panda (ajuda.forumeiros.com);
 * Plataforma: Forumeiros;
 * Versão: Todas;
 * Investimento: Todas as páginas;
 * Licence MIT;
 */
(function ($) {
  'use strict';
 var forumAdd = 6;

  var botoes = [
    {
      'somenteModVer': true,
      'name': 'Tópico Bloqueado',
      'text': 'Olá! \nO seu tópico encontra-se bloqueado. \nQueira ler nossas [i]regras[/i] para saber mais.',
      'id': 'tpc-lock',
      'imgUrl': 'http://i.imgur.com/z5lPhgz.png'
    }, {
      'somenteModVer': true,
      'name': 'Tópico Desbloqueado',
      'text': 'Olá! \nEsta é uma mensagem de status: \nSeu tópico foi desbloqueado. \nQueira ler nossas [i]regras[/i] para saber mais.',
      'id': 'tpc-unlock',
      'imgUrl': 'http://i.imgur.com/hsBvMRG.png'
    }, {
      'somenteModVer': true,
      'name': 'Mensagens de Denúncias',
      'id': 'mensagens-de-denuncias',
      'imgUrl': 'http://i.imgur.com/oAGWDdG.png',
      'filhos': [
        {
          'somenteModVer': true,
          'name': 'Denúncia UP',
          'text': '[table class=sucesso][tr][td][b]Denúncia UP[/b] \n\[b]Motivo:[/b] Motivo Aqui \n\[b]Punição:[/b] Punição Aqui \n \n[b]Achou injusto? Peça revisão nessa área: http://www.brasilplayultimate.com.br/f130-revisao-de-punicao[/b]\n \n[b]Tópico Marcado como Resolvido e movido para "Arquivos - Denúncias".[/b][/td][/tr][/table]',
          'id': 'msm-denuncia',
          'imgUrl': 'http://i.imgur.com/W5mUMil.png'
        }, {
          'somenteModVer': true,
          'name': 'Denúncia FAIL',
          'text': '[table class=alerta][tr][td][b]Denúncia FAIL[/b]\n\[b]Motivo:[/b] Motivo Aqui \n \n[b]Achou injusto? Peça revisão nessa área: http://www.brasilplayultimate.com.br/f130-revisao-de-punicao[/b]\n\ \n\[b]Tópico Marcado como Recusado e movido para "Arquivos - Denúncias".[/b][/td][/tr][/table]',
          'id': 'msm-denuncia',
          'imgUrl': 'http://i.imgur.com/E3r9Hh1.png'
        }, {
          'somenteModVer': true,
          'name': 'Denúncia Em Curso',
          'text': '[table class=aviso][tr][td][b]Denúncia Em Curso[/b] \n \n[b]Tópico Marcado como Em Curso. Denúncias são fechadas no prazo de 24H caso o acusado responda, caso contrário, terá o fechamento no tempo de 48H.[/b][/td][/tr][/table]',
          'id': 'msm-denuncia',
          'imgUrl': 'http://i.imgur.com/l7KlLp6.png'
        }
      ]
    }
  ];

  // Begin CSS:
  $(function () {
    $([
      /**
      * Você pode customizar o CSS, mas lembre-se de incluir as linhas entre aspas simples,
      * E sempre usar aspas compostas dentro de cada linha.
      * Lembre-se também de sempre incluir vírgula após cada linha. Exceto na última linha.
      */
      '<style>',
      '  #main .sceditor-toolbar,',
      '  #main .sceditor-group {',
      '    overflow: initial;',
      '  }',
      '  .sceditor-group {',
      '    position: relative;',
      '  }',
      '  .fa-dropdown1 {',
      '    position: absolute;',
      '    padding: 0px!important;',
      '    top: 27px;',
      '    background-color: #fff;',
      '    border: 1px #ccc solid;',
      '    display: none;',
      '  }',
      '  .fa-dropdown1 a {',
      '    display: block;',
      '    line-height: 1.5em;',
      '    padding: 7px 15px 7px 30px;',
      '    white-space: nowrap;',
      '    border-bottom: 1px #ccc solid;',
      '    cursor: pointer;',
      '    font-size: 12px;',
      '  }',
      '  .fa-dropdown1 a:last-child {',
      '    border-bottom: none;',
      '  }',
      '  .fa-dropdown1-open {',
      '    display: block;',
      '  }',
    '.naoaparecer{display:none!important;}',
      '</style>'
    ].join('\n'))
      .appendTo('head');
    });

  // Begin 'code':
  $(window).on('load', function () {
 
    // Variáveis Importantes:
    var $ultimoGrupo = $('.sceditor-group:last');
    var $sceditor = $('#text_editor_textarea').sceditor('instance');
    var bgStyles1 = 'background-position: center!important; background-repeat: no-repeat!important;';
    var bgStyles2 = 'background-position: 8px 9px!important; background-repeat: no-repeat!important;';

    $.each(botoes, function (index, botoes) { 
      if (botoes.somenteModVer  && _userdata.user_level <= 0) {
        return;
      }
      if(botoes.id=='mensagens-de-denuncias'&&jQuery('p.crumbs a.nav[href^="/f'+forumAdd+'-"]').length==0){
        return false;
      }
    else {
        if ($(botoes.filhos).length) {
          // Caso seja um dropdown (TENHA UM FILHO):
          var $parent = $('<a>', {
              class: 'sceditor-button ' + botoes.id,
              title: ' ' + botoes.name,
              style: 'background-image: url(' + botoes.imgUrl + ')!important; ' + bgStyles1,
              unselectable: 'on'
            })
              .appendTo($ultimoGrupo)
                .on('click', function () {
                  $ultimoGrupo
                    .find('.fa-dropdown1-' + botoes.id)
                      .css('left', $parent.position().left + 'px')
                        .toggleClass('fa-dropdown1-open');
                });
               
          var $dropdown = $('<div>', {
            class: 'sceditor-dropdown fa-dropdown1 fa-dropdown1-' + botoes.id
            })       
              .appendTo($ultimoGrupo);

          // Dropdown children:
          $.each(botoes.filhos, function (index, filhos) {
            $('<a>', {
              html: filhos.name,
              class: filhos.id + 'fa-dropdown1-item',
              style: 'background-image: url(' + filhos.imgUrl + ')!important; ' + bgStyles2,
            })
              .appendTo($dropdown)
                .on('click', function () {
                  $sceditor.insertText(filhos.text);
                  $('.fa-dropdown1')
                    .toggleClass('fa-dropdown1-open');
                });
          });
         
          return;
         
        }
      }

    });
   
  });
}(jQuery));

Se apresentarem outra solução além desta que não cause falhas ficarei feliz, caso contrário desejo prosseguir com isso pois funcionava perfeitamente sem dor de cabeça no PuNBB.
avatar

iScroll
Membro do Fórum

Masculino
Inscrito dia : 08/03/2015
Mensagens : 1376
Pontos Ativos : 1876

Ver perfil do usuário http://ultimatelife.forumeiros.com

Resolvido Re: Botões em Determinados Tópicos

Mensagem por Luiz em 12/10/17, 11:35 am

Mova os botões para esse código antes para que possamos continuar:
Código:
/*globals jQuery, FA, _userdata*/
 
/**
 * Botões de moderação para o SCEditor.
 *
 * @author lffg <https://github.com/lffg>
 * @version 1.0
 */

(function ($) {
  'use strict';

  var buttons = [
    {
      name      : 'Tópico Bloqueado',
      id        : 'topic-block-button',
      text      : 'Olá, o tópico foi bloqueado... [...]',
      topics    : [6],
      img      : 'https://i.imgur.com/z5lPhgz.png',
      onlyForMod: true
    }, {
      name        : 'Lista de Ações',
      id          : 'topic-actions-list',
      topics      : [6],
      img        : 'https://i.imgur.com/oAGWDdG.png',
      inGroup    : false,
      onlyForAdmin: true,
      children    : [
        { name: 'Ação 1', text: 'Texto da ação 1.', icon: 'fa fa-cog' },
        { name: 'Ação 2', text: 'Texto da ação 2.', icon: 'fa fa-cog' },
        { name: 'Ação 3', text: 'Texto da ação 3.', icon: 'fa fa-cog' }
      ]
    }
  ];

  window.FA = window.FA || {};
  FA.Topic = FA.Topic || {};

  var ModButtons;
  FA.Topic.ModButtons = ModButtons = function (userConfig) {
    var self = this;

    self.userConfig = userConfig;
    self.defaults = {
      name        : undefined,
      id          : '',
      inGroup    : true,
      topics      : ['6'],
      text        : '',
      children    : false,
      img        : undefined,
      onlyForMod  : false,
      onlyForAdmin: false
    };

    self.config = $.extend({}, self.defaults, self.userConfig);

    $.each(self.config, function (key, value) {
      if (key === undefined) {
        throw new Error ('Não foi especificado um: ' + key + ' para o script de botões de moderação.');
      }
 
      if (value === undefined) {
        throw new Error ('Não foi especificado um valor: ' + value + ' para o script de botões de moderação.');
      }
    });

    self.createStyles();
  };

  ModButtons.prototype.init = function () {
    var self = this;
   
    if (self.config.onlyForMod && (_userdata.user_level !== 1 && _userdata.user_level !== 2)) {
      return false;
    }
   
    if (self.config.onlyForAdmin && _userdata.user_level !== 1) {
      return false;
    }
   
    if (self.config.topics.indexOf('*') === -1) {
      var topicId = parseInt(location.href.replace(/.*\/t(\d+).*|.*\/post\?t=(\d+)&.*/gi, function (string, match1, match2) {
        if (match1 === undefined) {
          return match2;
        }
   
        return match1;
      }));
   
      if (self.config.topics.indexOf(topicId) === -1) {
        return false;
      }
    }

    if (Array.isArray(self.config.children) && self.config.children.length >= 1) {
      self.createButton(true);
    } else {
      self.createButton(false);
    }
  };

  /**
  * @param {boolean} isDrop Se for true, significa que o botão tem filhos.
  *                        Caso contrário, o botão não tem filhos.
  */
  ModButtons.prototype.createButton = function (isDrop) {
    var self = this;
   
    if (!$.sceditor) {
      return false;
    }
   
    self.$group = $('.sceditor-group:last');
    self.$element = $('<a>', {
      'class'      : 'sceditor-button',
      'unselectable': 'on',
      'title'      : self.config.name,
      'data-id'    : self.config.id,
      'html'        : $('<div>', { 'unselectable': 'on' }).css('background-image', 'url(' + self.config.img + ')').prop('outerHTML')
    });

    switch (isDrop) {
      case true:
        self.$element.attr('data-dropdown', 'true');

        self.createChildren();
        self.documentListen();

        self.$element.on('click', function (event) {
          event.preventDefault();
          event.stopPropagation();

          var $this = $(this);

          var offset = $this.offset();
          var height = $this.height();

          self.$dropdown
            .css('position', 'absolute')
            .css('top', offset.top + height)
            .css('left', offset.left)
            .toggle()
          ;
        });
       
        break;

      case false:
        self.$element
          .attr('data-dropdown', 'false')
            .attr('data-text', self.config.text)
              .on('click', function (event) {
                self.insertText($(this), event);
              })
        ;
       
        break;
    }

    if (self.config.inGroup) {
      self.$group.append(self.$element);

      return;
    }
   
    $('<div>', { 'class': 'sceditor-group' })
      .insertBefore(self.$group)
        .append(self.$element)
    ;
  };
 
  ModButtons.prototype.createChildren = function () {
    var self = this;
   
    self.$dropdown = $('<div>', { 'class': 'sceditor-dropdown fa-mod-buttons-prototype-dropdown' });
   
    $.each(self.config.children, function (index, child) {
      $('<a>', {
        'data-text': child.text,
        'title'    : child.name,
        'html'    : [
          $('<i>', { 'class': child.icon }).prop('outerHTML'),
          $('<span>', { 'text': child.name }).prop('outerHTML')
        ].join('\n')
      })
        .appendTo(self.$dropdown)
          .on('click', function (event) {
            self.insertText($(this), event);

            self.$dropdown.hide();
          })
      ;
    });

    self.$dropdown
      .hide()
        .appendTo('body')
    ;
  };

  /**
  * @param {string} text - Corresponde ao texto que será inserido no editor.
  */
  ModButtons.prototype.insertText = function (context, contextEvent) {
    contextEvent.preventDefault();
    contextEvent.stopPropagation();

    var $this = $(context);

    var $textarea = $('#text_editor_textarea');
    var $sceditor = $textarea.sceditor('instance');

    $sceditor.insertText($this.attr('data-text'));
  };

  ModButtons.prototype.documentListen = function () {
    var self = this;
   
    self.$dropdown.on('click', function (event) {
      event.stopPropagation();
    });
   
    $(document).on('click', function (event) {
      self.$dropdown.hide();
    });
  };

  ModButtons.prototype.createStyles = function () {
    $('<style>', {
      'text': [
        '.fa-mod-buttons-prototype-dropdown {',
        '  padding: 0px !important;',
        '  margin-top: 5px !important;',
        '  min-width: 120px;',
        '  max-height: 200px;',
        '  overflow-y: auto;',
        '}',
        '',
        '.fa-mod-buttons-prototype-dropdown > a {',
        '  display: block;',
        '  padding: 8px 10px;',
        '  border-bottom: solid 1px #ddd;',
        '  font-size: 10px;',
        '  cursor: pointer;',
        '}',
        '',
        '.fa-mod-buttons-prototype-dropdown > a:last-child {',
        '  border-bottom: none;',
        '}',
        '',
        '.fa-mod-buttons-prototype-dropdown > a > i {',
        '  font-size: 12px;',
        '  vertical-align: middle;',
        '}'
      ].join('\n')
    }).appendTo('head');
  };

  $(window).on('load', function () {
    $.each(buttons, function () {
      var self = this;

      (new FA.Topic.ModButtons(self)).init();
    });
  });
}(jQuery));

Creio que seja melhor para trabalhar. Na verdade, eu não creio... Realmente é melhor para trabalhar.


Bem-vindo ao Fórum dos Fóruns!
Leia as regras do Fórum dos Fóruns e as regras do setor de suporte.
Antes de criar um tópico, verifique se sua questão já não foi respondida.
Se sua questão foi resolvida, marque-a clicando no botão resolvido para organizar o fórum.
Luiz — Ajudeiro
avatar

Luiz
Ajudeiro
Ajudeiro

Masculino
Inscrito dia : 22/04/2016
Mensagens : 5041
Pontos Ativos : 5840

Ver perfil do usuário https://github.com/lffg/

Resolvido Re: Botões em Determinados Tópicos

Mensagem por iScroll em 12/10/17, 11:51 am

Como seria a personalização dele com base no que eu passe a cima? Poderia dar uma ideia?
avatar

iScroll
Membro do Fórum

Masculino
Inscrito dia : 08/03/2015
Mensagens : 1376
Pontos Ativos : 1876

Ver perfil do usuário http://ultimatelife.forumeiros.com

Resolvido Re: Botões em Determinados Tópicos

Mensagem por Luiz em 12/10/17, 11:54 am

Basta seguir os exemplos dentro do array buttons. o/


Bem-vindo ao Fórum dos Fóruns!
Leia as regras do Fórum dos Fóruns e as regras do setor de suporte.
Antes de criar um tópico, verifique se sua questão já não foi respondida.
Se sua questão foi resolvida, marque-a clicando no botão resolvido para organizar o fórum.
Luiz — Ajudeiro
avatar

Luiz
Ajudeiro
Ajudeiro

Masculino
Inscrito dia : 22/04/2016
Mensagens : 5041
Pontos Ativos : 5840

Ver perfil do usuário https://github.com/lffg/

Resolvido Re: Botões em Determinados Tópicos

Mensagem por iScroll em 12/10/17, 11:56 am

Assim?
Código:
/*globals jQuery, FA, _userdata*/
 
/**
 * Botões de moderação para o SCEditor.
 *
 * @author lffg <https://github.com/lffg>
 * @version 1.0
 */

(function ($) {
  'use strict';

  var buttons = [
    {
      name      : 'Tópico Bloqueado',
      id        : 'topic-block-button',
      text      : 'Olá, o tópico foi bloqueado... [...]',
      topics    : [6],
      img      : 'https://i.imgur.com/z5lPhgz.png',
      onlyForMod: true
    }, {
      name        : 'Lista de Ações',
      id          : 'topic-actions-list',
      topics      : [6],
      img        : 'https://i.imgur.com/oAGWDdG.png',
      inGroup    : false,
      onlyForAdmin: true,
      children    : [
        { name: 'Em Curso', text: ' [table class=aviso][tr][td][b]Denúncia Em Curso[/b] \n \n[b]Tópico Marcado como Em Curso. Denúncias são fechadas no prazo de 24H caso o acusado responda, caso contrário, terá o fechamento no tempo de 48H.[/b][/td][/tr][/table]', icon: 'fa fa-cog' },
        { name: 'Resolvido', text: '[table class=sucesso][tr][td][b]Denúncia UP[/b] \n\[b]Motivo:[/b] Motivo Aqui \n\[b]Punição:[/b] Punição Aqui \n \n[b]Achou injusto? Peça revisão nessa área: http://www.brasilplayultimate.com.br/f130-revisao-de-punicao[/b]\n \n[b]Tópico Marcado como Resolvido e movido para "Arquivos - Denúncias".[/b][/td][/tr][/table]', icon: 'fa fa-cog' },
        { name: 'Recusado', text: '[table class=alerta][tr][td][b]Denúncia FAIL[/b]\n\[b]Motivo:[/b] Motivo Aqui \n \n[b]Achou injusto? Peça revisão nessa área: http://www.brasilplayultimate.com.br/f130-revisao-de-punicao[/b]\n\ \n\[b]Tópico Marcado como Recusado e movido para "Arquivos - Denúncias".[/b][/td][/tr][/table]', icon: 'fa fa-cog' }
      ]
    }
  ];

  window.FA = window.FA || {};
  FA.Topic = FA.Topic || {};

  var ModButtons;
  FA.Topic.ModButtons = ModButtons = function (userConfig) {
    var self = this;

    self.userConfig = userConfig;
    self.defaults = {
      name        : undefined,
      id          : '',
      inGroup    : true,
      topics      : ['6'],
      text        : '',
      children    : false,
      img        : undefined,
      onlyForMod  : false,
      onlyForAdmin: false
    };

    self.config = $.extend({}, self.defaults, self.userConfig);

    $.each(self.config, function (key, value) {
      if (key === undefined) {
        throw new Error ('Não foi especificado um: ' + key + ' para o script de botões de moderação.');
      }
 
      if (value === undefined) {
        throw new Error ('Não foi especificado um valor: ' + value + ' para o script de botões de moderação.');
      }
    });

    self.createStyles();
  };

  ModButtons.prototype.init = function () {
    var self = this;
   
    if (self.config.onlyForMod && (_userdata.user_level !== 1 && _userdata.user_level !== 2)) {
      return false;
    }
   
    if (self.config.onlyForAdmin && _userdata.user_level !== 1) {
      return false;
    }
   
    if (self.config.topics.indexOf('*') === -1) {
      var topicId = parseInt(location.href.replace(/.*\/t(\d+).*|.*\/post\?t=(\d+)&.*/gi, function (string, match1, match2) {
        if (match1 === undefined) {
          return match2;
        }
   
        return match1;
      }));
   
      if (self.config.topics.indexOf(topicId) === -1) {
        return false;
      }
    }

    if (Array.isArray(self.config.children) && self.config.children.length >= 1) {
      self.createButton(true);
    } else {
      self.createButton(false);
    }
  };

  /**
  * @param {boolean} isDrop Se for true, significa que o botão tem filhos.
  *                        Caso contrário, o botão não tem filhos.
  */
  ModButtons.prototype.createButton = function (isDrop) {
    var self = this;
   
    if (!$.sceditor) {
      return false;
    }
   
    self.$group = $('.sceditor-group:last');
    self.$element = $('<a>', {
      'class'      : 'sceditor-button',
      'unselectable': 'on',
      'title'      : self.config.name,
      'data-id'    : self.config.id,
      'html'        : $('<div>', { 'unselectable': 'on' }).css('background-image', 'url(' + self.config.img + ')').prop('outerHTML')
    });

    switch (isDrop) {
      case true:
        self.$element.attr('data-dropdown', 'true');

        self.createChildren();
        self.documentListen();

        self.$element.on('click', function (event) {
          event.preventDefault();
          event.stopPropagation();

          var $this = $(this);

          var offset = $this.offset();
          var height = $this.height();

          self.$dropdown
            .css('position', 'absolute')
            .css('top', offset.top + height)
            .css('left', offset.left)
            .toggle()
          ;
        });
       
        break;

      case false:
        self.$element
          .attr('data-dropdown', 'false')
            .attr('data-text', self.config.text)
              .on('click', function (event) {
                self.insertText($(this), event);
              })
        ;
       
        break;
    }

    if (self.config.inGroup) {
      self.$group.append(self.$element);

      return;
    }
   
    $('<div>', { 'class': 'sceditor-group' })
      .insertBefore(self.$group)
        .append(self.$element)
    ;
  };
 
  ModButtons.prototype.createChildren = function () {
    var self = this;
   
    self.$dropdown = $('<div>', { 'class': 'sceditor-dropdown fa-mod-buttons-prototype-dropdown' });
   
    $.each(self.config.children, function (index, child) {
      $('<a>', {
        'data-text': child.text,
        'title'    : child.name,
        'html'    : [
          $('<i>', { 'class': child.icon }).prop('outerHTML'),
          $('<span>', { 'text': child.name }).prop('outerHTML')
        ].join('\n')
      })
        .appendTo(self.$dropdown)
          .on('click', function (event) {
            self.insertText($(this), event);

            self.$dropdown.hide();
          })
      ;
    });

    self.$dropdown
      .hide()
        .appendTo('body')
    ;
  };

  /**
  * @param {string} text - Corresponde ao texto que será inserido no editor.
  */
  ModButtons.prototype.insertText = function (context, contextEvent) {
    contextEvent.preventDefault();
    contextEvent.stopPropagation();

    var $this = $(context);

    var $textarea = $('#text_editor_textarea');
    var $sceditor = $textarea.sceditor('instance');

    $sceditor.insertText($this.attr('data-text'));
  };

  ModButtons.prototype.documentListen = function () {
    var self = this;
   
    self.$dropdown.on('click', function (event) {
      event.stopPropagation();
    });
   
    $(document).on('click', function (event) {
      self.$dropdown.hide();
    });
  };

  ModButtons.prototype.createStyles = function () {
    $('<style>', {
      'text': [
        '.fa-mod-buttons-prototype-dropdown {',
        '  padding: 0px !important;',
        '  margin-top: 5px !important;',
        '  min-width: 120px;',
        '  max-height: 200px;',
        '  overflow-y: auto;',
        '}',
        '',
        '.fa-mod-buttons-prototype-dropdown > a {',
        '  display: block;',
        '  padding: 8px 10px;',
        '  border-bottom: solid 1px #ddd;',
        '  font-size: 10px;',
        '  cursor: pointer;',
        '}',
        '',
        '.fa-mod-buttons-prototype-dropdown > a:last-child {',
        '  border-bottom: none;',
        '}',
        '',
        '.fa-mod-buttons-prototype-dropdown > a > i {',
        '  font-size: 12px;',
        '  vertical-align: middle;',
        '}'
      ].join('\n')
    }).appendTo('head');
  };

  $(window).on('load', function () {
    $.each(buttons, function () {
      var self = this;

      (new FA.Topic.ModButtons(self)).init();
    });
  });
}(jQuery));
avatar

iScroll
Membro do Fórum

Masculino
Inscrito dia : 08/03/2015
Mensagens : 1376
Pontos Ativos : 1876

Ver perfil do usuário http://ultimatelife.forumeiros.com

Resolvido Re: Botões em Determinados Tópicos

Mensagem por Luiz em 12/10/17, 12:01 pm

Sim. Feliz


Bem-vindo ao Fórum dos Fóruns!
Leia as regras do Fórum dos Fóruns e as regras do setor de suporte.
Antes de criar um tópico, verifique se sua questão já não foi respondida.
Se sua questão foi resolvida, marque-a clicando no botão resolvido para organizar o fórum.
Luiz — Ajudeiro
avatar

Luiz
Ajudeiro
Ajudeiro

Masculino
Inscrito dia : 22/04/2016
Mensagens : 5041
Pontos Ativos : 5840

Ver perfil do usuário https://github.com/lffg/

Resolvido Re: Botões em Determinados Tópicos

Mensagem por iScroll em 12/10/17, 12:25 pm

Devo prosseguir ou errei em algo ?
Código:
/*globals jQuery, FA, _userdata*/
 
/**
 * Botões de moderação para o SCEditor.
 *
 * @author lffg <https://github.com/lffg>
 * @version 1.0
 */

(function ($) {
  'use strict';

  var buttons = [
    {
      name      : 'Tópico Bloqueado',
      id        : 'topic-block-button',
      text      : 'Olá, o tópico foi bloqueado... [...]',
      topics    : [6],
      img      : 'https://i.imgur.com/z5lPhgz.png',
      onlyForMod: true
    }, {
      name        : 'Mensagens de Denúncias',
      id          : 'topic-actions-list',
      topics      : [6],
      img        : 'https://i.imgur.com/oAGWDdG.png',
      inGroup    : false,
      onlyForAdmin: true,
      children    : [
        { name: 'Em Curso', text: ' [table class=aviso][tr][td][b]Denúncia Em Curso[/b] \n \n[b]Tópico Marcado como Em Curso. Denúncias são fechadas no prazo de 24H caso o acusado responda, caso contrário, terá o fechamento no tempo de 48H.[/b][/td][/tr][/table]', icon: 'fa fa-cog' },
        { name: 'Resolvido', text: '[table class=sucesso][tr][td][b]Denúncia UP[/b] \n\[b]Motivo:[/b] Motivo Aqui \n\[b]Punição:[/b] Punição Aqui \n \n[b]Achou injusto? Peça revisão nessa área: http://www.brasilplayultimate.com.br/f130-revisao-de-punicao[/b]\n \n[b]Tópico Marcado como Resolvido e movido para "Arquivos - Denúncias".[/b][/td][/tr][/table]', icon: 'fa fa-cog' },
        { name: 'Recusado', text: '[table class=alerta][tr][td][b]Denúncia FAIL[/b]\n\[b]Motivo:[/b] Motivo Aqui \n \n[b]Achou injusto? Peça revisão nessa área: http://www.brasilplayultimate.com.br/f130-revisao-de-punicao[/b]\n\ \n\[b]Tópico Marcado como Recusado e movido para "Arquivos - Denúncias".[/b][/td][/tr][/table]', icon: 'fa fa-cog' }
          }, {
      name        : 'Mensagens de Dúvidas',
      id          : 'topic-actions-list',
      topics      : [6],
      img        : 'http://i.imgur.com/blJDYza.png',
      inGroup    : false,
      onlyForAdmin: true,
      children    : [
        { name: 'Em Curso', text: ' [table class=aviso][tr][td][b]Denúncia Em Curso[/b] \n \n[b]Tópico Marcado como Em Curso. Denúncias são fechadas no prazo de 24H caso o acusado responda, caso contrário, terá o fechamento no tempo de 48H.[/b][/td][/tr][/table]', icon: 'fa fa-cog' },
        { name: 'Resolvido', text: '[table class=sucesso][tr][td][b]Denúncia UP[/b] \n\[b]Motivo:[/b] Motivo Aqui \n\[b]Punição:[/b] Punição Aqui \n \n[b]Achou injusto? Peça revisão nessa área: http://www.brasilplayultimate.com.br/f130-revisao-de-punicao[/b]\n \n[b]Tópico Marcado como Resolvido e movido para "Arquivos - Denúncias".[/b][/td][/tr][/table]', icon: 'fa fa-cog' },
        { name: 'Recusado', text: '[table class=alerta][tr][td][b]Denúncia FAIL[/b]\n\[b]Motivo:[/b] Motivo Aqui \n \n[b]Achou injusto? Peça revisão nessa área: http://www.brasilplayultimate.com.br/f130-revisao-de-punicao[/b]\n\ \n\[b]Tópico Marcado como Recusado e movido para "Arquivos - Denúncias".[/b][/td][/tr][/table]', icon: 'fa fa-cog' }
      ]
    }
  ];

  window.FA = window.FA || {};
  FA.Topic = FA.Topic || {};

  var ModButtons;
  FA.Topic.ModButtons = ModButtons = function (userConfig) {
    var self = this;

    self.userConfig = userConfig;
    self.defaults = {
      name        : undefined,
      id          : '',
      inGroup    : true,
      topics      : ['6'],
      text        : '',
      children    : false,
      img        : undefined,
      onlyForMod  : false,
      onlyForAdmin: false
    };

    self.config = $.extend({}, self.defaults, self.userConfig);

    $.each(self.config, function (key, value) {
      if (key === undefined) {
        throw new Error ('Não foi especificado um: ' + key + ' para o script de botões de moderação.');
      }
 
      if (value === undefined) {
        throw new Error ('Não foi especificado um valor: ' + value + ' para o script de botões de moderação.');
      }
    });

    self.createStyles();
  };

  ModButtons.prototype.init = function () {
    var self = this;
   
    if (self.config.onlyForMod && (_userdata.user_level !== 1 && _userdata.user_level !== 2)) {
      return false;
    }
   
    if (self.config.onlyForAdmin && _userdata.user_level !== 1) {
      return false;
    }
   
    if (self.config.topics.indexOf('*') === -1) {
      var topicId = parseInt(location.href.replace(/.*\/t(\d+).*|.*\/post\?t=(\d+)&.*/gi, function (string, match1, match2) {
        if (match1 === undefined) {
          return match2;
        }
   
        return match1;
      }));
   
      if (self.config.topics.indexOf(topicId) === -1) {
        return false;
      }
    }

    if (Array.isArray(self.config.children) && self.config.children.length >= 1) {
      self.createButton(true);
    } else {
      self.createButton(false);
    }
  };

  /**
  * @param {boolean} isDrop Se for true, significa que o botão tem filhos.
  *                        Caso contrário, o botão não tem filhos.
  */
  ModButtons.prototype.createButton = function (isDrop) {
    var self = this;
   
    if (!$.sceditor) {
      return false;
    }
   
    self.$group = $('.sceditor-group:last');
    self.$element = $('<a>', {
      'class'      : 'sceditor-button',
      'unselectable': 'on',
      'title'      : self.config.name,
      'data-id'    : self.config.id,
      'html'        : $('<div>', { 'unselectable': 'on' }).css('background-image', 'url(' + self.config.img + ')').prop('outerHTML')
    });

    switch (isDrop) {
      case true:
        self.$element.attr('data-dropdown', 'true');

        self.createChildren();
        self.documentListen();

        self.$element.on('click', function (event) {
          event.preventDefault();
          event.stopPropagation();

          var $this = $(this);

          var offset = $this.offset();
          var height = $this.height();

          self.$dropdown
            .css('position', 'absolute')
            .css('top', offset.top + height)
            .css('left', offset.left)
            .toggle()
          ;
        });
       
        break;

      case false:
        self.$element
          .attr('data-dropdown', 'false')
            .attr('data-text', self.config.text)
              .on('click', function (event) {
                self.insertText($(this), event);
              })
        ;
       
        break;
    }

    if (self.config.inGroup) {
      self.$group.append(self.$element);

      return;
    }
   
    $('<div>', { 'class': 'sceditor-group' })
      .insertBefore(self.$group)
        .append(self.$element)
    ;
  };
 
  ModButtons.prototype.createChildren = function () {
    var self = this;
   
    self.$dropdown = $('<div>', { 'class': 'sceditor-dropdown fa-mod-buttons-prototype-dropdown' });
   
    $.each(self.config.children, function (index, child) {
      $('<a>', {
        'data-text': child.text,
        'title'    : child.name,
        'html'    : [
          $('<i>', { 'class': child.icon }).prop('outerHTML'),
          $('<span>', { 'text': child.name }).prop('outerHTML')
        ].join('\n')
      })
        .appendTo(self.$dropdown)
          .on('click', function (event) {
            self.insertText($(this), event);

            self.$dropdown.hide();
          })
      ;
    });

    self.$dropdown
      .hide()
        .appendTo('body')
    ;
  };

  /**
  * @param {string} text - Corresponde ao texto que será inserido no editor.
  */
  ModButtons.prototype.insertText = function (context, contextEvent) {
    contextEvent.preventDefault();
    contextEvent.stopPropagation();

    var $this = $(context);

    var $textarea = $('#text_editor_textarea');
    var $sceditor = $textarea.sceditor('instance');

    $sceditor.insertText($this.attr('data-text'));
  };

  ModButtons.prototype.documentListen = function () {
    var self = this;
   
    self.$dropdown.on('click', function (event) {
      event.stopPropagation();
    });
   
    $(document).on('click', function (event) {
      self.$dropdown.hide();
    });
  };

  ModButtons.prototype.createStyles = function () {
    $('<style>', {
      'text': [
        '.fa-mod-buttons-prototype-dropdown {',
        '  padding: 0px !important;',
        '  margin-top: 5px !important;',
        '  min-width: 120px;',
        '  max-height: 200px;',
        '  overflow-y: auto;',
        '}',
        '',
        '.fa-mod-buttons-prototype-dropdown > a {',
        '  display: block;',
        '  padding: 8px 10px;',
        '  border-bottom: solid 1px #ddd;',
        '  font-size: 10px;',
        '  cursor: pointer;',
        '}',
        '',
        '.fa-mod-buttons-prototype-dropdown > a:last-child {',
        '  border-bottom: none;',
        '}',
        '',
        '.fa-mod-buttons-prototype-dropdown > a > i {',
        '  font-size: 12px;',
        '  vertical-align: middle;',
        '}'
      ].join('\n')
    }).appendTo('head');
  };

  $(window).on('load', function () {
    $.each(buttons, function () {
      var self = this;

      (new FA.Topic.ModButtons(self)).init();
    });
  });
}(jQuery));
avatar

iScroll
Membro do Fórum

Masculino
Inscrito dia : 08/03/2015
Mensagens : 1376
Pontos Ativos : 1876

Ver perfil do usuário http://ultimatelife.forumeiros.com

Resolvido Re: Botões em Determinados Tópicos

Mensagem por Luiz em 12/10/17, 01:06 pm

Está funcionando normal? Se sim, podemos prosseguir. Feliz
Isso é só o senhor que pode dizer.


Bem-vindo ao Fórum dos Fóruns!
Leia as regras do Fórum dos Fóruns e as regras do setor de suporte.
Antes de criar um tópico, verifique se sua questão já não foi respondida.
Se sua questão foi resolvida, marque-a clicando no botão resolvido para organizar o fórum.
Luiz — Ajudeiro
avatar

Luiz
Ajudeiro
Ajudeiro

Masculino
Inscrito dia : 22/04/2016
Mensagens : 5041
Pontos Ativos : 5840

Ver perfil do usuário https://github.com/lffg/

Resolvido Re: Botões em Determinados Tópicos

Mensagem por iScroll em 12/10/17, 01:07 pm

Luiz escreveu:Está funcionando normal? Se sim, podemos prosseguir. Feliz
Isso é só o senhor que pode dizer.
Não está nem aparecendo nada caro amigo...
avatar

iScroll
Membro do Fórum

Masculino
Inscrito dia : 08/03/2015
Mensagens : 1376
Pontos Ativos : 1876

Ver perfil do usuário http://ultimatelife.forumeiros.com

Resolvido Re: Botões em Determinados Tópicos

Mensagem por Luiz em 12/10/17, 01:20 pm

Troque por este que deve funcionar, certo?
Código:
/*globals jQuery, FA, _userdata*/
 
/**
 * Botões de moderação para o SCEditor.
 *
 * @author lffg <https://github.com/lffg>
 * @version 1.0
 */

(function ($) {
  'use strict';

  var buttons = [
    {
      name      : 'Tópico Bloqueado',
      id        : 'topic-block-button',
      text      : 'Olá, o tópico foi bloqueado... [...]',
      img      : 'https://i.imgur.com/z5lPhgz.png',
      onlyForMod: true
    }, {
      name        : 'Mensagens de Denúncias',
      id          : 'topic-denuncias-item',
      img        : 'https://i.imgur.com/oAGWDdG.png',
      inGroup    : false,
      onlyForAdmin: false,
      children    : [
        { name: 'Em Curso', text: '[table class=aviso][tr][td][b]Denúncia Em Curso[/b] \n \n[b]Tópico Marcado como Em Curso. Denúncias são fechadas no prazo de 24H caso o acusado responda, caso contrário, terá o fechamento no tempo de 48H.[/b][/td][/tr][/table]', icon: 'fa fa-cog' },
        { name: 'Resolvido', text: '[table class=sucesso][tr][td][b]Denúncia UP[/b] \n\[b]Motivo:[/b] Motivo Aqui \n\[b]Punição:[/b] Punição Aqui \n \n[b]Achou injusto? Peça revisão nessa área: http://www.brasilplayultimate.com.br/f130-revisao-de-punicao[/b]\n \n[b]Tópico Marcado como Resolvido e movido para "Arquivos - Denúncias".[/b][/td][/tr][/table]', icon: 'fa fa-cog' },
        { name: 'Recusado', text: '[table class=alerta][tr][td][b]Denúncia FAIL[/b]\n\[b]Motivo:[/b] Motivo Aqui \n \n[b]Achou injusto? Peça revisão nessa área: http://www.brasilplayultimate.com.br/f130-revisao-de-punicao[/b]\n\ \n\[b]Tópico Marcado como Recusado e movido para "Arquivos - Denúncias".[/b][/td][/tr][/table]', icon: 'fa fa-cog' }
      ]
    }
  ];

  window.FA = window.FA || {};
  FA.Topic = FA.Topic || {};

  var ModButtons;
  FA.Topic.ModButtons = ModButtons = function (userConfig) {
    var self = this;

    self.userConfig = userConfig;
    self.defaults = {
      name        : undefined,
      id          : '',
      inGroup    : true,
      topics      : ['*'],
      text        : '',
      children    : false,
      img        : undefined,
      onlyForMod  : false,
      onlyForAdmin: false
    };

    self.config = $.extend({}, self.defaults, self.userConfig);

    $.each(self.config, function (key, value) {
      if (key === undefined) {
        throw new Error ('Não foi especificado um: ' + key + ' para o script de botões de moderação.');
      }
 
      if (value === undefined) {
        throw new Error ('Não foi especificado um valor: ' + value + ' para o script de botões de moderação.');
      }
    });

    self.createStyles();
  };

  ModButtons.prototype.init = function () {
    var self = this;
   
    if (self.config.onlyForMod && (_userdata.user_level !== 1 && _userdata.user_level !== 2)) {
      return false;
    }
   
    if (self.config.onlyForAdmin && _userdata.user_level !== 1) {
      return false;
    }
   
    if (self.config.topics.indexOf('*') === -1) {
      var topicId = parseInt(location.href.replace(/.*\/t(\d+).*|.*\/post\?t=(\d+)&.*/gi, function (string, match1, match2) {
        if (match1 === undefined) {
          return match2;
        }
   
        return match1;
      }));
   
      if (self.config.topics.indexOf(topicId) === -1) {
        return false;
      }
    }

    if (Array.isArray(self.config.children) && self.config.children.length >= 1) {
      self.createButton(true);
    } else {
      self.createButton(false);
    }
  };

  /**
  * @param {boolean} isDrop Se for true, significa que o botão tem filhos.
  *                        Caso contrário, o botão não tem filhos.
  */
  ModButtons.prototype.createButton = function (isDrop) {
    var self = this;
   
    if (!$.sceditor) {
      return false;
    }
   
    self.$group = $('.sceditor-group:last');
    self.$element = $('<a>', {
      'class'      : 'sceditor-button',
      'unselectable': 'on',
      'title'      : self.config.name,
      'data-id'    : self.config.id,
      'html'        : $('<div>', { 'unselectable': 'on' }).css('background-image', 'url(' + self.config.img + ')').prop('outerHTML')
    });

    switch (isDrop) {
      case true:
        self.$element.attr('data-dropdown', 'true');

        self.createChildren();
        self.documentListen();

        self.$element.on('click', function (event) {
          event.preventDefault();
          event.stopPropagation();

          var $this = $(this);

          var offset = $this.offset();
          var height = $this.height();

          self.$dropdown
            .css('position', 'absolute')
            .css('top', offset.top + height)
            .css('left', offset.left)
            .toggle()
          ;
        });
       
        break;

      case false:
        self.$element
          .attr('data-dropdown', 'false')
            .attr('data-text', self.config.text)
              .on('click', function (event) {
                self.insertText($(this), event);
              })
        ;
       
        break;
    }

    if (self.config.inGroup) {
      self.$group.append(self.$element);

      return;
    }
   
    $('<div>', { 'class': 'sceditor-group' })
      .insertBefore(self.$group)
        .append(self.$element)
    ;
  };
 
  ModButtons.prototype.createChildren = function () {
    var self = this;
   
    self.$dropdown = $('<div>', { 'class': 'sceditor-dropdown fa-mod-buttons-prototype-dropdown' });
   
    $.each(self.config.children, function (index, child) {
      $('<a>', {
        'data-text': child.text,
        'title'    : child.name,
        'html'    : [
          $('<i>', { 'class': child.icon }).prop('outerHTML'),
          $('<span>', { 'text': child.name }).prop('outerHTML')
        ].join('\n')
      })
        .appendTo(self.$dropdown)
          .on('click', function (event) {
            self.insertText($(this), event);

            self.$dropdown.hide();
          })
      ;
    });

    self.$dropdown
      .hide()
        .appendTo('body')
    ;
  };

  /**
  * @param {string} text - Corresponde ao texto que será inserido no editor.
  */
  ModButtons.prototype.insertText = function (context, contextEvent) {
    contextEvent.preventDefault();
    contextEvent.stopPropagation();

    var $this = $(context);

    var $textarea = $('#text_editor_textarea');
    var $sceditor = $textarea.sceditor('instance');

    $sceditor.insertText($this.attr('data-text'));
  };

  ModButtons.prototype.documentListen = function () {
    var self = this;
   
    self.$dropdown.on('click', function (event) {
      event.stopPropagation();
    });
   
    $(document).on('click', function (event) {
      self.$dropdown.hide();
    });
  };

  ModButtons.prototype.createStyles = function () {
    $('<style>', {
      'text': [
        '.fa-mod-buttons-prototype-dropdown {',
        '  padding: 0px !important;',
        '  margin-top: 5px !important;',
        '  min-width: 120px;',
        '  max-height: 200px;',
        '  overflow-y: auto;',
        '}',
        '',
        '.fa-mod-buttons-prototype-dropdown > a {',
        '  display: block;',
        '  padding: 8px 10px;',
        '  border-bottom: solid 1px #ddd;',
        '  font-size: 10px;',
        '  cursor: pointer;',
        '}',
        '',
        '.fa-mod-buttons-prototype-dropdown > a:last-child {',
        '  border-bottom: none;',
        '}',
        '',
        '.fa-mod-buttons-prototype-dropdown > a > i {',
        '  font-size: 12px;',
        '  vertical-align: middle;',
        '}'
      ].join('\n')
    }).appendTo('head');
  };

  $(function () {
    $.each(buttons, function () {
      var self = this;

      (new FA.Topic.ModButtons(self)).init();
    });
  });
}(jQuery));


Bem-vindo ao Fórum dos Fóruns!
Leia as regras do Fórum dos Fóruns e as regras do setor de suporte.
Antes de criar um tópico, verifique se sua questão já não foi respondida.
Se sua questão foi resolvida, marque-a clicando no botão resolvido para organizar o fórum.
Luiz — Ajudeiro
avatar

Luiz
Ajudeiro
Ajudeiro

Masculino
Inscrito dia : 22/04/2016
Mensagens : 5041
Pontos Ativos : 5840

Ver perfil do usuário https://github.com/lffg/

Resolvido Re: Botões em Determinados Tópicos

Mensagem por iScroll em 12/10/17, 01:36 pm

Não aparece nada, gostaria que eu lhe setasse rank de moderador para efetuar testes ?
Lembrando, esses botões de denúncias irão aparecer em tópicos desta área : http://www.brasilplayultimate.com.br/f6-denuncias
avatar

iScroll
Membro do Fórum

Masculino
Inscrito dia : 08/03/2015
Mensagens : 1376
Pontos Ativos : 1876

Ver perfil do usuário http://ultimatelife.forumeiros.com

Resolvido Re: Botões em Determinados Tópicos

Mensagem por iScroll em 13/10/17, 08:47 pm

UP
avatar

iScroll
Membro do Fórum

Masculino
Inscrito dia : 08/03/2015
Mensagens : 1376
Pontos Ativos : 1876

Ver perfil do usuário http://ultimatelife.forumeiros.com

Resolvido Re: Botões em Determinados Tópicos

Mensagem por iScroll Ontem à(s) 12:46 am

UP
avatar

iScroll
Membro do Fórum

Masculino
Inscrito dia : 08/03/2015
Mensagens : 1376
Pontos Ativos : 1876

Ver perfil do usuário http://ultimatelife.forumeiros.com

Resolvido Re: Botões em Determinados Tópicos

Mensagem por Luiz Ontem à(s) 01:41 pm

Tente este:
Código:
/**
 * Código jQuery que permite adiconar múltiplos botões ao SCEditor;
 * Autores: Luiz~ e Kyo Panda (ajuda.forumeiros.com);
 * Plataforma: Forumeiros;
 * Versão: Todas;
 * Investimento: Todas as páginas;
 * Licence MIT;
 */
(function ($) {
  'use strict';
  var f = 3;

  var botoes = [
    {
      'somenteModVer': true,
      'name': 'Tópico Bloqueado',
      'text': 'Olá! \nO seu tópico encontra-se bloqueado. \nQueira ler nossas [i]regras[/i] para saber mais.',
      'id': 'tpc-lock',
      'imgUrl': 'http://i.imgur.com/z5lPhgz.png'
    }, {
      'somenteModVer': true,
      'name': 'Tópico Desbloqueado',
      'text': 'Olá! \nEsta é uma mensagem de status: \nSeu tópico foi desbloqueado. \nQueira ler nossas [i]regras[/i] para saber mais.',
      'id': 'tpc-unlock',
      'imgUrl': 'http://i.imgur.com/hsBvMRG.png'
    }, {
      'somenteModVer': true,
      'name': 'Mensagens de Denúncias',
      'id': 'mensagens-de-denuncias',
      'imgUrl': 'http://i.imgur.com/oAGWDdG.png',
      'filhos': [
        {
          'somenteModVer': true,
          'name': 'Denúncia UP',
          'text': '[table class=sucesso][tr][td][b]Denúncia UP[/b] \n\[b]Motivo:[/b] Motivo Aqui \n\[b]Punição:[/b] Punição Aqui \n \n[b]Achou injusto? Peça revisão nessa área: http://www.brasilplayultimate.com.br/f130-revisao-de-punicao[/b]\n \n[b]Tópico Marcado como Resolvido e movido para "Arquivos - Denúncias".[/b][/td][/tr][/table]',
          'id': 'msm-denuncia',
          'imgUrl': 'http://i.imgur.com/W5mUMil.png'
        }, {
          'somenteModVer': true,
          'name': 'Denúncia FAIL',
          'text': '[table class=alerta][tr][td][b]Denúncia FAIL[/b]\n\[b]Motivo:[/b] Motivo Aqui \n \n[b]Achou injusto? Peça revisão nessa área: http://www.brasilplayultimate.com.br/f130-revisao-de-punicao[/b]\n\ \n\[b]Tópico Marcado como Recusado e movido para "Arquivos - Denúncias".[/b][/td][/tr][/table]',
          'id': 'msm-denuncia',
          'imgUrl': 'http://i.imgur.com/E3r9Hh1.png'
        }, {
          'somenteModVer': true,
          'name': 'Denúncia Em Curso',
          'text': '[table class=aviso][tr][td][b]Denúncia Em Curso[/b] \n \n[b]Tópico Marcado como Em Curso. Denúncias são fechadas no prazo de 24H caso o acusado responda, caso contrário, terá o fechamento no tempo de 48H.[/b][/td][/tr][/table]',
          'id': 'msm-denuncia',
          'imgUrl': 'http://i.imgur.com/l7KlLp6.png'
        }
      ]
    }
  ];

  // Begin CSS:
  $(function () {
    $([
      /**
      * Você pode customizar o CSS, mas lembre-se de incluir as linhas entre aspas simples,
      * E sempre usar aspas compostas dentro de cada linha.
      * Lembre-se também de sempre incluir vírgula após cada linha. Exceto na última linha.
      */
      '<style>',
      '  #main .sceditor-toolbar,',
      '  #main .sceditor-group {',
      '    overflow: initial;',
      '  }',
      '  .sceditor-group {',
      '    position: relative;',
      '  }',
      '  .fa-dropdown1 {',
      '    position: absolute;',
      '    padding: 0px!important;',
      '    top: 27px;',
      '    background-color: #fff;',
      '    border: 1px #ccc solid;',
      '    display: none;',
      '  }',
      '  .fa-dropdown1 a {',
      '    display: block;',
      '    line-height: 1.5em;',
      '    padding: 7px 15px 7px 30px;',
      '    white-space: nowrap;',
      '    border-bottom: 1px #ccc solid;',
      '    cursor: pointer;',
      '    font-size: 12px;',
      '  }',
      '  .fa-dropdown1 a:last-child {',
      '    border-bottom: none;',
      '  }',
      '  .fa-dropdown1-open {',
      '    display: block;',
      '  }',
    '.naoaparecer{display:none!important;}',
      '</style>'
    ].join('\n'))
      .appendTo('head');
    });

  // Begin 'code':
  $(window).on('load', function () {
   
    if ($('.sub-header-path').html().indexOf('/f' + f) === - 1) {
      return false;
    }
 
    // Variáveis Importantes:
    var $ultimoGrupo = $('.sceditor-group:last');
    var $sceditor = $('#text_editor_textarea').sceditor('instance');
    var bgStyles1 = 'background-position: center!important; background-repeat: no-repeat!important;';
    var bgStyles2 = 'background-position: 8px 9px!important; background-repeat: no-repeat!important;';

    $.each(botoes, function (index, botoes) { 
      if (botoes.somenteModVer  && _userdata.user_level <= 0) {
        return;
      }

        if ($(botoes.filhos).length) {
          // Caso seja um dropdown (TENHA UM FILHO):
          var $parent = $('<a>', {
              class: 'sceditor-button ' + botoes.id,
              title: ' ' + botoes.name,
              style: 'background-image: url(' + botoes.imgUrl + ')!important; ' + bgStyles1,
              unselectable: 'on'
            })
              .appendTo($ultimoGrupo)
                .on('click', function () {
                  $ultimoGrupo
                    .find('.fa-dropdown1-' + botoes.id)
                      .css('left', $parent.position().left + 'px')
                        .toggleClass('fa-dropdown1-open');
                });
               
          var $dropdown = $('<div>', {
            class: 'sceditor-dropdown fa-dropdown1 fa-dropdown1-' + botoes.id
            })       
              .appendTo($ultimoGrupo);

          // Dropdown children:
          $.each(botoes.filhos, function (index, filhos) {
            $('<a>', {
              html: filhos.name,
              class: filhos.id + 'fa-dropdown1-item',
              style: 'background-image: url(' + filhos.imgUrl + ')!important; ' + bgStyles2,
            })
              .appendTo($dropdown)
                .on('click', function () {
                  $sceditor.insertText(filhos.text);
                  $('.fa-dropdown1')
                    .toggleClass('fa-dropdown1-open');
                });
          });
         
          return;
         
       
      }

    });
   
  });
}(jQuery));

Só deverá aparecer — em tese — em tópicos do subfórum 3.


Bem-vindo ao Fórum dos Fóruns!
Leia as regras do Fórum dos Fóruns e as regras do setor de suporte.
Antes de criar um tópico, verifique se sua questão já não foi respondida.
Se sua questão foi resolvida, marque-a clicando no botão resolvido para organizar o fórum.
Luiz — Ajudeiro
avatar

Luiz
Ajudeiro
Ajudeiro

Masculino
Inscrito dia : 22/04/2016
Mensagens : 5041
Pontos Ativos : 5840

Ver perfil do usuário https://github.com/lffg/

Resolvido Re: Botões em Determinados Tópicos

Mensagem por iScroll Ontem à(s) 06:46 pm

Resultou, e agora, basta repetir o JS e criar novos ?
avatar

iScroll
Membro do Fórum

Masculino
Inscrito dia : 08/03/2015
Mensagens : 1376
Pontos Ativos : 1876

Ver perfil do usuário http://ultimatelife.forumeiros.com

Resolvido Re: Botões em Determinados Tópicos

Mensagem por Luiz Ontem à(s) 07:35 pm

Yep. Feliz


Bem-vindo ao Fórum dos Fóruns!
Leia as regras do Fórum dos Fóruns e as regras do setor de suporte.
Antes de criar um tópico, verifique se sua questão já não foi respondida.
Se sua questão foi resolvida, marque-a clicando no botão resolvido para organizar o fórum.
Luiz — Ajudeiro
avatar

Luiz
Ajudeiro
Ajudeiro

Masculino
Inscrito dia : 22/04/2016
Mensagens : 5041
Pontos Ativos : 5840

Ver perfil do usuário https://github.com/lffg/

Resolvido Re: Botões em Determinados Tópicos

Mensagem por iScroll Ontem à(s) 08:52 pm

Resultou perfeitamente, mas uma dúvida.
Mensagens de denúncias ficou:
Código:
  var f = 6;
o de DS:
Código:
  var f = 22;

Aí por ser : /f62-arquivos-designer
Aparece os de denúncias também.
Há como limitar somente para /f6- ?
avatar

iScroll
Membro do Fórum

Masculino
Inscrito dia : 08/03/2015
Mensagens : 1376
Pontos Ativos : 1876

Ver perfil do usuário http://ultimatelife.forumeiros.com

Resolvido Re: Botões em Determinados Tópicos

Mensagem por Luiz Ontem à(s) 08:58 pm

A forma como foi feita é a única possível que consegui pensar (utilizando os crumbs). o/


Bem-vindo ao Fórum dos Fóruns!
Leia as regras do Fórum dos Fóruns e as regras do setor de suporte.
Antes de criar um tópico, verifique se sua questão já não foi respondida.
Se sua questão foi resolvida, marque-a clicando no botão resolvido para organizar o fórum.
Luiz — Ajudeiro
avatar

Luiz
Ajudeiro
Ajudeiro

Masculino
Inscrito dia : 22/04/2016
Mensagens : 5041
Pontos Ativos : 5840

Ver perfil do usuário https://github.com/lffg/

Resolvido Re: Botões em Determinados Tópicos

Mensagem por iScroll Ontem à(s) 09:03 pm

Dá nada kk
Ta bom do jeito que está.
Obrigado Luiz.
avatar

iScroll
Membro do Fórum

Masculino
Inscrito dia : 08/03/2015
Mensagens : 1376
Pontos Ativos : 1876

Ver perfil do usuário http://ultimatelife.forumeiros.com

Resolvido Re: Botões em Determinados Tópicos

Mensagem por Luiz Ontem à(s) 09:12 pm

Questão marcada como Resolvida ou o Autor solicitou que ela fosse arquivada.
Tópico marcado como Resolvido e movido para Questões resolvidas.


Bem-vindo ao Fórum dos Fóruns!
Leia as regras do Fórum dos Fóruns e as regras do setor de suporte.
Antes de criar um tópico, verifique se sua questão já não foi respondida.
Se sua questão foi resolvida, marque-a clicando no botão resolvido para organizar o fórum.
Luiz — Ajudeiro
avatar

Luiz
Ajudeiro
Ajudeiro

Masculino
Inscrito dia : 22/04/2016
Mensagens : 5041
Pontos Ativos : 5840

Ver perfil do usuário https://github.com/lffg/

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

Permissão deste fórum:
Você não pode responder aos tópicos neste fórum