Edição rápida na mensagem não funciona...

4 participantes

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

Tópico resolvido Edição rápida na mensagem não funciona...

Mensagem por Sonic_BR 26.10.14 1:03

Olá pessoal!

A Nikka fez um tutorial de como colocar a função de editar rapidamente uma mensagem...
Bem, o problema é que simplesmente não funciona! Você clica em "Salvar alterações" e depois atualiza a página, a sua resposta continuará da forma original, sem edições... Como que resolve isso?

Esse é o link do tutorial.

Flw.


Última edição por Sonic_BR em 29.10.14 23:02, editado 1 vez(es)
Sonic_BR

Sonic_BR
**

Membro desde : 13/09/2014
Mensagens : 62
Pontos : 105

http://terraria-brasil.forumeiros.com/

Ir para o topo Ir para baixo

Principal Contribuidor

Tópico resolvido Re: Edição rápida na mensagem não funciona...

Mensagem por Shek 26.10.14 7:31

Bom dia!

Para mim, em meu fórum de testes funciona perfeitamente:
Edição rápida na mensagem não funciona... Result12

Você já tentou remover todos os seus scripts e manter apenas este do tutorial?

Até mais!
Shek

Shek
Principal Contribuidor
Principal Contribuidor

Membro desde : 11/04/2009
Mensagens : 18896
Pontos : 22793

https://shiftactive.blogspot.com/ https://www.facebook.com/ShiftActif https://twitter.com/ShiftActif

Ir para o topo Ir para baixo

Tópico resolvido Re: Edição rápida na mensagem não funciona...

Mensagem por Sonic_BR 26.10.14 15:39

Puts, é porque são 7 scripts, sem contar esse da edição rápida, aí tirar todos e colocar tudo de novo dá trabalho, ehuaehau!

Bem, fazer o que né, eu vou tentar... Outra coisa, tem como você editar o script e colocar uma mensagem de "Enviando"? Assim fica mais fácil ainda saber se a mensagem foi editada ou não... (ou eu vou ter que criar outro tópico só pra pedir isso?)

EDIT:

Realmente, não funciona. Não é conflito com javascripts, desativei todos e ainda continua não funcionando... E não é só eu, os outros membros também não conseguem usar...
Sonic_BR

Sonic_BR
**

Membro desde : 13/09/2014
Mensagens : 62
Pontos : 105

http://terraria-brasil.forumeiros.com/

Ir para o topo Ir para baixo

Tópico resolvido Re: Edição rápida na mensagem não funciona...

Mensagem por Sonic_BR 28.10.14 21:08

Up do dia das bruxas :v
Sonic_BR

Sonic_BR
**

Membro desde : 13/09/2014
Mensagens : 62
Pontos : 105

http://terraria-brasil.forumeiros.com/

Ir para o topo Ir para baixo

Principal Contribuidor

Tópico resolvido Re: Edição rápida na mensagem não funciona...

Mensagem por Shek 28.10.14 21:18

Boa noite!

Desculpe, mas a tal mensagem que pede eu não sei como fazê-la. Para já, deixe o código mencionado ativado no fórum para que eu possa ver o que há de errado.

Até mais!
Shek

Shek
Principal Contribuidor
Principal Contribuidor

Membro desde : 11/04/2009
Mensagens : 18896
Pontos : 22793

https://shiftactive.blogspot.com/ https://www.facebook.com/ShiftActif https://twitter.com/ShiftActif

Ir para o topo Ir para baixo

Tópico resolvido Re: Edição rápida na mensagem não funciona...

Mensagem por Sonic_BR 29.10.14 15:48

Bem, caso você queira averiguar melhor o problema, criei um usuário de testes:

Login: usertest
Senha: usertest123
Sonic_BR

Sonic_BR
**

Membro desde : 13/09/2014
Mensagens : 62
Pontos : 105

http://terraria-brasil.forumeiros.com/

Ir para o topo Ir para baixo

Tópico resolvido Re: Edição rápida na mensagem não funciona...

Mensagem por Duel 29.10.14 16:42

@Shek, deixe-me explicar o porque você acha que funciona, e ele diz que não:
Quando clicamos em 'Salvar' no editor, ele salva apenas os Cookies da página atual, se der F5, verá que a mensagem não mudou. Infelizmente o JScript foi falho nesse ponto do ajax.



