'; } return $flux; } /** * Ajout de la CSS du Pensebetes au head privé * * @pipeline insert_header_prive_css * @param string $flux Contenu du head * @return string Contenu du head complété */ function pensebetes_insert_head_prive_css($flux) { return pensebetes_insert_head_css($flux, true); } /** * Ajout de contenu à gauche de la page, * * @pipeline affiche_gauche * @param array $flux Données du pipeline * @return array Données du pipeline */ function pensebetes_affiche_gauche($flux){ # affichage de la boite d'information latérale if (in_array($flux['args']['exec'], array('auteur','accueil')) and in_array($flux['args']['exec'],lire_config('pensebetes/mes_boites', array())) and in_array($GLOBALS['visiteur_session']['statut'],lire_config('pensebetes/mes_statuts', array())) ){ $id_auteur = $flux['args']['id_auteur'] ? $flux['args']['id_auteur'] : $GLOBALS['visiteur_session']['id_auteur']; include_spip('inc/presentation'); $titre = ""._T('pensebete:titre_activite_mur').""; $flux['data'] .= debut_cadre_relief('mur-24.svg',true,'',$titre); $flux['data'] .= recuperer_fond('prive/squelettes/inclure/pensebetes_donnes', array('id_donneur' => $id_auteur)); $flux['data'] .= recuperer_fond('prive/squelettes/inclure/pensebetes_recus',array('id_receveur' => $id_auteur)); $flux['data'] .= fin_cadre_relief(true); } return $flux; } /** * Ajout de contenu sur certaines pages, * notamment des formulaires de liaisons entre objets * * @pipeline affiche_milieu * @param array $flux Données du pipeline * @return array Données du pipeline */ function pensebetes_affiche_milieu($flux) { $texte = ""; $e = trouver_objet_exec($flux['args']['exec']); // Poser des pense-bêtes sur les objets éditoriaux éditables sélectionnés dans la configuration if (in_array($e['table_objet_sql'], lire_config('pensebetes/mes_objets')) AND !$e['edition'] AND in_array($GLOBALS['visiteur_session']['statut'],lire_config('pensebetes/mes_statuts', array()))){ $texte = recuperer_fond('prive/objets/editer/liens', array( 'table_source' => 'pensebetes', 'objet' => $e['type'], 'id_objet' => $flux['args'][$e['id_table_objet']], 'id_donneur' => $GLOBALS['visiteur_session']['id_auteur'], 'editable' => autoriser('associerpensebetes', $e['type'],$e['id_objet'])?'oui':'non' )); } // Poser des pense-bêtes dans les lieux sélectionnés dans la configuration (exec) if (in_array($flux['args']['exec'], lire_config('pensebetes/mes_lieux')) AND in_array($GLOBALS['visiteur_session']['statut'],lire_config('pensebetes/mes_statuts', array()))){ $ajout = recuperer_fond('prive/squelettes/inclure/pensebetes_affiche_recus', array( 'id_receveur' => $GLOBALS['visiteur_session']['id_auteur'] ) ); $flux['data'] = $ajout.$flux['data']; } // injection des données if ($texte) { if ($p = strpos($flux['data'], '')) { $flux['data'] = substr_replace($flux['data'], $texte, $p, 0); } else { $flux['data'] .= $texte; } } return $flux; } /** * Insérer des évènements dans le calendrier privé * * On y insère les Pense-bêtes de l'auteur. Les données sont formatées en json * et utilisées par la librairie javascript Fullcalendar * au travers du Plugin-dist Organiseur. * * @pipeline quete_calendrier_prive * @param array $flux Données du pipeline * @return array Données du pipeline **/ function pensebetes_quete_calendrier_prive($flux) { if (in_array($GLOBALS['visiteur_session']['statut'], lire_config('pensebetes/mes_statuts', array()))){ $id_auteur = $GLOBALS['visiteur_session']['id_auteur']; if ($mes_pensebetes = sql_allfetsel('pb.id_pensebete, pb.titre, pb.texte, pb.date', 'spip_pensebetes_receveurs as rec INNER JOIN spip_pensebetes as pb ON rec.id_pensebete=pb.id_pensebete', 'rec.id_receveur=' . intval($id_auteur). ' AND date >= "'.$flux['args']['start'].'" AND date <= "'.$flux['args']['end'].'"')) { foreach ($mes_pensebetes as $un) { $texte = generer_url_ecrire('pensebete', 'id_pensebete=' . $un['id_pensebete']);// fonction dans urls.php $texte = str_replace ('&','&',$texte); // on injecte du json pas du HTML $flux['data'][] = array ('id' => 0, 'title' => $un['titre'], 'allDay' => 1, 'start' => substr ($un['date'],0,10), 'end' => substr ($un['date'],0,10), 'url' => liens_absolus($texte, ''), //fonction de filtres_mini.php 'className' => 'calendrier-event calendrier-couleur01', 'description' => $un['texte']); } } } return $flux; }