InfoFrame: Digitaler Bilderrahmen (Anzeige von Anrufen, E-Mails, Termine, Wetter...)

friday

Mitglied
Mitglied seit
2 Nov 2006
Beiträge
416
Punkte für Reaktionen
0
Punkte
16
also ich sehe noch meine termine von google und auch die spritpreise
 

friday

Mitglied
Mitglied seit
2 Nov 2006
Beiträge
416
Punkte für Reaktionen
0
Punkte
16
gerade eben probiert, 2 neu eingetragene termine. einer gaztägig und einer zu einer bestimmten uhrzeit
 

h-p-d

Neuer User
Mitglied seit
2 Jul 2005
Beiträge
51
Punkte für Reaktionen
0
Punkte
6
Ok, Danke dann ist hier irgendwas anders faul
 

h-p-d

Neuer User
Mitglied seit
2 Jul 2005
Beiträge
51
Punkte für Reaktionen
0
Punkte
6
sobald ich etwas Zeit habe werde ich das posten, kein Thema

aber irgendwie finden keine Abfragen in der Google-API mehr statt. In der Tabelle if_system ist auch kein Eintrag Calendarupdate mehr vorhanden. Ich habe mal versucht das ganze als neues Google Projekt neu zu starten aber leider sind beim erstellen eines neuen Projektes die Menupunkte komplett geändert oder weggefallen, zumindest gegenüber der damaligen Anleitung hier aus dem Forum.
 

marvin424

Mitglied
Mitglied seit
28 Jun 2009
Beiträge
287
Punkte für Reaktionen
0
Punkte
16
sobald ich etwas Zeit habe werde ich das posten, kein Thema
Versteh ich jetzt nicht, Du hast doch geschrieben, dass Du es bereits benutzt. Wieso brauchst Du dazu Zeit, das ist doch nur Copy und Paste.
Das konnte schon Karl-Theodor zu Guttenberg :)
 

marvin424

Mitglied
Mitglied seit
28 Jun 2009
Beiträge
287
Punkte für Reaktionen
0
Punkte
16
Moin h-p-d.

:cool: Lass gut sein...
 
Zuletzt bearbeitet:

bolle

Aktives Mitglied
Mitglied seit
10 Apr 2006
Beiträge
1,437
Punkte für Reaktionen
0
Punkte
36
Mein Kalender zeigt nichts mehr an...Lief die ganze Zeit ohne Probleme.. Vielleicht kann mir jemand helfen..!!! Das wäre prima....

Hier mal das Plugin..(hat sich da was geändert?) sorry bekomme es nicht anders rein kopiert....


PHP:
<?php
/***************************************************************************
 * InfoFrame (image generator for digital picture frames)
 * Copyright (C) 2009  Tobias Kolb
 * 
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see http://www.gnu.org/licenses/
 ***************************************************************************/




class CalendarPlugin implements IPlugin
{
    private $dbconn = NULL;
    private $config = NULL;
    
    public function __construct($dbconn, $config) {
        $this->dbconn = $dbconn;
        $this->config = $config;
    }
    
