Tengo un tema en el que subimos canciones (a servidores como megaupload etc.. ) y donde colgamos dichos links para que se los descarguen los usuarios.. pero claro, hay veces que solo subimos dichas canciones 2 personas (ultimamente solo 2) y los demas entran y se las bajan sin colaborar ni escribir, los hay que se registran solo para entrar en ese tema y bajarselas...
Pues bien.. yo estaba modificando el codigo de mi foro (en concreto el viewtopic.php) para tratar de limitar la entrada a aquellos usuarios "que se le merezcan" es decir, que hayan dado respuesta en algun tema del foro en ese dia..
la cuestion es que ya tengo mayormente hecha la modificación... pero tengo dos problemas:
1) la fecha: en la tabla phpbb_posts hay un campo que se llama posts_time que indica el momento en el que se ha escrito un tema, pero ese campo esta en formato entero, he intentado formatear el tiempo para adecuarlo a ese campo pero no me funciona la cosa, lo que he hecho para ello es simplemente sacar la fecha y pasarla a ese formato con mktime:
Código: Seleccionar todo
$dia=getdate();
$ultimodia = mktime(0,0,0,$dia['mday'],$dia['mon'],$dia['year']);
2) me gustaria que lo que tengo hecho pudiera ser algo mas dinamico, es decir, por ahora limito a 5 mensajes al dia y para un solo tema, si hoy el usuario no ha escrito 5 mensajes no puede entrar en ese tema hasta que lo haya hecho, pero claro.. si quiero cambiarlo tendria que editar codigo, estaría bien que se pudiera hacer desde el panel de control... aunque este ultimo problema no es muy relevante por ahora, me preocupa mas lo de la fecha...
Aqui dejo el codigo que tengo hasta el momento
Código: Seleccionar todo
#
#-----[ ABRIR ]------------------------------------------
#
viewtopic.php
#
#----[ FIND ]------------------------------------------
#
//
// Go ahead and pull all data for this topic
//
#
#----[ ANTES, AÑADIR ]------------------------------------------
#//
// limitacion de entrada a un tema dependiendo del numero de mensajes ese dia by Azrael
//
if ($topic_id=='3')
{
if (!($userdata['user_level'] == ADMIN OR $userdata['user_level'] == MOD))
{
$dia=getdate();
$ultimodia = mktime(0,0,0,$dia['mday'],$dia['mon'],$dia['year']);
$sql = "select count(*) as numero, poster_id, post_id from phpbb_posts where poster_id='".$userdata['user_id']."'
and post_time >'[b]1152818892[/b]' group by poster_id";
if( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not query information', '', __LINE__, __FILE__, $sql);
}
while ($row = $db->sql_fetchrow($result))
{
$limite = $row['numero'];
if ( $limite < 5 )
{
message_die(GENERAL_ERROR, "Debes postear un minimo de 5 mensajes al dia para entrar en este tema.");
}
}
}
}
//
// limitacion de entrada a un tema dependiendo del numero de mensajes ese dia by Azrael
//
el numero en negrita es la fecha, tendria que ser $ultimodia, pero me da una fecha diferente a la del dia...
no se si me he explicado bien, o si no tendrá solucion la cosa.. aqui lo dejo para que le echeis un vistazo, opineis, deis sugerencias, etc..
-----------------------------------------------------------
Como está en lo de las normas aqui dejo los datos de mi foro:
URL: http://foros.alozorro.com
Plantilla(s) usuada(s): subsilver (pero he modificado las imagenes)
MODs instalados: cash mod, quick reply, un mod de juego rpg (dragones & conejos), attachment mod..

Nombre y version del MOD: está en desarrollo, es mio y la version... pongamos 1.0?
Version de phpBB: 2.0.18
Servidor: servidor de pago, concretamente www.iespanapro.es
Como se ve los foros son un subdominio de www.alozorro.com que es mi web. se agradece cualquier comentario acerca de la web o el foro (si os quereis registrar sois bienvenidos


Si es una actualizacion desde otra version: pues no
