PluXml.org

Blog ou CMS à l'Xml

Vous n'êtes pas identifié(e).

#151 12/01/2014 12:45:43

Lunatic
Membre
Lieu : Nancy
Inscription : 30/11/2012
Messages : 74
Site Web

Re : Demande de plugins

@Gzyg : merci, je ne connaissais pas. Mais ça ne tourne pas avec Pluxml, si ?


HAL 9000 : blog de geekeries (gnu/linux, Android…) avec d'autres trucs dedans.
J'suis aussi sur Twitter

Hors ligne

#152 12/01/2014 14:00:20

Gzyg
Membre
Inscription : 25/09/2006
Messages : 836
Site Web

Re : Demande de plugins

Non, c'est un soft indépendant (et qui demande une BDD).


à plus,

Gzyg

Hors ligne

#153 12/01/2014 15:34:47

Jerry Wham
Membre
Inscription : 13/07/2011
Messages : 2 526
Site Web

Re : Demande de plugins

@Lunatic : si j'ai bien compris, tu voudrais un bookmarklet qui te prérempli les champs de pluxml pour publier un article, c'est ça ? Parce que ce que tu décris et comme tu l'as parfaitement dit, shaarli le fait déjà...


Mangez un castor, vous sauverez un arbre !

J'ai la tête dans le  ...code

Hors ligne

#154 12/01/2014 19:38:08

Lunatic
Membre
Lieu : Nancy
Inscription : 30/11/2012
Messages : 74
Site Web

Re : Demande de plugins

C'est tout à fait ça.

Shaarli le fait, mais pluxml a pas mal de fonctionnalités que shaarli n'a pas (les commentaires, le classement par catégories… je ne vais pas faire toute la liste wink)

Dernière modification par Lunatic (12/01/2014 19:41:08)


HAL 9000 : blog de geekeries (gnu/linux, Android…) avec d'autres trucs dedans.
J'suis aussi sur Twitter

Hors ligne

#155 13/01/2014 04:09:00

Jerry Wham
Membre
Inscription : 13/07/2011
Messages : 2 526
Site Web

Re : Demande de plugins


Mangez un castor, vous sauverez un arbre !

J'ai la tête dans le  ...code

Hors ligne

#156 13/01/2014 10:33:35

Lunatic
Membre
Lieu : Nancy
Inscription : 30/11/2012
Messages : 74
Site Web

Re : Demande de plugins

Je l'ai déjà fait là-bas, mais merci encore ici wink


HAL 9000 : blog de geekeries (gnu/linux, Android…) avec d'autres trucs dedans.
J'suis aussi sur Twitter

Hors ligne

#157 13/01/2014 12:50:32

Gzyg
Membre
Inscription : 25/09/2006
Messages : 836
Site Web

Re : Demande de plugins

Jerry Wham : l'homme qui code plus vite que son ombre ! smile  cool


à plus,

Gzyg

Hors ligne

#158 14/01/2014 14:50:46

aruhuno
Membre
Lieu : Claye-Souilly (77)
Inscription : 13/07/2011
Messages : 258
Site Web

Re : Demande de plugins

Bonjour à tous,

Je trouve qu'il manque un lien "source" lors de la rédaction des articles et j'aimerais par conséquent pouvoir le rajouter via un plugin (dans la sidebar à la suite de "description", etc).

Je connais déjà le plugin champArt que j'utilisais jusqu'alors, mais c'est une usine juste pour un seul champ, de plus, quelques bugs ont fait leur apparition au fur et à mesure des évolutions de PluXML (normal, hein ! =]).

Quelqu'un de charitable serait-il capable de développer ce genre de plugin ou tout du moins m'aider à le créer. Je dois avouer que j'y comprends pas grand chose, même en me basant sur vignette et champArt.

Merci d'avance et bon courage à tous !


"Parce que la connaissance appartient à tout le monde...", Inios.

Hors ligne

#159 05/02/2014 20:10:46

bg62
Membre
Inscription : 18/05/2007
Messages : 1 781
Site Web

Re : Demande de plugins

