Página 1 de 1

[SOLUCIONADO] Minimo de letras por mensaje

Publicado: 21 Sep 2008, 21:20
por Alorse
Versión de phpBB: 3.0.2
Tipo de phpBB: phpBB estandar, (tambien llamado Vanilla) phpBB2 o phpBB3
MODs Instalados: Si
Tu conocimiento: Conocimiento básico
Enlace del Foro: http://www.puntowarez.net

¿Qué recuerdas haber hecho en el foro antes de aparecer este error?


¿Qué has realizado para intentar resolver el problema?


Descripción y Mensaje
Bueno, lo que quiero esta vez , poner un minimo de caracteres por mensaje, asi los usarios tendran qeu exijirse mas para responder a los temas.

Lo que sucede es que tengo instaldo el MOD Hide, asi que es necesario responder al tema para poder ver los enlaces ocultos, muchas veces los usarios dejan respuestas tontas, como asd o dgfvsd, en fin...

Lo que quiero es que como minimo los usarios tengan que dejar 10 o 12 caracteres para poder responder al tema, y si no ponen los caracteres suficientes que les muestre un aviso en el posting diciendo que como minimo deben dejar una respuesta de X letras o caracteres.

Crei que esta era una duda frecuente, así qeu primero use el boton buscar, pero la verdad fue qeu nada encontre, si ya esta solucionado, ofresco disculpas....

Gracias de antemano.

Re: Minimo de letras por mensaje

Publicado: 21 Sep 2008, 23:13
por Manolo
Supongo que se podria conseguir programando, esta para el maximo de caracteres asi que creo que se podria hacer para el minimo, yo no, no tengo ni idea de programar :?
Ahora te digo, que ganarias con eso? que pongan ljjtrdgfsesggjhggdhgkjyhkghjgkjhjhfgfg en lugar de ok por ejemplo...

Saludos!

Re: Minimo de letras por mensaje

Publicado: 22 Sep 2008, 01:58
por mitch
Habría que editar el formulario, y usar el evento "onsubmit" para que llame a un javascript... El javascript comprueba el value.lenght del <textarea> del formulario de posteo, y si es < a cierto numero, enviar un alert() y detener el envío.

Si nadie mas te da una respuesta, mañana te la posteo (ahora ya me voy de viaje de vuelta a la universidad)... si no lo hago o me demoro demasiado, te doy permiso para que me envies un MP y me pidas esto...

Asi que eso, si nadie mas aparece con una solución (o si tu no lo logras con la descripción de arriba), lo veo mañana.

Re: Minimo de letras por mensaje

Publicado: 22 Sep 2008, 04:01
por Alorse
Manolo escribió:que ganarias con eso?
si llegan hacer eso tendre mas motivos para ponerles ua advertencia, mientras qeu si dejan un mensaje corto seria algo injusto.

mitch escribió:Si nadie mas te da una respuesta, mañana te la posteo?
Gracias mitch, entonces esperare haber que pasa.

Re: Minimo de letras por mensaje

Publicado: 22 Sep 2008, 19:20
por mitch
:arrow: Para plantillas basadas en prosilver

Abrir: styles/prosilver/template/posting_layout.html

Buscar:

Código: Seleccionar todo

<form id="postform" method="post" action="{S_POST_ACTION}"{S_FORM_ENCTYPE}>
Reemplazar por:

Código: Seleccionar todo

<form id="postform" method="post" onsubmit="return checkform(this)" action="{S_POST_ACTION}"{S_FORM_ENCTYPE}>
Y a la vez, agregar ANTES de esta linea recien buscada/reemplazada:

Código: Seleccionar todo

<script type="text/javascript">
function checkform(formulario) {
	formerror = false;
	if (formulario.message.value.length <= 3) {
		formerror = "Su mensaje tiene muy pocos carácteres. Debe ser superior a 3 carácteres";
	}
	if (formerror) {
		alert(formerror);
		return false;
	}
	else {
		return true;
	}
}
</script>
:arrow: Para plantillas basadas en subsilver2 (tu caso):

Abrir: styles/subsilver2/templates/posting_body.html

Buscar:

Código: Seleccionar todo

<form action="{S_POST_ACTION}" method="post" name="postform"{S_FORM_ENCTYPE}>
Reemplazar por:

Código: Seleccionar todo

<form action="{S_POST_ACTION}" method="post" onsubmit="return checkform(this)" name="postform"{S_FORM_ENCTYPE}>
Y a la vez, agregar ANTES de esta linea recien buscada/reemplazada:

Código: Seleccionar todo

<script type="text/javascript">
function checkform(formulario) {
	formerror = false;
	if (formulario.message.value.length <= 3) {
		formerror = "Su mensaje tiene muy pocos carácteres. Debe ser superior a 3 carácteres";
	}
	if (formerror) {
		alert(formerror);
		return false;
	}
	else {
		return true;
	}
}
</script>

Pruebalo y nos comentas, salu2.

Re: Minimo de letras por mensaje

Publicado: 23 Sep 2008, 01:26
por Alorse
Definitivmanente muchas gracias, pues estoy a punto de mudarme a una plantilla basada en subsilver asi que tambien me sirven, solo una pequeña falencia...

No funciona con la respuesta rapida solo presionado el boron de responder... ahi que hago???

