Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Kalender aktuellen Tag markieren

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] Kalender aktuellen Tag markieren

    Hallo,

    ich bin absoluter Anfänger in php und habe ein Script vorliegen, das mir den aktuellen Monat als Kalender anzeigt (mit Hilfe einer .css Datei), funktioniert auch alles wunderbar, zu sehen ist der Kalender hier: Kirwagemeinschaft Axtheid-Berg e.V. - Termine im Mai 2008

    Jetzt hätte ich allerdings gerne den aktuellen Tag durch eine andere Hintergrundfarbe hervorgehoben.
    Hier der Code der php-Datei:
    PHP-Code:
    <?php 
    defined
    '_VALID_MOS' ) or die( 'Restricted access' ); 
     
     
    class 
    HTML_easycalendar {     
     
    /**    
    * Show month view    
    *    
    * @param array $rows    
    * @param int $month    
    * @param int $year    
    */   
     
    function showMonth($rows$month$year){     
        global 
    $option$mainframe$Itemid;         
     
        
    mosCommonHTML::loadOverlib();         
     
        
    $mainframe->addCustomHeadTag('<link href="'.$mainframe->getCfg
            
    ('live_site') . '/components/com_easycalendar/easycalendar.css" rel="stylesheet" type="text/css"/>');          
     
        
    $starttime strtotime($year '-' $month '-01 12:00:00');     
        
    $endtime strtotime($year '-' $month '-'date('t'$starttime) . ' 12:00:00');         
     
        
    $firstday date('w'$starttime);     
        
    $firstday $firstday == $firstday//correct, monday as start day     
        
    $lastday date('w'$endtime);     
        
    $lastday $lastday == $lastday//correct, monday as start day         
     
        
    if($firstday != 1){       
            
    $first $starttime - (($firstday 1) * (60*60*24));     
        }  
        else {       
            
    $first $starttime;     
        }     
     
        if(
    $lastday != 7){       
            
    $last $endtime + (($lastday) * (60*60*24));     
        }  
        else {       
            
    $last $endtime;     
        }         
     
        if(
    $month == 10){       
            
    $last $last - (60*60*24);     
        }         
     
        
    $mainframe->setPageTitle(sprintf(EC_VIEW_MONTHstrftime('%B'$starttime), $year));     
        echo 
    '<div class="componentheading">' sprintf(EC_VIEW_MONTHstrftime('%B'$starttime), $year) . '</div>';         
     
        
    $p_month $month 1;     
        
    $p_year $year;     
        if(
    $p_month 1){       
            
    $p_year--;       
            
    $p_month 12;     
        }     
     
        
    $n_month $month 1;     
        
    $n_year $year;     
        if(
    $n_month 12){       
            
    $n_year++;       
            
    $n_month 1;     
        }         
     
        echo 
    '<a href="' sefRelToAbs('index.php?option=' $option '&amp;month=' $p_month '&amp;year=' $p_year) . '" title="' .
            
    EC_PREV_MONTH '"><img src="http://www.php.de/images/pfeil_zurueck.png" border="0" alt="' EC_PREV_MONTH '" /></a>';
        echo 
    '&nbsp;';     
        echo 
    '<a href="' sefRelToAbs('index.php?option=' $option '&amp;month=' $n_month '&amp;year=' $n_year) . '" title="' .
            
    EC_NEXT_MONTH '"><img src="http://www.php.de/images/pfeil_vor.png" border="0" alt="' 
            
    EC_NEXT_MONTH '" /></a>';         
     
        echo 
    '<div class="heading">' strftime('%a'$first) . '</div>'
        echo 
    '<div class="heading">' strftime('%a'$first + (60*60*24)) . '</div>'
        echo 
    '<div class="heading">' strftime('%a'$first + (60*60*24)) . '</div>'
        echo 
    '<div class="heading">' strftime('%a'$first + (60*60*24)) . '</div>'
        echo 
    '<div class="heading">' strftime('%a'$first + (60*60*24)) . '</div>'
        echo 
    '<div class="heading">' strftime('%a'$first + (60*60*24)) . '</div>'
        echo 
    '<div class="heading">' strftime('%a'$first + (60*60*24)) . '</div>';         
     
        for(
    $i=$first;$i<$last+(60*60*24);$i=$i+(60*60*24)){ 
            
    //      echo date('d-m-Y H:i:s', $i) . '|' . $i . '<br />';       
            
    if(date('w'$i) == 1){        //first day         
                
    echo '<br clear="all" />';       
            }             
     
            echo 
    '<div class="day">';     
            echo 
    '<span class="heading' . (date('m'$i) == $month ' active' '')  . '">' date('j'$i) . '</span>';       

            if(isset(
    $rows[date('Y-m-d'$i)])){         
                if(isset(
    $rows[date('Y-m-d'$i)]['allday'])){       //list all allday events           
                    
    for($j=0,$n=count($rows[date('Y-m-d'$i)]['allday']);$j<$n;$j++){             
                        
    $row $rows[date('Y-m-d'$i)]['allday'][$j];       
                      
                        
    $row->description str_replace(array("\n""\r"), ''$row->description);             
                        
    $row->description addslashes($row->description);      
                       
                        
    $link sefRelToAbs('index.php?option=' $option '&amp;task=view&amp;id=' $row->id '&amp;Itemid=' .
                            
    $Itemid); 
                            
                        echo 
    '<span class="event allday cat' $row->cid '">' mosToolTip($row->description$row->name''nullsubstr
                            
    ($row->name012), $link) . '</span>';          
                    }         
                }                 
     
                if(isset(
    $rows[date('Y-m-d'$i)]['regular'])){      //list all regular events           
                    
    for($j=0,$n=count($rows[date('Y-m-d'$i)]['regular']);$j<$n;$j++){             
                        
    $row $rows[date('Y-m-d'$i)]['regular'][$j];        
                     
                        
    $row->description str_replace(array("\n""\r"), ''$row->description);             
                        
    $row->description addslashes($row->description); 
                            
                        
    $link sefRelToAbs('index.php?option=' $option '&amp;task=view&amp;id=' $row->id '&amp;Itemid=' .
                            
    $Itemid); 
                            
                        echo 
    '<span class="event regular cat' $row->cid '">' mosToolTip($row->description$row->name''nullsubstr
                            
    ($row->starttime05) . ' ' substr($row->name020), $link) . '</span>';  
                    }      
                }       
            }       
            echo 
    '</div>';  
        }  

     
    ?>
    Ich würde mich freuen, wenn mir jemand weiterhelfen könnte.


  • #2
    Bitte rücke zuerst mal deinen Code ein, so kann das ja Mensch überblicken...

    Kommentar


    • #3
      Ich verschieb das mal in Gesuche.

      Edit: Wir haben ja garkein solches Forum?!
      "Mein Name ist Lohse, ich kaufe hier ein."

      Kommentar


      • #4
        So ganz spontan würd ich bei folgender zeile ansetzen:

        PHP-Code:
        echo '<div class="day">'
        Und das ganze ändern zu
        PHP-Code:
        if(
            
        date('d.m.Y'$i) != date('d.m.Y'time())
        ){
            echo 
        '<div class="day">'
        }
        else{
            echo 
        '<div class="today">';

        Programming PHP

        Kommentar


        • #5
          Ich verschieb das mal in Gesuche.

          Edit: Wir haben ja garkein solches Forum?!
          Für php gibts da was von Ratiopharm
          --

          „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
          Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


          --

          Kommentar


          • #6
            Vielen Dank an [-UFO-]Melkor, der Hinweis mit der if-Abfrage hat das Problem gelöst

            Kommentar

            Lädt...
            X