une autre petite demande ( ça existe pour WP )
un plugin permettant de trouver tous les liens morts, liens brisés, à la fois dans les articles ET dans les commentaires
( voire, mieux, d'y arriver ensuite dans l'admin pour les corriger ou les supprimer directement )

quasiment à l'heure actuelle une chose indispensable quand on sait que beaucoup trop de sites finissent toujours par disparaître un jour et que pour un blog ayant déjà pas mal d'articles, de liens sortants via les posts ou les commentaires, c'est quasiment mission impossible manuellement ( même avec des logs comme Xenu d'ailleurs ...), indispensables  également pour ne pas trop 'énerver' les bots des moteurs lorsqu'ils passent visiter le site....

je ne sais pas si cela est faisable, je ne sais pas si ça demandera beaucoup de ressources, mais ce serait un vrai " plus "
smile


le 'www' est fait pour communiquer et échanger, non ?
fonds d'écran   | référencement efficace | Portfolio | Fonds d'écran automobile | outils SEO | échange de liens en dur

Hors ligne

#160 05/02/2014 20:52:00

je-evrard
Pluxml Staff
Lieu : pau
Inscription : 08/05/2012
Messages : 1 128
Site Web

Re : Demande de plugins

Test sur les liens mort

[== PHP ==]
$a = @get_headers($url); 
if ($a) { 
//*** On a retour : on test le header HTTP 
if (strstr($a[0],'404')) 
return FALSE; // Erreur 404 
else 
return TRUE; // OK 
} 
else 
return FALSE; // Erreur accès au site 
}

Petit à petit l'oiseau fait son nid.
- Sites : Création web - Création artistique
- pluxml : Plugins - Simplebox - Visual Wizard
- Projet SPX : Vitrine - Blog
facebook

Hors ligne

#161 05/02/2014 21:52:17

bg62
Membre
Inscription : 18/05/2007
Messages : 1 781
Site Web

Re : Demande de plugins

je-evrard a écrit :

Test sur les liens mort

[== PHP ==]
$a = @get_headers($url); 
if ($a) { 
//*** On a retour : on test le header HTTP 
if (strstr($a[0],'404')) 
return FALSE; // Erreur 404 
else 
return TRUE; // OK 
} 
else 
return FALSE; // Erreur accès au site 
}

merci wink
mais on en fait quoi de ce code ???
toi tu as de la chance, tu te comprends wink


le 'www' est fait pour communiquer et échanger, non ?
fonds d'écran   | référencement efficace | Portfolio | Fonds d'écran automobile | outils SEO | échange de liens en dur

Hors ligne

#162 05/02/2014 21:56:32

je-evrard
Pluxml Staff
Lieu : pau
Inscription : 08/05/2012
Messages : 1 128
Site Web

Re : Demande de plugins

Oui désolé. En fait c'est faisable bien sur. Mais question de temps. Moi en ce moment pas trop.


Petit à petit l'oiseau fait son nid.
- Sites : Création web - Création artistique
- pluxml : Plugins - Simplebox - Visual Wizard
- Projet SPX : Vitrine - Blog
facebook

Hors ligne

#163 21/04/2014 19:40:49

bg62
Membre
Inscription : 18/05/2007
Messages : 1 781
Site Web

Re : Demande de plugins

je-evrard a écrit :

Oui désolé. En fait c'est faisable bien sur. Mais question de temps. Moi en ce moment pas trop.

bon, attendons donc alors, si quelqu'un peut s'en occuper ...
Une autre chose également qui existe aussi pour Wordpress :
http://sourceforge.net/projects/wordpre … ats/files/
je cite la description trouvée :

iLuc a écrit :

Directement sous la page d'édition des articles, il vous permet d'obtenir des infos, sans avoir à changer de page, n'y a allez sur d'autres sites. Vous avez maintenant tous sous la main.

Ce petit plugin donc vous permet:

- De connaitre le nombre de liens dans un texte
- Le pays des liens dans vos textes
- Le nombre de mots et la densité % des mots de vos textes

Puis aussi obtenir un ensemble d'infos:

- Nombre de pages indéxés
- PageRank
- Alexarank
- Réseaux sociaux
- Pays du serveur
- Ip du serveur
..

plus que pas mal du tout et fort utile, si l'on pouvait l'avoir sous PluXml ce serait un vrai " + "
smile


