Dotclear

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

Annonce

13 février 2024 Sortie de Dotclear 2.29

#76 2010-10-12 10:23:58

colir
Membre
Inscription : 2008-08-04

Re : [ eventHandler ] Support du plugin

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

#77 2010-10-12 15:30:37

colir
Membre
Inscription : 2008-08-04

Re : [ eventHandler ] Support du plugin

dit moi jc, est-il possible de changer une date comme suit :
mercredi 12 octobre 210 => 12.10.2010
?

merci

Hors ligne

#78 2010-10-12 15:44:17

colir
Membre
Inscription : 2008-08-04

Re : [ eventHandler ] Support du plugin

comment supprimer un message inutile sur le forum ?

Hors ligne

#79 2010-10-14 20:59:09

Tomek
Moderator
Inscription : 2006-04-12
Site Web

Re : [ eventHandler ] Support du plugin

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

#80 2010-10-14 21:12:42

Tomek
Moderator
Inscription : 2006-04-12
Site Web

Re : [ eventHandler ] Support du plugin

Ah, un bug aussi : quand un événement est en attente, la prévisualisation de l'événement mène à une page 404...

Hors ligne

#81 2010-10-14 21:30:07

Tomek
Moderator
Inscription : 2006-04-12
Site Web

Re : [ eventHandler ] Support du plugin

ah et puis il ya marqué prévisualier au lieu de prévisualiser, au même endroit (en attente).

(des fois, ce serait bien de pouvoir éditer les messages plutôt que d'en rajouter...)

Hors ligne

#82 2010-10-15 04:37:53

JcDenis
Membre
Lieu : Lyon, France
Inscription : 2007-08-31
Site Web

Re : [ eventHandler ] Support du plugin

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

#83 2010-10-15 22:36:55

Tomek
Moderator
Inscription : 2006-04-12
Site Web

Re : [ eventHandler ] Support du plugin

no problem :-)

Hors ligne

#84 2010-10-26 20:44:50

alain_g
Membre
Inscription : 2009-07-04

Re : [ eventHandler ] Support du plugin

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

#85 2010-12-23 08:53:28

freddy
Membre
Inscription : 2010-12-23

Re : [ eventHandler ] Support du plugin

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

#86 2010-12-23 09:50:36

JcDenis
Membre
Lieu : Lyon, France
Inscription : 2007-08-31
Site Web

Re : [ eventHandler ] Support du plugin

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

#87 2010-12-23 10:36:42

DMA
Membre
Inscription : 2010-12-21

Re : [ eventHandler ] Support du plugin

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

#88 2010-12-23 10:42:06

DMA
Membre
Inscription : 2010-12-21

Re : [ eventHandler ] Support du plugin

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

#89 2010-12-23 12:41:36

freddy
Membre
Inscription : 2010-12-23

Re : [ eventHandler ] Support du plugin

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

#90 2010-12-23 13:43:45

JcDenis
Membre
Lieu : Lyon, France
Inscription : 2007-08-31
Site Web

Re : [ eventHandler ] Support du plugin

freddy a écrit :

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

#91 2011-01-05 17:06:24

DMA
Membre
Inscription : 2010-12-21

Re : [ eventHandler ] Support du plugin

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

#92 2011-01-05 17:49:50

JcDenis
Membre
Lieu : Lyon, France
Inscription : 2007-08-31
Site Web

Re : [ eventHandler ] Support du plugin

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

#93 2011-01-06 11:42:13

DMA
Membre
Inscription : 2010-12-21

Re : [ eventHandler ] Support du plugin

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

#94 2011-01-08 09:33:50

colir
Membre
Inscription : 2008-08-04

Re : [ eventHandler ] Support du plugin

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

#95 2011-01-08 10:19:12

jmh2o
Membre
Lieu : Charleroi
Inscription : 2009-01-05
Site Web

Re : [ eventHandler ] Support du plugin

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)

Hors ligne

#96 2011-01-08 10:24:39

jmh2o
Membre
Lieu : Charleroi
Inscription : 2009-01-05
Site Web

Re : [ eventHandler ] Support du plugin

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>

Hors ligne

#97 2011-01-08 10:43:03

colir
Membre
Inscription : 2008-08-04

Re : [ eventHandler ] Support du plugin

merci bien, j'ai compris comment identifier les widgets

Hors ligne

#98 2011-01-11 07:43:33

colir
Membre
Inscription : 2008-08-04

Re : [ eventHandler ] Support du plugin

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

#99 2011-01-11 15:03:58

JcDenis
Membre
Lieu : Lyon, France
Inscription : 2007-08-31
Site Web

Re : [ eventHandler ] Support du plugin

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

#100 2011-01-11 18:57:35

colir
Membre
Inscription : 2008-08-04

Re : [ eventHandler ] Support du plugin

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).

Pied de page des forums

Sites map