🌍
Français
c'est une bonne idée de MOD mais je ne l'intégrerai pas dans la version officielle.
Pour simplifier un peu la gestion des galeries distantes, j'ai ajouté une fonction "envoi_ftp" en fin du script create_listing_file.php.
Elle dépose le fichier listing.xml dans le répertoire "admin" du site principal.
Peut-être une évolution pour la 1.3 ?
La fonction est :
function envoi_ftp( $phost, $pport, $plogin , $ppass , $ppassive, $pficloc, $prepdest ) { print "envoi_ftp"; print ( "$phost - $pport - $plogin - $ppass - $ppassive - $pficloc - $prepdest" ); $ftpstream = ftp_connect ( $phost , $pport ); if ( $ftpstream == FALSE ) { print "Echec connexion"; return false; } if ( ftp_login ( $ftpstream , $plogin , $ppass ) == FALSE ) { print "Echec login"; ftp_quit ( $ftpstream ); return (FALSE); } if ( $ppassive == 1 ) { if ( ftp_pasv ( $ftpstream , TRUE ) == FALSE ) { print "Echec passage en mode passif"; ftp_quit ( $ftpstream ); return (FALSE); } } if ( ftp_chdir ( $ftpstream , $prepdest ) == FALSE ) { print "Echec chdir vers $prepdest"; ftp_quit ( $ftpstream ); return (FALSE); } print ("rep : ".ftp_pwd($ftpstream) ); print ("rep : ".ftp_size($ftpstream, $pficloc) ); @ftp_delete ( $ftpstream, $pficloc); print ("rep : ".ftp_size($ftpstream, $pficloc) ); if ( ftp_put ( $ftpstream , $pficloc, $pficloc , FTP_ASCII ) == FALSE ) { print "Echec put de $pficloc vers $pficdest"; ftp_quit ( $ftpstream ); return (FALSE); } print ("rep : ".ftp_size($ftpstream, $pficloc) ); ftp_quit ( $ftpstream ); return (TRUE ); } // envoi_ftp
L'appel en fin de script peut ressembler à cela :
$fichier = "listing.xml"; if ( envoi_ftp( $GLOBALS['ftphost'], $GLOBALS['ftpport'], $GLOBALS['ftplogin'] , $GLOBALS['ftppasswd'] , $GLOBALS['ftppassive'], $fichier, $GLOBALS['repadminmain'] ) == TRUE ) { echo "Transfert ftp $fichier réussi"; } else { echo "Echec transfert ftp de $fichier"; }
Les paramètres peuvent être déclarés dans un fichier de configuration qui se siture dans un répertoire protégé par .thaccess.
Il peut contenir ceci :
<?php $GLOBALS['ftphost']="ftp.xxxxx"; $GLOBALS['ftpport']=21; $GLOBALS['ftplogin']="xxxxx"; $GLOBALS['ftppasswd']="xxxxx"; $GLOBALS['ftppassive']=1; $GLOBALS['repadminmain']="/phpwebgallery/admin"; // reprertoire admin du site principal // ou deposer le fichier listing ?>
Ne pas oublier l'include en début de script.