Benoît Guillaume

Mon site perso, mes livres

Fonctionalités implémentées

  • ajout d'un code qr sur les livres & les auteurs avec l'api google
  • Ajout des informations google, bnf & afnil sur la page de convertion d'isbn
  • Ajout d'un lien vers la bnf sur les livres (319/407)
  • mise en place d'un svn
  • Ajout d'une page xml sur les livres
  • Ajout d'une page de convertion d'isbn
  • Ajouter des tri dans la page des couvertures
  • Bannière > slider jQuery
  • Version pour mobile
  • Ajouter la liste des planètes
  • Mettres à jours les livres lut
  • Ajout des Lecteurs
  • Saisie des livres en retard
  • Ajout des images sur les derniers livres & auteurs
  • Ajout du livre en cours de lecture
  • Administration des livres
  • Ajout d'un livre aléatoire dans la bannière
  • Ajout d'un flux rss
  • Ajout de ShareThis sur les news
  • Ajout de Zend_Captcha_Image sur les commentaires
  • Ajout de SOUNDEX dans la recherche de livres
  • Ajout de commentaires sur les news
  • Ajout de news
  • Passage de PDO à Zend_Db
  • Réintégrer la liste des livres
  • Intégréer de FCKeditor
  • Intégration de PHPMailer 2.3
  • Interface d'administration
  • Connexion à MySQL
  • Réintégration de WoT
  • Création du SiteMap
  • Url Rewrite
  • Mes sites
  • Curriculum vitæ
  • Création d'icones
  • Validations
  • Style CSS
  • Structure XHTML

To Do

  • Options dans Création d'icones
  • Ajouter des commentaires / critiques sur les livres
  • Maj des infos steam en background

Ajout d'information steam

Ajout d'information steam

Le samedi 18 juin 2011 à 14h12 - Steam, php, xml
Si vous voulez récupérer des informations (celle public) sur un compte steam rien de plus simple, rajouter ?xml=1 a la fin de la page steam.
Il ne vous restera plus qu'à parser le fichier xml obtenu, par exemple :
http://steamcommunity.com/id/eru03?xml=1
http://steamcommunity.com/id/eru03/stats/DOD:S?xml=1

 Ajouter un commentaire

auto inclusion php

Le samedi 10 juillet 2010 à 12h08 - php, Zend, include
http://fr.php.net/__autoload

Comment ce passer des fonction include_once, require_once ...
Lors vous faite un new MaClass() et qu'il ne connait pas cette class, le moteur PHP appele automatiquement la fonction __autoload, qui peu ce charger de faire les include pour vous.
 	//ajouter le ou les dossier ou ce trouve vos class dans le include_path
	set_include_path(get_include_path() . PATH_SEPARATOR . '/path/to/library/');
	
	//fonction magique de chargement automatique
	function __autoload($class_name){
		$zend=explode('_',$class_name);
		//vérifie si il s'agit d'une class Zend 
		if(count($zend)>1 && $zend[0]=='Zend'){
			$path="";
			foreach($zend as $file){
				if($path) $path.='/';
				$path.=$file;
			}
			include_once $path. '.php';
		}else{//sinon inclusion directe
    		include_once CST_current."class/".$class_name . '.class.php';
		}
	} 

 Ajouter un commentaire

Utiliser Zend_Captcha_Image
<?php
	//initialise le captcha
	$captcha = new Zend_Captcha_Image(array(  
		'font' => realpath('images/fonts_defaut/arial.ttf'),
		'ImgDir' => realpath('images/captcha'),
		'WordLen' => 3,
		'Width' => 100,
		'dotNoiseLevel' => 40,
		'lineNoiseLevel'=> 3,
		'ImgAlt' => 'Captcha'
	));
	
	//si une insertion demandée
	if(!empty($_POST['ajouterComment'])){
	
		//vérifie la validité du captcha entrée
		if ($captcha->isValid($_POST['captcha'])) {  
			
			$captcha_ok=true;
			//faire l'insertion
			
			//redirigé vers la page d'affichage
			header("HTTP/1.0 302 Found");
			header('Location: /Index:'.$_POST['id_news']);
			
		}else{
			$captcha_ok=false;
		}
		
		//générer l'image
		$captcha_id = $captcha->generate();
	}
?>


//le formulaire ici

//afficher l'image
<?php echo $captcha->render(new Zend_View());?>

//demander le résultat
<input id="captcha" type="text" name="captcha[input]" />

//envoyer en cacher la session d'image générer
<input type="hidden" name="captcha[id]" value="<?php echo $captcha_id;?>" />

//afficher une erreur si le mauvais captcha à été entrée
<?php if(!$captcha_ok) echo "Erreur de Captcha";?>

 Ajouter un commentaire

Méthode 1

Créer un fichier css.php
<?php
if(strstr($_SERVER['HTTP_ACCEPT_ENCODING'],'gzip'))
ob_start ("ob_gzhandler"); //activé la compression si disponible
 
header("Content-type: text/css; charset=utf-8");
include_once(CST_current."styles/base.css");
include_once(CST_current."styles/modele09.css");
 
//afficher chaque fichier
include_once(CST_current."styles/perso.css");
//..
?>

l'appeler comme un fichier css normal :
<link href="styles/css.php" rel="stylesheet" type="text/css" media="all" />

Méthode 2

Créer un fichier css.php

<?php
if(strstr($_SERVER['HTTP_ACCEPT_ENCODING'],'gzip'))
ob_start ("ob_gzhandler"); //activé la compression si disponible
 
header("Content-type: text/css; charset=utf-8");
 
//ajouter un contrôle du cache
header("Cache-Control: no-cache");
header("Cache-Control: must-revalidate");
$utiliser_cache_pendant = 0 ; //délai en secondes avant expiration
//mettre à 0 si on utilise un cookie ou une variable...
$Expiration = "Expires: ".gmdate("D, d M Y H:i:s",time() + $utiliser_cache_pendant)." GMT";
header($Expiration);
//fin de la partie facultative
//partie facultative
 
//récupérer un fichier
$css=file_get_contents(CST_current.'styles/menuajax.css');
$css = ereg_replace("#BACKGROUND#", "#2c2f22", $css);
$css = ereg_replace("#BACKGROUND2#", "#cbd888", $css);
//remplacer des valeur , par exemple ici des couleurs
$css = ereg_replace("#GRIS#", "gray", $css);
 
//exécuter un traitement en fonction du navigateur
switch($ua['name']){
case 'Firefox':
$css = ereg_replace("border-radius", "/*autoremplacement*/-moz-border-radius", $css);
$css = ereg_replace("border-top-left-radius", "/*autoremplacement*/-moz-border-radius-topleft", $css);
$css = ereg_replace("border-top-right-radius", "/*autoremplacement*/-moz-border-radius-topright", $css);
$css = ereg_replace("border-bottom-right-radius", "/*autoremplacement*/-moz-border-radius-bottomright", $css);
$css = ereg_replace("border-bottom-left-radius", "/*autoremplacement*/-moz-border-radius-bottomleft", $css);
 
break;
case 'Chrome':
case 'Safari':
$remplacement="
/*autoremplacement*/-webkit-border-top-left-radius:\\1;
/*autoremplacement*/-webkit-border-top-right-radius:\\2;
/*autoremplacement*/-webkit-border-bottom-right-radius:\\3;
/*autoremplacement*/-webkit-border-bottom-left-radius:\\4;";
$css=ereg_replace("border\-radius *: *([[:alnum:]]+) ([[:alnum:]]+) ([[:alnum:]]+) ([[:alnum:]]+) *(!important){0,1} *;",$remplacement,$css);
$css = ereg_replace("border-radius", "/*autoremplacement*/-webkit-border-radius", $css);
 
break;
case 'Opera':
$css = ereg_replace("border-radius", "/*autoremplacement*/-o-border-radius", $css);
break;
}
$ua = get_ua_info($_SERVER['HTTP_USER_AGENT'],false);//voire : http://sebastienguillon.com/journal/2005/10/script-php-pour-dechiffrer-les-chaines-user-agent
 
//afficher
echo $css;
?>
 
l'appeler comme un fichier css normal :
<link href="styles/css.php" rel="stylesheet" type="text/css" media="all" />

 Ajouter un commentaire
- - - Version Mobile admin