Recordad que para pedir soporte alguno, debéis facilitar los datos de soporte oportunos por favor, mirad aquí y leer las Normas generales del foro, esto nos servirá de ayuda para dar el mejor soporte..

Gracias.

La Administración de phpBB España.

Usuarios, imágenes y fechas

🆘 PHP, HTML, CSS, JS, jQuery, etc.
Responder
Avatar de Usuario
J_Sparrow
Moderador
Mensajes: 834
Registrado: 30 Oct 2009, 00:20
Nombre real: Jose Luis
Ubicación: España
Género:
Edad: 58

Usuarios, imágenes y fechas

#1

Mensaje por J_Sparrow » 27 Oct 2019, 19:59

Buenas, una de mis locuras, igual es mejor que me digáis desde el principio "no se puede", antes que os vuelva locos :rofl: :rofl: :rofl:

Estoy usando la extensión IMGUR de @AbaddonOrmuz (que por cierto, es impresionante) para almacenar las imágenes que hay en mi Foro y las que se publiquen a partir de ahora. Claro, todas las imágenes las guarda IMGUR en UNA carpeta, con lo que no se de quien es la imagen en concreto. Llevo como tres días intentando buscar una determinada imagen en IMGUR y o soy mas tonto que el mecanismo de un chupete, o no se como narices se usa el buscador de IMGUR, porque no he podido localizar nada, ni una puñetera coma.
A lo que voy, se me ha ocurrido usar la Base de Datos y algo mas o menos me ha preparado mi hijo, pero no es lo que quiero y el no sabe llagar mas allá. Quiero que a través de una consulta, buscar en la tabla de los mensajes (post) todo lo que esté encerrado entre los comandos [img] y [/img], junto con el autor de esa respuesta y la fecha. Hasta ahora he llegado a esto:

Código: Seleccionar todo

SELECT u.username, p.poster_id, p.post_time, p.post_text FROM `phpbb_posts` as p inner join phpbb_users as u on p.poster_id = u.user_id WHERE post_text like '%[img]%[/img]%'

... y funciona bien (excepto la conversión de la fecha, que mi hijo no ha sabido convertirla), pero me extrae TODO el contenido del mensaje, no solo el enlace.
¿Veis factible que se pueda hacer?, ¿vamos por buen camino?, ¿o me olvido del tema?.

Es que soy un poco "maniático" con algunas cosas.

Si tenéis otra idea mas simple, o hay alguna extensión que haga algo parecido (cosa que no he visto), soy todo oidos :) (O.O) (O.O)

Gracias.



Contenido Oculto
Este foro requiere que este registrado e identificado para ver el contenido oculto.


Enlace:
BBCode:
HTML:

Ocultar enlaces al mensaje
Mostrar enlaces al mensaje

Avatar de Usuario
picaron
Moderador
Mensajes: 284
Registrado: 04 Abr 2010, 20:01
Nombre real: picaron
Género:
Edad: 54

Usuarios, imágenes y fechas

#2

Mensaje por picaron » 27 Oct 2019, 20:58

Hola @J_Sparrow.

El valor de cada post_time que obtengas de la consulta a la base de datos, podría ser algo así:

$row['post_time']

Para convertir a fecha en formato "legible", incluye esta linea de PHP:

$fecha = date('d/m/Y H:i', $row['post_time']);

O bien puedes utilizar el core de PHPBB: (Aunque con esta solución creo que te vas a complicar el "body")

$fecha = $user->format_date($row['post_time']);

Saludos.

Datos de Soporte | Mostrar

URL: http://www.ascensoristas.net
Versión phpBB: 3.2.8
EXT Instaladas:
Adsense & Ads
Advanced BBCode Box
Anti Adblock
Background Image in Text Area
Browser & OS in Viewtopic
cBB QuickMod
Contact Admin
External Links Open in New Window
Favorite icon
File Download
Google Analytics
Google Search & Site Verification
Image Upload
Imgur
Lightbox
mChat
Pages
Pay For Link
Paypal Donation
Post Links
Private Message Box Status Bars
QuickReply Reloaded
Scroll Page
Search Back
Simple mentions
Simple News Admin
Slideshow for Header
smilies scroll box
Store To Mega
Tabs BBCode
Thanks for posts
Ultimate Points Extension

Plantilla(s) usada(s):
prosilver
Black-Silver
Black-Silver-Slim
Black-Silver-Split
Carbon
CleanSilver
cubes
Elegance
Elegance Aqua
Elegance Green
Elegance LightBlue
Elegance SoftBlue
Elegance SoftGreen
Elegance SteelBlue
Flat Style
Flat Style Blue
Flat Style Gold
Flat Style Green
Flat Style Purple
Flat Style Red
Maxthon
ne-blackgreen
Orange_BBEs
prosilver Special Edition
Rock'n Roll
we_universal
X-Creamy

