Changeset 60025 in spip-zone


Ignore:
Timestamp:
Apr 2, 2012, 5:25:25 PM (7 years ago)
Author:
cedric@…
Message:

fonctions obsoletes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/calendrier_mini/trunk/calendriermini_fonctions.php

    r57419 r60025  
    2525}
    2626
    27 function thead($lang){
    28         $ret = '';
    29         $debut = 2;
    30         if($lang == 'en') $debut = 1;
    31         for($i=0;$i<7;$i++) {
    32                 $ret .= "\n\t\t\t\t".'<th scope="col"><abbr title="'._T('date_jour_'.$debut).'">' .
    33                 _T('minical:date_jour_abbr_'.$debut) . '</abbr></th>';
    34                 $debut = $debut == 7 ? 1 : $debut+1;
    35         }
    36         return "\n\t\t".'<thead>
    37                         <tr>' .$ret. '
    38                         </tr>
    39                         </thead>'."\n";
    40 }
    41 
    42 if(!function_exists('agenda_memo')){
    43         // Cette fonction memorise dans un tableau indexe par son 5e arg
    44         // un evenement decrit par les 4 autres (date, descriptif, titre, URL).
    45         // Appellee avec une date nulle, elle renvoie le tableau construit.
    46         // l'indexation par le 5e arg autorise plusieurs calendriers dans une page
    47         function agenda_memo($date=0 , $descriptif='', $titre='', $url='', $cal=''){
    48                 static $agenda = array();
    49                 if (!$date) return $agenda;
    50                 $idate = date_ical($date);
    51                 $cal = trim($cal);
    52                 $agenda[$cal][(date_anneemoisjour($date))][] =  array(
    53                         'CATEGORIES' => $cal,
    54                         'DTSTART' => $idate,
    55                         'DTEND' => $idate,
    56                         'DESCRIPTION' => texte_script($descriptif),
    57                         'SUMMARY' => texte_script($titre),
    58                         'URL' => $url);
    59                 // toujours retourner vide pour qu'il ne se passe rien
    60                 return "";
    61         }
    62 }
    63 function agenda_minical($i) {
    64         $args = func_get_args();
    65         $une_date = array_shift($args); // une date comme balise
    66         $sinon = array_shift($args);
    67         if (!$une_date) return $sinon;
    68         $type = 'minical';
    69         $agenda = agenda_memo(0);
    70         $evt = array();
    71         foreach (($args ? $args : array_keys($agenda)) as $k) { 
    72                 if (is_array($agenda[$k]))
    73                         foreach($agenda[$k] as $d => $v) {
    74                                 $evt[$d] = $evt[$d] ? (array_merge($evt[$d], $v)) : $v;
    75                         }
    76         }
    77         $la_date = mktime(0, 0, 0, mois($une_date), 1, annee($une_date));
    78         include_spip('inc/agenda');
    79         return http_calendrier_init($la_date, $type, '', '', '', array('', $evt));
    80 }
    81 
    82 if(!function_exists('http_calendrier_init')){
    83         ///
    84         /// init: calcul generique des evenements a partir des tables SQL
    85         /// Fonction récupérée des anciens SPIP
    86         ///
    87        
    88         // http://doc.spip.org/@http_calendrier_init
    89         function http_calendrier_init($time='', $type='mois', $echelle='', $partie_cal='', $script='', $evt=null){
    90                 if (is_array($time)) {
    91                         list($j,$m,$a) = $time;
    92                         if ($j+$m+$a) $time = @mktime(0,0,0, $m, $j, $a);
    93                 }
    94        
    95                 if (!is_numeric($time)) $time = time();
    96        
    97                 $jour = date("d",$time);
    98                 $mois = date("m",$time);
    99                 $annee = date("Y",$time);
    100                         if (!$echelle = intval($echelle)) $echelle = DEFAUT_D_ECHELLE;
    101                         if (!is_string($type) OR !preg_match('/^\w+$/', $type)) $type ='mois';
    102                         if (!is_string($partie_cal) OR !preg_match('/^\w+$/', $partie_cal))
    103                                 $partie_cal =  DEFAUT_PARTIE;
    104                 list($script, $ancre) =
    105                   calendrier_retire_args_ancre($script);
    106                 if (is_null($evt)) {
    107                         $g = 'quete_calendrier_' . $type;
    108                         $evt = quete_calendrier_interval($g($annee,$mois, $jour));
    109                         quete_calendrier_interval_articles("'$annee-$mois-00'", "'$annee-$mois-1'", $evt[0]);
    110                 }
    111        
    112                 $f = 'http_calendrier_' . $type;
    113                 if (!function_exists($f)) $f = 'http_calendrier_mois';
    114                 return $f($annee, $mois, $jour, $echelle, $partie_cal, $script, $ancre, $evt);
    115         }
    116 }
    117 if(!function_exists('calendrier_retire_args_ancre')){
    118         ///
    119         ///Utilitaires sans html ni sql
    120         ///Fonction récupérée des anciens SPIP
    121         ///
    122        
    123         /// Utilitaire de separation script / ancre
    124         /// et de retrait des arguments a remplacer
    125         /// (a mon avis cette fonction ne sert a rien, puisque parametre_url()
    126         /// sait remplacer les arguments au bon endroit -- Fil)
    127         /// Pas si simple: certains param ne sont pas remplaces
    128         /// et doivent reprendre leur valeur par defaut -- esj.
    129         /// http://doc.spip.org/@calendrier_retire_args_ancre
    130         function calendrier_retire_args_ancre($script){
    131        
    132                 if (preg_match(',^(.*)#([\w-]+)$,',$script, $m)) {
    133                         $script = $m[1];
    134                         $ancre = $m[2];
    135                 } else { $ancre = ''; }
    136        
    137                 foreach(array('echelle','jour','mois','annee', 'type', 'partie_cal', 'bonjour') as $arg) {
    138                         $script = preg_replace("/([?&])$arg=[^&]*&/",'\1', $script);
    139                         $script = preg_replace("/([?&])$arg=[^&]*$/",'\1', $script);
    140                 }
    141                 if (in_array(substr($script,-1),array('&','?'))) $script =   substr($script,0,-1);
    142                 return array(quote_amp($script), $ancre);
    143         }
    144 }
    145 
    146 function http_calendrier_minical($annee, $mois, $jour, $echelle, $partie_cal, $script, $ancre, $evt) {
    147         list($sansduree, $evenements, $premier_jour, $dernier_jour) = $evt;
    148         if ($sansduree)
    149                 foreach($sansduree as $d => $r) {
    150                         $evenements[$d] = !$evenements[$d] ? $r :
    151                         array_merge($evenements[$d], $r);
    152                 }
    153         if (!$premier_jour) $premier_jour = '01';
    154         if (!$dernier_jour) {
    155                 $dernier_jour = 31;
    156                 while (!(checkdate($mois,$dernier_jour,$annee))) $dernier_jour--;
    157         }
    158         // affichage du debut de semaine hors periode
    159         $lang = _request('lang')?_request('lang'):$GLOBALS['spip_lang'];
    160         $ligne = '';
    161         $debut = date("w",mktime(1,1,1,$mois,$premier_jour,$annee));
    162         $jour_semaine_lang=1;
    163         if($lang=='en') {
    164                 $debut=$debut+1;
    165                 if($debut==7) $debut=0;
    166                 $jour_semaine_lang=0;
    167         }
    168         for ($i=$debut ? $debut : 7;$i>1;$i--) {
    169                 $ligne .= "\n\t<td>&nbsp;</td>";
    170         }
    171         $total = '';
    172         for ($j=$premier_jour; $j<=$dernier_jour; $j++) {
    173                 $nom = mktime(1,1,1,$mois,$j,$annee);
    174                 $jour = date("d",$nom);
    175                 $jour_semaine = date("w",$nom);
    176                 $mois_en_cours = date("m",$nom);
    177                 $annee_en_cours = date("Y",$nom);
    178                 $amj = date("Y",$nom) . $mois_en_cours . $jour;
    179                 if ($jour_semaine==$jour_semaine_lang AND $ligne != '') {
    180                         $total .= "\n<tr>$ligne\n</tr>";
    181                         $ligne = '';
    182                 }
    183                 $evts = $evenements[$amj];
    184                 if ($evts) {
    185                         $evts = "<a href=\"".$evts[0]['URL']."\">".$evts[0]['SUMMARY']."</a>";
    186                 }
    187                 else {
    188                         $evts = intval($jour);
    189                 }
    190                 $ligne .= "\n\t<td".($amj == date("Ymd")?' class="today"':'').">" . $evts . "\n\t</td>";
    191         }
    192 
    193         // affichage de la fin de semaine hors periode
    194         if ($lang=='en') {
    195                 for($j=($jour_semaine != 6) ? $jour_semaine + 1 : 7; $j<7; $j++) {
    196                         $ligne .= "\n\t<td>&nbsp;</td>";
    197                 }
    198         } else {
    199                 for($j=$jour_semaine ? $jour_semaine : 7; $j<7; $j++) {
    200                         $ligne .= "\n\t<td>&nbsp;</td>";
    201                 }
    202         }
    203        
    204         return $total . ($ligne ? "\n<tr>$ligne\n</tr>" : '');
    205 }
    206 
    20727?>
Note: See TracChangeset for help on using the changeset viewer.