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

Hi S_E_V_E_N!
Ich hoffe, das hilft dir weiter:

serverstatus.php
[Edit frank_m24: Bitte benutzt CODE Tags für solche Ausgaben.]
PHP:
<?php

error_reporting( E_ERROR );
//error_reporting( E_ALL );

// load configuration
$config = parse_ini_file("config.ini", true);
$sysconfig = $config['System'];
// include path for zend framework
if ($sysconfig['zendfw_path'] != "") {
    set_include_path(get_include_path() . PATH_SEPARATOR . $sysconfig['zendfw_path']);
}

// set locale for date/time formatting
$loc = setlocale(LC_ALL, 'de_DE.UTF8', 'de_DE', 'de', 'ge');

// includes
require_once 'library/tools.php';
 
// set the width and height of the new image in pixels
$image_width = $sysconfig['image_width'];
$image_height = $sysconfig['image_height'];

// create simple black image
$im = ImageCreateTrueColor($image_width, $image_height);
$backgroundcol = ImageColorAllocate($im, 0, 0, 0);
ImageFillToBorder($im, 0, 0, $backgroundcol, $backgroundcol);

// copy (resized) background image on background
$bgimagefile = 'resources/background.jpg';
$bg = @ImageCreateFromJpeg ($bgimagefile); /* Hintergrundbild darstellen */
if ($bg) {
    imagecopyresampled($im, $bg, 0, 0, 0, 0, $image_width, $image_height, imagesx($bg), imagesy($bg));
}

$style = array(); 
$style['textcolor'] = ImageColorAllocate ($im, 255, 255, 255);
$style['textcolor_rt'] = ImageColorAllocate ($im, 255, 0, 0);
$style['textcolor_gn'] = ImageColorAllocate ($im, 0, 255, 0);
$style['font'] = 'resources/calibri.ttf';
$style['fontb'] = 'resources/calibrib.ttf';

$opt = array(
    'width' => 450,
    'align' => ALIGN_LEFT
);
imagettftextboxopt($im, 72, 0, 20, 25, $style['textcolor'], $style['font'], strftime("%H:%M"), $opt);

//$fp = fsockopen("213.239.204.105",80,&$errno,&$errstr,2);
$fp = fsockopen("213.239.204.105",80);
if(!$fp)
{
imagettftextboxopt($im, 16, 0, 350, 80, $style['textcolor_rt'], $style['fontb'], 'offline', $opt);

}
else
{
imagettftextboxopt($im, 16, 0, 350, 80, $style['textcolor_gn'], $style['fontb'], 'online', $opt);

}
fclose($fp);

// set the HTTP header type to jpeg
header("Content-type: image/jpeg"); 
// send the new PNG image to the browser
ImageJpeg($im);
// destroy the reference pointer to the image in memory to free up resources
ImageDestroy($im); 

?>
 
Zuletzt bearbeitet:
Habe hier ein Problem mit meiner Datenbank und dem Calendar Plugin. Mein Anbieter hatte einen Serverschaden und hat nun den Server ausgetauscht. MEine Daten waren natürlich erstmal schrott. Aber ich habe ja noch ein Backup welches ich dann zurückgespielt habe. Nun geht alles bis auf den Kalender. Er zeigt mir zwar die einträge aber nicht den "Titel" sondern lediglich die Uhrzeit, Datum und dann noch den Ort. Aber wie das Event heißt fehlt. In der Datenbank wird auch nichts hinterlegt bzw. ruft das Script den Titel nicht ab. Habe dann mal auf die php Version geschaut und siehe da, es ist die 5.1.6. Zuerst dachte ich es leigt am Zend Framework. Die bereits installierte Version war die aus dem ersten Post also die 1.8.4 Pach 1. Nun habe ich die Version 1.8.1 und es geht immer noch nicht. Bin jetzt langsam am verzweifeln, was kann ich noch probieren? Oder wie kann ich es wieder so hinbekommen damit es passt. Auf meinem QNAP Server läuft es einwandfrei. Die selben Scripte.
 
Hallo ilmtuelp0815

//$fp = fsockopen("213.239.204.105",80,&$errno,&$errstr,2);
$fp = fsockopen("213.239.204.105",80);
if(!$fp)
{
imagettftextboxopt($im, 16, 0, 350, 80, $style['textcolor_rt'], $style['fontb'], 'offline', $opt);

}
else
{
imagettftextboxopt($im, 16, 0, 350, 80, $style['textcolor_gn'], $style['fontb'], 'online', $opt);

}
fclose($fp);