Servidor: Servidor Dedicado (No Administrado) Debian GNU/Linux 9 (stretch) (x86_64) ovh.com
Actualización desde otra versión: 3.0.9
Conversión desde otro sistema de foros: No



Enlace:
BBCode:
HTML:

Ocultar enlaces al mensaje
Mostrar enlaces al mensaje

Avatar de Usuario
AbaddonOrmuz
Moderador
Mensajes: 698
Registrado: 14 Ene 2017, 22:18
Nombre real: Alfredo
Ubicación: /dev/null
Género:
Contactar:

Usuarios, imágenes y fechas

#3

Mensaje por AbaddonOrmuz » 27 Oct 2019, 21:56

Puedes intentar la siguiente consulta:

Código: Seleccionar todo

SELECT
	p.post_id,
	u.username,
	FROM_UNIXTIME(p.post_time, '%Y-%m-%d %T') AS fecha,
	REGEXP_SUBSTR(p.post_text, 'https?:\\/\\/i\\.imgur\\.com[a-zA-Z0-9\\/_\\.]+') AS imagen
FROM phpbb_posts AS p
INNER JOIN phpbb_users AS u
	ON p.poster_id = u.user_id
WHERE
	p.post_text REGEXP '\\[img\\].*(https?:\\/\\/i\\.imgur\\.com[a-zA-Z0-9\\/_\\.]+).*\\[\\/img\\]'
HAVING imagen IS NOT NULL
ORDER BY p.post_time DESC;

Si obtienes muchos resultados, puedes agregar un límite:

Spoiler
Mostrar

Código: Seleccionar todo

SELECT
	p.post_id,
	u.username,
	FROM_UNIXTIME(p.post_time, '%Y-%m-%d %T') AS fecha,
	REGEXP_SUBSTR(p.post_text, 'https?:\\/\\/i\\.imgur\\.com[a-zA-Z0-9\\/_\\.]+') AS imagen
FROM phpbb_posts AS p
INNER JOIN phpbb_users AS u
	ON p.poster_id = u.user_id
WHERE
	p.post_text REGEXP '\\[img\\].*(https?:\\/\\/i\\.imgur\\.com[a-zA-Z0-9\\/_\\.]+).*\\[\\/img\\]'
HAVING imagen IS NOT NULL
ORDER BY p.post_time DESC
LIMIT 0,150;

phpbb_posts.post_time es un dato numérico (tiempo UNIX), son segundos, para crear un formato a partir de eso puedes usar la función FROM_UNIXTIME()

Para obtener únicamente la URL de la imágen, puedes usar REGEXP_SUBSTR() que regresará el texto que coincida con al expresión regular. En tu caso las imágenes de Imgur tienen el siguiente formato:

Código: Seleccionar todo

https://i.imgur.com/{HASH}.{EXTENSION}

La condición en WHERE hará que sólo busque en posts donde uses [img] Y que además tenga una URL de Imgur, ya que si unicamente se buscara donde se usa [img] podrías obtener imágenes de otros servidores, que no te interesan.

Obtendrá los posts más recientes primero.

Última edición por AbaddonOrmuz el 27 Oct 2019, 21:59, editado 1 vez en total.
Razón: Notas para añadir un límite
Algunas de mis extensiones: [ Imgur | Metadatos SEO | Markdown ]
Checa todas mi extensiones
Usuario de Arch Linux


Enlace:
BBCode:
HTML:

Ocultar enlaces al mensaje
Mostrar enlaces al mensaje

Avatar de Usuario
J_Sparrow
Moderador
Mensajes: 834
Registrado: 30 Oct 2009, 00:20
Nombre real: Jose Luis
Ubicación: España
Género:
Edad: 58

Usuarios, imágenes y fechas

#4

Mensaje por J_Sparrow » 27 Oct 2019, 22:08

Impresionante ambos, habéis sido mas rápidos que yo haciendo la pregunta. Ahora a probar los buenos y sabios consejos.

AbaddonOrmuz escribió:
27 Oct 2019, 21:56

La condición en WHERE hará que sólo busque en posts donde uses [img] Y que además tenga una URL de Imgur, ya que si unicamente se buscara donde se usa [img] podrías obtener imágenes de otros servidores, que no te interesan.

¿Y si quiero incluir lo que no sea de IMGUR, o mejor aún, que me muestre todo menos lo de IMGUR?