le 'www' est fait pour communiquer et échanger, non ?
fonds d'écran   | référencement efficace | Portfolio | Fonds d'écran automobile | outils SEO | échange de liens en dur

Hors ligne

#164 22/05/2014 14:08:35

Suricat
Membre
Inscription : 26/05/2011
Messages : 145

Re : Demande de plugins

Autre demande : L'équivalent du Plugin "Subscribe to Comments" de WordPress.

https://wordpress.org/plugins/subscribe-to-comments/

Cet article du Journal Du Net en parle :
http://www.journaldunet.com/solutions/s … ents.shtml

Subscribe To Comments : un moyen astucieux de fidéliser ses visiteurs

Subscribe To Comments est une petite extension qui donne aux visiteurs la possibilité de s'abonner par e-mail aux commentaires de vos articles. Elle peut être plus utile qu'elle n'en a l'air...


Le commentaire de Daniel Roch :
"cela peut paraître basique mais ce plugin permet de réellement fidéliser les internautes et de faciliter le débat en informant les autres participants qu'un nouveau commentaire a été publié, et qu'ils peuvent ainsi y répondre. De manière générale, l'impact est vraiment positif pour les blogs et les sites communautaires."

Hors ligne

#165 09/07/2014 20:39:51

bronco
Membre
Lieu : Près de Rouen
Inscription : 09/09/2013
Messages : 94
Site Web

Re : Demande de plugins

Stéphane a écrit :

- Système de cache pour améliorer les performances et limiter les accès disques
- Afficher les flux rss d'autres sites

Salut,
pour mon site, j'ai créé un système de cache qui fonctionne très bien. Je n'en ai toutefois pas fait un plugin pour le moment, mais je peux y songer...
Si quelqu'un souhaite s'y mettre avant, je peux donner mon code sans problème ^^
J'avais écrit un billet sur ma façon de procéder: http://www.warriordudimanche.net/?artic … che-en-php
J'ai regroupé les fonctions de cache en un zip http://www.warriordudimanche.net/vrac/easy_cache.zip

J'ai fait de même pour les flux Rss : à l'époque j'utilisais une lib appelée Rsslib... J'ai depuis fait quelques scripts permettant de récupérer et créer simplement des flux rss... ça peut servir de base à un plug in... si ça intéresse quelqu'un, je peux m'y coller ;-)

Hors ligne

#166 12/07/2014 21:34:47

ym_trainz
Membre
Lieu : Montélimar
Inscription : 11/07/2014
Messages : 1

Re : Demande de plugins

Bonjour,

Je ne sais pas si c'est le bon endroit pour poster mais je partage mon code que j'ai intégré sur pluXml.

Avant une version plugin, voici ci-dessous une "bidouille" php pour extraire les données exif de photos et les afficher.
Un lien sur la carte google map est également généré si des données GPS sont présentes dans les exif

1 - le lien html dans l'article de votre blog :

[== HTML ==]
<a href="ymsimg.php?f=nom_du_fichier.jpg"><img src="data/images/nom_du_fichier.tb.jpg" alt="description" /></a>

2 - les données exif à afficher et la configuration d'affichage sont inscrites dans la racine du blog dans le fichier exif.dat (voir plus bas)

3 - une page php qui fait office de viewver : ymsimg.php (voir plus bas)

4 - 2 fichiers image curseur (zoomin.cur et zoomout.cur à placer aussi dans la racine)

Si cela peut être utile ;-)
ym_trainz
lien utile : http://www.gpscoordinates.eu/convert-gp … inates.php
---------------------------------------------------------------------------------------------
code du fichier exif.dat
---------------------------------------------------------------------------------------------