    public function doUpdate() {
        
        require_once '../zendfw/googleapi/autoload.php';
        
        session_start();
        $client_id = $this->config['client_id'];
        $service_account_name = $this->config['account_name'];


        try {
            $client = new Google_Client();
            $client->setApplicationName($this->config['project_name']);
            $service = new Google_Service_Calendar($client);
        }
        catch (Exception $e) {
            die ('Folgender Fehler trat auf: ' . $e->getMessage());
        }


        if (isset($_SESSION['service_token']))
                $client->setAccessToken($_SESSION['service_token']);
    
        $key = file_get_contents($this->config['key_file']);
    
        $cred = new Google_Auth_AssertionCredentials(
                            $service_account_name,
                            array('https://www.googleapis.com/auth/calendar'),
                            $key);
                            
        $client->setAssertionCredentials($cred);
        if ($client->getAuth()->isAccessTokenExpired())
                 $client->getAuth()->refreshTokenWithAssertion($cred);
    
        $_SESSION['service_token'] = $client->getAccessToken();
    
        //set startDate, endDate, eventParams
      //set startDate, endDate, eventParams 
          $now = new DateTime('NOW'); 
          $clone = clone $now; 
          $clone = date_modify($clone, '+1 month'); 
          $startDate = date_format($now, DateTime::W3C); 
          $endDate = date_format($clone, DateTime::W3C); 
     
          $eventParams = array( 
                              'timeMin' => $startDate, 
                              'timeMax' => $endDate, 
                              'singleEvents' => 'true');  
                                
        //get Calendar Id´s    
        $calendarList = $service->calendarList->listCalendarList();
    
        // Set begin of querys
        $insertToken = "REPLACE INTO if_system (name, value) VALUES ";
        $insertCalendarData = "INSERT INTO if_calendar (color,begin,end,title,location) VALUES ";
        $deleteCalendarData = "DELETE FROM if_calendar WHERE ";
        
    /******************** Update every given time without checking for SyncToken ************************/
        $forceRefresh = $this->config['force_refresh'];
        $updateCalendar = FALSE;
        $query = "SELECT * FROM if_system WHERE name = 'CalendarUpdate'";
      $result = mysql_query($query, $this->dbconn);
        if (mysql_num_rows($result) > 0) {
            $row = mysql_fetch_assoc($result);
            if ( ($row['name'] == 'CalendarUpdate') && ((time() - $row['value']) >= ($forceRefresh*3600)) ) {
                $updateCalendar = TRUE;
                $query = "REPLACE INTO if_system (name,value) VALUES ('CalendarUpdate', '".time()."')";
                 mysql_query($query, $this->dbconn) or die('CalendarPlugin: '.mysql_error());                    
            }
        }else{
            $updateCalendar = TRUE;
            $query = "INSERT INTO if_system (name,value) VALUES ('CalendarUpdate', '".time()."')";
            mysql_query($query, $this->dbconn) or die('CalendarPlugin: '.mysql_error());
        }
     /*********************************************************************************************************/
    
        $i = 0;
        while(TRUE) {
            
        /***************** Loop through each Calendar, get id, and color **************************/
            foreach ($calendarList->getItems() as $calendarListEntry) {
                  $calendarID = $calendarListEntry->getID();
                  $color = $calendarListEntry->getBackgroundColor();
             
                 /***************** Get SysncToken to skip this calender at next update if nothing has changed **********/ 
                $events = $service->events->listEvents($calendarID, $eventParams);        
                //If the syncToken expires, the server will respond with a 410 GONE response code and the client should clear its storage and perform a full synchronization without any syncToken
                try{    
                    $NextSyncToken = $events->getNextSyncToken();
                }
                catch (Exception $e) {
                    if (strripos($e->getMessage(), "410") !== FALSE){
                        $NextSyncToken = 'FEHLER';
                    }else{
                        die ('Folgender Fehler trat auf: ' . $e->getMessage());
                    }
                } 
                $SyncToken = '';
               //echo $NextSyncToken.PHP_EOL;
                   if ($updateCalendar == FALSE) {
                    $query = "SELECT value FROM if_system WHERE name = '".$calendarID."'";
                    $result = mysql_query($query, $this->dbconn);
                        if (mysql_num_rows($result) > 0) {
                            $row = mysql_fetch_assoc($result);
                             $SyncToken = $row['value'];
                        }
                }    
                $insertToken .= "('".$calendarID."','".$NextSyncToken."'), ";    
                /***************** SysncToken check done *****************************************************/ 
                    
                /**************** if SyncToken changed perform update ******************************/            
                if ($NextSyncToken != $SyncToken) {
                    $i++;
                    $deleteCalendarData .= "color = '".$color."' OR ";            
                    while(TRUE) {
                         /************************ Get content from each Calendar *****************/
                        foreach ($events->getItems() as $event) {
                              //print_r($event);
                              if (!empty($event['modelData']['start']['dateTime'])) {
                                  $begin = date_format(date_create($event['modelData']['start']['dateTime']), 'Y-m-d H:i:s');
                                  $end = date_format(date_create($event['modelData']['end']['dateTime']), 'Y-m-d H:i:s');
                              }else{
                                  $begin = $event['modelData']['start']['date'];
                                  $end = $event['modelData']['end']['date'];
                              }                  
                              $title = $event->getSummary();    
                             $insertCalendarData .= "('".$color."','".$begin."','".$end."','".$title."',''), ";    
                          }
                          $pageToken = $events->getNextPageToken();
                          if ($pageToken) {
                             $optParams = array('pageToken' => $pageToken);
                            $events = $service->events->listEvents($calendarListEntry->getID(), $optParams);
                          }else{
                        break;
                          }
                    }
                } /********** if SysncToken changed perform update END  **********/
              } /*********** Loop through each Calendar, get id, and color END *************************/
          
              $pageToken = $calendarList->getNextPageToken();
              if ($pageToken) {
                  $optParams = array('pageToken' => $pageToken);
                $calendarList = $service->calendarList->listCalendarList($optParams);
              }else{
                break;
              }
        }
        
    /***************************** if SyncToken changed perform SQL-statement *********************/
        if ( $i > 0 ) {
            mysql_query($this->before_last('OR', $deleteCalendarData), $this->dbconn) or die('CalendarPlugin -> insertCalendarData:  '.mysql_error());
            mysql_query($this->before_last(',', $insertToken), $this->dbconn) or die('CalendarPlugin -> insertToken: '.mysql_error());
            mysql_query($this->before_last(',', $insertCalendarData), $this->dbconn) or die('CalendarPlugin -> insertCalendarData:  '.mysql_error());
        }
                                
    }


    
    