@AbaddonOrmuz , ¿tu tienes que dedicarte a esto en tu vida cotidiana, no?, porque si lo haces como hobby, santo dios lo que se están perdiendo en "otro lado".

Gracias chicos, a ver si termino lo que tengo entre manos y antes de irme a dormir, lo pruebo.

Contenido Oculto
Este foro requiere que este registrado e identificado para ver el contenido oculto.


Enlace:
BBCode:
HTML:

Ocultar enlaces al mensaje
Mostrar enlaces al mensaje

Avatar de Usuario
AbaddonOrmuz
Moderador
Mensajes: 698
Registrado: 14 Ene 2017, 22:18
Nombre real: Alfredo
Ubicación: /dev/null
Género:
Contactar:

Usuarios, imágenes y fechas

#5

Mensaje por AbaddonOrmuz » 27 Oct 2019, 22:45

J_Sparrow escribió:
27 Oct 2019, 22:08

Y si quiero incluir lo que no sea de IMGUR, o mejor aún, que me muestre todo menos lo de IMGUR?

Mmmm... :thinking:

Para obtener otras imágenes sin importar de donde sean:

Código: Seleccionar todo

SELECT
	p.post_id,
	u.username,
	FROM_UNIXTIME(p.post_time, '%Y-%m-%d %T') AS fecha,
	REGEXP_SUBSTR(p.post_text, 'https?:\\/\\/([a-zA-Z0-9\\/_\\.\\-?&=])+') AS imagen
FROM phpbb_posts AS p
INNER JOIN phpbb_users AS u
	ON p.poster_id = u.user_id
WHERE
	p.post_text REGEXP '\\[img\\].+\\[\\/img\\]'
HAVING imagen IS NOT NULL
ORDER BY
	p.post_time DESC;

Para obtener imágenes excepto de Imgur:

Código: Seleccionar todo

SELECT
	p.post_id,
	u.username,
	FROM_UNIXTIME(p.post_time, '%Y-%m-%d %T') AS fecha,
	REGEXP_SUBSTR(p.post_text, 'https?:\\/\\/([a-zA-Z0-9\\/_\\.\\-?&=])+') AS imagen
FROM phpbb_posts AS p
INNER JOIN phpbb_users AS u
	ON p.poster_id = u.user_id
WHERE
	p.post_text REGEXP '\\[img\\].+\\[\\/img\\]'
AND
	p.post_text NOT REGEXP '\\[img\\].*(https?:\\/\\/i\.imgur\\.com[a-zA-Z0-9\\/_\\.]+).*\\[\\/img\\]'
HAVING imagen IS NOT NULL
ORDER BY
	p.post_time DESC;

Las sentencias, y en particular las expresiones regulares, podrían mejorarse pero depende mucho de lo que necesites exactamente.

J_Sparrow escribió:
27 Oct 2019, 22:08

¿tu tienes que dedicarte a esto en tu vida cotidiana, no?

Si :P aunque no en SQL, ni siquiera en PHP :D

Esto lo veo como retos, para seguir aprendiendo :sunglasses:

Última edición por AbaddonOrmuz el 27 Oct 2019, 22:51, editado 1 vez en total.
Razón: Pequeña corrección en segunda sentencia.
Algunas de mis extensiones: [ Imgur | Metadatos SEO | Markdown ]
Checa todas mi extensiones
Usuario de Arch Linux


Enlace:
BBCode:
HTML:

Ocultar enlaces al mensaje
Mostrar enlaces al mensaje

Avatar de Usuario
J_Sparrow
Moderador
Mensajes: 834
Registrado: 30 Oct 2009, 00:20
Nombre real: Jose Luis
Ubicación: España
Género:
Edad: 58

Usuarios, imágenes y fechas

#6

Mensaje por J_Sparrow » 27 Oct 2019, 22:54

Gracias @AbaddonOrmuz , no quiero abusar mas de ti hasta que haga unas pruebas, que creo serán mas que suficientes.
A ver, lo que quiero es un simple capricho, no es ninguna necesidad, me gustaría saber quien publicó una imagen determinada, por si un día tengo que reponerlas. Ya me ha pasado en 4 o 5 ocasiones, que debido a cierres de servidores de imágenes, he tenido que reponer muchas imágenes. Mi Foro se basa muco en trabajos que hace la gente y en problemas que exponen con imágenes para explicarse. Si las imágenes desaparecen, carecen de sentido los post. Con el primer "susto" que me llevé, Imageshack dejó de ser gratuito y limitó el espacio gratuito, con lo que me eliminó muchas imágenes que habían subido los usuarios a sus cuentas. A partir de ahí hice copias de todas las imágenes publicadas y siempre las tengo a mano para reponerlas, como ahora me está pasando con Tinypic. Es el problema de depender de terceros, que si cierran te dejan con el culo al aire.
Con esta solución pretendo tener un listado de las imágenes y autor, luego solo tengo que ir buscando donde están y reponerlas.

Ya te contaré mis resultados. Muchas gracias otra vez, como siempre.

Contenido Oculto
Este foro requiere que este registrado e identificado para ver el contenido oculto.


Enlace:
BBCode:
HTML:

Ocultar enlaces al mensaje
Mostrar enlaces al mensaje

Avatar de Usuario
karbiko
Moderador
Mensajes: 652
Registrado: 27 Jun 2008, 22:44
Género:
Edad: 52

Usuarios, imágenes y fechas

#7

Mensaje por karbiko » 28 Oct 2019, 22:46

J_Sparrow escribió:
27 Oct 2019, 22:54

como ahora me está pasando con Tinypic

A mi me cogió Tinypic con todas las imágenes subidas a su server y no supe que cerraban hasta que fue demasiado tarde.
Luego intenté IMGUR, pero no supe activarlo bien y vi que estaba en desarrollo la ext IMAGE UPLOAD de dmzx y martin y que sube las imágenes a tu propio servidor.
Evidentemente, si no llevas control y todo quisqui sube indiscriminadamente se comen el tamaño de tb bbdd.
Pero como las imágenes no es algo que se publique en todos los temas de mi foro, por ahora va superbien... y espero que de esta manera ya no pierda ninguna imagen más.

Me hubiera hecho falta conocer este código que han puesto para "rescatar" todas esas fotos que tenía en su momento en el jodío tinypic :(

URL: http://www.fororegistrocivil.es
Demás datos:
Spoiler
Mostrar
Plantilla(s): prosilver, Orange_BBEs
Versión instalada: phpBB 3.2.4
Extensiones:
Spoiler
Mostrar
24 hour activity stats 1.0.4
Addon for Thanks for posts 2.0.8
Add User 1.0.4
Advanced BBCode Box 3.1.4
Advanced Profile Fields Pack 1.0.0
Ajax Base 2.0.0
AJAX Registration check 1.0.0
Auto Database Backup 1.1.0
Avatars on Memberlist 2.0.0
Ban Hammer 1.0.0
Board3 Portal 2.1.0
Board Announcements 1.0.5
Board Rules 1.0.4
Browse Happy 2.0.1
Category Image 1.0.3
cBB Chat 1.1.3
Change Post Time 1.0.1
Collapsible Forum Categories 1.0.1
Cookie Policy 1.1.3
Copyright in footer 1.0.1
Css magic 1.0.2
Database Optimize & Repair Tool 1.1.3-dev
Default Avatar 1.1.4
Delete my registration 1.0.3
Detailed viewonline 1.0.0
Downloadlog 1.0.1
E-mail on birthday 3.1.6
Email List 1.0.2
File Download 1.0.2
Forumhulp Helper 3.1.10
Forum Icons 1.0.2
Forum Legend 1.0.2
Genders 1.1.1
gn36 - Customize first post edit permissions 1.2.2
Google Analytics 1.0.2
Google Translator 1.0.1
Header Banner 3.1.0_RC9
Hide Avatar for guests 1.0.1
Hide Bots 1.0.2
HTML email 3.1.7
Individual posts per page 1.0.1
Last Post Avatar 1.0.3
Lightbox 1.0.4
List subforums in columns 2.0.0
LMDI Autolinks 1.2.0
Log new user 1.0.2
Me You We Us 0.2.0
National Flags 2.1.0
No Custom Profile for guests 1.0.2
No Notice Delete PM 1.0.0
No quote last post 1.0.4
Notes 2.0.0
Pages 1.0.5
Password Strength 1.2.1
Paypal Donation 1.0.2
phpBB3 SEO Sitemap 1.1.1
PM Name Suggestions 1.1.1
PM Welcome 1.0.1
Poster IP in Viewtopic 1.0.1
Posts merging 2.0.3-dev
Precise Similar Topics 1.4.1
Previous / Next topic 1.0.3
Quick Login 1.0.5
QuickReply Reloaded 1.0.2
Quick Style 1.3.5
Quoted Images as Thumbnails 1.0.1
Red title for new topic and new reply 1.0.2
Reset login attempts 1.0.2
Right Side Header Image 3.1.1
Scroll To Up and Bottom 1.0.2
Search user topics 1.0.1
Seo Meta Description 1.0.0
Share On 2.0.0
smilies scroll box 1.0.3
Sortables Captcha 2.0.0
Stop Forum Spam 1.0.6
Tabbed stat-block 1.0.2
tas2580 Failed logins 1.1.0
Telegram Share 0.1.0-b1
Thanks for posts 2.0.2
TinyPic Link 1.0.2
Topic Preview 2.2.4
Unique Visits Counter 1.0.3
Upload Extensions 3.1.2
User login redirect 1.1.0
User Merge 1.0.2
User Recent Activity 2.0.0
Whatsapp Share 0.1.0-b1
Who Posted In This Topic 1.0.6
Who Visited This Topic 0.1.0-RC4.1
Who Visited This Topic 1.0.5
Servidor: de Pago (1and1)
Actualización: Si, de la 3.2.1 a la 3.2.4
Conversión de otro tipo de foro: No
Imagen


Enlace:
BBCode:
HTML:

Ocultar enlaces al mensaje
Mostrar enlaces al mensaje

Avatar de Usuario
J_Sparrow
Moderador
Mensajes: 834
Registrado: 30 Oct 2009, 00:20
Nombre real: Jose Luis
Ubicación: España
Género:
Edad: 58

Usuarios, imágenes y fechas

#8

Mensaje por J_Sparrow » 04 Nov 2019, 01:01

Buenas noches.
Tenía pendiente probar este tema y lo acabo de hacer.
@AbaddonOrmuz
ESPECTACULAR, no tiene otro nombre.
He probado la opción de solo IMGUR y es IMPRESIONANTE y luego la de todas las imágenes, buff, MARAVILLOSA
No ha tardado apenas un segundo y me ha listado unos 2000 imágenes la primera opción y unos 1600 la segunda opción. Me gusta mucho, porque además lo has clavado, sale el número del tema donde está la imagen, el nombre del usuario, la fecha con la hora y la dirección de la imagen, información MUY interesante para mi. Fíjate si será interesante, que me ha "cantado" algunos errores que no los podría descubrir si no revisado mensaje a mensaje. Y solo revisando un poco por encima.

Es mas de lo que necesitaba y muy simple. Gracias, me guardo esta información como un tesoro.

Contenido Oculto
Este foro requiere que este registrado e identificado para ver el contenido oculto.


Enlace:
BBCode:
HTML:

Ocultar enlaces al mensaje
Mostrar enlaces al mensaje

Avatar de Usuario
J_Sparrow
Moderador
Mensajes: 834
Registrado: 30 Oct 2009, 00:20
Nombre real: Jose Luis
Ubicación: España
Género:
Edad: 58

Usuarios, imágenes y fechas

#9

Mensaje por J_Sparrow » 04 Nov 2019, 23:21

J_Sparrow escribió:
04 Nov 2019, 01:01

y me ha listado unos 2000 imágenes la primera opción y unos 1600 la segunda opción.

Ya se me estaba haciendo raro que en la segunda opción (todas las imágenes), hubiese menos que en la primera, no son 1600, son 16000, que me he comido un "cero".
Pero bueno, lo importante es que la consulta funciona a las mil maravillas y lo mas importante, con ella aprenderé a usarla para mas situaciones. ¿Tal vez pueda modificarla para extraer un listado de las imágenes adjuntas?, tengo que estudiar si puedo buscar esto [attachment=0]PORTAL-24.jpg[/attachment]por ejemplo, pero eso ya veremos si soy capaz de hacerlo. Si, ya se que voy al PCA y que ahí están todas, pero no las puedo gestionar de la misma manera.
Por cierto, según escribía esto, he mirado a ver como esta la info y acabo de ver que hay cosas que me pueden interesar, los adjuntos que no son imágenes, ahí están todos y los puedo localizar para ir subiéndolos a mi cuenta de Mega. Interesante, ya me he vuelto a poner mucho mas trabajo :D :D :D
Y como estas cosas, algunas mas, ya me las plantearé. Al final descubriréis que soy un poco "friki" y que me gustan unos datos un tanto peculiares. Si vieseis el listado que estoy construyendo a mano uno a uno con los adjuntos, flipabais, me llamaríais LOCO :rofl: :rofl: :rofl: :rofl: :rofl:

Contenido Oculto
Este foro requiere que este registrado e identificado para ver el contenido oculto.


Enlace:
BBCode:
HTML:

Ocultar enlaces al mensaje
Mostrar enlaces al mensaje

Responder

Volver a “Recursos Webmaster”