tengo instalada esta version:
http://www.absoluteanime.com/admin/mods.htm#quick_reply" onclick="window.open(this.href);return false;


Y de nuevo gracias de antemano por la respuesta


PD: lo implemte en las dos plantilla sy en las dos funciona bien, solo ahi unos cuantos inconvenientes con las tildes, nada qeu no se pueda solucionar

Re: Minimo de letras por mensaje  Tema Solucionado

Publicado: 23 Sep 2008, 02:14
por mitch
Lo de las tildes, es porque cuando se agregan tildes en las plantillas, se debe guardar el archivo en formato UTF-8 (archivo > guardar como > y abajo del nombre del archivo, se elige el tipo de archivo).

Respecto a la respuesta rápida que me indicas (y esto vale para cualquier respuesta rápida), debes busca en los archivos que te hace agregar el MOD, la linea del formulario, es decir, buscar:

Código: Seleccionar todo

<form
y esa es la linea del formulario... ahi entre medio colocas esto

Código: Seleccionar todo

onsubmit="return checkform(this)"
cosa que quede así por ejemplo (no lo copies, es un ejemplo de como debe quedar)

Código: Seleccionar todo

<form onsubmit="return checkform(this)" name="postform" etc etc etc >
y antes de esa linea, tambien se agrega el código del javascript que teníamos arriba, este:

Código: Seleccionar todo

<script type="text/javascript">
function checkform(formulario) {
   formerror = false;
   if (formulario.message.value.length <= 3) {
      formerror = "Su mensaje tiene muy pocos carácteres. Debe ser superior a 3 carácteres";
   }
   if (formerror) {
      alert(formerror);
      return false;
   }
   else {
      return true;
   }
}
</script>
Para el caso de tu respuesta rápida, esto lo haces en el archivo prime_quick_reply.html que viene con el MOD... los otros MODs de respuesta rápida funcionan de forma similar...te hacen subir algun HTML a la plantilla (carpeta template) y es en ese archivo donde se encuentra el formulario (<form>).

salu2.

Re: Minimo de letras por mensaje

Publicado: 23 Sep 2008, 02:52
por Alorse
que pasa si en la marquetilla del formulario (form) ya hay un onsubmit=??

Ya que busco en el archivo indicado y ya aprece pero con "return prime_quick_reply_check(this);"

para ser mas exactos esto es lo qeu aprece:

Código: Seleccionar todo

<form name="postform" id="postform" method="post" action="{QUICK_REPLY_POST_ACTION}" onsubmit="return prime_quick_reply_check(this);"<!-- IF not QUICK_REPLY_SHOW_FORM --> style="display:none;"<!-- ENDIF -->>
Sera que aun así lo puedo agregar sin que halla problemas??? no importa que queden 2 onsubmit

Re: Minimo de letras por mensaje

Publicado: 23 Sep 2008, 03:09
por mitch
Si que importa :lol: bueno, en tu caso, este MOD ya llama a un javascript.. lo miré, y este MOD ya tiene una función que comprueba la extensión del mensaje :P

En el archivo prime_quick_reply.js (lo trae el MOD), buscar:

Código: Seleccionar todo

if (quick_reply_form.message.value.length <= 0)
cambia ese 0, por un 3 (entonces si el mensaje tiene 3 caracteres, o menos, debería aparecer una alerta).

salu2.

Re: Minimo de letras por mensaje

Publicado: 23 Sep 2008, 19:56
por Alorse
listo mitch, ya quedo solucionado, muchisimas gracias.

Para los que tambien lo intenten implementar explicare que hay qeu editar par qua salga en "Aviso" apropiado, o sino saldra algo como: Su mensaje no posee caracteres.

luego de editar esta linea y cambiar el 0, por el número minimo de caracteres que querramos poner (yo por ejemplo la remplace por un 10),

Código: Seleccionar todo

if (quick_reply_form.message.value.length <= 0)
lo que haremos es editar el archivio: language/es/mods/prime_quick_reply.php

Buscar:

Código: Seleccionar todo

	'QUICK_REPLY_TOO_FEW_CHARS'			=> 'Su mensaje no contiene caracteres',
Reemplazar por:

Código: Seleccionar todo

	'QUICK_REPLY_TOO_FEW_CHARS'			=> 'Su mensaje contiene muy pocos caracteres.',
Guardamos los cambios, subimos los archivos editados y listo.

Re: Minimo de letras por mensaje

Publicado: 23 Sep 2008, 20:07
por mitch
Perfecto entonces, solucionado el tema, salu2.

Re: [SOLUCIONADO] Minimo de letras por mensaje

Publicado: 23 Sep 2008, 20:42
por karbiko
Alorse, puedes hacer una comprobación?

Para saber si funcionaría que para evitar la secuencia de palabras tipo asdffasdf, si pones en el panel de administación esa secuencia como palabras censuradas, por ejemplo con comodín: asd*
En ACP, Mensajes, Palabras Censuradas añades la secuencia con el comodín y le dices que si aparece lo sustituya por una sóla letra.
Con lo cual, no habrían llegado al mínimo de 10 caracteres...

Si lo impide, así no podrían usar esa treta.
Hombre, posibilidades hay infinitas, pero las más usuales que han usado tú las has visto en los mensajes que te han ido poniendo..