@Sonic:
Não faço a mínima ideia de onde o JScript errou, então, estou tentando recriar outro aqui, por hora está assim:
Código:
$(function(){
$('input[value="Enviar"]').click(function(){
alert("AAAAAA");
});
$('head').append('<style>#locsdeidit [name="subject"], #locsdeidit [name="topic_color"]{display:none}#locsdeidit textarea{width: 70% !important;height: 200px !important;}#locsdeidit input:hover{background:rgba(200,200,200,0.2)}#locsdeidit input{margin-bottom:1%;margin-top:1%;padding:5px 15px;border:1px solid black;cursor:pointer;background:rgba(200,200,200,0.4)}</style>');
$('a[href*="mode=editpost"]').click(function(){
if($(this).parents('.post').find('#contedit').length){
$('#contedit').fadeOut().remove();
}else{
$('#contedit').remove();
mylinkpathname = $(this).attr('href');
$(this).after('
<div id="contedit" style="box-shadow:0 0 10px grey;border:1px solid #555;margin-left:7%;padding:10px 15px;background:#f4f4f4;position:absolute;z-index:999;margin-top: 1%;margin-left: 981px;margin-top: -0px;">
  <p><div id="normedit" onmouseout="$(this).css(\'background\',\'rgba(255,255,255,0.8)\')" onmouseover="$(this).css(\'background\',\'rgba(200,200,200,0.5)\')"  style="font-weight:bold;color:#7D7D7D;transition:all 0.4s;border-bottom:1px solid grey;margin-bottom:1%;padding:10px 15px;background:rgba(255,255,255,0.8);cursor:pointer;">Editar (Normal)</div></p>
  <p><div id="rapidedit" onmouseout="$(this).css(\'background\',\'rgba(255,255,255,0.8)\')" onmouseover="$(this).css(\'background\',\'rgba(200,200,200,0.5)\')" style="font-weight:bold;color:#7D7D7D;transition:all 0.4s;padding:10px 15px;background:rgba(255,255,255,0.8);cursor:pointer;">Editar (Rápido)</div></p>
</div>
');
$('#rapidedit').bind('click', function(){
if($(this).parents('.post').find('#locsdeidit').length){
$('#locsdeidit').remove()}else{$('#locsdeidit').remove();
$(this).parents('.post').find('.post-entry').after('<div style="padding-left: 1.79%;" id="locsdeidit"><img src="http://www.wingshootingusa.org/2012/Images/loading_transparent.gif"></div>');
$('#locsdeidit').hide().fadeIn();
$.get(mylinkpathname, function(locg){
var html0 = $('.frm-form .frm-input', locg).html();
var html1 = $('#textarea_content', locg).html();
var html2 = $('.frm-form .frm-buttons', locg).html();
var htmlfinal = '<form onsubmit="return vB_Editor[\'text_editor\'].prepare_submit(0,0)" name="post" method="post" action="/post" enctype="multipart/form-data">' + html0 + html1 + html2 + '</form>';
$('#locsdeidit').html(htmlfinal);
});
jQuery('html,body').animate({scrollTop: jQuery('#locsdeidit').offset().top}, 1000);
$('#contedit').remove();
}
});
$('#normedit').bind('click', function(){
window.open(mylinkpathname, '_self')
});
$('#contedit').hide().fadeIn();
}
return false;
});
});
Seta Ainda falta muito, e claro. (kkk) Ninguém cria um código desses em 10 minutos, mas essa e a versão beta mesmo.
Seta Se quiser esperar um dia e meio +/-, ficará semelhante a esse do tutorial. Feliz

Até mais. :$
avatar

Duel
****

Membro desde : 21/05/2014
Mensagens : 323
Pontos : 446

https://ajuda.forumeiros.com/ https://www.facebook.com/Não uso. https://twitter.com/Não tenho

Ir para o topo Ir para baixo

Principal Contribuidor

Tópico resolvido Re: Edição rápida na mensagem não funciona...

Mensagem por Shek 29.10.14 17:27

Na verdade, assim que envio a mensagem Duel, o código salva, e quando aperto F5, a mensagem que tinha salvo fica lá normal. Tem certeza que ambos veem este bug?
Shek

Shek
Principal Contribuidor
Principal Contribuidor

Membro desde : 11/04/2009
Mensagens : 18896
Pontos : 22793

https://shiftactive.blogspot.com/ https://www.facebook.com/ShiftActif https://twitter.com/ShiftActif

Ir para o topo Ir para baixo

Tópico resolvido Re: Edição rápida na mensagem não funciona...

Mensagem por Duel 29.10.14 17:45

Absoluta certeza Shek.. Fiz um vídeo, tá 21% ainda infelizmente. .-.
avatar

Duel
****

Membro desde : 21/05/2014
Mensagens : 323
Pontos : 446

https://ajuda.forumeiros.com/ https://www.facebook.com/Não uso. https://twitter.com/Não tenho

Ir para o topo Ir para baixo

Tópico resolvido Re: Edição rápida na mensagem não funciona...

Mensagem por JScript 29.10.14 18:10

Shek escreveu:Na verdade, assim que envio a mensagem Duel, o código salva, e quando aperto F5, a mensagem que tinha salvo fica lá normal. Tem certeza que ambos veem este bug?
Olá!
Realmente eu também não vejo problema algum em um fórum que tenho, mas infelizmente, algo foi alterado na Plataforma que modificou as permissões e/ou forma de postagem com Ajax.

Abaixo está o erro retornado pelo servidor Forumeiros:
A browser error occured [Error #230], please contact the technical support.
Isso acontece com templates não modificados e/ou com fóruns atuais, ao menos foi o que eu notei pois em meus testes iniciais.

@Sonic_BR
A solução será rápida, aguarde que postarei aqui mesmo e depois a equipe, se desejar, irá atualizar o tópico ok?

@Duel
Antes de apontar que um código está errado, verifique-o primeiro e encontre o erro, pois se não encontrares, de dois um: "ou não sabe, ou o código não contém erros"!
Pense bem pois um tutorial só é aprovado quando ele é testado e retestado por todos da equipe.

Irei verificar as mudanças que houveram na parte postagem com Ajax e em seguida retorno com a solução.

Até mais,

JS
JScript

JScript
Super Membro

Membro desde : 15/03/2013
Mensagens : 1449
Pontos : 1901

http://jscript.forumeiros.com/

Ir para o topo Ir para baixo

Tópico resolvido Re: Edição rápida na mensagem não funciona...

Mensagem por Duel 29.10.14 18:19

JScript, como vai ? Estilo cool

Ofensiva esta mensagem, ou não?
Antes de apontar que um código está errado, verifique-o primeiro e encontre o erro, pois se não encontrares, de dois um: "ou não sabe, ou o código não contém erros"!
Pense bem pois um tutorial só é aprovado quando ele é testado e retestado por todos da equipe.

Este código está funcionando? Creio que não. E como não contem erros? Rindo  
O sistema mudou, e um erro nasceu. Ele não deixa de ser um erro, rs. Será que, seu cérebro tem capacidade de entender isto? Ou será que não sabe, compreender o que escrevem? Envergonhado
avatar

Duel
****

Membro desde : 21/05/2014
Mensagens : 323
Pontos : 446

https://ajuda.forumeiros.com/ https://www.facebook.com/Não uso. https://twitter.com/Não tenho

Ir para o topo Ir para baixo

Tópico resolvido Re: Edição rápida na mensagem não funciona...

Mensagem por JScript 29.10.14 18:32

@Duel
Nada de "mensagem ofensiva", apenas esclarecimentos e pelo visto quem não entendeu o que está escrito foi você!

É melhor este assunto se encerrar, afinal de contas estamos aqui para "ajudar", não discutir a inteligência de cada um, espero que entenda...

Termine o seu código e seja feliz!

Me reservo no direito de não mais responder suas postagens e não me envie MP.

JS
JScript

JScript
Super Membro

Membro desde : 15/03/2013
Mensagens : 1449
Pontos : 1901

http://jscript.forumeiros.com/

Ir para o topo Ir para baixo

Tópico resolvido Re: Edição rápida na mensagem não funciona...

Mensagem por JScript 29.10.14 21:05

Houve alterações nos campos de postagens onde agora é obrigatório ser como mostra a imagem abaixo:
Edição rápida na mensagem não funciona... DERJjr7

Os campos que estão marcados não eram obrigatórios com Ajax, mas agora é!

Então, abaixo está o código original do tutorial com as devidas alterações:
Código:

/***
* Fast edit without refresh window!
* Version: 1.10292014-jq1.9.1 - ieiunium et dextera
* Made and Optimizations by JScript - 2013/11/12
* View more in: http://ajuda.forumeiros.com
* Copyright (c) 2013 JScript <jscriptbrasil at live dot com>
* This work is free. You can redistribute it and/or modify it
* under the terms of the WTFPL, Version 2
*/
var sFE_oldMsg = '', oFE_msgID = 0, sFE_subject = '', iFE_lt = 0, sFE_post = 'Send', iFE_auth1 = 0, iFE_auth2 = 0;

jQuery(function () {
 var sCSS = '' +
 '<style>' +
 '.input_submit.alt {' +
 'background: none repeat scroll 0 0 #E2E9F0;' +
 'border-color: #DAE2EA;' +
 'border-radius: 3px 3px 3px 3px;' +
 'border-style: solid;' +
 'border-width: 1px;' +
 'box-shadow: 0 1px 0 0 #EFF3F8 inset, 0 2px 3px rgba(0, 0, 0, 0.2);' +
 'color: #464646;' +
 'margin-left: 4px !important;' +
 'padding: 4px;' +
 'text-decoration: none;' +
 '}' +
 '.input_text, .fdfButton {' +
 'padding: 4px !important;' +
 'box-shadow: 0 1px 0 0 #EFF3F8 inset, 0 2px 3px rgba(0, 0, 0, 0.2);' +
 '}' +
 '.desc {' +
 'background-color: #F1F6F9;' +
 'padding: 9px;' +
 'color: #777777;' +
 'font-size: 11px;' +
 '}' +
 '</style>';
 document.head.insertAdjacentHTML('beforeEnd', sCSS);

 jQuery('a[href*="mode=editpost"]').click(function (event) {
 event.preventDefault();
 var datahref = jQuery(this).attr('href');
 var post_ID = datahref.split('p=')[1].split('&')[0];
 /* Forum versions! */
 var phpBB2 = jQuery('#p' + post_ID).find('td .postbody div:eq(0)');
 var phpBB3 = jQuery('#p' + post_ID).find('div.content');
 var punbb = jQuery('#p' + post_ID).next().find('div.entry-content');
 var invision = jQuery('#p' + post_ID).find('div.post-entry');

 if (phpBB2.length) {
 oFE_msgID = phpBB2;
 } else if(phpBB3.length) {
 oFE_msgID = phpBB3;
 } else if(punbb.length) {
 oFE_msgID = punbb;
 } else if(invision.length) {
 oFE_msgID = invision;
 };
 fastEditMsg(post_ID);
 });
});
/***
* Fast edit post!
* Function: fastEditMsg(post_ID);
*/
fastEditMsg = function(post_ID){
 if (isNaN(post_ID) || (jQuery('#p' + post_ID).length == 0) ) {return false}

 sFE_oldMsg = oFE_msgID.html();

 var sHtml = '<div class="main-content topic">' +
 '<div class="post">' +
 '<div id="editor_' + post_ID + '">' +
 '<textarea cols="9" id="text_editor_textarea_' + post_ID + '" name="message" onclick="storeCaret(this)" onkeyup="storeCaret(this)" onselect="storeCaret(this)" rows="15" style="width: 98%; height: 250px;" tabindex="3" wrap="virtual">' +
 '\n\n\n\n\n\nCarregando a mensagem, aguarde...</textarea>' +
 '<div class="row2 desc">' +
 'Razão para editar: <input type="text" value="" name="post_edit_reason_' + post_ID + '" id="post_edit_reason_' + post_ID + '" class="input_text" maxlength="250" size="35"> ' +
 '<input type="checkbox" value="1" id="add_edit_' + post_ID + '" name="add_edit_' + post_ID + '" style="vertical-align: middle ! important;"> <label for="add_edit_' + post_ID + '">Mostrar \'Ultima edição por\'</label>' +
 '</div>' +
 '<fieldset class="submit" style="font-size: 13px !important; padding: 15px 6px; text-align: center; border: 0 none; background-color: #D1DDEA;">' +
 '<input class="button2 fdfButton" name="post" tabindex="6" type="button" value="Salvar Alterações" onclick="fastEditSave(' + post_ID + ')"> ' +
 '<a class="input_submit alt" href="/post?p='+ post_ID + '&mode=editpost">Usar Editor Completo</a>' +
 ' ou ' +
 '<a class="cancel" title="Cancelar" href="javascript:void(0);" onclick="fastEditCancel(' + post_ID + ');">Cancelar</a>' +
 '</fieldset>' +
 '</div>' +
 '</div>' +
 '</div>';
 oFE_msgID.html(sHtml);

 var text_area = jQuery('#text_editor_textarea_' + post_ID);
 text_area.val(sFE_oldMsg.replace(/<br\s?\/?>/g,"\n"));
 /* text_area.val(HtmlToBBCode(sFE_oldMsg)); */

 try
 {
 text_area.sceditor({
 locale: "pt",
 height: "250px",
 width: "auto",
 plugins: "bbcode",
 toolbar: "bold,italic,underline,strike|left,center,right,justify|quote,code,faspoiler,fahide|servimg,image,link,youtube|size,color,font,removeformat|emoticon,date,time,maximize,source",
 parserOptions: {
 /*breakAfterBlock: false,*/
 /*removeEmptyTags: false, */
 /*fixInvalidNesting: false,*/
 /*fixInvalidChildren: false*/
 },
 style: "http://illiweb.com/rs3/85/frm/SCEditor/minified/jquery.sceditor.default.min.css",
 rtl: false,
 emoticonsEnabled: true,
 emoticonsCompat: true,
 emoticonsRoot: "",
 emoticonsURL: "/smilies.forum?f=9&mode=smilies_frame&t=1383011440"
 });
 text_area.sceditor("instance").toggleSourceMode();
 text_area.sceditor("instance").focus();
 jQuery("a.sceditor-button-source").addClass("hover");
 /*jQuery.sceditor.ShowHideToolbarElements();*/

 var container = $('.sceditor-container');
 var ciframe = container.find('iframe');
 var ctextarea = container.find('textarea');
 ciframe.width(ciframe.width() - 9);
 ctextarea.width(ctextarea.width() - 9);
 jQuery('.sceditor-resize-cover').show();
 } catch(e) { if( typeof(console) != 'undefined' ) { console.error(e); } }

 jQuery.get("/post?p=" + post_ID + "&mode=editpost", function(data) {
 sFE_subject  = jQuery(data).find('input[name="subject"]').val();
 var user_Msg = jQuery(data).find('#text_editor_textarea[name="message"]').val();
 text_area.val(user_Msg);
 text_area.sceditor('instance').val(user_Msg);

 iFE_lt = jQuery(data).find('input[name="lt"]').val();
 sFE_post = jQuery(data).find('input[name="post"]').val();

 var oTarget = jQuery(data).find('input[name="auth[]"]');
 iFE_auth1 = jQuery(oTarget[0]).val();
 iFE_auth2 = jQuery(oTarget[1]).val();
 }).done(function(){
 jQuery('.sceditor-resize-cover').hide();
 }).fail(function(){
 oFE_msgID.html(sFE_oldMsg);
 alert('Atenção!\n\n Ocorreu um erro ao requisitar a edição do post, aguarde 10 segundos e tente editar novamente!');
 });
 jQuery('html,body').animate({
 scrollTop: jQuery('#p' + post_ID).offset().top
 }, 1200);
};
/***
* Fast cancel post!
* Function: fastEditCancel(post_ID);
*/
fastEditCancel = function(post_ID){
 oFE_msgID.html(sFE_oldMsg);
 jQuery('html,body').animate({
 scrollTop: jQuery('#p' + post_ID).offset().top
 }, 400);
};
/***
* Fast edit post!
* Function: fastEditSave(post_ID);
*/
fastEditSave = function(post_ID) {
 if (isNaN(post_ID) || (jQuery('#p' + post_ID).length == 0) ) {return false}

 var text_area = jQuery('#text_editor_textarea_' + post_ID);
 var edit_reason = '';
 text_area.sceditor("instance").toggleSourceMode();
 var user_Msg = text_area.sceditor('instance').val();
 var sHtml = text_area.sceditor('instance').getSourceEditorValue();

 if(jQuery('#add_edit_' + post_ID).is(':checked')) {
 edit_reason = jQuery('#post_edit_reason_' + post_ID).val();
 }

 oFE_msgID.html(sHtml);
 if (sHtml.indexOf('<code>') !== -1) {
 var tagCode = oFE_msgID.children('code');
 var sContent = tagCode.html();
 tagCode.before('<div class="punbbtop">Código        <button onclick="punbbExpand(this); return false;">expand</button><button style="display: none" onclick="punbbCollapse(this); return false;">collapse</button>  <button onclick="punbbSelect(this); return false;">select</button>  <button onclick="punbbPopup(this); return false;">popup</button>  <button style="margin-right: 50px; float: right;" onclick="punbbAbout(this); return false;">?</button></div><pre class="highlight punbb_block">' + sContent + '</pre>');
 tagCode.remove();
 jQuery.getScript('http://balupton.github.io/jquery-syntaxhighlighter/scripts/jquery.syntaxhighlighter.min.js', function () {
 jQuery.SyntaxHighlighter.init({
 'wrapLines': false
 })
 })
 }

 jQuery.post("/post", {
 p: post_ID,
 lt: iFE_lt,
 auth: iFE_auth1,
 auth: iFE_auth2,
 mode: 'editpost',
 subject: sFE_subject,
 message: user_Msg,
 edit_reason: edit_reason,
 attach_sig: 1,
 notify: 0,
 post: sFE_post
 }).done(function(){
 /* */
 }).fail(function(){
 oFE_msgID.html(sFE_oldMsg);
 alert('Atenção!\n\n Ocorreu um erro ao salvar a edição do post, aguarde 10 segundos e tente editar novamente!');
 });
 jQuery('html,body').animate({
 scrollTop: jQuery('#p' + post_ID).offset().top
 }, 400);
};
Substitua pelo código anterior e teste para comprovar o funcionamento ok?

Aguardo os "feedbacks",

JS.
JScript

JScript
Super Membro

Membro desde : 15/03/2013
Mensagens : 1449
Pontos : 1901

http://jscript.forumeiros.com/

Ir para o topo Ir para baixo

Tópico resolvido Re: Edição rápida na mensagem não funciona...

Mensagem por Sonic_BR 29.10.14 23:02

JScript, funcionou perfeitamente cara! Estão todos de parabéns, o JScript, a equipe Forumeiros e os membros que estão sempre tentando ajudar!
Sério mesmo, nunca vi um fórum tão amigável e solidário como esse! Parabéns à todos Muito feliz

JScript, se eu tivesse dinheiro, te daria agora cara, heuaheu!
Brigado mesmo!

Resolvido.
Sonic_BR

Sonic_BR
**

Membro desde : 13/09/2014
Mensagens : 62
Pontos : 105

http://terraria-brasil.forumeiros.com/

Ir para o topo Ir para baixo

Tópico resolvido Re: Edição rápida na mensagem não funciona...

Mensagem por JScript 29.10.14 23:13

@Sonic_BR

Fico feliz que tenha dado certo amigo, agora vamos aguardar a equipe substituir o código anterior do tutorial por este atualizado, assim o tutorial se mantém!

JS
JScript

JScript
Super Membro

Membro desde : 15/03/2013
Mensagens : 1449
Pontos : 1901

http://jscript.forumeiros.com/

Ir para o topo Ir para baixo

Principal Contribuidor

Tópico resolvido Re: Edição rápida na mensagem não funciona...

Mensagem por Shek 30.10.14 5:44

Bom dia!

Código alterado JScript, e obrigado. Feliz

Edição rápida na mensagem não funciona... Symbol10Questão marcada como Resolvida ou o Autor solicitou que ela fosse arquivada.

Tópico marcado como Resolvido e movido para Questões resolvidas.
Shek

Shek
Principal Contribuidor
Principal Contribuidor

Membro desde : 11/04/2009
Mensagens : 18896
Pontos : 22793

https://shiftactive.blogspot.com/ https://www.facebook.com/ShiftActif https://twitter.com/ShiftActif

Ir para o topo Ir para baixo

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

- Tópicos semelhantes

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