[ABD] Simple Calendar
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Versuch einmal folgendes:
Füge in der Datei calendar/functions.php am Ende folgende Funktion ein:
Bei musst du statt der 0 die IDs der Foren eintragen, durch Kommas getrennt.
In deinem alten Forum müsste da dann stehen:
Dann musst du noch in der gleichen Datei
mit ersetzen.
Ich hoffe, das funktioniert!
Füge in der Datei calendar/functions.php am Ende folgende Funktion ein:
Code: Alles auswählen
function get_private_birthdays_as_events()
{
$events = array();
$forum_ids = '0';
$sql = 'SELECT post_id, post_subject, post_text, bbcode_uid, bbcode_bitfield, enable_bbcode, enable_smilies, enable_magic_url
FROM ' . POSTS_TABLE . '
WHERE forum_id IN ('.$forum_ids.')';
$result = $GLOBALS['db']->sql_query($sql);
while ($row = $GLOBALS['db']->sql_fetchrow($result))
{
$bday = explode('.', substr($row['post_text'], -10));
$bday = array((int)$bday[0], (int)$bday[1], (int)$bday[2]);
$cond = array(
'start' => (string) gmmktime(0, 0, 0, $bday[1], $bday[0], $bday[2]),
'end' => '',
'week_of_month' => '',
'week_of_month_begin' => '',
'week_of_year' => '',
'week_of_year_begin' => '',
'w' => '',
'd' => (string) $bday[0],
'm' => (string) $bday[1],
'Y' => '',
'anti' => 0,
'priority' => 1
);
$flags = ($row['enable_bbcode'] ? 1 : 0) + ($row['enable_smilies'] ? 2 : 0) + ($row['enable_magic_url'] ? 4 : 0);
$desc_edit = decode_message($row['post_text']);
$events[] = array(
'event_url' => append_sid("{$GLOBALS['phpbb_root_path']}viewtopic.{$GLOBALS['phpEx']}", 'p='.$row['post_id']),
'event_name' => sprintf($GLOBALS['user']->lang['_BIRTHDAY_OF'], $row['post_subject']),
'event_desc_edit' => $desc_edit,
'event_desc_clean' => generate_text_for_display($row['post_text'], $row['bbcode_uid'], $row['bbcode_bitfield'], $flags),
'author' => ANONYMOUS,
'cat_id' => CAL_BIRTHDAY_CAT,
'conditions' => array($cond),
);
}
$GLOBALS['db']->sql_freeresult($result);
return $events;
}
Code: Alles auswählen
$forum_ids = '0';
In deinem alten Forum müsste da dann stehen:
Code: Alles auswählen
$forum_ids = '11,12,13,14,15,16,17,18,19,20,21,22';
Dann musst du noch in der gleichen Datei
Code: Alles auswählen
function collect_events($refresh = false)
{
static $events = array();
if ($events && !$refresh)
{
return $events;
}
else
{
$events = array();
$events = array_merge($events, get_events_from_db());
$events = array_merge($events, get_birthdays_as_events());
return $events;
}
}
Code: Alles auswählen
function collect_events($refresh = false)
{
static $events = array();
if ($events && !$refresh)
{
return $events;
}
else
{
$events = array();
$events = array_merge($events, get_events_from_db());
$events = array_merge($events, get_birthdays_as_events());
$events = array_merge($events, get_private_birthdays_as_events());
return $events;
}
}
Ich hoffe, das funktioniert!
Zuletzt geändert von BB-BF-BM am 27.09.2007 16:40, insgesamt 2-mal geändert.
So, hab die Änderungen jetzt gemacht (originale functions natürlich gespeichert
) und es kommt folgende Fehlermeldung:
[/code]

Code: Alles auswählen
SQL ERROR [ mysql5 ]
Unknown column 'bbcode_options' in 'field list' [1054]
SQL
SELECT post_id, post_subject, post_text, bbcode_uid, bbcode_bitfield, bbcode_options, enable_bbcode, enable_smilies, enable_magic_url FROM phpbb3_posts WHERE forum_id IN (11,12,13,14,15,16,17,18,19,20,21,22)
BACKTRACE
FILE: includes/db/mysql.php
LINE: 158
CALL: dbal_mysql->sql_error()
FILE: calendar/functions.php
LINE: 1526
CALL: dbal_mysql->sql_query()
FILE: calendar/functions.php
LINE: 82
CALL: get_private_birthdays_as_events()
FILE: calendar.php
LINE: 151
CALL: collect_events()
tausche im hinzugefügten Code gegen folgenden aus:
Code: Alles auswählen
$sql = 'SELECT post_id, post_subject, post_text, bbcode_uid, bbcode_bitfield, bbcode_options, enable_bbcode, enable_smilies, enable_magic_url
FROM ' . POSTS_TABLE . '
WHERE forum_id IN ('.$forum_ids.')';
Code: Alles auswählen
$sql = 'SELECT post_id, post_subject, post_text, bbcode_uid, bbcode_bitfield, enable_bbcode, enable_smilies, enable_magic_url
FROM ' . POSTS_TABLE . '
WHERE forum_id IN ('.$forum_ids.')';
jetzt kommt folgendes:
Und hier die Zeilen 1523-1544 meiner geänderten funktions.php
Code: Alles auswählen
Fatal error: Call to undefined function: sub_str() in /homepages/14/d200439175/htdocs/mamitas/phpBB3/calendar/functions.php on line 1529
Code: Alles auswählen
$sql = 'SELECT post_id, post_subject, post_text, bbcode_uid, bbcode_bitfield, enable_bbcode, enable_smilies, enable_magic_url
FROM ' . POSTS_TABLE . '
WHERE forum_id IN ('.$forum_ids.')';
$result = $GLOBALS['db']->sql_query($sql);
while ($row = $GLOBALS['db']->sql_fetchrow($result))
{
$bday = explode('.', sub_str($row['post_text'], -10));
$bday = array((int)$bday[0], (int)$bday[1], (int)$bday[2]);
$cond = array(
'start' => (string) gmmktime(0, 0, 0, $bday[1], $bday[0], $bday[2]),
'end' => '',
'week_of_month' => '',
'week_of_month_begin' => '',
'week_of_year' => '',
'week_of_year_begin' => '',
'w' => '',
'd' => (string) $bday[0],
'm' => (string) $bday[1],
'Y' => '',
'anti' => 0,
'priority' => 1
);
ok, ersetze mit
Code: Alles auswählen
$bday = explode('.', sub_str($row['post_text'], -10));
Code: Alles auswählen
$bday = explode('.', substr($row['post_text'], -10));
Ich hab das jetzt geändert, es sind keinerlei Fehlermeldungen mehr da.
Allerdings aber zeigt er auch nichts aus Forum an. Am 20.10. müsste etwas stehen, was im Forum auch steht. Wie muss ich denn jetzt die Termine am besten eintragen ?
Mein anderes Problem ist, das ich schon vor Tagen Kategorien angelegt habe, 3 um genau zu sein. Leider nimmt er offensichtlich im Kalnder nur eine davon an. Was hab ich denn da falsch gemacht ? Im ACP aber werden mir alle drei angezeigt.
Allerdings aber zeigt er auch nichts aus Forum an. Am 20.10. müsste etwas stehen, was im Forum auch steht. Wie muss ich denn jetzt die Termine am besten eintragen ?
Mein anderes Problem ist, das ich schon vor Tagen Kategorien angelegt habe, 3 um genau zu sein. Leider nimmt er offensichtlich im Kalnder nur eine davon an. Was hab ich denn da falsch gemacht ? Im ACP aber werden mir alle drei angezeigt.
Hast du für alle Kategorien auch die entsprechenden Rechte vergeben?
Die Geburtstage werden in der Kategorie angezeigt, in der auch phpBB-interne Geburtstage angezeigt werden, sofern du dort eine Kategorie gewählt hast.
Wenn du das nicht möchtest, musst du CAL_BIRTHDAY_CAT mit der Kategorie-ID ersetzen.
BTW: Die Foren-IDs hast du überprüft?
Die Geburtstage werden in der Kategorie angezeigt, in der auch phpBB-interne Geburtstage angezeigt werden, sofern du dort eine Kategorie gewählt hast.
Wenn du das nicht möchtest, musst du CAL_BIRTHDAY_CAT mit der Kategorie-ID ersetzen.
BTW: Die Foren-IDs hast du überprüft?
Problem mit den ID's ist, das in meiner Datenbank keine namen stehen sondern nur was mit BOT und ne kb zahl.
ich bin dann einfach im ACP im Register Foren mit der Maus auf den Entprechenden Foren gefahren und dann stand unten in der Statusleiste im Link ne ID. Und es stimmte sogar mit dem ein, was du geschrieben hast, also hat er wohl die ID's aus dem alten Forum übernommen.
Welche Rechte in den kategorien ? Wie mach ich das denn ? Genau wie mit den Foren ?
Im Kalender hatte ich eingestellt, das er Foreninterne Birthdays in der Kategorie Geburtstage (von mir im ACP erstellt) ausgeben soll. Hatte auch geklappt.
Hatte es dann aber ausgestellt, weiß auch nicht warum. Muss ich mal nochmal aktivieren.
ich bin dann einfach im ACP im Register Foren mit der Maus auf den Entprechenden Foren gefahren und dann stand unten in der Statusleiste im Link ne ID. Und es stimmte sogar mit dem ein, was du geschrieben hast, also hat er wohl die ID's aus dem alten Forum übernommen.
Welche Rechte in den kategorien ? Wie mach ich das denn ? Genau wie mit den Foren ?
Im Kalender hatte ich eingestellt, das er Foreninterne Birthdays in der Kategorie Geburtstage (von mir im ACP erstellt) ausgeben soll. Hatte auch geklappt.
Hatte es dann aber ausgestellt, weiß auch nicht warum. Muss ich mal nochmal aktivieren.