    public function doOutput($image, $style, $updateData, &$yoffset) {
        if ($updateData)
            $this->doUpdate();
            
        $query = "SELECT * FROM `if_calendar` WHERE `end` > NOW() AND (`begin` <= ADDDATE(NOW(), INTERVAL ".$this->config['number_of_days']." DAY)) ORDER BY `begin` ASC";
        $result = mysql_query($query, $this->dbconn);
        if (mysql_num_rows($result) > 0) {


            // define styles
            $opt_header = array(
                'width' => imagesx($image)-290,
                'line_height' => 18,
                'align' => ALIGN_LEFT
            );
            
            $opt_day = array(
                'width' => imagesx($image)-290,
                'height' => 14,
                'line_height' => 14,
                'align' => ALIGN_LEFT
            );


            $opt_entry = array(
                'width' => imagesx($image)-290,
                'height' => 12,
                'line_height' => 12,
                'align' => ALIGN_LEFT,
                'word_wrap_hyphen' => '...',
                'aggressive_word_wrap' => true,
            );


            // print header
            imagettftextboxopt($image, 18, 0, 50, $yoffset, $style['textcolor'], $style['font'], "Nächste Termine", $opt_header);
            $icon = ImageCreateFromPNG ( 'resources/icons/clock.png' );
            ImageCopy($image, $icon, 20, $yoffset-3, 0, 0, imagesx($icon), imagesy($icon));
            ImageDestroy($icon);
            $yoffset += 26;
            
            // print calendar
            $counter = 0;
            $formatDate = "%d.%m.%Y";
            $formatTime = "%H:%M";
            $today = strftime( $formatDate );
            $tomorrow  = strftime( $formatDate, strtotime("+1 day", time() ) );
            $currently_displayed_day = 0;


            while ($row = mysql_fetch_assoc($result)) {
                $counter++;
                
                // if end of screen is reached and more than one items left -> cut off and show hint "x more appointments..."
                $rest = (mysql_num_rows($result) - $counter) + 1;
                if (($yoffset >= (imagesy($image) - 36)) && ($rest > 1)) {
                    $text = "... $rest weitere Termine";
                    imagettftextboxopt($image, 14, 0, 24, $yoffset, $style['textcolor'], $style['fontb'], $text, $opt_entry);
                    $yoffset += 20;
                    break;
                }
                
                // print day name
                $begin_date = strftime( $formatDate, strtotime($row['begin']));
                // if begin day is before today set begin to today
                if (strtotime($begin_date) < strtotime($today))
                    $begin_date = $today;
                // now if begin is after $currently_displayed_day update $currently_displayed_day
                if (strtotime($begin_date) > $currently_displayed_day) {
                    // update currently_displayed_day
                    $currently_displayed_day = strtotime($begin_date);
                    // print day name
                    if( $begin_date == $today )
                        $dayname = "Heute";
                    else if( $begin_date == $tomorrow )
                        $dayname = "Morgen";
                    else
                        $dayname = strftime("%A, ".$formatDate, strtotime($begin_date));


                    imagettftextboxopt($image, 14, 0, 50, $yoffset+4, $style['textcolor'], $style['fontb'], $dayname, $opt_day);
                    $yoffset += 22;
                }
                
                // build appointment time text
                $end_date = strftime( $formatDate, strtotime($row['end']));
                $begin_time = strftime( $formatTime, strtotime($row['begin']));
                $end_time = strftime( $formatTime, strtotime($row['end']));
                $text = $row['title'];
                if ($row['location'] != null)
                    $text = $text . ", " . $row['location'];
                if (($begin_time == "00:00") && ($end_time == "00:00")) {
                    // all day event (substract 1 second to get the real end date at 23:59) 
                    $end_date = strftime( $formatDate, strtotime($row['end'])-1);
                    // if all day event is longer than one day -> print end date
                    if (strtotime($end_date) != $currently_displayed_day)
                        $text = $text." (bis ".$end_date.")";
                        
                } else {
                    // normal event with start and end time
                    $text = $text." (".$begin_time." - ";
                    // if event ends not this day -> display end date additionally to time
                    if (strtotime($end_date) != $currently_displayed_day)
                        $text = $text.$end_date.", ";                    
                    $text = $text.$end_time.")";
                }
                 // ------------------------------------------- M?llabfuhr----------------------------------------                   
                 if (($row['color']) == "#cd74e6") {
                        if (strpos($row['title'], 'Sperrmüll') !== false)
                              $icon = ImageCreateFromPNG ( 'resources/icons/tonne_blau.png' );
                        if (strpos($row['title'], 'Grüne Tonne') !== false)
                              $icon = ImageCreateFromPNG ( 'resources/icons/tonne_gruen.png' ); 
                        if (strpos($row['title'], 'Gelber Sack') !== false)
                              $icon = ImageCreateFromPNG ( 'resources/icons/gelber_sack.png' ); 
                        if (strpos($row['title'], 'Graue Tonne') !== false)
                              $icon = ImageCreateFromPNG ( 'resources/icons/tonne_schwarz.png' );
                        if (strpos($row['title'], 'Strauchgutabfuhr') !== false)
                              $icon = ImageCreateFromPNG ( 'resources/icons/strauch.png' );                                               
                        ImageCopy($image, $icon, 23, $yoffset-6, 0, 0, imagesx($icon), imagesy($icon));
                        ImageDestroy($icon);
                } else{  
// ------------------------------------------- Geburtstag ----------------------------------------     
                
                if (($row['color']) == "#a47ae2"){ 
                    $icon = ImageCreateFromPNG ( 'resources/icons/birth.png' );
                ImageCopy($image, $icon, 23, $yoffset+0, 0, 0, imagesx($icon), imagesy($icon));
                ImageDestroy($icon);
                } else {
                  
                // determine button color
                $colorArray = htmlColorToRgb($row['color']);
                $color = ImageColorAllocate ($image, $colorArray[0], $colorArray[1], $colorArray[2]);
                // print appointment text and button
                drawGlassButton($image, $color, 32, $yoffset+;
                }
                }               
                imagettftextboxopt($image, 12, 0, 50, $yoffset, $style['textcolor'], $style['font'], $text, $opt_entry);
                
                $yoffset += 18;
            
            }
            $yoffset += 26;
            
            
        }
        mysql_free_result($result);


    }


    private function before_last ($needle, $inthat) {
        return substr($inthat, 0, $this->strrevpos($inthat, $needle));
     }
           
    private function strrevpos($instr, $needle) {
        $rev_pos = strpos (strrev($instr), strrev($needle));
        if ($rev_pos===false) return false;
        else return strlen($instr) - $rev_pos - strlen($needle);
    }
    
}
- - - Aktualisiert - - -

Und mit dem Pluginaufruf, zeigt es mir alle Kalendereinträge und alle Kalender im Browser an...Ich glaube, dass mit dem obigen Code mit dem doUpdate was nicht stimmt...

PHP:
<?php


