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: 1174
Registrado: 30 Oct 2009, 00:20
Género:
Edad: 62

Usuarios, imágenes y fechas

#1

Mensaje por J_Sparrow »

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.

Avatar de Usuario
picaron
Moderador
Mensajes: 539
Registrado: 04 Abr 2010, 20:01
Género:
Edad: 58

Usuarios, imágenes y fechas

#2

Mensaje por picaron »

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

URL: http://www.ascensoristas.net
Versión phpBB: 3.3.9
EXT Instaladas:
Adsense & Ads
Advanced BBCode Box
Anti Adblock
Background Image in Text Area
Ban Hammer
Board3 Portal
Browser & OS in Viewtopic
cBB QuickMod
Contact Admin
Cron Status
Extensions .yml check
External Links Open in New Window
Favorite icon
File Download
Google Analytics
Google Search
Image Upload
Imgur
Lightbox
Manage Attachments
mChat
mChat on Board3 Portal
No DEA Emails
Pages
Pay For Link
Paypal Donation
Post Links
Pretty Topic
Private Message Box Status Bars
Quick Style
Scroll Page
Search Back
Simple mentions
Simple News Admin
Slideshow for Header
Sortables Captcha
Stop Browser Back Button
Store To MEGA
Tabs BBCode
Thanks for posts
Topic Preview
Ultimate Points Extension
[**] Breadcrumb Menu

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 10 (buster) (x86_64) ovh.com
Servidor de base de datos:MySQL(i) 10.3.36-MariaDB-0+deb10u2
Versión PHP: 7.4.32
Actualización desde otra versión: Pasito a pasito desde la 3.0.9
Conversión desde otro sistema de foros: No


Avatar de Usuario
AlfredoRamos
Ex Staff
Mensajes: 1235
Registrado: 14 Ene 2017, 22:18
Género:

Usuarios, imágenes y fechas

#3

Mensaje por AlfredoRamos »

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

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 AlfredoRamos el 27 Oct 2019, 21:59, editado 1 vez en total.
Razón: Notas para añadir un límite

Algunas de mis extensiones:
Imagen Imgur | :chart_with_upwards_trend: SEO Metadata | Imagen Markdown | :see_no_evil: Simple Spoiler BBCode | :shield: hCaptcha
:trophy: Checa todas mi extensiones aprobadas :trophy:

:penguin: Usuario de Arch Linux :penguin:


Avatar de Usuario
J_Sparrow
Moderador
Mensajes: 1174
Registrado: 30 Oct 2009, 00:20
Género:
Edad: 62

Usuarios, imágenes y fechas

#4

Mensaje por J_Sparrow »

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.

Avatar de Usuario
AlfredoRamos
Ex Staff
Mensajes: 1235
Registrado: 14 Ene 2017, 22:18
Género:

Usuarios, imágenes y fechas

#5

Mensaje por AlfredoRamos »

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 AlfredoRamos el 27 Oct 2019, 22:51, editado 1 vez en total.
Razón: Pequeña corrección en segunda sentencia.

Algunas de mis extensiones:
Imagen Imgur | :chart_with_upwards_trend: SEO Metadata | Imagen Markdown | :see_no_evil: Simple Spoiler BBCode | :shield: hCaptcha
:trophy: Checa todas mi extensiones aprobadas :trophy:

:penguin: Usuario de Arch Linux :penguin:


Avatar de Usuario
J_Sparrow
Moderador
Mensajes: 1174
Registrado: 30 Oct 2009, 00:20
Género:
Edad: 62

Usuarios, imágenes y fechas

#6

Mensaje por J_Sparrow »

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.

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

Usuarios, imágenes y fechas

#7

Mensaje por karbiko »

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: https://www.fororegistrocivil.es

Demás datos:

Estilos instalados(s): prosilver, Prosilver Dark Edition, prosilver special edition, proflat (en varios colores), PS4 Pro, Orange_BBEs
Versión instalada: 3.3.3
Extensiones:

Lista de ext instaladas

