Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   PHP (https://www.clubdelphi.com/foros/forumdisplay.php?f=15)
-   -   Interactuar con Plugin de Word Press (https://www.clubdelphi.com/foros/showthread.php?t=92995)

juanelo 12-04-2018 18:37:51

Interactuar con Plugin de Word Press
 
Hola a todos,
Antes que todo les digo que soy neofito en todo lo relacionado con WP y PHP, y si no es posible lo que expongo por favor sean benevolo conmigo :o
Aqui va, resulta que tengo una empresa que tiene su sitio hecho con WP y hoy dia tienen un plugin para subir archivos para sus usuarios: Wordpress File Download Manager, lo que esta empresa hace, es que se suben todas las facturas hechas con su sistema de gestion a cada uno de los usuarios correspondientes a sus clientes, esto hoy dia lo hacen manualmente con el plugin mencionado.
Lo que necesita esta empresa, es dejar de realizar manualmente esta tarea, ya que representa mucho tiempo hacerlo, y por lo tanto se desarolló un servicio que sube en automatico las facturas al sitio, pero se quiere vincular estos archivos a cada uno de los usuarios (clientes), y que estos puedan hacer el download de sus facturas unicamente, es decir, que se muestren los archivos a los usuarios como si lo hubieran hecho directo desde el plugin.
Espero haberme explicado y ojala haya alguien que me de luz al respecto.
Gracias de antemano!

juanelo 13-04-2018 00:52:27

Una ayudita ...:)

dec 13-04-2018 09:52:06

Hola a todos,

Habría que ver el asunto en detalle, pero, supongo que, en principio, bastaría con trabajar con el componente "IdHttp" del paquete de componentes Indy. Se trata de hacer llamadas HTTP GET y/o HTTP POST a los scripts PHP que sea necesario, enviando los argumentos precisos, y, procesando la respuesta obtenida de dichos scripts. Qué scripts, qué argumentos, qué respuesta, etc., depende ya de lo que quieras hacer y de cómo pueda implementarse. Pero, yo diría que, básicamente, estamos hablando de algo así, si no me equivoco.

Neftali [Germán.Estévez] 13-04-2018 10:26:00

El problema es que a mi personalmente no me queda clara la pregunta.

Has explicado la situación inicial.
Cita:

Empezado por juanelo (Mensaje 525633)
...

Luego el problema:
Cita:

Empezado por juanelo (Mensaje 525633)
Lo que necesita esta empresa, es dejar de realizar manualmente esta tarea, ya que representa mucho tiempo hacerlo

Luego la solución que habéis adoptado:
Cita:

Empezado por juanelo (Mensaje 525633)
y por lo tanto se desarolló un servicio que sube en automatico las facturas al sitio

(no se si te refieres a un servicio de windows ¿?¿?¿?¿)

Y esto es lo que no entiendo y en qué te podemos ayudar (con delphi?)
Cita:

Empezado por juanelo (Mensaje 525633)
...pero se quiere vincular estos archivos a cada uno de los usuarios (clientes), y que estos puedan hacer el download de sus facturas unicamente, es decir, que se muestren los archivos a los usuarios como si lo hubieran hecho directo desde el plugin.

Habría que saber si la web ya cuenta con autentificación (cuando los clientes entran).
Esos ficheros se guardad ¿Dónde? ¿En base de Datos? ¿Ya tienes en algún sitio (Base de Datos) qué relación hay entre cada fichero y el cliente?
¿?¿?¿

dec 13-04-2018 11:40:00

Hola a todos,

Sí que es verdad que hay muchos detalles por aclarar. Por eso yo respondí un tanto genéricamente: seguramente sea cuestión de usar un cliente HTTP como el que proporciona el componente "IdHttp", ahora bien, dicho eso, falta todo lo demás, que es "lo gordo". :)

juanelo 13-04-2018 19:06:49