    error_reporting(E_ALL);
    ini_set('display_errors', TRUE);
    
    
    $loc = setlocale(LC_ALL, 'de_DE.UTF8', 'de_DE', 'de', 'ge');
    date_default_timezone_set('Europe/Berlin');
    session_start();
    
    include_once("infoframe_db.php");
    require_once '../zendfw/googleapi/autoload.php';
    
    $client_id = 'xxxx'; //Client ID !!!!!!!!!!!!!!
    $service_account_name = 'xxxxxx'; //Email Addresse !!!!!!!!!!!!!!!!!!!!
    $key_file_location = '../zendfw/Infoframe xxxxxx.p12'; //pfad zu deinem key.p12 !!!!!!!!!!!!!!!!!!!!!!!!
        
     
    
    if ($client_id == '' || !strlen($service_account_name) || !strlen($key_file_location)) {
      echo missingServiceAccountDetailsWarning();
    }
    
    try {
        $client = new Google_Client();
        $client->setApplicationName("InfoframeCalendar"); // Projedktname aendern, falls nicht infoframe !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
        $service = new Google_Service_Calendar($client);
    }
    catch (Exception $e) {
        die ('Folgender Fehler trat auf: ' . $e->getMessage());
    }
    
    if (isset($_SESSION['service_token'])) {
      $client->setAccessToken($_SESSION['service_token']);
    }
    $key = file_get_contents($key_file_location);