24 hour activity stats 1.2.3
Add Bot 1.0.1
Add User 1.0.4
Advanced BBCode Box 3.3.1
Advertisement Management 2.0.3
Ajax Base 2.0.0
AJAX Registration Check 1.0.1
Auto Drafts 1.1.3
Avatar resize 1.0.0
Avatars on Memberlist 2.0.0
Ban Hammer 1.0.8
Birthday Cake 1.0.5
Blinking counter, for new pm and new notify 1.0.5
Board Announcements 1.1.0
Board Notices Manager 0.5.5
Breadcrumb Menu 3.1.0
Breizh Ajax Preview 1.1.0
Browse Happy 2.0.2-dev
Browser & OS in Viewtopic 1.0.2
cBB Blockgets 2.0.2
cBB Chat 1.2.1
cBB QuickMod 1.1.2
cBB QuickQuote 1.0.1
Change Post Time 1.0.1
Clipboard Image 2.0.1
Collapsible Forum Categories 2.0.0
Confirm Email 1.0.0
Copyright in footer 1.0.2
Database Optimize & Repair Tool 1.2.0
Default Avatar Extended 1.2.2
Delete My Account 1.0.1
email on birthday 3.1.6
Email List 1.0.3
Extensions .yml check
External Links Open in New Window 1.0.10
File Upload 1.0.4
[3.3][RC] Filter by country 1.0.19
Forumhulp Helper 3.1.15
Genders 1.3.0
gn36 - Version Check Notifier 3.0.1
Google Analytics 1.0.6
Google Translator 1.0.3
Group Template Variables 1.1.0
Happy Anniversary (Email Edition) 0.1.0
Header Banner 3.2.2
Hide Avatar for guests 1.0.1
Hide Bots 1.0.6
[3.2] [RC] Hide Profile Fields to Groups (Any Groups) 1.1.0
HTML email 3.1.7
Imgur 1.6.0
Individual posts per page 1.2.0
Large Font 3.2.3
Last Post Avatar 1.0.3
LF Who Was Here 2 2.0.0
Lightbox 2.0.3
Linked Accounts 2.1.1
List subforums in columns 2.1.0
Live topic update 1.0.2
LMDI Autolinks 1.3.3
LMDI My Topics 1.0.12
Logout Redirect 1.0.1
Magic OGP parser 1.0.6
Mark Post Unread 1.1.1
Mass Notification 1.0.4
National Flags 2.3.0
New Year Decor 0.0.1
No Custom Profile for guests 1.0.2
No DEA Emails 3.3.0
No Notice Delete PM 1.0.0
No quote last post 1.0.1
Notes 2.0.0
Page Scrolling 1.4.0
Password Generator
Password Strength 1.2.3
PayPal Donation Extension 3.0.1 con añadido de cadinev para tener en el portal la barra de progreso de la donación.
phpBB3 SEO Sitemap 1.1.1
phpBB Media Embed PlugIn 1.1.2
phpBB Studio - Google PDF autoembed 1.1.0-beta
phpBB Studio - Topic links 1.0.5-RC
PM Name Suggestions 1.1.3
Poster IP in Viewtopic 1.2.0
Posts merging 3.0.0-dev
Precise Similar Topics 1.5.4
Previous / Next topic 1.0.3
Prime note bbcode 1.1.1
Prime Post Revisions 1.1.0-RC3
Prime User Topics 1.1.3
Profile Field Searchable 1.0.5 Extensión de pago
Quick Style 1.3.5
Quoted where 1.0.3
Red title for new topic and new reply 1.0.3
Remember me checked by default 1.0.0
Remove hidden users 0.1.0
Reset login attempts 1.0.2
Right Header Image 3.2.2
Scroll quoted text 3.2.2
Search user topics 1.0.5
[3.3][RC] Selective mass emails 1.0.10
SEO Metadata 1.4.0
Seo Meta Description 1.0.0
Separate Users and Bots 1.1.0
Share On 2.0.1
Simple mentions 1.0.5
Simple Spoiler BBCode 2.3.2
Smartfeed 3.0.14
Smart Subjects 1.0.0
Smilie Signs 1.0.3
smilies scroll box 1.0.3
Sortables Captcha 2.0.2
Stop Forum Spam 1.3.10
Subscribe topic in footer 1.0.0
Tabbed stat-block 1.0.2
Tables 2.1.4
Telegram Share 0.1.0-b1. Descargable desde este enlace
Thanks for posts 2.0.7
Topic Author 1.0.4
Topic Description 1.0.6
Topic Preview 2.3.2
Topics Hierarchy 2.0.0
Unique Visits Counter 1.0.3
Upload Extensions 3.2.0-RC, con esta actualización para 3.3.0
User Merge 1.0.4
User Posts in a Topic 1.0.1
User Recent Activity 2.1.1
Whatsapp Share 0.1.0-b1. Descargable desde este enlace
Who Visited This Topic 1.0.7
You Me We Us Filter 1.0.1


Deshabilitadas:

Board Rules 2.1.2
Detailed viewonline 1.0.0
Holiday Flare 2.0.1
Markdown 1.4.0
QuickReply Reloaded 2.0.0-beta4
phpBB Studio - Who Read What 1.1.1-RC
Santa Claus Surprise 1.1.0
Snowstorm and Lights 1.0.2
Who Visited This Topic 0.1.0-RC4.1. Descargable desde este enlace

Servidor: VPS OVH Linux Debian 10
Versión PHP: 7.3.27-9+0~20210227.82+debian10~1.gbpa4a3d6
BBDD: MySQL(i) 10.3.27-MariaDB-0+deb10u1
Actualización: desde 3.3.2


Avatar de Usuario
J_Sparrow
Moderador
Mensajes: 1174
Registrado: 30 Oct 2009, 00:20
Género:
Edad: 62

Usuarios, imágenes y fechas

#8

Mensaje por J_Sparrow »

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.

Avatar de Usuario
J_Sparrow
Moderador
Mensajes: 1174
Registrado: 30 Oct 2009, 00:20
Género:
Edad: 62

Usuarios, imágenes y fechas

#9

Mensaje por J_Sparrow »

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.

Responder

Volver a “🆘 Recursos Webmaster”