Browse Source

{destinataire #SESSION{id_auteur}} permet de ne selectionner que les messages destines a l'auteur connecte ou les annonces publiques

{rv_passe #ENV{date}} selectionne les RV finis a la date fournie
{rv_en_cours #ENV{date}} selectionne les RV en cours a la date fournie
{rv_a_venir #ENV{date}} selectionne les RV futurs a la date fournie
le modificateur ! est accepte sur chacun
en l'absence de date fournie, c'est la date courante au moment du calcul qui est prise en compte
svn/root/tags/plugins/organiseur/0.3.2 v0.3.2
cedric@yterium.com 11 years ago
parent
commit
ef3cbce854
  1. 1
      .gitattributes
  2. 116
      organiseur_fonctions.php
  3. 7
      plugin.xml

1
.gitattributes vendored

@ -26,6 +26,7 @@ lib/fullcalendar/fullcalendar.min.js -text
lib/fullcalendar/fullcalendar.print.css -text
lib/fullcalendar/gcal.js -text
/organiseur_autoriser.php -text
/organiseur_fonctions.php -text
/organiseur_pipelines.php -text
/plugin.xml -text
prive/rss/messagerie.html -text

116
organiseur_fonctions.php

@ -0,0 +1,116 @@
<?php
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
* Copyright (c) 2001-2011 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
* Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
\***************************************************************************/
if (!defined('_ECRIRE_INC_VERSION')) return;
function critere_MESSAGES_destinataire_dist($idb, &$boucles, $crit) {
$boucle = &$boucles[$idb];
$_auteur = calculer_liste($crit->param[0], array(), $boucles, $boucle->id_parent);
$boucle->join['auteurs_liens']=array("'".$boucle->id_table."'","'id_objet'","'".$boucle->primary."'","'auteurs_liens.objet=\'message\''");
$boucle->from['auteurs_liens']='spip_auteurs_liens';
$boucle->from_type['auteurs_liens'] = 'LEFT';
$boucle->where[] =
array("'OR'",
array("'='","'auteurs_liens.id_auteur'","sql_quote($_auteur)"),
array("'='","'".$boucle->id_table.".type'","sql_quote('affich')"),
);
}
/**
* Fonction privee pour mutualiser de code des criteres_MESSAGES_rv_*
* Retourne le code php pour obtenir la date de reference de comparaison
* des evenements a trouver
*
* @param string $idb
* @param object $boucles
* @param object $crit
*
* @return string code PHP concernant la date.
**/
function organiseur_calculer_date_reference($idb, &$boucles, $crit) {
if (isset($crit->param[0]))
return calculer_liste($crit->param[0], array(), $boucles, $boucles[$idb]->id_parent);
else
return "date('Y-m-d H:i:00')";
}
/**
* {rv_a_venir}
* {rv_a_venir #ENV{date}}
*
* @param string $idb
* @param object $boucles
* @param object $crit
*/
function critere_MESSAGES_rv_a_venir_dist($idb, &$boucles, $crit) {
$boucle = &$boucles[$idb];
$id_table = $boucle->id_table;
$_dateref = organiseur_calculer_date_reference($idb, $boucles, $crit);
$_date = "$id_table.".(isset($boucle->show['date'])?$boucle->show['date']:"date_debut");
$op = $crit->not ? "<=":">";
$where = array("'$op'","'$_date'","sql_quote($_dateref)");
$boucle->where[] = $where;
}
/**
* {rv_passe}
* {rv_passe #ENV{date}}
*
* @param string $idb
* @param object $boucles
* @param object $crit
*/
function critere_MESSAGES_rv_passe_dist($idb, &$boucles, $crit) {
$boucle = &$boucles[$idb];
$id_table = $boucle->id_table;
$_dateref = organiseur_calculer_date_reference($idb, $boucles, $crit);
$_date = "$id_table.date_fin";
$op = $crit->not ? ">=":"<";
$where = array("'$op'","'$_date'","sql_quote($_dateref)");
$boucle->where[] = $where;
}
/**
* {rv_en_cours}
* {rv_en_cours #ENV{date}}
*
* @param string $idb
* @param object $boucles
* @param object $crit
*/
function critere_MESSAGES_rv_en_cours_dist($idb, &$boucles, $crit) {
$boucle = &$boucles[$idb];
$id_table = $boucle->id_table;
$_dateref = organiseur_calculer_date_reference($idb, $boucles, $crit);
$_date_debut = "$id_table.".(isset($boucle->show['date'])?$boucle->show['date']:"date_debut");
$_date_fin = "$id_table.date_fin";
$where =
array("'AND'",
array("'<='", "'$_date_debut'", "sql_quote($_dateref)"),
array("'>='", "'$_date_fin'", "sql_quote($_dateref)")
);
if ($crit->not)
$where = array("'NOT'",$where);
$boucle->where[] = $where;
}
?>

7
plugin.xml

@ -2,13 +2,14 @@
<nom>Organiseur</nom>
<icon>prive/themes/spip/images/calendrier-32.png</icon>
<auteur>Collectif SPIP</auteur>
<version>0.3.1</version>
<version>0.3.2</version>
<version_base>0.1.0</version_base>
<etat>test</etat>
<slogan>Outils de travail &eacute;ditorial en groupe</slogan>
<description>Outils de travail &eacute;ditorial en groupe</description>
<prefix>organiseur</prefix>
<install>base/organiseur_upgrade.php</install>
<fonctions>organiseur_fonctions.php</fonctions>
<bouton id='calendrier' parent="outils_collaboratifs">
<icone>images/calendrier-16.png</icone>
@ -28,10 +29,6 @@
<nom>declarer_tables_objets_sql</nom>
<inclure>base/organiseur.php</inclure>
</pipeline>
<pipeline>
<nom>declarer_tables_principales</nom>
<inclure>base/organiseur.php</inclure>
</pipeline>
<pipeline>
<nom>declarer_tables_interfaces</nom>
<inclure>base/organiseur.php</inclure>

Loading…
Cancel
Save