Petite mise à jour pour la bibliothèque svgraph.php
Si on utilise inkscape pour transformer un fichier SVG en pdf, on obtient quasiment une page blanche.
Le souci vient que Inkscape ne reconnait pas les variables CSS et ne gère une feuille de style CSS externe dans un fichier SVG
Pour tester voir le fichier test.php dans le plugin
La biliothèque svgraph.php permet de créer des graphiques en svg directement sur le serveur plutôt qu'avec une bibliothèque javascript chargée dans le navigateur.
Correction sur une expression régulière pour reconnaitre le lien à crypter dans le cas d'un fichier seul.
S@lut, Cpalo m'a fait un petit retour.
j'ai un peu modifié le script car je l'utilise de façon un peu triviale (les dossiers sont hors de data/media) et affichait une erreur 404 (doc introuvable) dù au test de la fonction plxMotorSendDownload() interne a PluXml.
Dans le fichier kzDownload.php
[== PHP ==]
public function plxMotorSendDownload() {
$code = <<< 'CODE'
<?php
$this->plxPlugins->aPlugins['##CLASS##']->stats(
substr(
$file,
strlen(PLX_ROOT.$this->aConf['medias'])
)
);
?>
CODE;
Est devenue
[== PHP ==]
public function plxMotorSendDownload() {
$code = <<< 'CODE'
<?php
$this->plxPlugins->aPlugins['##CLASS##']->stats(
substr(
$file,
strlen(PLX_ROOT.$this->aConf['medias'])
)
);
//Fix if not in media folder ::: AND preg_match('#^'.str_replace('\\', '/', realpath(PLX_ROOT.$this->aConf['medias']).'#'), str_replace('\\', '/', realpath($file)))
if(file_exists($file) ) {
header('Content-Description: File Transfer');
header('Content-Type: application/download');
header('Content-Disposition: attachment; filename='.basename($file));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: no-cache');
header('Content-Length: '.filesize($file));
readfile($file);
exit;
}
?>
CODE;
Du fait des restrictions des pages perso de free.fr qui limite le "readfile".
Cela donne une erreur avec des fichier supérieur à 1 Mo.
C:\Users\Pa*****ce\AppData\Local\Temp\9JKo921m.zip.part ne pourra être enregistré car le fichier source ne peut être lu.
Réessayez plus tard ou contactez l’administrateur.
Ayant déjà eu ce souci avec le dépôt, voici la partie du code utilisé maintenant sur les pages goodies.
j'ai solutionné ainsi :
Dans le fichier kzDownload.php
public function plxMotorSendDownload() {
$code = <<< 'CODE'
plxPlugins->aPlugins['##CLASS##']->stats(
substr(
$file,
strlen(PLX_ROOT.$this->aConf['medias'])
)
);
//Fix if not in media folder ::: AND preg_match('#^'.str_replace('\\', '/', realpath(PLX_ROOT.$this->aConf['medias']).'#'), str_replace('\\', '/', realpath($file)))
if(file_exists($file) ) {
header('Content-Description: File Transfer');
header('Content-Type: application/download');
header('Content-Disposition: attachment; filename='.basename($file));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: no-cache');
header('Content-Length: '.filesize($file));
readfile($file);
exit;
}
?>
CODE;
Est devenue
public function plxMotorSendDownload() {
$code = <<< 'CODE'
<?php
$this->plxPlugins->aPlugins['##CLASS##']->stats(
substr(
$file,
strlen(PLX_ROOT.$this->aConf['medias'])
)
);
//Fix if not in media folder ::: AND preg_match('#^'.str_replace('\\', '/', realpath(PLX_ROOT.$this->aConf['medias']).'#'), str_replace('\\', '/', realpath($file)))
if(file_exists($file)) {
$testfopen = @fopen($file);
if($testfopen){
header('Content-Description: File Transfer');
header('Content-Type: application/download');
header('Content-Disposition: attachment; filename='.basename($file));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: no-cache');
header('Content-Length: '.filesize($file));
readfile($file);
} else {//Fix free.fr readfile limited to 1M
header_remove();
header('Location: '.$file);
}
exit;
}
?>
CODE;
#AMHA il est possible que la fonction plxMotor->sendDownload() interne a PluXml en soit aussi victime, et que bazooka07 préférerai utiliser un système basé sur le HOST qui économiserai le serveur, mais là ça semble bien rouler et faire le taf ;)
Version 1.0.0 :
Pour crypter le lien de téléchargement d'un fichier ou plusieurs fichiers, plusieurs possibilités
créer une balise HTML '<a href="data/medias/mon-fichier.pdf' download>Lire mon pdf<a>' avec l'attribut download
créer une balise HTML '<a href="data/medias/documents/mon-fichier.pdf">Lire mon pdf<a>' en sélectionnant documents dans le panneau de config du plugin
créer un couple de balises '<div data-download="autres-documents">Écrire n'importe quoi</div>' le dossier autres-documents situé dans le dossier data/medias contenant tous les fichiers disponibles au téléchargement. La liste des fichiers sera présentée sous forme de tableau côté site.
Hello,
J'ai téléchargé la dernière version pour la tester et j'ai un message d'erreur quand je veux accéder à l'admin Parse error: syntax error, unexpected 'version' (T_STRING) in /htdocs/test.leptitcoindejoliez.fr/plugins/kzDownload/kzDownload.php on line 50
Version de PHP : 7.3.24
Je viens d'installer le plugin sur la dernière version de pluxml, impossible de configurer le dossier téléchargement dans l'admin ??
Nouveau test en désinstallant le plugin et réinstall, toujours le même problème : impossible de configurer le dossier de téléchargement dans l'admin.
C'est un pluxml dernière version sans aucun autre plugin.
Ci-dessous une capture d'écran de l'admin https://leptitcoindejoliez.fr/kzdownload.png
Tu as créé un dossier pour stocker les fichiers à télécharger ou tu mets tout pêle-mêle dans le dossier /data/medias ?
Note que dans un article tu peux mettre un lien pour télécharger un fichier. Pour crypter l'adresse, il suffit d'ajouter l'attribut download
Bonjour,
Le tableau affiche une colonne description et dans le code du plugin il y est fait référence.
Comment doit-on créer ce fichier description pour qu'il soit pris en compte?
D'ailleurs dans l'image d'illustration du plugin en début de ce post, certains fichiers à télécharger ont cette description.
Bonjour,
Dans le dossier où sont stockés les fichiers à télécharger, il faut créer un fichier .htaccess avec une ligne par fichier comme ceci :
AddDescription "La description du fichier à télécharger" mon_fichier.ext
AddDescription est une directive du serveur Apache. L'extension du fichier peut être quelconque.
Voici le fichier .htaccess sur kazimentou.fr :
AddDescription "De nombreux patches pour PluXml-5.7 - https://github.com/bazooka07/PluXml.git - branch echecs" PluXml-echecs-181110.zip
AddDescription "Installation automatisée de PluXml (Nécessite Curl opérationnel)" kzInstall.php
AddDescription "Vérifier la version de la dernière release de PluXml" version.php
AddDescription "Installe PluXml et kzUploader sur un site. Compatible pages perso cher http://free.fr" turbo-installer.php
AddDescription "Version 2 de kzInstall avec barres de progression, téléchargements parallèles et installattion directe" kzInstall2.php
AddDescription "Version améliorée du gestionnaire de médias pour PluXml" PluXml-plxmedias-1811.zip
Il peut bien sûr avoir d'autres directives dans le fichier .htaccess.
Note que si tu ajoutes Option +Indexes dans le fichier .htaccess du dossier medias, la liste des fichiers sera affichée par Apache avec la description.
Bonjour
Sur un PluXml 5.8.9 avec la version 1.0.1 du plugin j'ai ce message d'erreur, mais qui apparemment n'empeche pas le fonctionnement
Deprecated: Optional parameter $colorsCount declared before required parameter $noMore is implicitly treated as a required parameter in F:\htdocs\dvpts-PluXml-5.8.9\pluSimple\plugins\kzDownload\svgraph.php on line 371
Deprecated: Optional parameter $min declared before required parameter $noMore is implicitly treated as a required parameter in F:\htdocs\dvpts-PluXml-5.8.9\pluSimple\plugins\kzDownload\svgraph.php on line 371
Réponses
http://forum.pluxml.org/viewtopic.php?pid=57269#p57269
Accès à mon dépôt de plugins et thèmes
installe PluXml plus vite que ton ombre avec kzInstall2
Petite mise à jour pour la bibliothèque svgraph.php
Si on utilise inkscape pour transformer un fichier SVG en pdf, on obtient quasiment une page blanche.
Le souci vient que Inkscape ne reconnait pas les variables CSS et ne gère une feuille de style CSS externe dans un fichier SVG
Pour tester voir le fichier test.php dans le plugin
La biliothèque svgraph.php permet de créer des graphiques en svg directement sur le serveur plutôt qu'avec une bibliothèque javascript chargée dans le navigateur.
Correction sur une expression régulière pour reconnaitre le lien à crypter dans le cas d'un fichier seul.
Accès à mon dépôt de plugins et thèmes
installe PluXml plus vite que ton ombre avec kzInstall2
j'ai un peu modifié le script car je l'utilise de façon un peu triviale (les dossiers sont hors de data/media) et affichait une erreur 404 (doc introuvable) dù au test de la fonction plxMotorSendDownload() interne a PluXml.
Dans le fichier kzDownload.php Est devenue
Si cela peu aidé quelqu'un
[edit] Merci Bazooka pour ce magnifique outil.
Notre temps est la seule monnaie vraie ;)
Site, Dépôt, framagit, MyShop, Factux
#mozinor président
S@lut, Cpalo m'a fait un retour.
Du fait des restrictions des pages perso de free.fr qui limite le "readfile".
Cela donne une erreur avec des fichier supérieur à 1 Mo.
C:\Users\Pa*****ce\AppData\Local\Temp\9JKo921m.zip.part ne pourra être enregistré car le fichier source ne peut être lu.
Réessayez plus tard ou contactez l’administrateur.
Ayant déjà eu ce souci avec le dépôt, voici la partie du code utilisé maintenant sur les pages goodies.
j'ai solutionné ainsi :
Dans le fichier kzDownload.php
Est devenue
#AMHA il est possible que la fonction plxMotor->sendDownload() interne a PluXml en soit aussi victime, et que bazooka07 préférerai utiliser un système basé sur le HOST qui économiserai le serveur, mais là ça semble bien rouler et faire le taf ;)
Et encore Merci @Bazooka07 pour ce bon greffon.
Notre temps est la seule monnaie vraie ;)
Site, Dépôt, framagit, MyShop, Factux
#mozinor président
Version 1.0.0 :
Pour crypter le lien de téléchargement d'un fichier ou plusieurs fichiers, plusieurs possibilités
Côté admin : il y a une page pour suivre les statistiques de téléchargement.
Télécharger la dernière version de ce magnifique plugin
Accès à mon dépôt de plugins et thèmes
installe PluXml plus vite que ton ombre avec kzInstall2
Hello,
J'ai téléchargé la dernière version pour la tester et j'ai un message d'erreur quand je veux accéder à l'admin
Parse error: syntax error, unexpected 'version' (T_STRING) in /htdocs/test.leptitcoindejoliez.fr/plugins/kzDownload/kzDownload.php on line 50
Bonjour,
Merci pour le retour.
La version 1.0.1 de ce plugin corrige ce problème ( Intégration de l'entête du fichier XML )
Télécharger la dernière version de ce magnifique plugin
Quelle version de PHP utilises-tu ?
Accès à mon dépôt de plugins et thèmes
installe PluXml plus vite que ton ombre avec kzInstall2
Version de PHP : 7.3.24
Je viens d'installer le plugin sur la dernière version de pluxml, impossible de configurer le dossier téléchargement dans l'admin ??
C'est ennuyeux ! Je n'ai pas de problème sous Ubuntu.
Il faut passer par le panneau de config du plugin :
Sinon on peut créer une page statique avec ce contenu pour afficher un tableau de fichiers à télécharger :
Accès à mon dépôt de plugins et thèmes
installe PluXml plus vite que ton ombre avec kzInstall2
Bonjour, Testé aussi et pour info de mon côté... ça roule !
Pluxml 5.8.2 & Php 7.0.3 (en local sous Windows)
Nouveau test en désinstallant le plugin et réinstall, toujours le même problème : impossible de configurer le dossier de téléchargement dans l'admin.
C'est un pluxml dernière version sans aucun autre plugin.
Ci-dessous une capture d'écran de l'admin
https://leptitcoindejoliez.fr/kzdownload.png
Tu as créé un dossier pour stocker les fichiers à télécharger ou tu mets tout pêle-mêle dans le dossier /data/medias ?
Note que dans un article tu peux mettre un lien pour télécharger un fichier. Pour crypter l'adresse, il suffit d'ajouter l'attribut download
Accès à mon dépôt de plugins et thèmes
installe PluXml plus vite que ton ombre avec kzInstall2
OK, je viens de comprendre l'erreur, je n'avais pas créé de dossier dans data/medias.
Création d'un dossier et c'est ok !
Merci
Bonjour, Bazzoka07 m'a suggéré d'installer ce plugin pour protéger mon dossier image.
Je ne peux le tester en local car je fonctionne sur une vielle machine ( osx ) avec un php 5.5.38
Peut on m'éclairer sur la fonction de celui ci, en quoi le fait de crypter le lien de téléchargement d'un dossier peut il gêner un copieur?
Ma question peut apparaître basique, mais désole, je ne capte pas.
D'avance merci.
Hello Bazooka07,
Est-ce qu'il serait possible d'avoir les stats de téléchargement classées par le total des téléchargements et non la date ?
Merci
Bonjour,
Est-ce qu'il est possible de créer des sous-dossiers de téléchargements?
Actuellement j'ai :
Ce que je souhaiterai (exemple):
Bonjour,
Le tableau affiche une colonne description et dans le code du plugin il y est fait référence.
Comment doit-on créer ce fichier description pour qu'il soit pris en compte?
D'ailleurs dans l'image d'illustration du plugin en début de ce post, certains fichiers à télécharger ont cette description.
Bonjour,
Dans le dossier où sont stockés les fichiers à télécharger, il faut créer un fichier .htaccess avec une ligne par fichier comme ceci :
AddDescription est une directive du serveur Apache. L'extension du fichier peut être quelconque.
Voici le fichier .htaccess sur kazimentou.fr :
Il peut bien sûr avoir d'autres directives dans le fichier .htaccess.
Note que si tu ajoutes Option +Indexes dans le fichier .htaccess du dossier medias, la liste des fichiers sera affichée par Apache avec la description.
Accès à mon dépôt de plugins et thèmes
installe PluXml plus vite que ton ombre avec kzInstall2
@bazooka07
Merci.. la description s'affiche bien
Bonjour
Sur un PluXml 5.8.9 avec la version 1.0.1 du plugin j'ai ce message d'erreur, mais qui apparemment n'empeche pas le fonctionnement