Exemple #1
0
function change_date_message($id_message, $heures,$minutes,$mois, $jour, $annee, $heures_fin,$minutes_fin,$mois_fin, $jour_fin, $annee_fin)
{
	$date = date("Y-m-d H:i:s", mktime($heures,$minutes,0,$mois, $jour, $annee));
	
	$jour = journum($date);
	$mois = mois($date);
	$annee = annee($date);
	$heures = heures($date);
	$minutes = minutes($date);
	
	// Verifier que la date de fin est bien posterieure au debut
	$unix_debut = date("U", mktime($heures,$minutes,0,$mois, $jour, $annee));
	$unix_fin = date("U", mktime($heures_fin,$minutes_fin,0,$mois_fin, $jour_fin, $annee_fin));
	if ($unix_fin <= $unix_debut) {
		$jour_fin = $jour;
		$mois_fin = $mois;
		$annee_fin = $annee;
		$heures_fin = $heures + 1;
		$minutes_fin = $minutes;
	}		

	$date_fin = date("Y-m-d H:i:s", mktime($heures_fin,$minutes_fin,0,$mois_fin, $jour_fin, $annee_fin));
	
	$jour_fin = journum($date_fin);
	$mois_fin = mois($date_fin);
	$annee_fin = annee($date_fin);
	$heures_fin = heures($date_fin);
	$minutes_fin = minutes($date_fin);

	sql_updateq('spip_messages', array('date_heure'=>"$annee-$mois-$jour $heures:$minutes:00",  'date_fin'=>"$annee_fin-$mois_fin-$jour_fin $heures_fin:$minutes_fin:00"), "id_message=$id_message");
}
Exemple #2
0
function quete_calendrier_agenda($annee, $mois)
{
    include_spip('inc/session');
    $connect_id_auteur = session_get('id_auteur');
    $rv = array();
    if (!$connect_id_auteur) {
        return $rv;
    }
    $date = date("Y-m-d", mktime(0, 0, 0, $mois, 1, $annee));
    $mois = mois($date);
    $annee = annee($date);
    // rendez-vous personnels dans le mois
    $result_messages = sql_select("M.titre AS summary, M.texte AS description, M.id_message AS uid, M.date_heure", "spip_messages AS M, spip_auteurs_liens AS L", "((L.id_auteur={$connect_id_auteur} AND L.id_objet=M.id_message AND L.objet='message') OR M.type='affich') AND M.rv='oui' AND M.date_heure >='{$annee}-{$mois}-1' AND date_heure < DATE_ADD('{$annee}-{$mois}-1', INTERVAL 1 MONTH) AND M.statut='publie'");
    while ($row = sql_fetch($result_messages)) {
        $rv[journum($row['date_heure'])] = $row;
    }
    return $rv;
}
Exemple #3
0
function quete_calendrier_agenda ($annee, $mois) {
	global $connect_id_auteur;

	$rv = array();
	if (!$connect_id_auteur) return $rv;
	$date = date("Y-m-d", mktime(0,0,0,$mois, 1, $annee));
	$mois = mois($date);
	$annee = annee($date);

	// rendez-vous personnels dans le mois
	$result_messages = sql_select("M.titre AS summary, M.texte AS description, M.id_message AS uid, M.date_heure", "spip_messages AS M, spip_auteurs_messages AS L", "((L.id_auteur=$connect_id_auteur AND L.id_message=M.id_message) OR M.type='affich') AND M.rv='oui' AND M.date_heure >='$annee-$mois-1' AND date_heure < DATE_ADD('$annee-$mois-1', INTERVAL 1 MONTH) AND M.statut='publie'");
	while($row=sql_fetch($result_messages)) {
		$rv[journum($row['date_heure'])] = $row;
	}
	return $rv;
}
Exemple #4
0
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();
}
Exemple #5
0
function calendrier_jour($jour, $mois, $annee, $large = "large", $le_message = 0)
{
    global $spip_lang_rtl, $spip_lang_right, $spip_lang_left;
    global $connect_id_auteur, $connect_status;
    global $couleur_claire;
    $date = date("Y-m-d", mktime(0, 0, 0, $mois, $jour, $annee));
    $jour = journum($date);
    $mois = mois($date);
    $annee = annee($date);
    if ($large == "large") {
        $largeur = 300;
        $modif_decalage = 40;
        $debut_gauche = 40;
    } else {
        if ($large == "col") {
            $largeur = 120;
            $modif_decalage = 15;
            $debut_gauche = 20;
        } else {
            $largeur = 80;
            $modif_decalage = 5;
            $debut_gauche = 5;
        }
    }
    $bgcolor = "white";
    if ($large == "etroit") {
        $bgcolor = "#eeeeee";
        $today = getdate(time());
        $jour_today = $today["mday"];
        $mois_today = $today["mon"];
        $annee_today = $today["year"];
        if ($jour == $jour_today and $mois == $mois_today and $annee == $annee_today) {
            $bgcolor = "white";
        }
    }
    $nom = mktime(1, 1, 1, $mois, $jour, $annee);
    $jour_semaine = date("w", $nom);
    if ($jour_semaine == 0) {
        $bgcolor = "#e0e0e0";
    }
    if ($large == "col") {
        echo "<div align='center' style='padding: 5px;'><b class='verdana1'><a href='calendrier_jour.php3?jour={$jour}&mois={$mois}&annee={$annee}' style='color:black;'>" . affdate_jourcourt("{$annee}-{$mois}-{$jour}") . "</a></b></div>";
    } else {
        if ($large == "large") {
            echo "<div align='center' style='padding: 5px;'>";
            echo " <a href='message_edit.php3?rv={$annee}-{$mois}-{$jour}&new=oui&type=pb' class='arial1' style='color: blue;'><IMG SRC='img_pack/m_envoi_bleu{$spip_lang_rtl}.gif' WIDTH='14' HEIGHT='7' BORDER='0' alt='' /> " . _T("lien_nouvea_pense_bete") . "</a>";
            echo " &nbsp; <a href='message_edit.php3?rv={$annee}-{$mois}-{$jour}&new=oui&type=normal' class='arial1' style='color: green;'><IMG SRC='img_pack/m_envoi{$spip_lang_rtl}.gif' WIDTH='14' HEIGHT='7' BORDER='0' alt='' /> " . _T("lien_nouveau_message") . "</a>";
            if ($connect_status == "admin") {
                echo " &nbsp; <a href='message_edit.php3?rv={$annee}-{$mois}-{$jour}&new=oui&type=affich' class='arial1' style='color: #ff9900;'><IMG SRC='img_pack/m_envoi_jaune{$spip_lang_rtl}.gif' WIDTH='14' HEIGHT='7' BORDER='0' alt='' /> " . _T("lien_nouvelle_annonce") . "</a>\n";
            }
            echo "</div>";
        }
    }
    if ($large != "etroit") {
        echo "<div style='background-color: {$bgcolor}; border-left: 1px solid #aaaaaa; border-right: 1px solid #aaaaaa; border-bottom: 1px solid #aaaaaa;'>";
    } else {
        echo "<div style='background-color: {$bgcolor};'>";
    }
    // bordure
    echo "<div style='position: relative; width: 100%; height: 450px; background: url(img_pack/fond-calendrier.gif);'>";
    echo "<div style='position: absolute; {$spip_lang_left}: 2px; top: 2px; color: #666666;' class='arial0'><b class='arial0'>0:00<br />7:00</b></div>";
    for ($i = 7; $i < 20; $i++) {
        echo "<div style='position: absolute; {$spip_lang_left}: 2px; top: " . (($i - 6) * 30 + 2) . "px; color: #666666;' class='arial0'><b class='arial0'>{$i}:00</b></div>";
    }
    echo "<div style='position: absolute; {$spip_lang_left}: 2px; top: 422px; color: #666666;' class='arial0'><b class='arial0'>20:00<br />23:59</b></div>";
    // articles du jour
    $query = "SELECT * FROM spip_articles WHERE statut='publie' AND date >='{$annee}-{$mois}-{$jour}' AND date < DATE_ADD('{$annee}-{$mois}-{$jour}', INTERVAL 1 DAY) ORDER BY date";
    $result = spip_query($query);
    while ($row = spip_fetch_array($result)) {
        $id_article = $row['id_article'];
        $titre = typo($row['titre']);
        $lejour = journum($row['date']);
        $lemois = mois($row['date']);
        $les_articles .= "<div><a href='articles.php3?id_article={$id_article}' class='arial1'><img src='img_pack/puce-verte-breve.gif' width='8' height='9' border='0'> {$titre}</a></div>";
    }
    // breves du jour
    $query = "SELECT * FROM spip_breves WHERE statut='publie' AND date_heure >='{$annee}-{$mois}-{$jour}' AND date_heure < DATE_ADD('{$annee}-{$mois}-{$jour}', INTERVAL 1 DAY) ORDER BY date_heure";
    $result = spip_query($query);
    while ($row = spip_fetch_array($result)) {
        $id_breve = $row['id_breve'];
        $titre = typo($row['titre']);
        $lejour = journum($row['date_heure']);
        $lemois = mois($row['date_heure']);
        $les_breves .= "<div><a href='breves_voir.php3?id_breve={$id_breve}' class='arial1'><img src='img_pack/puce-blanche-breve.gif' width='8' height='9' border='0'> {$titre}</a></div>";
    }
    if ($large == "large") {
        if ($les_articles or $les_breves) {
            if ($les_articles) {
                $les_articles = "<div><b class='verdana1'>" . _T('info_articles') . "</b></div>" . $les_articles;
            }
            if ($les_breves) {
                $les_breves = "<div><b class='verdana1'>" . _T('info_breves_02') . "</b></div>" . $les_breves;
            }
            echo "<div style='position: absolute; {$spip_lang_left}: 355px; top: 32px; width: 140px;'>";
            echo $les_articles;
            echo $les_breves;
            echo "</div>";
        }
    }
    // rendez-vous personnels
    $result_messages = spip_query("SELECT messages.* FROM spip_messages AS messages, spip_auteurs_messages AS lien WHERE ((lien.id_auteur='{$connect_id_auteur}' AND lien.id_message=messages.id_message) OR messages.type='affich') AND messages.rv='oui' AND messages.date_heure <='{$annee}-{$mois}-{$jour} 23:59:00' AND messages.date_fin > '{$annee}-{$mois}-{$jour} 00:00:00' AND messages.statut='publie' GROUP BY messages.id_message ORDER BY messages.date_heure");
    // Note: le $date_fin est strictement superieur a minuit
    while ($row = spip_fetch_array($result_messages)) {
        $id_message = $row['id_message'];
        $date_heure = $row["date_heure"];
        $date_fin = $row["date_fin"];
        $titre = propre($row["titre"]);
        $texte = propre($row["texte"]);
        $type = $row["type"];
        $lejour = journum($row['date_heure']);
        if ($type == "normal") {
            $la_couleur = "#02531B";
            $couleur_fond = "#CFFEDE";
        } elseif ($type == "pb") {
            $la_couleur = "#3874B0";
            $couleur_fond = "#EDF3FE";
        } elseif ($type == "affich") {
            $la_couleur = "#ccaa00";
            $couleur_fond = "#ffffee";
        } else {
            $la_couleur = "black";
            $couleur_fond = "#aaaaaa";
        }
        $heure_debut = heures($date_heure);
        $minutes_debut = minutes($date_heure);
        $jour_debut = journum($date_heure);
        $mois_debut = mois($date_heure);
        $annee_debut = annee($date_heure);
        // Verifier si debut est jour precedent
        $unix_debut = date("U", mktime($heures_debut, $minutes_debut, 0, $mois_debut, $jour_debut, $annee_debut));
        $unix_debut_today = date("U", mktime(0, 0, 0, $mois, $jour, $annee));
        if ($unix_debut < $unix_debut_today) {
            $heure_debut = 0;
            $minutes_debut = 0;
        }
        // Verifier si fin est jour suivant
        $heure_fin = heures($date_fin);
        $minutes_fin = minutes($date_fin);
        $jour_fin = journum($date_fin);
        $mois_fin = mois($date_fin);
        $annee_fin = annee($date_fin);
        $unix_fin = date("U", mktime($heures_fin, $minutes_fin, 0, $mois_fin, $jour_fin, $annee_fin));
        $unix_fin_today = date("U", mktime(23, 59, 0, $mois, $jour, $annee));
        if ($unix_fin > $unix_fin_today) {
            $heure_fin = 23;
            $minutes_fin = 59;
        }
        // Corriger pour l'affichage dans le tableau (debut et fin de tableau sont reduits)
        if ($heure_debut < 6) {
            $heure_debut = 6;
            $minutes_debut = 0;
        }
        if ($heure_fin < 7) {
            $heure_fin = 7;
            $minutes_fin = 00;
        }
        if ($heure_debut > 20) {
            $heure_debut = 20;
            $minutes_debut = 0;
        }
        if ($heure_fin > 20) {
            $heure_fin = 21;
            $minutes_fin = 00;
        }
        $haut = floor((($heure_debut - 6) * 60 + $minutes_debut) / 2);
        $bas = floor((($heure_fin - 6) * 60 + $minutes_fin) / 2);
        $hauteur = $bas - $haut - 7;
        if ($hauteur < 23) {
            $hauteur = 23;
        }
        if ($bas_prec > $haut) {
            $decalage = $decalage + $modif_decalage;
        } else {
            $decalage = $debut_gauche;
        }
        if ($bas > $bas_prec) {
            $bas_prec = $bas;
        }
        if ($le_message == $id_message) {
            $couleur_cadre = "black";
        } else {
            $couleur_cadre = "{$la_couleur}";
        }
        echo "<div class='dessous'  style='position: absolute; {$spip_lang_left}: " . $decalage . "px; top: " . $haut . "px; height: " . ($hauteur + 8) . "px; width: " . ($largeur + 8) . "px; ' onClick=\"document.location='message.php3?id_message={$id_message}'\" onMouseOver=\"changeclass(this, 'dessus');\" onMouseOut=\"changeclass(this, 'dessous');\">";
        echo "<div style='position: absolute;  height: " . $hauteur . "px; width: " . $largeur . "px;  border: 1px solid {$la_couleur}; padding: 3px; background-color: {$couleur_fond}; -moz-border-radius: 5px;'>";
        echo "</div>";
        echo "<div style='position: absolute; overflow: hidden; height: " . $hauteur . "px; width: " . $largeur . "px;  border: 1px solid {$couleur_cadre}; padding: 3px; -moz-border-radius: 5px;'>";
        echo "<div><b><a href='message.php3?id_message={$id_message}' class='verdana1' style='color: {$la_couleur};'>{$titre}</a></b></div>";
        if ($type == "normal") {
            $result_auteurs = spip_query("SELECT auteurs.* FROM spip_auteurs AS auteurs, spip_auteurs_messages AS lien WHERE (lien.id_message='{$id_message}' AND (auteurs.id_auteur!='{$connect_id_auteur}' AND lien.id_auteur=auteurs.id_auteur))");
            while ($row_auteur = spip_fetch_array($result_auteurs)) {
                $id_auteur = $row_auteur['id_auteur'];
                $nom_auteur = $row_auteur['nom'];
                $les_auteurs[$id_message][] = $nom_auteur;
            }
            if (count($les_auteurs[$id_message]) > 0) {
                echo "<div><font class='verdana1'>" . join($les_auteurs[$id_message], ", ") . "</font></div>";
            }
        }
        if ($large) {
            echo "<div><a href='message.php3?id_message={$id_message}' class='arial1' style='color: #333333; text-decoration: none;'>{$texte}</a></div>";
        }
        echo "</div>";
        echo "</div>";
    }
    echo "</div>";
    echo "</div>";
    if ($large != "large") {
        if ($les_articles or $les_breves) {
            if ($les_articles) {
                $les_articles = "<div><b class='verdana1'>" . _T('info_articles') . "</b></div>" . $les_articles;
            }
            if ($les_breves) {
                $les_breves = "<div><b class='verdana1'>" . _T('info_breves_02') . "</b></div>" . $les_breves;
            }
            echo "<div style='padding: 5px;'>";
            echo $les_articles;
            echo $les_breves;
            echo "</div>";
        }
    }
}
Exemple #6
0
echo '<fieldset class="info_box">' . "\n";
echo '<p class="normal_text">' . "\n";
echo _Ti('app_input_title') . $row['title'] . "<br />\n";
echo _Ti('app_input_type') . _Tkw('appointments', $row['type']) . "<br />\n";
if ($row['hidden'] == 'Y') {
    echo '<p class="normal_text"><strong>' . _T('app_info_is_deleted') . "</strong>";
    if ($ac['a']) {
        echo " " . _T('app_info_is_deleted2');
    }
    echo "</p>\n";
}
show_page_subtitle(_T('generic_subtitle_general'), 'tools_agenda');
echo _Ti('app_input_description') . nl2br($row['description']) . "<br />\n";
echo "<br />\n";
echo _Ti('time_input_date_start') . format_date($row['start_time'], 'short');
$year_for_cal = "&annee=" . annee($row['start_time']) . "&mois=" . mois($row['start_time']) . "&jour=" . journum($row['start_time']);
// day
echo ' ' . http_href_img("calendar.php?type=jour" . $year_for_cal, 'cal-today.gif', '', _T('app_info_see_cal_for_day_tooltip'));
echo "<br />\n";
/* [ML] removing: not really useful for now 
	$end_time = vider_date($row['end_time']);
	$reminder = vider_date($row['reminder']);
	if ($prefs['time_intervals'] == 'absolute') {
		echo _Ti('time_input_date_end') . format_date($row['end_time'], 'short') . "<br />\n";
		echo _Ti('app_input_reminder') . format_date($row['reminder'], 'short') . "<br />\n";
	} else {
		$duration = ($end_time ? strtotime($row['end_time']) - strtotime($row['start_time']) : 0);
		echo _Ti('app_input_time_length') . format_time_interval($duration,($prefs['time_intervals_notation'] == 'hours_only')) . "<br />\n";
		$reminder_offset = ($reminder ? strtotime($row['start_time']) - strtotime($row['reminder']) : 0);
		echo _Ti('app_input_reminder')
			. format_time_interval($reminder_offset,($prefs['time_intervals_notation'] == 'hours_only'))
Exemple #7
0
function presenter_message_boucles($row, $afficher_auteurs)
{
	global $connect_id_auteur, $spip_lang_left, $spip_lang_rtl;

	$vals = array();

	$id_message = $row['id_message'];
	$date = $row["date_heure"];
	$date_fin = $row["date_fin"];
	$titre = sinon($row['titre'], _T('ecrire:info_sans_titre'));
	$type = $row["type"];
	$rv = $row["rv"];

			//
			// Titre
			//

	$s = "<a href='" . generer_url_ecrire("message","id_message=$id_message") . "' style='display: block;'>";

	switch ($type) {
	case 'pb' :
				$puce = "m_envoi_bleu$spip_lang_rtl.gif";
				break;
	case 'memo' :
				$puce = "m_envoi_jaune$spip_lang_rtl.gif";
				break;
	case 'affich' :
				$puce = "m_envoi_jaune$spip_lang_rtl.gif";
				break;
	case 'normal':
	default:
				$puce = "m_envoi$spip_lang_rtl.gif";
				break;
	}
				
	$s .= http_img_pack("$puce", "", "width='14' height='7'");
	$s .= "&nbsp;&nbsp;".typo($titre)."</a>";
	$vals[] = $s;

			//
			// Auteurs

	if ($afficher_auteurs) {
		$result_auteurs = sql_select("auteurs.id_auteur, auteurs.nom", "spip_auteurs AS auteurs, spip_auteurs_messages AS lien", "lien.id_message=$id_message AND lien.id_auteur!=$connect_id_auteur AND lien.id_auteur=auteurs.id_auteur");

		$auteurs = '';
		while ($row_auteurs = sql_fetch($result_auteurs)) {
			$id_auteur = $row_auteurs['id_auteur'];
			$auteurs[] = "<a href='" . generer_url_ecrire("auteur_infos","id_auteur=$id_auteur") . "'>".typo($row_auteurs['nom'])."</a>";
		}

		if ($auteurs AND $type == 'normal') {
			$s = "<span class='arial1 spip_x-small'>" . join(', ', $auteurs) . "</span>";
		} else $s = "&nbsp;";
		$vals[] = $s;
	}
			
			//
			// Messages de forums
			
	$total_forum = sql_countsel('spip_forum', "id_message=$id_message");
			
	if ($total_forum > 0) $vals[] = "($total_forum)";
	else $vals[] = "";
			
			//
			// Date
			//
			
	$s = affdate($date);
	if ($rv == 'oui') {
		$jour=journum($date);
		$mois=mois($date);
		$annee=annee($date);
				
		$heure = heures($date).":".minutes($date);
		if (affdate($date) == affdate($date_fin))
			$heure_fin = heures($date_fin).":".minutes($date_fin);
		else 
			$heure_fin = "...";

		$s = "<div " . 
			http_style_background('rv-12.gif', "$spip_lang_left center no-repeat; padding-$spip_lang_left: 15px") .
			"><a href='" . generer_url_ecrire("calendrier","type=jour&jour=$jour&mois=$mois&annee=$annee") . "'><b style='color: black;'>$s</b><br />$heure-$heure_fin</a></div>";
	} else {
		$s = "<span style='color: #999999'>$s</span>";
	}
			
	$vals[] = $s;

	return $vals;
}
Exemple #8
0
function sql_calendrier_agenda($mois, $annee)
{
    global $connect_id_auteur;
    $rv = array();
    if (!$connect_id_auteur) {
        return $rv;
    }
    $date = date("Y-m-d", mktime(0, 0, 0, $mois, 1, $annee));
    $mois = mois($date);
    $annee = annee($date);
    // The future events involving the author in this month
    $result_messages = lcm_query("SELECT app.start_time\n\t\t\t\t\tFROM lcm_app as app, lcm_author_app as aut\n\t\t\t\t\tWHERE aut.id_author = " . $GLOBALS['author_session']['id_author'] . "\n\t\t\t\t\tAND app.id_app = aut.id_app\n\t\t\t\t\tAND app.hidden != 'Y'\n\t\t\t\t\tAND app.start_time >= '{$annee}-{$mois}-01'\n\t\t\t\t\tAND app.start_time < " . lcm_query_date_add_interval("{$annee}-{$mois}-01", '+', 'month', 1));
    while ($row = lcm_fetch_array($result_messages)) {
        $rv[journum($row['start_time'])] = 1;
    }
    return $rv;
}