[== Indéfini ==]
IFD0.ImageDescription,,
COMPUTED.Height,H ,Pix
COMPUTED.Width,W ,Pix
FILE.FileSize,,ko
EXIF.DateTimeOriginal,Date ,
* COMPUTED.ApertureFNumber
* COMPUTED.Copyright
IFD0.Make,Appareil ,
IFD0.Model,,
* IFD0.Orientation
* IFD0.XResolution
* IFD0.YResolution
* IFD0.ResolutionUnit
IFD0.Artist,Photographe ,
IFD0.Copyright,(c) ,
* IFD0.ExposureMode
EXIF.ExposureTime,Expo ,s
EXIF.FNumber,Ouverture ,
* EXIF.ExifVersion
EXIF.ISOSpeedRatings,Iso , ASA
* EXIF.DateTimeDigitized
* EXIF.ShutterSpeedValue
* EXIF.ApertureValue
* EXIF.ExposureBiasValue,Correction d\'exposition,
EXIF.Flash,Flash ,
IFD0.FocalLengthIn35mmFilm,Focale(film35mm) ,mm
EXIF.FocalLength,Focale ,mm
GPS.GPSLatitudeRef,,
GPS.GPSLatitude,Latitude ,
GPS.GPSLongitudeRef,,
GPS.GPSLongitude,Longitude ,
* GPS.GPSAltitudeRef,,
GPS.GPSAltitude,Altitude , m

EndOfDatas
--------------------
notes :
--------------------
format :
Clés exif,nom simplifié (pour l'affichage),unité
* pour ignorer

EndOfDatas : pour stopper la lecture donc ignorer la suite du fichier (notes)

à classer dans l'ordre de préférence d'affichage

Le premier champ (ligne 1) sera affiché en gras (commentaire par exemple).
C'est ce champ (s'il existe) qui est utilisé pour initialiser le champ commentaire des images. Il ne sera alors pas affiché en double, dans les infos EXIF.
--------------------
exemple de fichier avec exemple de données trouvées
COMPUTED.Height: 768
COMPUTED.Width: 1024
IFD0.ImageDescription: Barbecue Manu : ''Allez, assieds-toi donc...''
IFD0.Make: Panasonic
IFD0.Model: DMC-TZ6
IFD0.Artist: Moi ;-)
IFD0.Copyright: ym_trainz - 2010
* IFD0.ExposureMode: 0
EXIF.ExposureTime: 1/1600
EXIF.FNumber: 63/10 (ouverture)
EXIF.ISOSpeedRatings: 500
EXIF.DateTimeOriginal: 2010:07:04 12:48:36
EXIF.ExposureBiasValue: -33/100
EXIF.Flash: 16
IFD0.FocalLengthIn35mmFilm: 25
EXIF.FocalLength: 41/10
GPS.GPSLatitudeRef: N
GPS.GPSLatitude: 43/1,0/1,0/1, (array séparé par des , )
GPS.GPSLongitudeRef: W
GPS.GPSLongitude: 3/1,56/1,18999/500,
GPS.GPSAltitudeRef: ?
GPS.GPSAltitude: 0/1
------------------------

---------------------------------------------------------------------------------------------
code du fichier ymsimg.php
---------------------------------------------------------------------------------------------