Damit bin ich weitergekommen, funzt so prima....

Danke


Noch eine Anmerkung am Rande:

Das Google Wetter API ist auch nicht immer mit dem aktuellen Wetter vor Ort konform??!!

Gibts da was besseres?
 
Hat jemand schonmal probiert mit den Fotos aus dem Fritzbox Telefonbuch zu spielen? Hab das gestern mal probiert und musste allerdings gleich feststellen, dass die Fritzbox einen mir (noch) nicht zugänglichen Dateinamen verwendet. Scheint eventuell die interne ID des Kontakts zu sein. Bleibt also die Frage, wie ich an hand der ankommenden Rufnummer, den richtigen Dateinamen ermitteln kann. Weiß das hier zufällig jemand?
Danke!

Ciao Stefan :)
 
Fotos aus dem Telefonbuch? Hab ich da was verpasst??? :)
Aktuelle Fritzboxen mit aktueller Firmware stellen auf den MT-Fs etc. auch Anrufbilder dar. Wenn Sie irgendwo auf dem Stick liegen. Keine Ahnung, wie das bei Freetz ist ...
 
@Loewe81: Das ist die Unixtime zu der das Foto gespeichert wird, daran ein -0 angehängt.
http://www.unixtime.de/index.php?calc=1
Die Variante macht eine Zuordnung nicht gerade leicht, da ja nur fest steht wann das Foto gespeichert wurde.
 
Zuletzt bearbeitet:
Das ist die Unixtime zu der das Foto gespeichert wird, daran ein -0 angehängt.
Boah, das ist ja schlechter als schlecht! Aber dennoch muss ja die Fritzbox bzw. das MT-F selbst auch wissen welches Bild es jetzt bei einem bestimmten Anrufer anzeigen soll. Irgendwie muss es ja ein internes Mapping geben.
Oder man lässt die Fotos in der Fritzbox Konfiguration einfach weg (ich selbst habe eh kein AVM Telefon, mit dem ich das nutzen könnte) und legt die Bilder mit entsprechenden Mapping gleich auf dem Server ab, der das Bild für den Infoframe generiert. Wobei man dann wieder noch einen zusätzlichen Datenbestand hätte, was das Thema Synchronistaion nicht gerade vereinfacht.
Weitere Vorschläge?

Ciao Stefan :)
 
Ist jemand bei Speicheranbieter.de? Kann man diesen für unser Projekt benutzen? Erfahrungen??
 
Hi,

so nun habe ich schon wirklich alles ausprobiert, wie kann ich im Callmonitor in den Listners eine kurzwahl für mein Infoframe einrichten? Z.b. für das Kalender Plugin!

Helft mir bitte

Gruß Olli
 
Hi dampfkessel83!
Um dir die von dir erwünschte Hilfe vielleicht zukommen zu lassen wäre es m.E. angebracht, dass du uns mitteilst, was du denn "wirklich schon alles ausprobiert" hast. ;)
Ich verwende ja den gleichen Frame wie du. Noch nicht ganz klar ist mir dein Vorhaben mit dem Callmonitor. Dieser reagiert ja auf ein- und/oder ausgehende Rufe. Wenn du eine bestimmte Nummer anrufst, soll der Kalender angezeit werden?
 
Er meint bestimmt sowas, wie bgx im Beitrag 113 geschrieben hat.

Ciao Stefan :)
 
Ich habe mich nochmal mit den Fotos aus dem Telefonbuch beschäftigt und rausgefunden, dass im HTML-Code der Telefonbuchseite das entsprechende Mapping zu finden ist. Hab mir gerade auch schon ein kleines Testscript geschrieben, was die Seite parsed und den entsprechenden Dateinamen basierend auf dem Kontaktnamen zurückliefert. Ich frage mich jetzt allerdings wie ich die entsprechende URL der Fritzbox mit dem Passwortschutz per PHP öffnen kann.
Kann mir da vielleicht jemand auf die Sprünge helfen?
Danke!

Ciao Stefan :)
 
