Página 1 de 2
Como obrigar o uso de título nas respostas
Enviado: 02 Nov 2011, 23:32
por professor mauricio
URL do Fórum: http://forumdepizzarias.com.br
Eu sei que minhas perguntas são as mais cabeludas e menos solucionadas, mas dessa vez não to conseguindo mesmo!!!
Quando fulano vai criar um tópico novo ELE É OBRIGADO A COLOCAR O TÍTULO
Quando vai responder, ele não é obrigado a colocar um título e ainda aparece por padrão aquele "Re: Como obrigar o uso de título nas respostas" equivalente a Re: SUBJECT
Já sei como arrancar esse Re: subject, mas fica fácil de alguém mandar um post SEM TÍTULO, ferrando tudo...
Gostaria de saber como mandar o php verificar se a pessoa digitou alguma coisa no título da resposta e 'travar' enquanto ela não colocar um título, como já acontece na hora de enviar novos tópicos!
abc a todos
Re: Como obrigar o uso de título nas respostas
Enviado: 03 Nov 2011, 14:30
por _Vinny_
professor mauricio, creio que uma solução mais simples seria bloqueia o campo caso for resposta assim o usuário não poderá editar o titulo ou ocultar o campo para não edição.
Re: Como obrigar o uso de título nas respostas
Enviado: 03 Nov 2011, 21:28
por professor mauricio
Mas eu quero justamente OBRIGAR o cara a escrever alguma coisa...
Agora está assim: se ele deixa em branco aparece escrito "sem título".
Gostaria que, caso ele deixe em branco, o sistema não envie o post e avise "tá em branco o baguio"
rs
abc
Re: Como obrigar o uso de título nas respostas
Enviado: 03 Nov 2011, 23:32
por robra
Bem... como não sou programador fico pensando numa forma de usar recursos e códigos já existentes para tentar adaptá-los de maneira que se chegue ao resultado pretendido. Sei que é o contrário do que se pretende, mas só para agregar a informação, encontrei um artigo que manipula o HTML de forma que o
Título do
Tópico fique fixo nas respostas, sem a possibilidade de ser editado:
http://www.evolutionscriptz.com/viewtop ... =19&t=1403
Como ele fala sobre a manipulação do
HTML ao invés do
php, pensei se não poderia usar o mesmo princípio dos
campos personalizados obrigatórios e aplicá-lo no
Título das respostas dos
Tópicos, ou seja, criar uma obrigatoriedade de preenchimento na caixa de texto onde fica o
Título do
Tópico nas respostas semelhante aos
campos personalizados obrigatórios na página do registro.
Abraço.
![Imagem](http://www.gsmfans.com.br/Smileys/GSMFans/cool.gif)
Re: Como obrigar o uso de título nas respostas
Enviado: 04 Nov 2011, 07:16
por professor mauricio
Os campos obrigatórios dentro da mensagem eu não imagino como colocar, já que são campos de perfil.
Fixar a resposta eu já sei como fazer. Me falta obrigar a pessoa a não deixar em branco nem digitar menos de 10 caracteres. Isso é coisa de php mesmo.
Eu sei que novos tópicos tem a 'obrigação' de ter título. Seria aplicar o mesmo princípio aos posts.
mas o posting.php é meio confuso pra mim ainda...
help
Re: Como obrigar o uso de título nas respostas
Enviado: 04 Nov 2011, 14:02
por robra
O que quis dizer é que talvez mexer no
HTML é menos complicado do que no
PHP.
A página de resposta de um Tópico é definida pelo arquivo
posting_editor.html.
A caixa de texto do
Assunto é definida nas linhas:
Código: Selecionar todos
<!-- IF S_POST_ACTION or S_PRIVMSGS or S_EDIT_DRAFT -->
<dl style="clear: left;">
<dt><label for="subject">{L_SUBJECT}:</label></dt>
<dd><input type="text" name="subject" id="subject" size="45" maxlength="<!-- IF S_NEW_MESSAGE -->60<!-- ELSE -->64<!-- ENDIF -->" tabindex="2" value="{SUBJECT}{DRAFT_SUBJECT}" class="inputbox autowidth" /></dd>
</dl>
A ideia seria alterar a linha:
Código: Selecionar todos
<dd><input type="text" name="subject" id="subject" size="45" maxlength="<!-- IF S_NEW_MESSAGE -->60<!-- ELSE -->64<!-- ENDIF -->" tabindex="2" value="{SUBJECT}{DRAFT_SUBJECT}" class="inputbox autowidth" /></dd>
... para...
Código: Selecionar todos
<dd><input type="text" name="subject" id="subject" size="45" maxlength="64" tabindex="2" value="Preenchimento obrigatório" onclick="if(this.value=='Preenchimento obrigatório')this.value='';" onblur="if(this.value=='')this.value='Preenchimento obrigatório';" class="inputbox autowidth" /></dd>
...e criar uma forma do campo
Assunto(subject) ser de preenchimento obrigatório para que o formulário seja
enviado ou
previsto, baseando-se no exemplo citado na página abaixo:
http://www.scriptbrasil.com.br/forum/lo ... 38123.html
Como disse no início, é só uma ideia.
Abraço.
![Imagem](http://www.gsmfans.com.br/Smileys/GSMFans/cool.gif)
Re: Como obrigar o uso de título nas respostas
Enviado: 04 Nov 2011, 18:25
por professor mauricio
Sua intenção é ótima e sua ideia interessante e foi algo assim que tentei. A variável de substiuição {SUBJECT} que traz esse "Re: Como obrigar o uso de título nas respostas" e a outra é para recuperar o título do rascunho. Se tirarmos essa varíavel, ao clicar em editar mensagem, o título original DESAPARECE.
Outra coisa, se o 'value' ficar como 'preenchimento obrigatório' o fulano vai enviar isso como título 'padrão' e se ele clicar vai sumir para ele escrever algo mas ainda assim não sei como fazer ficar obrigatório mesmo.
no caso do exemplo usa java (não sei se entendi) e não sei fazer...
no php do phpbb tem mode=post e mode=reply
no primeiro é obrigatório colocar título. estou estudando um jeito de copiar o código para o segundo.
caso eu consiga eu coloco aqui... e se alguém entender primeiro que eu ficarei feliz também!
obrigado até aqui
Re: Como obrigar o uso de título nas respostas
Enviado: 04 Nov 2011, 18:39
por professor mauricio
Achei o código e sei que o mode=reply mas não sei adicionar
Código: Selecionar todos
// Parse subject
if (!$preview && !$refresh && utf8_clean_string($post_data['post_subject']) === '' && ($mode == 'post' || ($mode == 'edit' && $post_data['topic_first_post_id'] == $post_id)))
{
$error[] = $user->lang['EMPTY_SUBJECT'];
}
traduzindo: não é preview e não é atualização simples e transformando o título para utf8 não tem nada. E o modo de envio é post (novo tópico) ou é editar no primeiro post.
precisaria adicionar $mode == 'reply' em algum lugar aí!
HELP
Re: Como obrigar o uso de título nas respostas
Enviado: 04 Nov 2011, 18:48
por professor mauricio
puts! consegui!
adicionei $mode == 'reply' ||
logo depois de $mode == 'post' ||
agora to com outro problema:
fulano consegue enviar título com apenas 1 caracter! Isso é normal no phpbb ou foi algum pau que criei aqui?
Re: Como obrigar o uso de título nas respostas
Enviado: 04 Nov 2011, 18:49
por smallbreeds
Tenta trocar ['topic_first_post_id']
por ['post_subject']
EDIT.: Esta resposta foi postada junto com a sua acima.