[== PHP ==]
<?php
	// page pour afficher une image fullscreen et les données EXIF des jpeg
	// ym_trainz 07/2014 - rév 12/07/2014
	// addons pour pluXml à placer dans la racine du blog
	// copier également dans la racine les fichiers zoomin.cur, zoomout.cur et exif.dat
	// --------------------------------------------------
	// PARAMETRES à modifier
	$Largeur = 700; // largeur d'affichage au départ avant de zoomer (800 pixels par défaut)
	$Hauteur = 500;
	$ExifData = true; // afficher les valeur exif de la photo
	// --------------------------------------------------
	// FONCTIONS
	function extens_jpg($p) { // argument filename
		// renvoie vrai si extension image jpg jpeg (pour extraire exif)
		$ext = strtolower(substr($p, my_strrpos($p, '.') + 1)); // en minuscules
		if (($ext=="jpg") || ($ext=="jpeg")) return true; else return false;
	}
	// ----------------------------------------------------------------------------
	function formater_exif($val,$key) { // formate les valeurs exif
		switch ($key) {
			case "EXIF.FocalLength": // 41/10
				$val=rat_dec($val,1);
				break;
			case "EXIF.FNumber": // 63/10 (ouverture)"
				$val=rat_dec($val,1); // retour en 6,3
				break;
			case "GPS.GPSLatitude":
				$val=formatgps($val); //  3/1,56/1,18999/500,
				break;
			case "GPS.GPSLongitude";
				$val=formatgps($val); //  3/1,56/1,18999/500,
				break;
			case "EXIF.Flash";
				$val="00000000".decbin(intval($val)); // conversion en binaire
				/* MSB       LSB
				7 6 5 4 3 2 1 0
				              0 Flash fired
				          2 1  Flash return
				        3 Flash mode
				    5 Flash function
				  6 Red-eye mode
				*/
				if (substr($val,-1)=="0") return ""; // pas de flash
				$r="On";
				if (substr($val,-7,1)=="1") $r .=" Red-eye";
				return $r;
				break;
			case "FILE.FileSize";
				return strval(round(intval($val)/1024));
				break;
			case "EXIF.DateTimeOriginal";
				// format original 2010:07:04 13:49:16 yyyy:mm:jj hh:mm:ss
				// renvoyer mm/jj/yyyy hh:mm
				if (strlen($val)!=19) return $val; else return substr($val,8,2)."/".substr($val,5,2)."/".substr($val,0,4)." ".substr($val,11,5);
				break;
			default:
				return $val;
		}
		return $val;
	}
	// ----------------------------------------------------------------------------
	function rat_dec($v,$nd) { // convertit 63/10 en 6.3 $nd, nombre de décimales
		$id=strpos($v,"/"); //strpos("a/cde","/") retourne 1
		if ($id===false) return $v; // pas de / trouvé
		else {
			$x=intval(substr($v,0,$id))/intval(substr($v,$id+1));
			return strval(round($x,$nd)); // formater nombre de décimale et retour en string
		}
	}
	// ----------------------------------------------------------------------------
	function formatgps($v) { // prendre "42/1,0/1,2469/125," et le formater
		/*  voir http://www.gpscoordinates.eu/convert-gps-coordinates.php
		------------------------------------------------
		EXIF Format :
		The latitude is expressed as three RATIONAL values giving the degrees, minutes, and seconds, respectively.
		If latitude is expressed as degrees, minutes and seconds, a typical format would be dd/1,mm/1,ss/1.
		When degrees and minutes are used and, for example,
		fractions of minutes are given up to two decimal places, the format would be dd/1,mmmm/100,0/1.
		---------------- ex 1 : ROSES Espagne ---------------
		données exif : Latitude=42/1,0/1,2469/125, | Longitude=3/1,0/1,7833/500,
		afficher : Latitude: N 42°16'8" | Longitude: E 3°9'9"
		lien : http://maps.google.com/?ie=UTF8&z=12&t=m&q=N42.26889,E3.1525   (N-S / W-E / coordonnées décimales °.ddddd)
		-------------------------------
		decimal =int + minutes/60 + sec/3600
		-------------------------------
		*/
		$ex=explode(",",substr($v,0,-1)); // enlever le dernier caractère et convertir en tableau (3 données),
		$dd=rat_dec($ex[0],0);
		$mm=rat_dec($ex[1],0);
		$ss=rat_dec($ex[2],0);
		$x=strval(intval($dd)+(intval($mm)/60)+(intval($ss)/3600));

		return $dd."&deg;".$mm."'".$ss."'' [".round($x,6)."]";
	}
	// ----------------------------------------------------------------------------
	function read_exif($file, &$exif_p)
	{
		// retourne les données exif (choisies) dans le tableau $exif_data
		// si pas d'exif, retourne 'false'
		//

		$exif_r= array();
		$exif = exif_read_data($file, 0, true);
		if($exif===false) return "NoExif";
		else
		{
			// ---------------------------
			/* données EXIF choisies (:exemples) - version default : 2.1 - voir ./res/exif.dat
			mise en tableau dans variables
			// --------------------------- */
			foreach ($exif as $key => $section) {
				foreach ($section as $name => $val) {
					$ik=$key.".".$name; // parcours des clés
					//-------------------
					if (isset($exif_p[$ik][1])) {// cette clé exif est prise en compte (fichier de préférence res/exif.dat)
						if (($name=="GPSLatitude") || ($name=="GPSLongitude")) { // c'est un tableau et non une donnée simple
							$gps=true;
							$valgps="";
							foreach ($val as $val2 => $gps) $valgps .= $gps.",";
							$exif_r[$ik]=formater_exif($valgps,$ik); // formater le résultat
							if ($name=="GPSLongitude") { //dernier champs GPS, creer le lien cartel : http://maps.google.com/?ie=UTF8&z=12&t=m&q=N42.26889,E3.1525
								// extrait de exif_f[] N | Latitude:42°0'20'' [42.005556] | :E | Longitude:3°0'16'' [3.004444]
								// <a href="http://">lien</a>
								$link=" <a href='http://maps.google.com/?ie=UTF8&z=7&t=m&q="; // z= c'est le zoom
								$link .= $exif_r["GPS.GPSLatitudeRef"].convdeci($exif_r["GPS.GPSLatitude"]).",".$exif_r["GPS.GPSLongitudeRef"].convdeci($exif_r["GPS.GPSLongitude"])."' target='_blank'>Lien Carte</a> ";
								$exif_r["GPS.GPSLongitude"] .= " ".$link." ";
							}
						}
						else {
							$exif_r[$ik]=formater_exif($val,$ik); // formater le résultat
						}
					}
				}
			}
			return $exif_r;
		}
	}
	// --------------------------------------------------
	function my_strrpos($s_text,$s_search,$offset=null)  {// $offset négatif est optionnel
		// http://www.php.net/manual/fr/function.strrpos.php
		// ne fonctionne pas correctement si $offset est >0 (dans ce cas, faire un simple strpos)
		if($s_text=="") return "false";
		else {
		
			if (!isset($offset)) $offset=strlen($s_text)-1; else $offset=strlen($s_text)+$offset-1; // on cherche à l'envers à partir du nouvel offset ainsi calculé				
			// rechercher façon "maison" ym 03/2013
			if($s_search=="" or $s_text=="") return "false";
			
			for($i = $offset; $i > -1 ; $i--) {
			// echo $i."<br>";
				if($s_text[$i]==$s_search[0]) {				
					if(substr($s_text,$i,strlen($s_search))==$s_search) { 
						// echo "trouvé !";
						return $i;
						// exit;
					}
				}
			}
			
			return "false";
		}
	}
	// ----------------------------------------------------------------------------
	function convdeci($val) {
		// retrouve le champ[ ] dans "Latitude:42°0'20'' [42.005556] |"
		$pos=strpos($val,"[");
		$pos2=strpos($val,"]");
		return substr($val,$pos+1,$pos2-$pos-1);
	}
	// ----------------------------------------------------------------------------
	function line_input($file) 	{
		// lit une ligne dans le fichier forcément terminée par CrLf
		// longueur ligne "infinie" - enlève les Cr ou Lf (clean)
		if(feof($file)===false) {
			$line=fgets($file,4096);

			$in=array(chr(13).chr(10));
			$out=array("");
			$line=rtrim(str_replace($in,$out,$line));	// rtrim obligatoire pour comptatibilité

			return $line;
		}
		else return "EndOfDatas";
	}
	// ----------------------------------------------------------------------------
	// DEBUT PHP
	// **************************************************
	if (empty($_GET["f"])) echo "pas d'image à afficher";
	else {
		$fileImg = "data/images/".$_GET["f"];
		list($width, $height) = getimagesize($fileImg);
		if($width < 10) $width = 10;
		$heightS = $height * $Largeur / $width; // affichage reduit à $Largeur pixels
		$widthS = $Largeur;
		if($heightS > $Hauteur) { // pour images verticales
			$widthS = $width *$Hauteur / $height;
			$heightS = $Hauteur;
		}
		//
		$Infos = ""; // infos exif éventuelles
		if($ExifData && extens_jpg($fileImg)) {			
			// ---------------------------
			// lecture des préférences exif
			// ---------------------------
			if(file_exists("exif.dat")===false) die ("le fichier de préférences des données exif n'existe plus !<br><br><strong>exif.dat</strong> manquant");
			$exif_p=array(); // declarer le tableau
			$fich=fopen($curdir."exif.dat","r");
			$skip=False;

			while (!$skip) {
				$buf=line_input($fich);
				if (($buf=="") || $buf=="EndOfDatas") $skip=True;
				else {
					// mettre dans un tableau les données exif;
					// [key][0] label ; [key][1] unité
					// exemple : [EXIF.FocalLength][0]=Focale ; [EXIF.FocalLength][0]=mm

					if (($buf[0]!="*") && ($buf!="")) { // ignorer cette ligne  php->  $buf[0] ou substr($buf,0,1)
						$temp=explode(",",$buf); // séparer les items de la ligne lue (séparateur ,)
						if (isset($temp[0])) { // une clé existe sur cette ligne
							$ik=$temp[0];
							$exif_p[$ik][0]=$ik; // pour retrouver aussi la clé dans [0]
							for ($j=1;$j<3;$j++) { // parcourir les valeurs pour cette clé
								if (isset($temp[$j])) $exif_p[$ik][$j]=$temp[$j]; else $exif_p[$ik][$j]="";
							}
						}
						// ligne suivante
					}
				}
			}
			fclose($fich);
			// ---------------------------	
			$exifv = read_exif($fileImg, &$exif_p); // lire les données EXIF de la photos
			// parcourir $exifv[key][i]
			// [key][0] key ; [key][1] label ; [key][2] unité
			// exemple : [EXIF.FocalLength][0]='EXIF.FocalLength' ;[EXIF.FocalLength][1]=Focale ; [EXIF.FocalLength][1]=mm
			$first=true;
			foreach($exif_p as $key1) {	// parcourir le tableau des préférences exif (dans exif.dat)
				if($first){ // chercher le premier champ pour remplir le commentaire avec
					$first=false;
					if(trim($Infos) == "") {
						// chercher le commentaire dans le premier champ EXIF (voir exif.dat), s'il n'existe pas, remplir avec filename
						if(trim($exifv[$key1[0]])!="") $Infos = $exifv[$key1[0]]; // commentaire EXIF par exemple
						else $Infos = $fileImg; // filename
					}					
				}
				else {
					// si la clé existe dans le fichier image
					if($exifv[$key1[0]]!="") { 
						$Infos = $Infos." | ".$exif_p[$key1[0]][1].$exifv[$key1[0]].$exif_p[$key1[0]][2]; // label valeur unité
					}
				}
			}
			
		}		
		// ---------------------------------
		echo "
		<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
		<html xmlns='http://www.w3.org/1999/xhtml' lang='fr' xml:lang='fr'>
		<head>
			<title>ymViewver</title><meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'>
			<style type='text/css'>			
			.large { cursor:url(zoomout.cur), pointer; }
			.small { cursor:url(zoomin.cur), pointer; }
			</style>
			<script>
				ZoomIn = true;
				function goBack() {
					window.history.back();
				}				
				function myZoom() {
					ZoomIn = !ZoomIn;
					if(ZoomIn) {
						document.getElementById('SpanImg').innerHTML = \"<img class='large' src = '".$fileImg."' width=".$width." height=".$height." onClick='javascript:myZoom();' alt='' title='cliquer pour reduire !'>\";
					}
					else {
						document.getElementById('SpanImg').innerHTML = \"<img class='small' src = '".$fileImg."' width=".$widthS." height=".$heightS." onClick='javascript:myZoom();' alt='' title='cliquer pour agrandir!'>\";
					}
				}
			</script>
		</head>
		<body bgcolor=\"#777777\" onload='javascript:myZoom()'>
			<div align=\"center\" style='font-family:Arial, Geneva, Verdana, Tahoma, sans-serif;color:#FFFFFF;font-size:12px;'>
				<table>
					<tr>
						<td align=\"center\">
							<button onclick='goBack()'> Retour </button> ym viewver 2014</br>
							<span id='SpanImg'>Faites [F5] si l'image ne s'affiche pas</span>
						</td>
					</tr>
				</table>
				<table width='".$Largeur."' border='1' style='border-collapse:collapse;' bordercolor='#AAAAAA'>
					<tr>
						<td align=\"center\">
							".$Infos."
						</td>
					</tr>
				</table>				
			</div>
		</body>";
	};
?>

Dernière modification par ym_trainz (13/07/2014 00:21:35)


Programmeur amateur mais dans l'esprit du partage  wink

Hors ligne

#167 24/11/2014 14:08:41

Beduck
Membre
Inscription : 23/05/2014
Messages : 48
Site Web

Re : Demande de plugins

Bonjour,

Je recherche un plugin pour ajouter une date d'expiration pour les articles, existe t-il déjà ?
Sinon ça serai peut être un option intéressante à ajouter pour la suite ?

Pour le moment je vais chercher dans l'administration pour ajouter ça en brut.

Hors ligne

#168 01/12/2014 15:32:18

P3ter
Pluxml Staff
Lieu : Ile De France
Inscription : 17/10/2011
Messages : 270
Site Web

Re : Demande de plugins

Bonjour,

A ma connaissance ça n'existe pas ni en plugin, ni dans l'admin de PluXml. Je note l'idée dans le premier post.


PluXml sur Twitter : @pluxml
PluXml sur Google+ : +pluXml
--
Mon Twitter : @p3terfr
Mon blog : p3ter.fr

Hors ligne

#169 21/02/2015 15:51:43

Gzyg
Membre
Inscription : 25/09/2006
Messages : 836
Site Web

Re : Demande de plugins

Bonjour,

