Primero tienes que calcular el día de hoy. Eso sólo lo necesitas para un bucle while que está dentro de la función Calendar().
Y haces la comparación. Si el contador es menor que $hoy, pones el enlace.
Si es mayor, no lo pones.
Código PHP:
$numero_dia = 0;
$hoy = date("d");//Calculamos el día de hoy
$este_mes = date("m");//mes actual
$este_ano = date("Y");//año actual
//Para limitar los enlaces el mes y año que se muestran
//o sea, los pasados como parámetro de la función Calendar()
//deben ser los actuales
$limitar_enlaces = ($este_mes==$mes && $este_ano==$ano)?true:false;
while ($dia_actual <= $ultimo_dia){
if ($numero_dia == 0)echo "<tr>";
echo "<td align='center' class='padding font'>
<span class='info' title='Noticias de ".$dia_actual."/".$mes."/".$ano."'>";
if($dia_actual > $hoy && $limitar_enlaces == true){
echo $dia_actual;
}else{
echo "<a href='noticias.php?accion=mostrar&categoria=".$categoria."&dia=".$dia_actual."&mes=".$mes."&ano=".$ano."&jcgrmsid=".session_id()."'>".$dia_actual."</a>";
}
echo "</span></td>";
$dia_actual++;
$numero_dia++;
if ($numero_dia == 7){
$numero_dia = 0;
echo "</tr>";
}
}
Esa es la idea... no lo he probado... pero debería funcionar para el mes actual y los anteriores.
Si no comparaba el mes y año actual, si hoy es 20... al ver cualquier otro mes también te mostrará los enlaces sólo hasta el 20.
Ahora, para meses futuros no funciona igual, pero los cambios son mínimos.
Es que para meses futuros no debería mostrar nigún enlace.
Bueno... pruébalo y avisas.
Saludos