SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

TYPO3 Kochbuch

TYPO3 Kochbuch zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen
Hilfe Community Kalender Heutige Beiträge Suchen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 19.05.2010, 16:50:13
ASchwiedy ASchwiedy ist offline
Anfänger
 
Registriert seit: May 2010
Alter: 46
Beiträge: 9
T-SQL Kalender Klasse

Hallo,

Ich verwende die Kalenderklasse von tsql.de

Es existiert meine Homepage mit mehreren Seiten. Eine davon ist eine Eventseite. Mit der sehr guten Kalenderklasse wird ein Datum ausgewählt und das jeweilge Event angezeigt. Soweit so gut. Nur wenn man ein Datum im Kalender angewählt und das jeweilge Datum per GET übergeben wird, so geschieht das immer an die Seite, auf der sich der Besucher zur Zeit befindet (z.B. jetzigeseite.php?datum=1-1-2010). Ich suche aber nach dem Weg, wenn sich der Besucher z.B. auf der Startseite aufhält, und hier auf ein Event im Kalender klickt, das Datum per GET an die Eventseite und nicht an die Startseite übergeben wird.

Ich hoffe ich konnte mich einigermaßen gut erklären.

Hier die Klasse:
Code:
<?
          
        private $javascriptFunction=NULL;
        private $javascriptPick=NULL;
        
        
        private function isEvent($date){
            return in_array($date, $this->events);
        }
        
        private function getspezialLink($date,$isNavlnk=false){
           
            
            if($this->javascriptFunction!=NULL){
                if($isNavlnk){
                    return  'javascript:'.$this->javascriptFunction.'(\''.$date.'\')';
                } else{
                    return  'javascript:'.$this->javascriptPick.'(\''.$date.'\')';
                }
            }         
            
            if($this->isEvent($date) && !$isNavlnk){
                    $key = array_search($date, $this->events);
                    return ($this->links[$key]!='') ? $this->links[$key] : '?'.$this->getVariable.'='.$date;
            }
            
            return '?'.$this->getVariable.'='.$date;
           
        }
        
        private function check_date($date,$format,$sep){
            $pos1    = strpos($format, 'd');
            $pos2    = strpos($format, 'm');
            $pos3    = strpos($format, 'Y'); 
            $check    = explode($sep,$date);
            return checkdate($check[$pos2],$check[$pos1],$check[$pos3]);
        }
        
        private function datetest(){
            $arr_mydate = explode('-', $this->mydate);
            if($arr_mydate[0]>=1 && $arr_mydate[0]<=31 &&
               $arr_mydate[1]>0 && $arr_mydate[1]<13 && 
               $arr_mydate[2] > 1970 && $arr_mydate[2]< 2038){
                $this->tag   = $arr_mydate[0];
                $this->monat = $arr_mydate[1];
                $this->jahr  = $arr_mydate[2];    
            }
            
            //Defaultwerte, wenn kein Monat/Jahr Übergeben wurde
            $this->tag   = (isset($this->tag)!==true) ? date("d",time()) : $this->monat;    
            $this->monat = (isset($this->monat)!==true) ? date("n",time()) : $this->monat;
            $this->jahr  = (isset($this->jahr)!==true)  ? date("Y",time()) : $this->jahr;
        }        
        
        public function __construct(){
        }        
        
        public function addEvent($tdate,$speziallnk=NULL){
            if($this->check_date($tdate,"dmY","-")){
              $tmp = explode('-', $tdate);

              $tdate  = (($tmp[0][0]=='0') ? $tmp[0][1] : $tmp[0]).
                        '-'.(($tmp[1][0]=='0') ? $tmp[1][1] : $tmp[1]).
                        '-'.$tmp[2];
              
              array_push($this->events, $tdate);
              array_push($this->links,$speziallnk);
              return true;
            } else {
              return false;
            }
        }
        
        public function setDate($caldate){
            $this->mydate = $caldate;
        }
        
        public function setAjax($requestmethode = 'sndReq',$pickmethode='pick'){
            $this->javascriptFunction = $requestmethode;
            $this->javascriptPick = $pickmethode;
        }
        
        public function setDateWithGET(){
            if(isset($_GET[$this->getVariable]))
                $this->mydate = $_GET[$this->getVariable];
        }        
        
        public function setLinkTyp($lnk=1){
            $this->link = $lnk;
        }        
        
        public function setGETVariableName($newName){
          $this->getVariable = $newName;
        }
        
        
        public function setLanguage($lang){
            if($lang>=0 && $lang<count($this->arr_monate))
                $this->language = $lang;
        }
        
        public function showCAL(){
            $this->datetest();
        
            $iWochenTag  = date("w", mktime(0, 0, 0, $this->monat, 1, $this->jahr));
            $iAnzahltage = date("t", mktime(0, 0, 0, $this->monat, 1, $this->jahr));
            $iZeilen = ($iWochenTag==1 && $iAnzahltage==28) ? 4 : (($iAnzahltage == 31 && ($iWochenTag == 6 || $iWochenTag == 0))|| ($iWochenTag  == 0 && $iAnzahltage == 30)) ? 6 : 5; 

            //Nächster Monat
            if($this->monat==12){
                $nmonat=1;
                $njahr=$this->jahr+1;
            } else {
                $nmonat=$this->monat+1;
                $njahr=$this->jahr;  
            }

            //Vorheriger Monat    
            if($this->monat==1){
                $vmonat=12;
                $vjahr=$this->jahr-1;
            } else {
                $vmonat=$this->monat-1;
                $vjahr=$this->jahr;  
            }

            $iAnzahltageVormonat = date("t", mktime(0, 0, 0, $vmonat, 1, $vjahr));
            
            echo '<table id="cal"><tr>',
                  '<th>',
                  (($this->link==1 || $this->link==2 || $this->link==4) ? '<a href="'.$this->getspezialLink('1-'.$vmonat.'-'.$vjahr,true).'"><img src="images/buttons/arrowp.gif" width="9" height="11" alt="&gt;"></a>' : '&nbsp;'),
                  '</th>',
                  '<th colspan="5">',htmlentities($this->arr_monate[$this->language][$this->monat-1]),' ',$this->jahr,'</th>',
                  '<th >',
                  (($this->link==1 || $this->link==2 || $this->link==4) ? '<a href="'.$this->getspezialLink('1-'.$nmonat.'-'.$njahr,true).'"><img src="images/buttons/arrown.gif" width="9" height="11"></a>': '&nbsp;'),
                  '</th>',
                  
                  '</tr>
                    <tr>
                      <th >', htmlentities($this->arr_Tage[$this->language][0]) ,'</th>
                      <th >', htmlentities($this->arr_Tage[$this->language][1]) ,'</th>
                      <th >', htmlentities($this->arr_Tage[$this->language][2]) ,'</th>
                      <th >', htmlentities($this->arr_Tage[$this->language][3]) ,'</th>
                      <th >', htmlentities($this->arr_Tage[$this->language][4]) ,'</th>
                      <th >', htmlentities($this->arr_Tage[$this->language][5]) ,'</th>
                      <th >', htmlentities($this->arr_Tage[$this->language][6]) ,'</th>
                    </tr>';
            
            
            
            $iTag = 0; //Tag im Monat
            $i=0;
			$ntmp=0;
            do{ // while($i < $iZeilen);
                echo '<tr>';
            
                $j=1;
                do { //while($j <= 7);
            
                    //Hilfsvariable Mo=1, Di=2 .... So=7
                    $m = ($iWochenTag==0) ? 7 :  $iWochenTag;
            
                    //Nicht jeder Monat beginnt am Monat
                    if($m == $j && $j <= 7 && $iTag == 0){
                        $iTag = 1;
                    }
                    
                    
                    $preTag = ($iAnzahltageVormonat+$j-$m+1);
                    
                    if ($iTag == 0){
                      $tmpEvent =$this->isEvent($preTag.'-'.$vmonat.'-'.$vjahr);
                      echo '<td ';
                      echo $tmpEvent ? 'id="aevent">' : 'id="amonat">';
                      echo ($this->link==1 || ($tmpEvent==true && ($this->link==3 || $this->link==4))) ? '<a href="'.$this->getspezialLink($preTag.'-'.$vmonat.'-'.$vjahr).'">' : '';
                      echo $preTag;
                      echo ($this->link==1 || ($tmpEvent==true && ($this->link==3 || $this->link==4))) ? '</a>' : '';
                    }
                    
                    if ($iTag > $iAnzahltage){
                      ++$ntmp;
                      $tmpEvent = $this->isEvent($ntmp.'-'.$nmonat.'-'.$njahr);
                      echo '<td ';
                      echo $tmpEvent ? 'id="aevent">' : 'id="amonat">';
                      echo ($this->link==1 || ($tmpEvent==true && ($this->link==3 || $this->link==4))) ? '<a href="'.$this->getspezialLink($ntmp.'-'.$nmonat.'-'.$njahr).'">' : '';
                      echo $ntmp;
                      echo ($this->link==1 || ($tmpEvent==true && ($this->link==3 || $this->link==4))) ? '</a>' : '';
                      echo '</td>';
                    }
                    
                    if ($iTag != 0 && $iTag <= $iAnzahltage){
                      $tmpEvent = $this->isEvent($iTag.'-'.$this->monat.'-'.$this->jahr);
                      echo '<td ';
                      echo $tmpEvent ? 'id="monatevent">' : 'id="monat">';
                      echo ($this->link==1 || ($tmpEvent==true && ($this->link==3 || $this->link==4))) ? '<a href="'. $this->getspezialLink($iTag.'-'.$this->monat.'-'.$this->jahr) .'">' : '';
                      echo $iTag;
                      echo ($this->link==1 || ($tmpEvent==true && ($this->link==3 || $this->link==4))) ? '</a>' : '';
                      echo '</td>';
                      ++$iTag;
                    }

                    
                } while(++$j <= 7);
            
                echo '</tr>';
            
            } while(++$i < $iZeilen);
            echo '</table>';
        }
    } 
?>
Würde mich über eine Antwort sehr freuen!

Gruss

Andi
Mit Zitat antworten
  #2  
Alt 19.05.2010, 19:21:56
cortex cortex ist offline
SELFPHP Profi
 
Registriert seit: Apr 2008
Alter: 48
Beiträge: 1.938
AW: T-SQL Kalender Klasse

bitte punkt c unserer forenregeln beachten.

[mod: verschoben]

cx
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Brauche Hilfe Partygirl MySQLi/PDO/(MySQL) 10 01.03.2011 08:18:11
SQL Query oder Klasse? bweichel PHP für Fortgeschrittene und Experten 3 08.05.2007 16:39:47
Kann eine Klasse in einer Eigenschaft ein Objekt, einer anderen Klasse instanzieren? Balthazzar PHP für Fortgeschrittene und Experten 6 06.07.2006 16:06:36
Andere Klasse aus Klasse aufrufen NanoCyte PHP für Fortgeschrittene und Experten 22 28.06.2004 21:24:53
Blätterfunktion als Klasse! Funjoy PHP Entwicklung und Softwaredesign 0 24.06.2004 23:45:04


Alle Zeitangaben in WEZ +2. Es ist jetzt 10:54:14 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt