Vous n'êtes pas identifié(e).
13 février 2024 Sortie de Dotclear 2.29
heu...je pense que je suis surtout chanceux que tu l'ai bien codé au début !
Apres comme je suis pas dev...c'est un cadeaux que je refuserai ;)
Hors ligne
dit moi jc, est-il possible de changer une date comme suit :
mercredi 12 octobre 210 => 12.10.2010
?
merci
Hors ligne
comment supprimer un message inutile sur le forum ?
Hors ligne
Hello JC,
une petite demande : y aurait-il moyen d'afficher les lieux définis par google maps dans la langue que l'on souhaite ? par défaut ça s'affiche en français, et sur des sites d'une autre langue, ça fait un peu tache.
Hors ligne
Je regarderai pour la langue ça doit bien être possible de suivre la langue du billet!
Mais pas tout de suite, je suis dans ma période no-code" la... (mais je prend note)
Cordialement,
_JC | Intérimaire | En mode invisible
Hors ligne
Bonjour, j'ai eu le même problème que Le faiseur (je suis hébergé chez free) et cela a bien été résolu avec la RC3 mais comme le dit GAbitbol maintenant la page d'admin de gallery ne fonctionne plus...
++
Alain
Hors ligne
Bonjour,
L'interface d'administration du plugin gallery ne fonctionne plus (page blanche) lorsque le plugin eventhandler est activé...
Encore bravo pour cette extension !
Hors ligne
Il faut vraiment que j'installe la dernière version de gallery pour rechercher le point de départ du problème. Mais c'est quand même étrange que seul gallery soit touché par ce bug avec eventHandler.
Cordialement,
_JC | Intérimaire | En mode invisible
Hors ligne
J'ai posté une solution sur la page du Plugins Gallery. il suffit de mettre en commentaire les "require" dans les pages suivantes :
dans ../plugins/gallery/items.php ligne 16
//require DC_ROOT.'/inc/admin/lib.pager.php';
dans ../plugins/gallery/gals.php ligne 16 également
//require DC_ROOT.'/inc/admin/lib.pager.php';
J'arrive ainsi à faire fonctionner les deux plugins correctement.
Hors ligne
Par contre j'ai un autre soucis avec eventHandler (comme lefaiseur précédement), j'ai donc installé la version RC3 proposée par JcDenis mais la MAP Google ne s'affiche pas. J'ai :
http://ccvilleneuve.free.fr/2011/index. … nt-Germain
au lieu de quelque chose qui devrait reseembler à ça
http://maison.guillet.free.fr/dotclear/ … 10/26/test
Avez vous une idée de la provenance de ce problème ? Par avance merci de votre retour.
Hors ligne
Merci ça fonctionne ! En tout cas à premier abord, je n'ai pas le temps d'exploiter le plugin gallery au max maintenant mais je verrai à moyen terme. Étrange cependant que ces 2 lignes de codes soit inutiles...
Hors ligne
Merci ça fonctionne ! En tout cas à premier abord, je n'ai pas le temps d'exploiter le plugin gallery au max maintenant mais je verrai à moyen terme. Étrange cependant que ces 2 lignes de codes soit inutiles...
Elle ne sont pas inutiles mais les deux plugins les utilisent, en language technique il faudrait un "require_once" à la place du simple "require" dans gallery (comme c'est le cas dans eventHandler je crois) sinon il dit que ça existe déjà.
Cordialement,
_JC | Intérimaire | En mode invisible
Hors ligne
Pour résoudre mon problème, j'aimerai trouver la doc sur la personnalisation de ce plugin... Je ne trouve rien sur le blog de JCDenis à part l'installation. Je pense que mon problème vient de la et de la feuille de style.
Si quelqu'un peu me dire comment faire...
Hors ligne
DMA,
En vidant mon cache navigateur et en surfant sur ton site, j'ai vu un très bref instant la map s'afficher puis se réduire au néant! Un rapide coup d'oeil dans la source de ta page me dit qu'il y a tout ce qu'il faut pour que la carte fonctionne. Peut-être une règle CSS qui met la hauteur de la carte à zéro? C'est assez compliqué de trouver le pb...
Cordialement,
_JC | Intérimaire | En mode invisible
Hors ligne
Merci JC. J'ai opté pour une solution un peu "sale", c'est à dire le copier/coller du contenu de la feuille de style par defaut de EventHandler dans la feuille de style de mon thème. La carte google s'affiche correctement maintenant mais pas les icones (ça doit être une histoire de chemin maintenant).
En tout cas merci de ta réponse.
Hors ligne
Hello,
je cherche a faire apparaitre le widget calendrier de EventHandler
j'ai essayer cela
<tpl:Widget id="eventhandler-calendar">
</tpl:Widget>
mais sans résultat...
une ptite aide svp ?
merci
Hors ligne
La syntaxe exacte est :
<tpl:Widget id="Identifiant du widget">
<setting name="Nom du paramètre">Valeur du paramètre</setting>
...
</tpl:Widget>
Pour eventHandler, il y a deux widgets "Événements" et "Événements d'un billet" avec chacun leur identifiant et leurs paramètres que tu peux trouver dans l'aide des "Widgets de présentation"
Événements (Identifiant du widget : ehEvents)
* Nom du paramètre : title (text)
* Nom du paramètre : category (|null|2|3|5|6|7|11|21|4|8|9|16|17|18|19|36|23|26|43|42|10|12|13|20|41|45|25)
* Nom du paramètre : limit (text)
* Nom du paramètre : sortby (post_dt|post_title|event_startdt|event_enddt)
* Nom du paramètre : sort (asc|desc)
* Nom du paramètre : selectedonly (0|1)
* Nom du paramètre : period (|scheduled|started|finished|notfinished|ongoing|outgoing)
* Nom du paramètre : date_format (text)
* Nom du paramètre : time_format (text)
* Nom du paramètre : item_showcat (0|1)
* Nom du paramètre : pagelink (0|1)
* Nom du paramètre : homeonly (0|1)
Événements d'un billet (Identifiant du widget : ehEventsOfPost)
* Nom du paramètre : title (text)
* Nom du paramètre : category (|null|2|3|5|6|7|11|21|4|8|9|16|17|18|19|36|23|26|43|42|10|12|13|20|41|45|25)
* Nom du paramètre : limit (text)
* Nom du paramètre : sortby (post_dt|post_title|event_startdt|event_enddt)
* Nom du paramètre : sort (asc|desc)
* Nom du paramètre : period (|scheduled|started|finished|notfinished|ongoing|outgoing)
Jean-Marie h2o
--
http://www.levertpays.be - http://www.broucheterre.be
Hors ligne
Autant pour moi, j'ai mal lue la demande
Les paramètres pour le calendrier sont :
Calendrier des événements (Identifiant du widget : ehCalendar)
* Nom du paramètre : title (text) = titre du widget
* Nom du paramètre : weekstart (0|1) = 0 : dimanche ; 1 : lundi
* Nom du paramètre : startonly (0|1) = Afficher seulement la date de début des événements
* Nom du paramètre : pagelink (0|1) = Ajouter le lien vers la page des événements
* Nom du paramètre : homeonly (0|1) = Page d'accueil uniquement
Donc :
<tpl:Widget id="ehCalendar">
<setting name="title">Valeur du paramètre</setting>
<setting name="weekstart">Valeur du paramètre</setting>
<setting name="startonly">Valeur du paramètre</setting>
<setting name="pagelink">Valeur du paramètre</setting>
<setting name="homeonly">Valeur du paramètre</setting>
</tpl:Widget>
Jean-Marie h2o
--
http://www.levertpays.be - http://www.broucheterre.be
Hors ligne
merci bien, j'ai compris comment identifier les widgets
Hors ligne
Hello,
Je cherche à apporter une modification à un widget de eventHandler.
J'aimerai pouvoir afficher le widget calendrier, mais en limitant l'affichage des evenement à une/des catégorie(s) particulière(s).
L'idée serait donc de pouvoir appeler le plugin de cette manière
<tpl:Widget id="ehCalendar">
<setting name="title">Valeur du paramètre</setting>
<setting name="category">Agenda-du-club</setting>
<setting name="homeonly">0</setting>
</tpl:Widget>
J'ai donc commencer à modifier un peu la chose, mais à part rajouter un nouveau setting au widghet ( + un nouveau combo dans l'admin! Wahouu ! ) je ne sait pas faire grand chose de plus...
je glisse mes fichiers modifiés pour les intéressés..
_widget.php
public static function calendar($w)
{
global $core;
$combo_weekstart = array(
__('Sunday') => '0',
__('Monday') => '1'
);
$rs = $core->blog->getCategories(array('post_type'=>'eventhandler'));
$combo_categories = array(' ' => '', __('Uncategorized') => 'null');
while ($rs->fetch()) {
$combo_categories[str_repeat(' ',$rs->level-1).'• '.
html::escapeHTML($rs->cat_title)] = $rs->cat_id;
}
$w->create('ehCalendar',__('Events calendar'),array('eventHandlerPublicWidgets','calendar'));
$w->ehCalendar->setting('title',__('Title:'),__('Events calendar'),'text');
$w->ehCalendar->setting('weekstart',__('First day of week:'),'0','combo',$combo_weekstart);
$w->ehCalendar->setting('category',__('Category:'),'','combo',$combo_categories);
$w->ehCalendar->setting('startonly',__('Show only start date of events'),1,'check');
$w->ehCalendar->setting('pagelink',__('Add link to events page'),1,'check');
$w->ehCalendar->setting('homeonly',__('Home page only'),1,'check');
}
public static function calendar($w)
{
global $core, $_ctx;
if ($w->homeonly && $core->url->type != 'default') return;
$year = date('Y');
$month = date('m');
if ($_ctx->exists('event_params') && !empty($_ctx->event_params['event_start_month']))
{
$year = $_ctx->event_params['event_start_year'];
$month = $_ctx->event_params['event_start_month'];
}
elseif ($_ctx->exists('event_params') && !empty($_ctx->event_params['event_startdt']))
{
$year = date('Y',strtotime($_ctx->event_params['event_startdt']));
$month = date('m',strtotime($_ctx->event_params['event_startdt']));
}
# Category
if ($w->category)
{
if ($w->category == 'null')
{
$params['sql'] .= ' AND P.cat_id IS NULL ';
}
elseif (is_numeric($w->category))
{
$params['cat_id'] = (integer) $w->category;
}
else
{
$params['cat_url'] = $w->category;
}
}
# If no paricular category is selected, remove unlisted categories
else
{
$public_hidden_categories = @unserialize($core->blog->settings->eventHandler->public_hidden_categories);
if (is_array($public_hidden_categories) && !empty($public_hidden_categories))
{
foreach($public_hidden_categories AS $k => $cat_id)
{
$params['sql'] .= " AND P.cat_id != '$cat_id' ";
}
}
}
# Generic calendar Object
$calendar = eventHandlerCalendar::getArray($year,$month,$w->weekstart);
return
'<div class="eventhandler-calendar">'.
($w->title ? '<h2>'.html::escapeHTML($w->title).'</h2>' : '').
# Events calendar
eventHandlerCalendar::parseArray($calendar,$w->weekstart,$w->startonly).
($w->pagelink ?
'<p><strong><a href="'.
$core->blog->url.$core->url->getBase('eventhandler_list').
'" >'.__('All events').'</a></strong></p>' : ''
).
'</div>';
}
Le souci est donc de faire intervenir ce combo dans la seconde function...
avis au amateur...merci beaucoup
Hors ligne
Colir, désolé de ne pas avoir répondu à ton mail mais du coup ta demande à toute sa place ici.
Bon je vais tenter une réponse à la volé, je sais pas si je vais être très clair!
Ton début est pas mal pour les parties eventHandlerAdminWidgets et eventHandlerPublicWidgets (tu as repris l'écriture d'un autre widegt et ça le fait), on va donc partir avec ce que tu as fait.
Les requêtes de recherche d'événement se font dans la classe "eventHandlerCalendar" donc il faut lui passer les paramêtres que tu souhaites. Ici (dans "calendar" de "eventHandlerPublicWidgets") tu peux les ajouter à la fin de l'appelle:
# Generic calendar Object
$calendar = eventHandlerCalendar::getArray($year,$month,$w->weekstart,$params);
Pense bien d'ajouté $params = array(); vers le tout début de la fonction du widget calendar (au cas ou il n'y ai pas de paramêtre).
Ensuite dans cette classe (fichier inc/lib.eventhandler.calendar.php) tu ajoutes ce paramètre à la fonction (toujours en le laissant optionnel avec "=array()" :
public static function parseArray($calendar,$weekstart,$startonly,$more_params=array())
{
...
Puis un peu plus loin tu les ajoutes aux autres paramètres en remplaçant "$params= array();" (obligé de le faire ici pour réinitialiser les paramètres à chaque boucle) la:
if (' ' != $day)
{
$params = $more_params;
if (!$startonly)
{
Ainsi le recheche d'événement faites plus loin avec "$ev_rs = $eventHandler->getEvents($params);" contiendra la limite de catégorie.
Tout ça c'est en théorie, je n'ai pas du tout testé si cela fonctionne...
Cordialement,
_JC | Intérimaire | En mode invisible
Hors ligne
yo Jc.
Je bloque un peu la dessus
uis un peu plus loin tu les ajoutes aux autres paramètres en remplaçant "$params= array();" (obligé de le faire ici pour réinitialiser les paramètres à chaque boucle) la:
Code:
if (' ' != $day)
{
$params = $more_params;
if (!$startonly)
{
..je ne vois pas ou intervenir
je te colle lib.eventhanlder.calendar au cas ou
<?php
# -- BEGIN LICENSE BLOCK ----------------------------------
# This file is part of eventHandler, a plugin for Dotclear 2.
#
# Copyright (c) 2009-2010 JC Denis and contributors
# jcdenis@gdwd.com
#
# Licensed under the GPL version 2.0 license.
# A copy of this license is available in LICENSE file or at
# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
# -- END LICENSE BLOCK ------------------------------------
if (!defined('DC_RC_PATH')){return;}
class eventHandlerCalendar
{
# claim timestamp of sunday
const SUNDAY_TS = 1042329600;
# Prepare structure of the calendar
public static function getArray($year=null,$month=null,$weekstart=0)
{
global $core;
$calendar = new ArrayObject();
# Parse date in
$weekstart = abs((integer) $weekstart)+0;
if (null === $year || 4 != strlen($year))
{
$year = date('Y',time());
}
if (null === $month || 2 != strlen($month))
{
$month = date('m',time());
}
$day = date('d',time());
# ts
$dt = date('Y-m-01 00:00:00',mktime(0,0,0,$month,1,$year));
$ts = strtotime($dt);
$prev_dt = date('Y-m-01 00:00:00',mktime(0,0,0,$month - 1,1,$year));
$next_dt = date('Y-m-01 00:00:00',mktime(0,0,0,$month + 1,1,$year));
$calendar->year = $year;
$calendar->month = $month;
$calendar->day = $day;
# caption
$calendar->caption = array(
'prev_url' => dt::dt2str('%Y/%m',$prev_dt),
'prev_txt' => dt::str('%B %Y',strtotime($prev_dt)),
'current' => dt::str('%B %Y',$ts),
'current_url' => dt::str('%Y/%m',$ts),
'current_dt' => dt::str('%Y%m',$ts),
'next_url' => dt::dt2str('%Y/%m',$next_dt),
'next_txt' => dt::str('%B %Y',strtotime($next_dt))
);
# days of week
$first_ts = self::SUNDAY_TS + ((integer)$weekstart * 86400);
$last_ts = $first_ts + (6 * 86400);
$first = date('w',$ts);
$first = ($first == 0)?7:$first;
$first = $first - $weekstart;
$limit = date('t',$ts);
$i = 0;
for ($j = $first_ts; $j <= $last_ts; $j = $j+86400)
{
$calendar->head[$i]['day_txt'] = dt::str('%a',$j);
$i++;
}
# each days
$d = 1;
$i = $row = $field = 0;
$dstart = false;
while ($i < 42)
{
if ($i%7 == 0)
{
$row++;
$field = 0;
}
if ($i == $first)
{
$dstart = true;
}
if ($dstart && !checkdate($month,$d,$year))
{
$dstart = false;
}
$calendar->rows[$row][$field] = $dstart ? $d :' ';
$field++;
if (($i+1)%7 == 0 && $d >= $limit) $i = 42;
if ($dstart) $d++;
$i++;
}
return $calendar;
}
# Fill calendar
public static function parseArray($calendar,$weekstart,$startonly,$more_params=array())
{
global $core;
$eventHandler = new eventHandler($core);
# Additional class for js params
$class = $weekstart ? ' weekstart' : '';
$class .= $startonly ? ' startonly' : '';
$res = "\n<div class=\"calendar-array".$class."\"><table summary=\"".__('Calendar')."\">\n";
# Caption
if ($calendar->caption)
{
$base = $core->blog->url.$core->url->getBase('eventhandler_list').'/'.($startonly ? 'of' : 'on').'/';
$res .= " <caption title=\"".$calendar->caption['current_dt']."\">\n";
if (!empty($calendar->caption['prev_url']))
{
$res .= " <a class=\"prev\" href=\"".$base.$calendar->caption['prev_url']."\" title=\"".$calendar->caption['prev_txt']."\">«</a> \n";
}
$res .= " <a class=\"current\" href=\"".$base.$calendar->caption['current_url']."\" title=\"".__('Detail')."\">".$calendar->caption['current']."</a>\n";
if (!empty($calendar->caption['next_url']))
{
$res .= " <a class=\"next\" href=\"".$base.$calendar->caption['next_url']."\" title=\"".$calendar->caption['next_txt']."\">»</a> \n";
}
$res .= " </caption>\n";
}
# Head line
if ($calendar->head)
{
$res .= " <thead>\n <tr>\n";
foreach($calendar->head as $d)
{
$res .= " <th>".$d['day_txt']."</th>\n";
}
$res .= " </tr>\n </thead>\n";
}
# Rows
if ($calendar->rows)
{
$res .= " <tbody>\n";
foreach($calendar->rows as $r => $days)
{
$res .= " <tr>\n";
foreach($days as $f => $day)
{
if (' ' != $day)
{
$params = array();
if (!$startonly)
{
$params['event_period'] = 'ongoing';
$params['event_startdt'] = date('Y-m-d H:i:s',mktime(0,0,0,$calendar->month,$day+1,$calendar->year));
$params['event_enddt'] = date('Y-m-d H:i:s',mktime(0,0,0,$calendar->month,$day,$calendar->year));
}
else
{
$params['event_start_year'] = $calendar->year;
$params['event_start_month'] = $calendar->month;
$params['event_start_day'] = $day;
}
$ev_rs = $eventHandler->getEvents($params);
$count = $ev_rs->count();
if ($count == 1)
{
$day =
'<a href="'.$ev_rs->getURL().'" title="'.
html::escapeHTML($ev_rs->post_title).'">'.$day.'</a>';
}
elseif ($count > 1)
{
$day =
'<a href="'.$base.$calendar->year.'/'.$calendar->month.'/'.$day.
'" title="'.
($count == 1 ? __('one event') : sprintf(__('%s events'),$count)).
'">'.$day.'</a>';
}
}
$res .= " <td".(2 < strlen($day) ? ' class="eventsday"' : '').">".$day."</td>\n";
}
$res .= " </tr>\n";
}
$res .= " </tbody>\n";
}
$res .= "</table></div>\n";
return $res;
}
}
?>
merci
Hors ligne
Vous n'êtes pas identifié(e).