IPS 3.1 kann es nicht sein. Ich habe auch 3.1. Bei mir läuft noch alles. Heute extra für dich probiert.
---- Schablone per Tapatalk ----
IPS 3.1 kann es nicht sein. Ich habe auch 3.1. Bei mir läuft noch alles. Heute extra für dich probiert.
---- Schablone per Tapatalk ----
So, jetzt kann ich auch schlafen gehen.
Mit ungelösten Problemen kann ich nicht schlafen
Habe im Internet ein bißchen gestöbert und habe dann den Hinweis gefunden …
Das Problem lag an der Exception.php, da fehlte ein bißchen Code.
Nachdem ich die Zend.zip vom 1. Post nochmal geladen habe und den kompletten
Ordner nochmal ins IPS Verzeichnis kopiert habe war die Sache erledigt.
Auch die Abfrage des Monats und Jahreskalenders mit Calender ID funktioniert.
Besten Dank für Eure Hilfe.
Gruß
Manfred
Komisch! Aber nicht Komisch wie lustig.
Ich habe das ähnlich bei Zip-Dateien die ich von RWN lade.
Da fehlt mir dann auch immer die hälfte nach dem entpacken.
Ich habe aber nie wirklich verstanden warum das so ist.
Na ja. Hauptsache es läuft. -> Ich brauchte kein Dschungelkamp zu schauen!
Hatte also Vorteile. Eventuell hat ja heute Abend so gegen 22 Uhr noch jemand ein Problem!!
Ist immer das erstaunliche bei der Sendung, keiner schaut es und die Quoten steigen trotzdem
Hallo,
habe die Anleitung auf der ersten Seite befolgt.
Leider bekomme ich beim Ausführen des Skriptes diesen Error…
"
Abort Processing during Fatal-Error: mktime(): You should be using the time() function instead
Error in Script C:\ips\scripts\42972.ips.php on Line 57
"
Woran liegt das?
EDIT: Meine bisherigen Versuche…
Dann mach doch was er sagt. Ich bin erst am WE zu Hause.
Gesendet von meinem i9205 mit Tapatalk
Wenn das Script schon Variablen angelegt hat würde ich die löschen!
Gesendet von meinem i9205 mit Tapatalk
Ich habe jetzt einfach mal ganz naiv alle „mktime“ in „time“ geändert…
Jetzt hat das Skript alle Variablen angelegt
<?
/*=============================================================
skrGoogleKalenderSchreiben - Martin Heinzel - 24.11.2011
Version: 0.1
Beschreibung:
Mit diesem Script werden Termine in den Google Kalender geschrieben.
Wiederholungen:
0 = keine
1 = wöchentlich
2 = 14 Tage
3 = monatlich
4 = jährlich
Änderungen
----------
tt.mm.jjjj von Version x.x -> y.y
Beschreibung:
================================================================*/
// Variablen Deklaration --------------------------------------
//Bitte anpassen
//---------------------------------------------------------------
$user = 'xxxx'; //-> Email Adresse von Google-Mail
$pass = 'xxxx.'; //-> Passwort der Email Adresse
//---------------------------------------------------------------
// ID's
//--------------
// Kontrolle der ID's
$id_StartDay = @IPS_GetObjectIDByName("StartDay", $IPS_SELF);
// Wenn es diese Variable noch nicht gibt dann wird das Script
// zum ersten mal aufgerufen und muss eingerichtet werden.
if($id_StartDay === false)
{
// erstellen der Integer-Variablen
//=================================
//erzeugen und initialisieren der Variablen "Recur"
$id_Recur = IPS_CreateVariable(1);
IPS_SetName($id_Recur, "Recur");
IPS_SetParent($id_Recur, $IPS_SELF);
SetValueInteger($id_Recur, 0);
// erstellen der String-Variablen
//=================================
//erzeugen und initialisieren der Variablen "StartDay"
$id_StartDay = IPS_CreateVariable(3);
IPS_SetName($id_StartDay, "StartDay");
IPS_SetParent($id_StartDay, $IPS_SELF);
SetValueString($id_StartDay, date("d", time()+86400));
//erzeugen und initialisieren der Variablen "StartMonth"
$id_StartMonth = IPS_CreateVariable(3);
IPS_SetName($id_StartMonth, "StartMonth");
IPS_SetParent($id_StartMonth, $IPS_SELF);
SetValueString($id_StartMonth, date("m", time()+86400));
//erzeugen und initialisieren der Variablen "StartYear"
$id_StartYear = IPS_CreateVariable(3);
IPS_SetName($id_StartYear, "StartYear");
IPS_SetParent($id_StartYear, $IPS_SELF);
SetValueString($id_StartYear, date("Y", time()+86400));
//erzeugen und initialisieren der Variablen "StartHour"
$id_StartHour = IPS_CreateVariable(3);
IPS_SetName($id_StartHour, "StartHour");
IPS_SetParent($id_StartHour, $IPS_SELF);
SetValueString($id_StartHour, date("H", time()+86400));
//erzeugen und initialisieren der Variablen "StartMinute"
$id_StartMinute = IPS_CreateVariable(3);
IPS_SetName($id_StartMinute, "StartMinute");
IPS_SetParent($id_StartMinute, $IPS_SELF);
SetValueString($id_StartMinute, date("i", time()+86400));
//erzeugen und initialisieren der Variablen "EndDay"
$id_EndDay = IPS_CreateVariable(3);
IPS_SetName($id_EndDay, "EndDay");
IPS_SetParent($id_EndDay, $IPS_SELF);
SetValueString($id_EndDay, date("d", time()+90000));
//erzeugen und initialisieren der Variablen "EndMonth"
$id_EndMonth = IPS_CreateVariable(3);
IPS_SetName($id_EndMonth, "EndMonth");
IPS_SetParent($id_EndMonth, $IPS_SELF);
SetValueString($id_EndMonth, date("m", time()+90000));
//erzeugen und initialisieren der Variablen "EndYear"
$id_EndYear = IPS_CreateVariable(3);
IPS_SetName($id_EndYear, "EndYear");
IPS_SetParent($id_EndYear, $IPS_SELF);
SetValueString($id_EndYear, date("Y", time()+90000));
//erzeugen und initialisieren der Variablen "EndHour"
$id_EndHour = IPS_CreateVariable(3);
IPS_SetName($id_EndHour, "EndHour");
IPS_SetParent($id_EndHour, $IPS_SELF);
SetValueString($id_EndHour, date("H", time()+90000));
//erzeugen und initialisieren der Variablen "EndMinute"
$id_EndMinute = IPS_CreateVariable(3);
IPS_SetName($id_EndMinute, "EndMinute");
IPS_SetParent($id_EndMinute, $IPS_SELF);
SetValueString($id_EndMinute, date("i", time()+90000));
//erzeugen und initialisieren der Variablen "Titel"
$id_Titel = IPS_CreateVariable(3);
IPS_SetName($id_Titel, "Titel");
IPS_SetParent($id_Titel, $IPS_SELF);
SetValueString($id_Titel, "Das ist ein Termin von IPS");
//erzeugen und initialisieren der Variablen "Description"
$id_Description = IPS_CreateVariable(3);
IPS_SetName($id_Description, "Description");
IPS_SetParent($id_Description, $IPS_SELF);
SetValueString($id_Description, "Beschreibung für den IPS Testtermin");
//erzeugen und initialisieren der Variablen "Where"
$id_Where = IPS_CreateVariable(3);
IPS_SetName($id_Where, "Where");
IPS_SetParent($id_Where, $IPS_SELF);
SetValueString($id_Where, "Bocholt");
// erstellen der Bool-Variablen
//=================================
//erzeugen und initialisieren der Variablen "AllDay"
$id_AllDay = IPS_CreateVariable(0);
IPS_SetName($id_AllDay, "AllDay");
IPS_SetParent($id_AllDay, $IPS_SELF);
SetValueBoolean($id_AllDay, False);
// nach dem Anlegen das Script beenden
return;
}
else
{
$id_StartMonth = IPS_GetObjectIDByName("StartMonth", $IPS_SELF);
$id_StartYear = IPS_GetObjectIDByName("StartYear", $IPS_SELF);
$id_StartHour = IPS_GetObjectIDByName("StartHour", $IPS_SELF);
$id_StartMinute = IPS_GetObjectIDByName("StartMinute", $IPS_SELF);
$id_EndDay = IPS_GetObjectIDByName("EndDay", $IPS_SELF);
$id_EndMonth = IPS_GetObjectIDByName("EndMonth", $IPS_SELF);
$id_EndYear = IPS_GetObjectIDByName("EndYear", $IPS_SELF);
$id_EndHour = IPS_GetObjectIDByName("EndHour", $IPS_SELF);
$id_EndMinute = IPS_GetObjectIDByName("EndMinute", $IPS_SELF);
$id_Recur = IPS_GetObjectIDByName("Recur", $IPS_SELF);
$id_Titel = IPS_GetObjectIDByName("Titel", $IPS_SELF);
$id_Description = IPS_GetObjectIDByName("Description", $IPS_SELF);
$id_Where = IPS_GetObjectIDByName("Where", $IPS_SELF);
$id_AllDay = IPS_GetObjectIDByName("AllDay", $IPS_SELF);
}
// Variablen
//--------------
$StartDay = GetValueString($id_StartDay);
if(strlen($StartDay)< 2)
{
$StartDay = "0".$StartDay;
SetValueString($id_StartDay, $StartDay);
}
$StartMonth = GetValueString($id_StartMonth);
if(strlen($StartMonth)< 2)
{
$StartMonth = "0".$StartMonth;
SetValueString($id_StartMonth, $StartMonth);
}
$StartYear = GetValueString($id_StartYear);
if(strlen($StartYear)< 4)
{
$StartYear = "20".$StartYear;
SetValueString($id_StartYear, $StartYear);
}
$StartHour = GetValueString($id_StartHour);
if(strlen($StartHour)< 2)
{
$StartHour = "0".$StartHour;
SetValueString($id_StartHour, $StartHour);
}
$StartMinute = GetValueString($id_StartMinute);
if(strlen($StartMinute)< 2)
{
$StartMinute = "0".$StartMinute;
SetValueString($id_StartMinute, $StartMinute);
}
$EndDay = GetValueString($id_EndDay);
if(strlen($EndDay)< 2)
{
$EndDay = "0".$EndDay;
SetValueString($id_EndDay, $EndDay);
}
$EndMonth = GetValueString($id_EndMonth);
if(strlen($EndMonth)< 2)
{
$EndMonth = "0".$EndMonth;
SetValueString($id_EndMonth, $EndMonth);
}
$EndYear = GetValueString($id_EndYear);
if(strlen($EndYear)< 4)
{
$EndYear = "20".$EndYear;
SetValueString($id_EndYear, $EndYear);
}
$EndHour = GetValueString($id_EndHour);
if(strlen($EndHour)< 2)
{
$EndHour = "0".$EndHour;
SetValueString($id_EndHour, $EndHour);
}
$EndMinute = GetValueString($id_EndMinute);
if(strlen($EndMinute)< 2)
{
$EndMinute = "0".$EndMinute;
SetValueString($id_EndMinute, $EndMinute);
}
$Recur = GetValueInteger($id_Recur);
$Titel = GetValueString($id_Titel);
$Description = GetValueString($id_Description);
$Where = GetValueString($id_Where);
$AllDay = GetValueBoolean($id_AllDay);
$recurData = '';
//-------------------------------------------------------------
//benötigte Funktionen/Klassen
require_once 'Zend/Loader.php';
Zend_Loader::loadClass('Zend_Gdata');
Zend_Loader::loadClass('Zend_Gdata_AuthSub');
Zend_Loader::loadClass('Zend_Gdata_ClientLogin');
Zend_Loader::loadClass('Zend_Gdata_Calendar');
//--------------------------- Main ----------------------------
// Die Verbindung zum Kalender aufbauen
try
{
$client = getClientLoginHttpClient($user, $pass);
}
catch(Exception $e)
{
// prevent Google username and password from being displayed
// if a problem occurs
echo "Could not connect to calendar.";
die();
}
// Event schreiben
//================
//Auswahl der Wiederholung
Switch($Recur)
{
// keine
case 0:
//Erzeugen von Start und Endzeiten
$startDate = $StartYear.'-'.$StartMonth.'-'.$StartDay;
$endDate = $EndYear.'-'.$EndMonth.'-'.$EndDay;
$tzOffset = '+01';
if($AllDay)
{
$startTime = '';
$endTime = '';
}
else
{
$startTime = $StartHour.':'.$StartMinute;
$endTime = $EndHour.':'.$EndMinute;
}
createEvent ($client, $Titel, $Description, $Where, $startDate, $startTime, $endDate, $endTime, $tzOffset);
break;
// wöchentlich
case 1:
if($AllDay)
{
//Startzeit
$recurData = $recurData."DTSTART;TZID=Europe/Berlin:".$StartYear.$StartMonth.$StartDay."
";
//Endzeit
$recurData = $recurData."DTEND;TZID=Europe/Berlin:".$EndYear.$EndMonth.$EndDay."
";
}
else
{
//Startzeit
$recurData = $recurData."DTSTART;TZID=Europe/Berlin:".$StartYear.$StartMonth.$StartDay."T".$StartHour.$StartMinute."00"."
";
//Endzeit
$recurData = $recurData."DTEND;TZID=Europe/Berlin:".$EndYear.$EndMonth.$EndDay."T".$EndHour.$EndMinute."00"."
";
}
//wöchentlicher Termin
$recurData = $recurData."RRULE:FREQ=WEEKLY;INTERVAL=1"."
";
createRecurringEvent ($client, $Titel, $Description, $Where, $recurData);
break;
// 14 Tage
case 2:
if($AllDay)
{
//Startzeit
$recurData = $recurData."DTSTART;TZID=Europe/Berlin:".$StartYear.$StartMonth.$StartDay."
";
//Endzeit
$recurData = $recurData."DTEND;TZID=Europe/Berlin:".$EndYear.$EndMonth.$EndDay."
";
}
else
{
//Startzeit
$recurData = $recurData."DTSTART;TZID=Europe/Berlin:".$StartYear.$StartMonth.$StartDay."T".$StartHour.$StartMinute."00"."
";
//Endzeit
$recurData = $recurData."DTEND;TZID=Europe/Berlin:".$EndYear.$EndMonth.$EndDay."T".$EndHour.$EndMinute."00"."
";
}
//14 Tage Termin
$recurData = $recurData."RRULE:FREQ=WEEKLY;INTERVAL=2"."
";
createRecurringEvent ($client, $Titel, $Description, $Where, $recurData);
break;
// monatlich
case 3:
if($AllDay)
{
//Startzeit
$recurData = $recurData."DTSTART;TZID=Europe/Berlin:".$StartYear.$StartMonth.$StartDay."
";
//Endzeit
$recurData = $recurData."DTEND;TZID=Europe/Berlin:".$EndYear.$EndMonth.$EndDay."
";
}
else
{
//Startzeit
$recurData = $recurData."DTSTART;TZID=Europe/Berlin:".$StartYear.$StartMonth.$StartDay."T".$StartHour.$StartMinute."00"."
";
//Endzeit
$recurData = $recurData."DTEND;TZID=Europe/Berlin:".$EndYear.$EndMonth.$EndDay."T".$EndHour.$EndMinute."00"."
";
}
//monatlicher Termin
$recurData = $recurData."RRULE:FREQ=MONTHLY;INTERVAL=1"."
";
createRecurringEvent ($client, $Titel, $Description, $Where, $recurData);
break;
// jährlich
case 4:
if($AllDay)
{
//Startzeit
$recurData = $recurData."DTSTART;TZID=Europe/Berlin:".$StartYear.$StartMonth.$StartDay."
";
//Endzeit
$recurData = $recurData."DTEND;TZID=Europe/Berlin:".$EndYear.$EndMonth.$EndDay."
";
}
else
{
//Startzeit
$recurData = $recurData."DTSTART;TZID=Europe/Berlin:".$StartYear.$StartMonth.$StartDay."T".$StartHour.$StartMinute."00"."
";
//Endzeit
$recurData = $recurData."DTEND;TZID=Europe/Berlin:".$EndYear.$EndMonth.$EndDay."T".$EndHour.$EndMinute."00"."
";
}
//jährlich Termin
$recurData = $recurData."RRULE:FREQ=YEARLY;INTERVAL=1"."
";
createRecurringEvent ($client, $Titel, $Description, $Where, $recurData);
}
//------------------------- Main ENDE --------------------------
//------------------------ Funktionen -------------------------
/**
* Returns a HTTP client object with the appropriate headers for communicating
* with Google using the ClientLogin credentials supplied.
*
* @param string $user The username, in e-mail address format, to authenticate
* @param string $pass The password for the user specified
* @return Zend_Http_Client
*/
function getClientLoginHttpClient($user, $pass)
{
$service = Zend_Gdata_Calendar::AUTH_SERVICE_NAME;
$client = Zend_Gdata_ClientLogin::getHttpClient($user, $pass, $service);
return $client;
}
/**
* Creates an event on the authenticated user's default calendar with the
* specified event details.
*
* @param Zend_Http_Client $client The authenticated client object
* @param string $title The event title
* @param string $desc The detailed description of the event
* @param string $where
* @param string $startDate The start date of the event in YYYY-MM-DD format
* @param string $startTime The start time of the event in HH:MM 24hr format
* @param string $endDate The end date of the event in YYYY-MM-DD format
* @param string $endTime The end time of the event in HH:MM 24hr format
* @param string $tzOffset The offset from GMT/UTC in [+-]DD format (eg -08)
* @return string The ID URL for the event.
*/
function createEvent ($client, $title, $desc, $where,
$startDate, $startTime,
$endDate, $endTime, $tzOffset)
{
$gc = new Zend_Gdata_Calendar($client);
$newEntry = $gc->newEventEntry();
$newEntry->title = $gc->newTitle(trim($title));
$newEntry->where = array($gc->newWhere($where));
$newEntry->content = $gc->newContent($desc);
$newEntry->content->type = 'text';
$when = $gc->newWhen();
if($startTime == '' and $endTime == '')
{
$when->startTime = $startDate;
$when->endTime = $endDate;
}
else
{
$when->startTime = "{$startDate}T{$startTime}:00.000{$tzOffset}:00";
$when->endTime = "{$endDate}T{$endTime}:00.000{$tzOffset}:00";
}
$newEntry->when = array($when);
$createdEntry = $gc->insertEvent($newEntry);
return $createdEntry->id->text;
}
/**
* Creates a recurring event on the authenticated user's default calendar with
* the specified event details.
*
* @param Zend_Http_Client $client The authenticated client object
* @param string $title The event title
* @param string $desc The detailed description of the event
* @param string $where
* @param string $recurData The iCalendar recurring event syntax (RFC2445)
* @return void
*/
function createRecurringEvent ($client, $title, $desc, $where, $recurData)
{
$gc = new Zend_Gdata_Calendar($client);
$newEntry = $gc->newEventEntry();
$newEntry->title = $gc->newTitle(trim($title));
$newEntry->where = array($gc->newWhere($where));
$newEntry->content = $gc->newContent($desc);
$newEntry->content->type = 'text';
$newEntry->recurrence = $gc->newRecurrence($recurData);
$gc->post($newEntry->saveXML());
}
//--------------------- Funktionen ENDE ------------------------
?>
Wenn ich jetzt das Skript ein zweites Mal ausführe, dann kommt
„Could not connect to calendar.“
Edit: Der Kalender ist laut Google freigegeben…Siehe Anhang
Ist die openssl in der PHP.INI?
Schablone sein Handy.
ich bekomme es auch nicht hin, wo sehe ich die php ini
Immer wieder das Gleiche, Could not connect to calender, habe auch oben unter User und Passwort diese XML von google hinterlegt, geht alles nicht. Wenn ich in IPS nachsehe ist unter ext diese opl drin, also was dann noch?
Oder liegt es an der aktuellsten IPS?
Wie sieht die Kalendereingabe in der Webfront eigentlich aus, oder besser wie füge ich sie dann dort ein?
Hilfe wäre schon schön!!
Gesendet von meinem iPad mit Tapatalk
Ich muss erst mal mein IPS updaten. Eventuell ist das, dass Problem.
Ich melde mich!
Super danke, warte auf weitere Nachricht
Gesendet von meinem iPad mit Tapatalk
Hallo alle zusammen.
Soooo.
libeay32.zip (608 KB)
extension = php_openssl.dll
Das wars.
es kommt keine Fehlermeldung:):D, wie nun weiter, welchen link muß ich in die Webfront übernehmen damit ich dort einen neuen Termin anlegen kann?
Gruß Frank
Das steht alles im Post #7. Mit dem ausführen des Script wir der Termin eingetragen.
Schablone sein Handy.
Visu Bilder sind im Post #33.
Schablone sein Handy.
Danke für die Antwort. Funktioniert auch, der Termin wird eingetragen mit Ausführung des Skripts, die Frage ist wie ich diese schöne Ansicht jetzt in die Webfront bekomme.
Also, soll ich jetzt jeden String in die Webfront übernehmen und so die Oberfläche Gestalten, aber wie kann ich dann den Wert ändern, habe das schon probiert, habe als Link den Skript gewählt und war alles in der Webfront, wenn ich auf Skript gedrückt habe hat er einen neuen Termin angelegt mit Bocholt, aber wenn ich auf die Werte drücken will geht nichts.
Gruß Frank
Gesendet von meinem iPad mit Tapatalk
Hat keiner etwas Hilfe für mich?
Gesendet von meinem iPad mit Tapatalk
Ich habe das Problem nicht ganz verstanden. Was meinst Du mit "Wenn ich auf den Wert drücke. Was für ein Wert?
Schablone sein Handy.