8792 sujets

Développement web côté serveur, CMS

Bonjour

J'utilise l'agenda en php de gasteroprod, superbe.
Ceci dans un environnement spip.
Mais je voudrais que les liens vers les articles n'existent que si l'article n'est pas vide.

Voilà le fichier avec en rouge ce que j'ai rajouté (je n'ai rien enlevé)
Ceci me supprime tous les liens
Si quelqu'un peut me corriger, merci !

<?php
$months = array('', 'Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre');
$days = array('Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi');

if (!isset($date) || $date == '') $date = date('Y-m-d');
ereg("^([0-9]{4})-([0-9]{2})-([0-9]{2}).*$", $date, $regs);
$cal_day = mktime(0, 0, 0, $regs[2], $regs[3], $regs[1]);

$D = date('d', $cal_day);
$M = date('m', $cal_day);
$Y = date('Y', $cal_day);

$branche = array();
<BOUCLE_courante(RUBRIQUES){id_rubrique}>
    <BOUCLE_branche(RUBRIQUES){branche}>
        $branche[] = #ID_RUBRIQUE;
    </BOUCLE_branche>
</BOUCLE_courante>

$events = array();
<BOUCLE_evts(ARTICLES){id_secteur=2}{age_relatif_redac > -38}{age_relatif_redac < 38}{par date_redac}>
    if (in_array(#ID_RUBRIQUE, $branche)) {
        $dateEvt = ereg_replace("^([0-9]{4})-([0-9]{2})-([0-9]{2}).*$", "\\1\\2\\3", '#DATE_REDAC');
        if (!isset($events[$dateEvt])) {
            $events[$dateEvt] = array();
        }
        $events[$dateEvt][] = array('rub' => '#ID_RUBRIQUE', 'link' => '#URL_ARTICLE', 'title' => '[(#TITRE|texte_script)]', 'logo' => '<img src="#URL_SITE_SPIP/IMG/[(#LOGO_RUBRIQUE_SURVOL|fichier)]" />'[#red], 'text' => '#TEXTE'[/#]);
    }
</BOUCLE_evts>
?>

<table cellpadding="5" cellspacing="0" align="center" border="1" class="agenda">
<form method="get" enctype="application/x-www-form-urlencoded" name="navigation">
<tr>
	<th colspan="7" class="agendaNav">
		<a href="#URL_SITE_SPIP/rubrique.php3?id_rubrique=2&amp;date=<?php echo (($M - 1 > 0) ? $Y : ($Y - 1)); ?>-<?php printf('%02d', ($M - 1) > 0 ? ($M - 1) : 12); ?>-01"><b>&lt;&lt;</b></a>
		&nbsp;&nbsp;&nbsp;
		<select name="var_nav_month">
		<?php
		for($i = 1; $i < 13; $i++) {
			echo '<option value="'.sprintf('%02d', $i).'"'.($i == $M ? ' selected="selected" style="font-weight: bolder;"' : '').'>'.$months[$i].'</option>';
		}
		?>
		</select>
		<select name="var_nav_year">
		<?php
		for($i = 2000; $i < 2011; $i++) {
			echo '<option value="'.$i.'"'.($i == $Y ? ' selected="selected" style="font-weight: bolder;"' : '').'>'.$i.'</option>';
		}
		?>
		</select>
		<input type="button" value="go" onClick="document.location.href='#URL_SITE_SPIP/rubrique.php3?id_rubrique=2&amp;date=' + window.document.navigation.var_nav_year.value + '-' + window.document.navigation.var_nav_month.value + '-01'; return false;" />
		<a href="#URL_SITE_SPIP/rubrique.php3?id_rubrique=2&amp;date=<?php echo (($M + 1 < 13) ? $Y : ($Y + 1)); ?>-<?php printf('%02d', ($M + 1) < 13 ? ($M + 1) : 1); ?>-01"><b>&gt;&gt;</b></a>
		<a href="#URL_SITE_SPIP/rubrique.php3?id_rubrique=2&amp;date=<?php echo (date('Y-m-d')); ?>"><b>Aujourd'hui</b></a>
	</th>
</tr>
</form>
<tr> 
	<?php
	for($i = 1; $i < 8; $i++) {
		echo '<th width="14%" class="agendaHead">'.$days[$i%7].'</th>';
	}
	$TempD = 1;
	if(date('w', mktime(0, 0, 0, $M, 1, $Y)) != 1) {
		echo '</tr><tr>';
		$tmp = '';
		while(date('w', mktime(0, 0, 0, $M, $TempD, $Y)) != 1) {
			$TempD--;
			$case = '<td width="14%" height="50" valign="top" class="agendaNotThisMonth">';
			$case .= date('j', mktime(0, 0, 0, $M, $TempD, $Y));
			$date = date('Ymd', mktime(0, 0, 0, $M, $TempD, $Y));
			if (isset($events[$date])) {
				while (list(, $event) = each($events[$date])) {
					$case .= '<br />'.$event['logo'].'<a href="'.$event['link'].'">'.$event['title'].'</a>';
				}
			}
			$case .= '</td>';
			$tmp = $case.$tmp;
		}
		echo $tmp;
	}
	$TempD = 1;
	while((date('m', mktime(0, 0, 0, $M, $TempD, $Y)) == $M) || (date('w', mktime(0, 0, 0, $M, $TempD, $Y)) != 1)) {
		if(date('w', mktime(0, 0, 0, $M, $TempD, $Y)) == 1) {
			echo '</tr><tr>';
		}
		echo '<td width="14%" height="50" valign="top" class="agenda'.(date('m', mktime(0, 0, 0, $M, $TempD, $Y)) != $M ? 'Not' : '').'This'.(date('Ymd', mktime(0, 0, 0, $M, $TempD, $Y)) == date('Ymd') ? 'Day' : 'Month').'">';
		echo date('j', mktime(0, 0, 0, $M, $TempD, $Y));
		$date = date('Ymd', mktime(0, 0, 0, $M, $TempD, $Y));
		if (isset($events[$date])) {
			while (list(, $event) = each($events[$date])) {
				[#red]if ($event['text'] !='') {[/#] 
				echo '<br />'.$event['logo'].'<ahref="'.$event['link'].'">'.$event['title'].'</a>';
				[#red]} else {
				echo '<br />'.$event['logo'].$event['title'];
				}[/#]
			}
		}
		echo '</td>';
		$TempD++;
	}
	?>
</tr>
</table>

Modifié par tofi (30 Nov 2005 - 18:41)