Est-ce qu'il serait possible de créer une synchro StackEdit -> PluXml ?

(StackEdit est un éditeur markdown en ligne)


Merci, à plus,

Gzg

Dernière modification par Gzyg (21/02/2015 15:52:47)

Hors ligne

#170 23/02/2015 00:03:00

Jerry Wham
Membre
Inscription : 13/07/2011
Messages : 2 526
Site Web

Re : Demande de plugins

Ça doit pouvoir se faire...


Mangez un castor, vous sauverez un arbre !

J'ai la tête dans le  ...code

Hors ligne

#171 26/02/2015 11:57:13

Jos
Pluxml Staff
Lieu : Région de Grenoble
Inscription : 04/11/2011
Messages : 1 128
Site Web

Re : Demande de plugins

Moi je suggèrerai, si quelqu'un est motivé, de faire un plugin qui indiquerait aux utilisateurs que le site utilise des cookies (avec un bouton valider).

Hors ligne

#172 26/02/2015 13:07:40

noogaty
Membre
Inscription : 16/07/2013
Messages : 97

Re : Demande de plugins

Il existe déjà un système pour "accepter les cookies" ! wink

Je me permets de donner le lien du site, d'où j'ai pris le code : http://refok.fr/index.php?article48/cookies-js

Tout y est très bien expliqué, et très simple à installer ...  smile

Hors ligne

#173 26/02/2015 14:13:28

Gari
Membre
Inscription : 01/05/2014
Messages : 214

Re : Demande de plugins

Une petite question en passant : pluXml utilise des cookies ? Ou bien ce n'est que dans le cas où on installerait un plugin spécifique utilisant des cookies ?

Hors ligne

#174 26/02/2015 19:19:02

Jos
Pluxml Staff
Lieu : Région de Grenoble
Inscription : 04/11/2011
Messages : 1 128
Site Web

Re : Demande de plugins

noogaty a écrit :

Il existe déjà un système pour "accepter les cookies" ! wink

Je me permets de donner le lien du site, d'où j'ai pris le code : http://refok.fr/index.php?article48/cookies-js

Tout y est très bien expliqué, et très simple à installer ...  smile

Oui mais se serait bien d'avoir un plugin tout fait pour les néophytes.

Hors ligne

#175 10/03/2015 16:01:57

mr-toc
Membre
Inscription : 09/03/2015
Messages : 175

Re : Demande de plugins

Bonjour,

Je recherche un plugin capable de générer dynamiquement une table des matières à partir des balises <h?>.
Je sais pas si ça a son importance, mais j'utilise plxToolbar pour l'édition.
En règle général, pour ces articles assez long, j'utilise article-full-width.php mais j'imagine que certains préféreront intégrer la table des matières dans <aside>.

Je ne sais pas si c'est quelque chose qui intéresse d'autres personnes que moi.

Hors ligne

Pied de page des forums

A propos Nous soutenir Contact Twitter Google+
Copyright © 2006-2017 PluXml.org, tous droits réservés