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: 989
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 »

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: 401
Registrado: 04 Abr 2010, 20:01
Nombre real: picaron
Género:
Edad: 55

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 | Mostrar

URL: http://www.ascensoristas.net
Versión phpBB: 3.3.0
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: 912
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 »

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 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:
Imagen Imgur | :chart_with_upwards_trend: SEO Metadata | Imagen Markdown | :lock: Auto-lock Topics | :mermaid: Mermaid Diagrams
:trophy: Checa todas mi extensiones aprobadas :trophy:

:penguin: Usuario de Arch Linux :penguin:



Enlace:
BBCode:
HTML:

Ocultar enlaces al mensaje
Mostrar enlaces al mensaje

Avatar de Usuario
J_Sparrow
Moderador
Mensajes: 989
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 »

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: 912
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 »

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:
Imagen Imgur | :chart_with_upwards_trend: SEO Metadata | Imagen Markdown | :lock: Auto-lock Topics | :mermaid: Mermaid Diagrams
:trophy: Checa todas mi extensiones aprobadas :trophy:

:penguin: Usuario de Arch Linux :penguin:



Enlace:
BBCode:
HTML:

Ocultar enlaces al mensaje
Mostrar enlaces al mensaje

Avatar de Usuario
J_Sparrow
Moderador
Mensajes: 989
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 »

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: 690
Registrado: 27 Jun 2008, 22:44
Nombre real: Jose
Género:
Edad: 53
Contactar:

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:

Spoiler

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

Spoiler

24 hour activity stats 1.0.9
Add Bot 1.0.1
Add User 1.0.4
Advanced BBCode Box 3.2.2
Advanced Profile Fields Pack 1.0.3
Advertisement Management 2.0.3
Ajax Base 2.0.0
AJAX Registration Check 1.0.1
[3.2][3.3][RC] Auto db Backup
Auto Drafts 1.1.3
Avatar resize 1.0.0-RC
Avatars on Memberlist 2.0.0
Ban Hammer 1.0.8
Birthday Cake 1.0.2
Blinking counter, for new pm and new notify 1.0.5
Board Announcements 1.1.0
Board Notices Manager 0.5.5
Board Rules 2.1.2
Breadcrumb Menu 1.0.6
Breizh Ajax Preview 1.1.0
Browse Happy 2.0.2-dev
Browser & OS in Viewtopic 1.0.1
cBB Blockgets 2.0.1
cBB Chat 1.2.1
cBB QuickMod 1.1.2
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.0
Detailed viewonline 1.0.0
[3.2][3.3][RC] Dropbox Upload for Auto db Backup
email on birthday 3.1.6
Email List 1.0.2
Extensions .yml check
External Links Open in New Window 1.0.6
File Upload 1.0.3
[3.3][RC] Filter by country
Forumhulp Helper 3.1.15
Genders 1.1.1
gn36 - Customize first post edit permissions 1.2.2
Google Analytics 1.0.5
Google Translator 1.0.3
Header Banner 3.2.2
Hide Avatar for guests 1.0.1
Hide Bots 1.0.2
htaccess Editor 1.0.0
HTML email 3.1.7
Image Upload 1.1.0
Individual posts per page 1.0.1
Large Font 3.2.2
Last Post Avatar 1.0.3
Lightbox 2.0.2
Linked Accounts 2.2.0
List subforums in columns 2.0.1
Live topic update 1.0.2
LMDI Autolinks 1.3.2
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
Mermaid Diagrams 0.4.0-dev
National Flags 2.1.6
News Scroll 1.0.1
No Custom Profile for guests 1.0.2
No DEA Emails
No Notice Delete PM 1.0.0
No quote last post 1.0.7
Notes 2.0.0
Pages
Page Scrolling 1.4.0
Password Strength 1.2.3
phpBB3 SEO Sitemap 1.1.1
phpBB Media Embed PlugIn 1.1.1
phpBB Studio - Google PDF autoembed 1.0.3
PM Name Suggestions 1.1.3
Poster IP in Viewtopic 1.0.2
Posts merging 2.1.1-dev
Precise Similar Topics 1.5.3
Previous / Next topic 1.0.3
Prime note bbcode 1.1.1
Prime Post Revisions 1.0.0-beta9
Profile Field Searchable 1.0.5
QuickReply Reloaded 2.0.0-beta4
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
[3.3][RC] Selective mass emails 1.0.9
SEO Metadata 1.3.0
Seo Meta Description 1.0.0
Share On 2.0.1
Simple mentions 1.0.5
Simple Spoiler BBCode 2.0.0
Smartfeed 3.0.13
Smart Subjects 1.0.0
Smilie Signs 1.0.2
smilies scroll box 1.0.3
Sortables Captcha 2.0.2
Stop Forum Spam 1.1.9
Tabbed stat-block 1.0.2
Tables 2.1.2
Telegram Share 0.1.0-b1. Descargable desde este enlace
Thanks for posts 2.0.7-dev
Topic Author 1.0.4
Topic Description 1.0.4
Topic Preview 2.3.2
Topics Hierarchy 2.1.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
Username Or Email Password Reset 0.1.0
User Posts in a Topic 1.0.1
User Recent Activity 2.1.1
Validated Date Profile Fields 1.0.0
VigLink 1.0.5
Whatsapp Share 0.1.0-b1. Descargable desde este enlace
Who Is Where 1.1.1 Extensión VIP
Who Posted In This Topic 1.0.7
Who Visited This Topic 1.0.7
Who Visited This Topic 0.1.0-RC4.1. Descargable desde este enlace
You Me We Us Filter 1.0.1

Servidor: VPS OVH Linux Debian 10
Versión PHP: 7.3.17-1+0~20200419.57
BBDD: MySQL(i) 10.3.22-MariaDB-0+deb10u1
Actualización: Instalación nueva, actualizando la bbdd desde 3.2.8
Conversión de otro tipo de foro: No



Enlace:
BBCode:
HTML:

Ocultar enlaces al mensaje
Mostrar enlaces al mensaje

Avatar de Usuario
J_Sparrow
Moderador
Mensajes: 989
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 »

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: 989
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 »

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”