예제 #1
0
/**
 * Fournir une liste d'"evenements" entre deux dates start et end
 * au format json
 * utilise pour l'affichage du calendrier prive et public
 * 
 * @return void
 */
function action_quete_calendrier_prive_dist()
{
    $securiser_action = charger_fonction('securiser_action', 'inc');
    $securiser_action();
    $start = _request('start');
    $end = _request('end');
    $quoi = _request('quoi');
    include_spip('inc/quete_calendrier');
    $evt = array();
    // recuperer la liste des evenements au format ics
    $start = date('Y-m-d H:i:s', $start);
    $end = date('Y-m-d H:i:s', $end);
    $limites = array(sql_quote($start), sql_quote($end));
    // on fonction de quoi on récupère : tout (rv + publication) ou l'un ou l'autre.
    $entier = $duree = array();
    if (!$quoi or $quoi == 'rv') {
        $duree = quete_calendrier_interval_rv(reset($limites), end($limites));
        $evt = convert_fullcalendar_quete_calendrier_interval_rv($duree, $evt);
    }
    if (!$quoi or $quoi == 'publication') {
        list($entier, ) = quete_calendrier_interval($limites);
        $evt = convert_fullcalendar_quete_calendrier_interval($entier, $evt);
    }
    // permettre aux plugins d'afficher leurs evenements dans ce calendrier
    $evt = pipeline('quete_calendrier_prive', array('args' => array('start' => $start, 'end' => $end, 'quoi' => $quoi), 'data' => $evt));
    // format json
    include_spip('inc/json');
    echo json_encode($evt);
}
예제 #2
0
파일: agenda.php 프로젝트: rhertzog/lcs
function http_calendrier_init($time='', $type='mois', $echelle='', $partie_cal='', $script='', $evt=null)
{
	if (is_array($time)) {
		list($j,$m,$a) = $time;
		if ($j+$m+$a) $time = @mktime(0,0,0, $m, $j, $a);
	}

	if (!is_numeric($time)) $time = time();

	$jour = date("d",$time);
	$mois = date("m",$time);
	$annee = date("Y",$time);
        if (!$echelle = intval($echelle)) $echelle = DEFAUT_D_ECHELLE;
        if (!is_string($type) OR !preg_match('/^\w+$/', $type)) $type ='mois';
        if (!is_string($partie_cal) OR !preg_match('/^\w+$/', $partie_cal)) 
                $partie_cal =  DEFAUT_PARTIE;
	list($script, $ancre) = 
	  calendrier_retire_args_ancre($script); 
	if (is_null($evt)) {
	  $g = 'quete_calendrier_' . $type;
	  $evt = quete_calendrier_interval($g($annee,$mois, $jour));
	  quete_calendrier_interval_articles("'$annee-$mois-00'", "'$annee-$mois-1'", $evt[0]);
	  // si on veut les forums, decommenter
#	  quete_calendrier_interval_forums($g($annee,$mois,$jour), $evt[0]);
	}

	$f = 'http_calendrier_' . $type;
	if (!function_exists($f)) $f = 'http_calendrier_mois';
	return $f($annee, $mois, $jour, $echelle, $partie_cal, $script, $ancre, $evt);
}
예제 #3
0
파일: message.php 프로젝트: rhertzog/lcs
function exec_affiche_message_dist($id_message, $cherche_auteur, $forcer_dest)
{
  $row = sql_fetsel("*", "spip_messages", "id_message=$id_message");
  if ($row) {
	$id_message = $row['id_message'];
	$date_heure = $row["date_heure"];
	$date_fin = $row["date_fin"];
	$titre = typo($row["titre"]);
	$texte = propre($row["texte"]);
	$type = $row["type"];
	$statut = $row["statut"];
	$rv = $row["rv"];
	$expediteur = $row['id_auteur'];

	$lejour=journum($row['date_heure']);
	$lemois = mois($row['date_heure']);		
	$lannee = annee($row['date_heure']);		

	$commencer_page = charger_fonction('commencer_page', 'inc');
	echo $commencer_page($titre, "accueil", "messagerie");

	echo debut_gauche('', true);
	
	if ($rv != 'non')
	  echo http_calendrier_agenda ($lannee, $lemois, $lejour, $lemois, $lannee,false, generer_url_ecrire('calendrier'));
	
	echo "<br />";
	echo  http_calendrier_rv(quete_calendrier_taches_annonces(),"annonces");
	echo  http_calendrier_rv(quete_calendrier_taches_pb(),"pb");
	echo  http_calendrier_rv(quete_calendrier_taches_rv(), "rv");

	if ($rv != "non") {
		list ($sh, $ah) = quete_calendrier_interval(quete_calendrier_jour($lannee,$lemois, $lejour));
		foreach ($ah as $k => $v)
		  {
		    foreach ($v as $l => $e)
		      {
			if (preg_match(",=$id_message$,", $e['URL']))
			  {
			    $ah[$k][$l]['CATEGORIES'] = "calendrier-nb";
			    break;
			  }
		      }
		  }
		echo creer_colonne_droite('', true);	

		echo http_calendrier_ics_titre($lannee,$lemois,$lejour,generer_url_ecrire('calendrier'));
		echo http_calendrier_ics($lannee,$lemois, $lejour, '', '', 90, array($sh, $ah),  '', ' calendrier-msg');
	}

	echo debut_droite('', true);

	http_affiche_message($id_message, $expediteur, $statut, $type, $texte, $titre, $rv, $date_heure, $date_fin, $cherche_auteur, $forcer_dest);

	// reponses et bouton poster message

	$discuter = charger_fonction('discuter', 'inc');
	echo $discuter($id_message, 'message', 'id_message', "perso");
  }

  echo fin_gauche(), fin_page();
}