MyBB.de Forum
Kalender Extern anzeigen - Druckversion

+- MyBB.de Forum (https://www.mybb.de/forum)
+-- Forum: Sonstiges (https://www.mybb.de/forum/forum-1.html)
+--- Forum: Programmierung (https://www.mybb.de/forum/forum-32.html)
+--- Thema: Kalender Extern anzeigen (/thread-2667.html)

Seiten: Seiten: 1 2


Kalender Extern anzeigen - ghostrider-222 - 01.08.2006

Hi

Ich würde gerne auf einer leeren weissen Internet PageWink die nächsten 7 Tag des Kalenders vom MyBB Forum darstellen.
Einfach ganz simple:

Dienstag, 2.8.2006
   -Event1
Mittwoch, 3.8.2006
   -Event2
Donnerstag, 4.8.2006
   -Event3
Freitag, 5.8.2006
   -Event4

usw. bis und mit Montag, 8.8.2006

Ich denke, dass sollte nicht schwer sein. Für einen wie mich, der beinahe keine Ahnung hat von PHP jedoch schon Rolleyes

Vielen Dank!    


RE: Kalender Extern anzeigen - Michael - 03.08.2006

Speichere folgenden Code in einer PHP-Datei und ändere ggf. die Angaben am Anfang:
PHP-Code:
<?php
### Events der nächsten x Tage ###
define("NO_ONLINE""1");
// Pfad zum Forum/global.php
require("forum/global.php");
// Anzahl der Tage
$futuredays "7";

$now mktime(000date("m"), date("d"), date("Y"), 0);
$future $now $futuredays 86400;
    
// Events aus Datenbank holen
$query $db->query("SELECT * FROM ".TABLE_PREFIX."events WHERE private = 'no'");

// Mehrdimensionales Array aufbauen
$i 0;
$event = array();
while(
$events $db->fetch_array($query)) {
    
$eventdate explode("-"$events['date']);
    
$dateline mktime(000$eventdate['1'], $eventdate['0'], $eventdate['2'], 0);
    
    if(
$dateline >= $now && $dateline <= $future) {
        
$event[] = array($events['eid'], $events['subject'], $dateline);
        
$i++;
    }
}

// Funktion zum Sortieren
function compare ($val1$val2) {
    
$a $val1['2'];
    
$b $val2['2'];
    if(
$a == $b) return "0";
    elseif (
$a $b) return "1";
    else return 
"-1";
}

// Keine Events?
if($i == "0") {
    echo 
"Keine Termine vorhanden";
} else {
    
// Events sortieren und ausgeben
    
usort($eventcompare);
    
$sep "";
    foreach(
$event as $key=>$element) {
        echo 
$sep."<a href=calendar.php?action=event&amp;eid=".$element['0']."\">".htmlentities($element['1'])." (".mydate($mybb->settings['dateformat'], $element['2']).")</a>";
        
$sep "<br />";
    }
}
### Events der nächsten x Tage ###
?>



RE: Kalender Extern anzeigen - ghostrider-222 - 03.08.2006

Wow super, vielen Dank!

Leider bekomme ich, wenn ich die Datei aufrufe folgenden Fehler:

Zitat:Parse error: syntax error, unexpected '<', expecting T_STRING or T_VARIABLE or '{' or '$' in /usr/export/www/vhosts/funnetwork/hosting/mkportalmybb/kalenderextern.php on line 13

kalenderextern.php ist die Datei mit deinem PHP-Code


MyBB Version ist 1.1.7

Hab die Seite auf Funpic.de
http://mkportalmybb.mk.funpic.de

Admin-Login: (sowohl mybb wie auch mkportal)
Username: mkportalmybb
Passwort: mkportalmybb

FTP-Login:
ftp://mkportalmybb.mk.funpic.de
Username: mkportalmybb
Passwort: mkportalmybb


Ich hoffe du kannst mir auch bei diesem Problem helfen Smile




RE: Kalender Extern anzeigen - Mak - 03.08.2006

Du sollst den Code in eine neue Datei schreiben und nicht in eine bestehende einfügen. Ich glaube, das hast du falsch verstanden, oder? Smile


RE: Kalender Extern anzeigen - ghostrider-222 - 03.08.2006

Ja, das mag etwas verwirrend tönen, aber es ist eine neue Datei. Sie liegt im Verzeichnis ausserhalb des Forums.
Von mir aus benenne ich die datei um in kalenderextern.php

So jetzt sollte es klar sein.


RE: Kalender Extern anzeigen - ghostrider-222 - 04.08.2006

Hier noch der Code, in der fehlerhaften Zeile 13:

PHP-Code:
$query $db-><title>Events der n&auml;chsten Tage</title>query("SELECT * FROM ".TABLE_PREFIX."events WHERE private = 'no'"); 

Ich hoffe jemand kann damit was anfangen.

EDIT: Michael hast du den Code verändert? Als ich ihn das erste mal kopiert habe war es so:

PHP-Code:
$query $db-><title>Events der n&auml;chsten Tage</title>query("SELECT * FROM ".TABLE_PREFIX."events WHERE private = 'no'"); 

Und nun ist es so:

PHP-Code:
$query $db->query("SELECT * FROM ".TABLE_PREFIX."events WHERE private = 'no'"); 

Was hat jetzt das zu bedeuten? Nun kommt nämlich ein zweiter Fehler, beim neuen Code:

Zitat:Warning: main(./inc/init.php): failed to open stream: No such file or directory in /usr/export/www/vhosts/funnetwork/hosting/mkportalmybb/mybb/global.php on line 26

Fatal error: main(): Failed opening required './inc/init.php' (include_path='.:') in /usr/export/www/vhosts/funnetwork/hosting/mkportalmybb/mybb/global.php on line 26

Hab jetzt halt 2 Datein auf dem server liegen:
kalenderextern.php (mit dem neuen Code)
kalenderexternalt.php (mit dem alten Code)


RE: Kalender Extern anzeigen - Mak - 04.08.2006

Der Pfad zur global.php stimmt nicht:
Code:
// Pfad zum Forum/global.php
require("forum/global.php");
Den musst du entsprechend ändern.


RE: Kalender Extern anzeigen - Michael - 04.08.2006

Zu 1) Nein, ich habe den Code nicht geändert.

Zu 2) Ersetze
PHP-Code:
// Pfad zum Forum/global.php
require("forum/global.php"); 
bitte durch:
PHP-Code:
// Pfad zum Forum/global.php
chdir("forum/");
require(
"global.php"); 



RE: Kalender Extern anzeigen - ghostrider-222 - 04.08.2006

Fantastisch Big Grin
Jetzt funktionniert es, Michael du bist ein Held! Big Grin
Das mit dem Code wird wohl etwas mit meinem Dreamweaver zu tun gehabt haben.

Ich hab aber noch eine Frage:
Da ich ja mit dem MyBB und dem MkPortal zusammen arbeite, würde es mich interessieren, wie ich dieses PHP-Script (wenn möglich ohne IFrame) in einen Block im MkPortal integrieren könnte.

Zugangsdaten:
http://mkportalmybb.mk.funpic.de

Admin-Login: (sowohl mybb wie auch mkportal)
Username: mkportalmybb
Passwort: mkportalmybb

FTP-Login:
ftp://mkportalmybb.mk.funpic.de
Username: mkportalmybb
Passwort: mkportalmybb

Ach ja, und noch etwas anderes: Wie kann ich die Ausgabe des Scripts mit einer css Datei verändern, damit ich die Schrift etc. anpassen kann?

Vielen Dank!


RE: Kalender Extern anzeigen - Mak - 05.08.2006

Poste nie, aber auch wirklich niemals deine FTP Zugangsdaten im Web, das kann übel enden.


Diesen Code:
PHP-Code:
// Keine Events?
if($i == "0") {
    echo 
"Keine Termine vorhanden";
} else {
    
// Events sortieren und ausgeben
    
usort($eventcompare);
    
$sep "";
    foreach(
$event as $key=>$element) {
        echo 
$sep."<a href=calendar.php?action=event&amp;eid=".$element['0']."">".htmlentities($element['1'])." (".mydate($mybb->settings['dateformat'], $element['2']).")</a>";
        
$sep = "<br />";
    }


mit
PHP-Code:
// Keine Events?
if($i == "0") {
    echo 
"<div class='excal'>Keine Termine vorhanden</div>";
} else {
    
// Events sortieren und ausgeben
    
usort($eventcompare);
    
$sep "";
    foreach(
$event as $key=>$element) {
        echo 
$sep."<div class='excal'><a href=calendar.php?action=event&amp;eid=".$element['0']."">".htmlentities($element['1'])." (".mydate($mybb->settings['dateformat'], $element['2']).")</a></div>";
        
$sep = "<br />";
    }


ersetzen. Dann kannst du ganz normal mit css (class ist excal) formatieren.