Er meint bestimmt sowas, wie bgx im Beitrag 113 geschrieben hat.
Ja da hast du recht habe es einigeremaßen hinbekommen!
Da der Callmonitor aber keine Raute # und keine Sterne * interpretiert hab ich es anders gelöst hier mal ein Beispiel:
Listeners Eintragungen
Code:
out:*   ^  ^0031$     /var/tmp/infoframev110/refresh.sh "action=seiten&seite=1"
out:*   ^  ^0032$     /var/tmp/infoframev110/refresh.sh "action=seiten&seite=2"
in der Index.php:
PHP:
// Prüfen ob eine bestimmte Seite angezeigt werden soll
  $query  = "SELECT value FROM if_system where name = 'page'";
  $result = mysql_query($query, $dbconn);
  $page_row = mysql_fetch_assoc($result);
  $db_page = $page_row['value'];
  $g_page = $_GET['seite'];
  $g_action = $_GET['action'];
   
  
  if( ($g_action = 'pages') ) // Wenn andere Seite angezeigt werden soll
   {
    if($db_seite != $g_page)
     {
      $query = "UPDATE if_system SET value = '".$g_page."' WHERE name = 'page'";
  		mysql_query($query, $dbconn) or die('Error, insert query failed: '.mysql_error());
      $db_page = $g_seite;
     }
   }

PHP:
if ($db_page > 1)
 {
  $seite = $db_page;
$opt2 = array(
    'width' => 250,
    'align' => ALIGN_RIGHT
);
imagettftextboxopt($im, 12, 0, 0, imagesy($im)-15, $style['textcolor'], $style['font'], "action=seiten&seite=".$seite, $opt2);
 
 }

nun habe ich noch 0031 auf kurzwahltaste 2 und 0032 auf taste 3 gelegt klappt es gut
bin nun am verfeinern. Nach einer bestimmten zeit wieder auf Seite 1 springen usw.

Gruß Olli
 
Holst du die Datei mit wget? Dann eigentlich mit --user=Benutzername --password=Passwort
http://www.linux-fuer-blinde.de/87-0-download-manager-wget.html URL soll dir helfen und keine Anspielung sein!
Passt schon ;), aber ich für meine Verhältnisse muss bei meiner Fritzbox WebGUI nur ein Passwort eingeben ohne irgendeinen Benutzernamen.
Daher kommt eigentlich meine Frage (hätte ich vielleicht auch gleich mit dazu schreiben sollen).
Ich wollte mir den Inhalt der Seite mit fopen oder file_get_contents holen.
Aber ich frage mich wie gesagt, ob die entsprechende Syntax auch funktioniert, wenn ich nur ein Passwort angebe ohne Benutzernamen (oder hat die WebGUI einen "versteckten" Benutzer, welcher immer automatisch genommen wird)?
Danke!

Ciao Stefan :)
 
Speicheranbieter.de

Also Speicheranbieter klappt und der Domainumzug + Support ist echt Super. Bin jetzt von SteflaWeb weg, da die einen PHP 5.1.6 Version benutzen und die nicht mehr 100% kompatibel mit unserem Projekt ist. (Vor dem Server Crash hatten die aber 5.2.x :blonk:)

@Loewe81: hast Du noch alles auf deinem QNAP? Bei mir geht zwar alles und ich hatte es auch schon Pilotweise komplett drauf laufen, ABER: Ich habe eine WD Green Platte drin, und diese lässt (Dank des Power Saving Mode) meinen Load Cycle Count extrem in die höhe schnellen. Würde ich alles auf dem QNAP laufen lassen wollen, sollte / müsste ich mir eine andere Platte reinschrauben, denn die WD wäre spätestens in 1 - 2 jahren :beerdigu:
 
Ja da hast du recht habe es einigeremaßen hinbekommen!
Da der Callmonitor aber keine Raute # und keine Sterne * interpretiert hab ich es anders gelöst hier mal ein Beispiel:
Listeners Eintragungen
Code:
out:*   ^  ^0031$     /var/tmp/infoframev110/refresh.sh "action=seiten&seite=1"
out:*   ^  ^0032$     /var/tmp/infoframev110/refresh.sh "action=seiten&seite=2"
Hi Olli,

in #931 hast du kurz das Kalender Plugin angesprochen. Funktioniert der Aufruf bei dir? Deine Listener habe ich so nachvollziehen können und mein Listener, den Freetz als "SUCCEEDED" auswertet, sieht so aus:

Code:
out:* ^ ^0031$ /var/tmp/infoframe/refresh.sh "action=kalender"

Allerdings wird die Monatsübersicht auf meinem InfoFrame leider nicht angezeigt.
Wenn sowohl der Listener als auch mein CallMonitor funktionieren, kann es ja eigentlich nur am Kalender Plugin liegen, oder?

Ich verwende absolut unverändert die CalendarPlugin.php von bgx aus dem infoframe.zip Paket aus #129. Gibt da noch irgendetwas anzupassen oder zu beachten?
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.