Gracias Dec y Neftali por su tiempo,
Miren les respondo:
1.- Efectivamente se desarrollo un servicio de windows que se ocupa de la tarea de subir los archivos de manera automatica al servidor del cliente (en realidad al host que tiene contratado).
2.- Estos archivos se suben via FTP, y no están visibles para los usuarios del sitio, ya que estos solo ven los archivos que son subidos via el administrador del plugin Wordpress File Download Manager
3.- Para que cada usuario del sitio vea sus archivos tiene que ser (como dije en el punto anterior) subido manualmente por alguien que opere este plugin del lado de administrador.
4.- Estamos hablando de cientos de clientes y facturas diarias, lo cual representa mucho tiempo de horas hombre, el subir individualmente cada una de ellas a sus correspondientes usuarios del sitio.
5.- Lo que se pretende es automatizar el proceso.
6.- Lo que ando buscando es que atravez de una interaccion con el Plugin, poder "registrar" desde el servicio desarrollado, cada una de las facturas a sus correspondientes usuarios, tal cual como si hubiera sido hecho desde el administrador del plugin de WP.
Espero haberme explicado un poco mejor, y en verdad les reitero mis agradecimiento por su tiempo.

dec 13-04-2018 20:05:24

Hola a todos,

Lo que el plugin de Wordpress que mencionas debe hacer es asociar archivos con usuarios, utilizando, seguramente, la base de datos del sitio web. Lo que hay que hacer es lo mismo, por lo tanto: no basta con subir un archivo, sino que, hay que asociarlo con un determinado usuario. La verdad es que no sabría ir mucho más allá, puesto que, es necesario estudiar cómo debe hacerse esto. Y, tal vez lo que hay que hacer es estudiar el plugin de Wordpress, o bien la base de datos, en definitiva, ver cómo se asocian los archivos a los usuarios, y, hacer lo mismo nosotros.

O, tal vez el plugin o el propio Wordpress permiten subir archivos utilizando el plugin "desde fuera", es decir, utilizando algún API, algún script, en definitiva, ya disponible. Si esto fuese así este sería el script o API a utilizar, es decir, no tendríamos necesidad de reinventar nosotros la rueda para hacer lo mismo. Pero, poco más se puede decir, sin conocer el plugin de que se trata, la base de datos, etc. Siento no poderte ayudar más ahora mismo.

orodriguezca 13-04-2018 21:15:23

Quizás este enlance te pueda proporcionar una guía, un punto de partida, hacia la solución de tu problema:

https://gist.github.com/ahmadawais/0...adfae84797c19a

bucanero 16-04-2018 17:30:19

Hola a todos,

como ya te han comentado anteriormente la solución pasa por realizar a mano los mismos pasos que realiza el plugin de wordpress.

Alguna vez que he tenido que realizar acciones similares en otras plataformas de e-commerce, una forma rápida de saber que esta haciendo es monitorizar el motor de bases de datos de MYSQL durante el proceso que se pretende "clonar" para ver que tipo de operaciones realiza y en que tablas las realiza.

Para operar de forma global sobre el monitor de MYSQL los comandos son los siguientes:

-Activar los logs:

Código SQL [-]
SET global general_log = 1;
SET global log_output = 'table';

-Desactivar los logs:
!!!:-| IMPORTANTE: Desactivarlos lo antes posible, pues esta guardando todas las operaciones que se realizan en la BBDD pudiendo llenar todo el espacio del disco rápidamente.
Código SQL [-]
SET global general_log = 0;

-Ver los logs y desactivarlos:
Código SQL [-]
SET global general_log = 0;
select * from mysql.general_log;

-Vaciar la tabla de logs:
!!!:-|IMPORTANTE: la tabla de logs por ser del sistema no tienes permiso para poderla borrar/vaciar por lo que hay que aplicar algún que otro truquillo para vaciarla
Código SQL [-]
SET GLOBAL general_log = 'OFF';
RENAME TABLE mysql.general_log TO mysql.general_log_temp;
DELETE FROM mysql.`general_log_temp` WHERE `event_time` < DATE(NOW());
RENAME TABLE mysql.general_log_temp TO mysql.general_log;

Fuente de la información:
https://stackoverflow.com/questions/...eries-in-mysql

Espero sea de utilidad esta información
Un saludo

ElKurgan 18-04-2018 07:14:51

Gracias por compartir la solución

Saludos

juanelo 19-04-2018 17:44:08

Antes que todo gradezco cada una de las respuestas enviadas, y tambien les pido una disculpa pero no habia tenido tiempo de entrar a responder.
Les comento, al final se decidio usar un plugin de WP para el lista del contenido de directorios, les paso el linke a este plugin: mmm Simple File List
Saludos a todos.


La franja horaria es GMT +2. Ahora son las 18:31:00.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi