diff --git a/CHANGELOG b/CHANGELOG new file mode 100644 index 0000000..8a89bd5 --- /dev/null +++ b/CHANGELOG @@ -0,0 +1,33 @@ +v 1.5.1 - 22-04-2015 - Pierre Van Glabeke +* nommage widget +* modifs localisation + +v 1.5 - Pierre Van Glabeke +* compatibilité dc2.7 + +v 1.4.1 - Pierre Van Glabeke +* Ajustements settings +* Fin de ligne unix +* complément _define.php + +v 1.4 - Pierre Van Glabeke +* Modifs affichage pour le widget (remplacement paragraphe par une liste) + +v 1.3.1 +* Ajout choix affichage page pour le widget (content only + css) + +v 1.3 +* Ajout choix affichage page pour le widget +* Correction de traduction + +v 1.2 +* Ajout du piochage automatique de la date du blog si non saisie dans le widget +* Ajout @ devant la fonction checkdate pour eviter un warning + +v 1.1 +* Compatibilité dc2.2 +* Localisation +* Intégration corrections proposées sur http://www.myouaibe.com/index.php/post/2007/08/23/Plugin-BlogAnniv-pour-DOTCLEAR-2 + +v 1.0 +* Création \ No newline at end of file diff --git a/README.md b/README.md index aaf0e85..61a695d 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,9 @@ # bloganniv -Décompte du nombre de jours avant et après la date anniversaire du blog +Décompte du nombre de jours avant et après une date donnée Ce plugin permet l'affichage dans la sidebar par le biais du widget de : * une date de naissance (si vide, la date de naissance du blog sera prise en compte), * l'âge en années, -* le nombre de jours restant avant et après l'anniversaire de votre blog. +* le nombre de jours restant avant et après l'anniversaire de la date. diff --git a/_admin.php b/_admin.php new file mode 100644 index 0000000..d1b0c5b --- /dev/null +++ b/_admin.php @@ -0,0 +1,16 @@ +registerModule( + /* Name */ "Blog Anniv", + /* Description*/ "Counting the number of days before and after a particular date", + /* Author */ "Fran6t, Pierre Van Glabeke", + /* Version */ '1.5.1', + /* Properties */ + array( + 'permissions' => 'blogAnniv', + 'type' => 'plugin', + 'dc_min' => '2.7', + 'support' => 'http://www.myouaibe.com/index.php/post/2007/08/23/Plugin-BlogAnniv-pour-DOTCLEAR-2', + 'details' => 'http://plugins.dotaddict.org/dc2/details/bloganniv' + ) +); \ No newline at end of file diff --git a/_public.php b/_public.php new file mode 100644 index 0000000..2ab54e5 --- /dev/null +++ b/_public.php @@ -0,0 +1,138 @@ +tpl->addValue('blogAnniv',array('tplBlogAnniv','blogAnniv')); + +class tplBlogAnniv +{ + + public static function blogAnniv($attr) + { + $output = ''; + + if (isset($attr['text'])) + { + $author = isset($attr['author']) ? ' '.$attr['author'].'' : ''; + + $output = '
'.$attr['text'].$author.''; + } + + return $output; + } + + public static function BlogAnnivWidget($w) + { + global $core; + + if ($w->offline) + return; + + // Si nous sommes pas en page accueil et que c'est coché page accueil uniquement on fait rien + + if (($w->homeonly == 1 && $core->url->type != 'default') || + ($w->homeonly == 2 && $core->url->type == 'default')) { + return; + } + + $title = $w->title ? html::escapeHTML($w->title) : __('Subscribe'); + $ftdatecrea = $w->ftdatecrea; + //Si la date est vide nous recherchons la date en base + if (strlen(rtrim($ftdatecrea))==0){ + /////////////////////////////////////////////// + //ACCES BDD + //je récupère la date du blog + require_once dirname(__FILE__).'/class.dc.dateBlog.php'; + + $lc = new dateBlog($GLOBALS['core']->blog); + try { + $Posts = $lc->getdateBlog(); + } + catch (Exception $e) { + return false; + } + foreach($Posts->rows() as $k => $v) + { + $ftdatecrea = html::clean($v['blog_creadt']); + $ftdatecrea = substr($ftdatecrea,0,10); + $ftdatecrea = str_replace("-","/",$ftdatecrea); + list($annee, $mois, $jour) = explode('/', $ftdatecrea); + // On remet la date en forme française + $ftdatecrea=$jour."/".$mois."/".$annee; + #printf($ftdatecrea); + #printf(html::clean($v['blog_id'])); + } + //FIN ACCES BDD + /////////////////////////////////////////////// + } else { + list($jour, $mois, $annee) = explode('/', $ftdatecrea); + } + $nbrejours=0; + $nbreannee=0; + // Test si la date est valide + if(@checkdate($mois,$jour,$annee)){ + // Ok nous pouvons calculer la date anniversaire et le nombre de jours restant avant + + //Extraction des données + list($jour2, $mois2, $annee2) = explode('-', date('d-m-Y')); + + //Calcul des timestamp + $timestamp1 = mktime(0,0,0,$mois,$jour,$annee2); // La date anniversaire cette année + $timestamp2 = mktime(0,0,0,$mois2,$jour2,$annee2); + //Affichage du nombre de jour + + //je regarde si la date anniv n'est pas passé + if (($timestamp2 - $timestamp1)> 0) + { + $timestamp1 = mktime(0,0,0,$mois,$jour,$annee2 + 1); + $nbrejours = round(abs(mktime(0,0,0,$mois2,$jour2,$annee2) - $timestamp1)/86400); + $nbreannee = abs($annee2 - $annee); + } + else { + $nbrejours = abs($timestamp2 - $timestamp1)/86400; + $nbreannee = abs($annee2 - $annee - 1); + } + // abs($timestamp2 - $timestamp1)/(86400*7); //Affichage du nombre de semaine : 3.85 + } else { + $ftdatecrea= '$ftdatecrea date invalide'; + } + $dispyearborn = $dispyear = ""; + // Si je dois afficher la date de naissance + if ($w->dispyearborn) { + $dispyearborn = '