    $cred = new Google_Auth_AssertionCredentials(
        $service_account_name,
        array('https://www.googleapis.com/auth/calendar'),
        $key
   &nbsp;
    $client->setAssertionCredentials($cred);
    if ($client->getAuth()->isAccessTokenExpired()) {
      $client->getAuth()->refreshTokenWithAssertion($cred);
    }
    $_SESSION['service_token'] = $client->getAccessToken();


//set startDate, endDate, eventParams
      $now = new DateTime('NOW');
     $clone = clone $now;
     $clone = date_modify($clone, '+1 month');
    $startDate = date_format($now, DateTime::W3C);
    $endDate = date_format($clone, DateTime::W3C);
  echo $startDate." - ".$endDate.PHP_EOL."<br>";
    $eventParams = array(
                        'timeMin' => $startDate,
                        'timeMax' => $endDate,
                        'singleEvents' => 'true');
                            
//get Calendar Id´s    
    $calendarList = $service->calendarList->listCalendarList();
    echo $calendarList->getNextSyncToken().PHP_EOL."<br>" ;


// Set begin of querys
    $insertToken = "REPLACE INTO if_system (name, value) VALUES ";
    $insertCalendarData = "INSERT INTO if_calendar (color,begin,end,title,location) VALUES ";
    $deleteCalendarData = "DELETE FROM if_calendar WHERE ";


/******************** Update every given time without checking for SyncToken ************************/
    $updateInterval = 1;
    $updateCalendar = FALSE;
    $query = "SELECT * FROM if_system WHERE name = 'CalendarUpdate'";
      $result = mysqli_query($dbconn, $query);
    if (mysqli_num_rows($result) > 0) {
        $row = mysqli_fetch_assoc($result);
        if ( ($row['name'] == 'CalendarUpdate') && ((time() - $row['value']) >= ($updateInterval*10)) ) {
            echo "<b>UpdateInterval: </b>".$row['name'].' - <b>letztes update: </b>'.date('Y-m-d H:i:s').' - <b>wenn 1.Zahl groesser als 2.Zahl: </b>'.(time()-$row['value']).' >= '.($updateInterval*10).PHP_EOL."<br>";
            $updateCalendar = TRUE;
            $query = "REPLACE INTO if_system (name,value) VALUES ('CalendarUpdate', '".time()."')";
             $result = mysqli_query($dbconn, $query);                    
        }
    }else{
        $updateCalendar = TRUE;
        $query = "INSERT INTO if_system (name,value) VALUES ('CalendarUpdate', '".time()."')";
        $result = mysqli_query($dbconn, $query);
    }
 /*********************************************************************************************************/


    $i = 0;
    while(TRUE) {
        
    /***************** Loop through each Calendar, get id, and color **************************/
      foreach ($calendarList->getItems() as $calendarListEntry) {
          $calendarID = $calendarListEntry->getID();
          $color = $calendarListEntry->getBackgroundColor();
        echo "<br><b>Kalndername, Kalender_id fuer google suche: ".$calendarListEntry->getSummary()." - ".$calendarID." - ".$color.PHP_EOL."</b><br>" ;
     
         /***************** Get SysncToken to skip this calender at next update if nothing has changed **********/ 
        $events = $service->events->listEvents($calendarID, $eventParams);        
        //If the syncToken expires, the server will respond with a 410 GONE response code and the client should clear its storage and perform a full synchronization without any syncToken
        try{    
            $NextSyncToken = $events->getNextSyncToken();
        }
        catch (Exception $e) {
            if (strripos($e->getMessage(), "410") !== FALSE){
                $NextSyncToken = 'FEHLER';
            }else{
                die ('Folgender Fehler trat auf: ' . $e->getMessage());
            }
        } 
        $SyncToken = '';
       echo "SyncToken: ".$NextSyncToken.PHP_EOL."<br>";
           if ($updateCalendar == FALSE) {
            $query = "SELECT value FROM if_system WHERE name = '".$calendarID."'";
            $result = mysqli_query($dbconn, $query);
                if (mysqli_num_rows($result) > 0) {
                    $row = mysqli_fetch_assoc($result);
                     $SyncToken = $row['value'];
                }
            }    
            $insertToken .= "('".$calendarID."','".$NextSyncToken."'), ";    
            /***************** SysncToken check done *****************************************************/ 
            
            /**************** if SyncToken changed perform update ******************************/            
        if ($NextSyncToken != $SyncToken) {
            $i++;
            $deleteCalendarData .= "color='".$color."' OR ";            
                 while(TRUE) {
                     /************************ Get content from each Calendar *****************/
                  foreach ($events->getItems() as $event) {
                      //print_r($event);
                      if (!empty($event['modelData']['start']['dateTime'])) {
                          $begin = date_format(date_create($event['modelData']['start']['dateTime']), 'Y-m-d H:i:s');
                          $end = date_format(date_create($event['modelData']['end']['dateTime']), 'Y-m-d H:i:s');
                      }else{
                          $begin = $event['modelData']['start']['date'];
                          $end = $event['modelData']['end']['date'];
                      }                  
                      $title = $event->getSummary();
                         echo "Gefundene Kalender Events: ".$title." - ".$begin. " - ".$end.PHP_EOL."<br>";    
                         $insertCalendarData .= "('".$color."','".$begin."','".$end."','".$title."',''), ";    
                  }
                  $pageToken = $events->getNextPageToken();
                  if ($pageToken) {
                      echo "blubb: ".$pageToken.PHP.EOL;
                    $optParams = array('pageToken' => $pageToken);
                    $events = $service->events->listEvents($calendarListEntry->getID(), $optParams);
                  } else {
                    break;
                  }
                }
            } /********** if SysncToken changed perform update END  **********/
      } /*********** Loop through each Calendar, get id, and color END *************************/
      
      $pageToken = $calendarList->getNextPageToken();
      if ($pageToken) {
        $optParams = array('pageToken' => $pageToken);
        $calendarList = $service->calendarList->listCalendarList($optParams);
      } else {
        break;
      }
    }
    
/***************************** if SyncToken changed perform SQL-statement *********************/
    if ( $i > 0 ) {
        echo "<br><b>DELETE Events from if_Calendar: </b>".before_last('OR', $deleteCalendarData).PHP_EOL."<br>";
        echo "<br><b>Insert Token in if_system: </b>".before_last(',', $insertToken).PHP_EOL."<br>";
        echo "<br><b>Insert CalenderEvents in if_calendar: </b>".before_last(',', $insertCalendarData).PHP_EOL."<br>";
        mysqli_query($dbconn, before_last('OR', $deleteCalendarData)) or die('CalendarPlugin -> insertCalendarData:  '.mysqli_error());
        mysqli_query($dbconn, before_last(',', $insertToken)) or die('CalendarPlugin -> insertCalendarData:  '.mysqli_error());
        mysqli_query($dbconn, before_last(',', $insertCalendarData)) or die('CalendarPlugin -> insertCalendarData:  '.mysqli_error());
    }
    








/******************* Functions to strip last ',' from query-string ***********************/
        function before_last ($needle, $inthat) {
        return substr($inthat, 0, strrevpos($inthat, $needle));
         }
           
        function strrevpos($instr, $needle) {
        $rev_pos = strpos (strrev($instr), strrev($needle));
        if ($rev_pos===false) return false;
        else return strlen($instr) - $rev_pos - strlen($needle);
        }
/******************************************************************************************/


?>
- - - Aktualisiert - - -

Achja...sobald ich einen neuen Eintrag anlege, erscheinen die Termine auf dem Frame....nach einer gewissen Zeit sind diese dann wider verschwunden?!

In dem TestPlugin (der zweite Code) sind alle Einträge vorhanden...Ich hoffe ihr könnt mir helfen ;-). Danke schon einmal hierfür!


- - - Aktualisiert - - -

@all bei denen die Termine noch laufen...könntet ihr bitte den aktuellen Code mal posten bzw. einfachmal über meinen drüber schauen...Wie gesagt, führe ich das Tesplugin aus werden mir alle Termine angezeigt (Aufruf über Browser) .
 
Zuletzt bearbeitet:

bolle

Aktives Mitglied
Mitglied seit
10 Apr 2006
Beiträge
1,437
Punkte für Reaktionen
0
Punkte
36
Schade keiner eine Idee?
 

marvin424

Mitglied
Mitglied seit
28 Jun 2009
Beiträge
287
Punkte für Reaktionen
0
Punkte
16
Nö, Urlaub.

Musst du leider noch warten... :cool:
 

bolle

Aktives Mitglied
Mitglied seit
10 Apr 2006
Beiträge
1,437
Punkte für Reaktionen
0
Punkte
36
Ok , dann warte ich gerne auf Hilfe ... schönen Urlaub...
 

marvin424

Mitglied
Mitglied seit
28 Jun 2009
Beiträge
287
Punkte für Reaktionen
0
Punkte
16
Hallo bolle,

sind die Termine denn noch in der Datenbank eingetragen?
 

bolle

Aktives Mitglied
Mitglied seit
10 Apr 2006
Beiträge
1,437
Punkte für Reaktionen
0
Punkte
36
Nur , wenn ich einen neuen Termin eintrage erscheinen dann wieder welche .... aber auch nicht alle...und nach einer bestimmten Zeit sind diese dann wieder verschwinden. versteh es nicht ganz, lief bisher problemlos. Auch die abonierten Kalender werden nicht mehr angezeigt. Mit dem einen Code von oben , das ich oben gepostet habe , werden alle Einträge im Browser angezeigt. Aber das, welches eigentlich für den infoframe genutzt wird führt zu den genannten Problemen.
 

marvin424

Mitglied
Mitglied seit
28 Jun 2009
Beiträge
287
Punkte für Reaktionen
0
Punkte
16
Damit hast Du mit aber meine Frage nicht beantwortet. Sind die Termine denn noch in der Datenbank vorhanden?
 

bolle

Aktives Mitglied
Mitglied seit
10 Apr 2006
Beiträge
1,437
Punkte für Reaktionen
0
Punkte
36
Nein- keine vorhanden...
 
Zuletzt bearbeitet:

Hoobert

Neuer User
Mitglied seit
1 Sep 2008
Beiträge
91
Punkte für Reaktionen
0
Punkte
0
Kann es evtl. mit MySQL bzw. MySQLi zusammenhängen?

LG
Hoobert
 

bolle

Aktives Mitglied
Mitglied seit
10 Apr 2006
Beiträge
1,437
Punkte für Reaktionen
0
Punkte
36
Hallo,
danke... es ging plötzlich wieder - ohne Zutun von meiner Seite. Glaube das war ein Problem vom Provider...
 

h-p-d

Neuer User
Mitglied seit
2 Jul 2005
Beiträge
51
Punkte für Reaktionen
0
Punkte
6
Ich konnte mein Problem auch lösen. Mein Server läuft bei Strato. Da habe ich heute mal in's Error_Log_File gekuckt und folgende Fehlermeldung festgestellt:

A client error occurred:Could not create storage directory:/Google_Client

nach ein bisschen Googlen:

in der Datei "google-api-php-client/src/conifg.php" den Wert

PHP:
'directory' => sys_get_temp_dir() . '/Google_Client'
in

PHP:
'directory' => sys_get_temp_dir() . 'tmp/Google_Client'
geändert und jetzt läuft es wieder

ich glaube in's Log-File kucken ist gar keine schlechte Idee


 
Zuletzt bearbeitet:

Zurzeit aktive Besucher

3CX

Statistik des Forums

Themen
235,006
Beiträge
2,054,490
Mitglieder
355,395
Neuestes Mitglied
kreutzfeldt