[ABD] Simple Calendar

In diesem Forum können Mod-Autoren ihre Mods vorstellen, die sich noch im Entwicklungsstatus befinden. Der Einbau in Foren im produktiven Betrieb wird nicht empfohlen.
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.
miliduch
Mitglied
Beiträge: 13
Registriert: 04.05.2008 03:41

wie weit

Beitrag von miliduch »

wollte mal anfragen, wie weit du bist? 2wochen sind ja vorbei ... :oops:
Tifker
Mitglied
Beiträge: 317
Registriert: 01.06.2006 19:35

Beitrag von Tifker »

Ich vermute, du hast da
Code:
include($phpbb_root_path . 'calendar/cronjob.' . $phpEx);
anstelle von
Code:
require($phpbb_root_path . 'calendar/common.' . $phpEx);
stehen gelassen...
Da hast du recht gehabt! :oops:
hausmann
Mitglied
Beiträge: 105
Registriert: 02.03.2004 20:05
Wohnort: Willich
Kontaktdaten:

Beitrag von hausmann »

Guten Tag,

die Version 0.54 habe ich deinstalliert (einschl. Datenfelder) anschl. die Version 0.60 problemlos installiert.
Den Mod sehe ich im Adminbereich, kann ihn auch konfigurieren.
Sobald ich einen Eintrag im Kalender vornehme, kommt beim abspeichern folgende Fehlermeldung:

SQL ERROR [ mysqli ]

Field 'desc_text' doesn't have a default value [1364]

SQL

INSERT INTO phpbb3_cal_events (author) VALUES (3)

BACKTRACE


FILE: includes/db/mysqli.php
LINE: 143
CALL: dbal->sql_error()

FILE: calendar/common.php
LINE: 1806
CALL: dbal_mysqli->sql_query()

FILE: calendar/post_event.php
LINE: 98
CALL: cal_events::add_event()

FILE: calendar.php
LINE: 53
CALL: include('calendar/post_event.php')
Gruss Wilfried
BB-BF-BM
Mitglied
Beiträge: 2179
Registriert: 28.10.2005 16:38
Wohnort: Essen

Beitrag von BB-BF-BM »

Hallo!

@miliduch: ich habe mich verschätzt, insbesondere deshalb, weil es ja anscheinend auch Probleme bei der reinen Installation gibt. Einen Großteil dieser Probleme möchte ich euch beim Updaten ersparen (Probleme wird es vermutlich trotzdem geben).


@hausmann: der Fehler ist bereits bekannt, ich bin noch nicht dazu gekommen, ihn auch zu lokalisieren.

EDIT: Wusste ich doch: den Fehler gab es schon einmal (http://www.phpbb.de/viewtopic.php?p=952786#952786), allerdings einige Versionen früher. Wenigstens kenne ich dadurch die Lösung bereits.
Ich muss allerdings noch heraussuchen, welche Codestelle genau geändert werden muss.
Tifker
Mitglied
Beiträge: 317
Registriert: 01.06.2006 19:35

Beitrag von Tifker »

Hallo,

nach wie vor klappt das mit den Cronjob nicht! Die einzige Meldung die ich von meinem Provider per Mail bekomme ist das der Cronjob den ich angelegt habe ausgeführt wurde! Jedoch keine Erinnerung für einem Termin per PN oder Mail! In den Kalendereinstellungen und beim Termin wäre die Erinnerungsfunktion aktiviert!

Meldung vom Provider:
Sehr geehrter Herr ,

der installierte Cronjob Ihres Paketes 123456789 'Domainserver' lieferte folgende Meldung(en) zurueck:

--
EntwurfInbox GesendetWichtig
BB-BF-BM
Mitglied
Beiträge: 2179
Registriert: 28.10.2005 16:38
Wohnort: Essen

Beitrag von BB-BF-BM »

Hallo

Zunächst die Änderungen wegen "Field '*' doesn't have a default value":

Datei: /calendar/common.php
  • (ca. Zeile 1538)

    Code: Alles auswählen

    		$sql = 'INSERT INTO ' . CALENDAR_USER_DATE_TABLE . '
    				(user_id,
    				event_id,
    				dmY)
    			VALUES
    				(' . $user->id . ',
    				' . $this->id . ",
    				'" . $this->day->get_dmY() . "')";
    		$GLOBALS['db']->sql_query($sql);
    ersetzen gegen:

    Code: Alles auswählen

    		$sql = 'INSERT INTO ' . CALENDAR_USER_DATE_TABLE . '
    				(user_id,
    				event_id,
    				dmY,
    				attendance_comment)
    			VALUES
    				(' . $user->id . ',
    				' . $this->id . ",
    				'" . $this->day->get_dmY() . "',
    				'')";
    		$GLOBALS['db']->sql_query($sql);
  • (ca. Zeile 1804)

    Code: Alles auswählen

    		$sql = 'INSERT INTO ' . CALENDAR_EVENTS_TABLE . '
    			(author)
    			VALUES
    			('.$user->id.')';
    		$GLOBALS['db']->sql_query($sql);
    ersetzen gegen:

    Code: Alles auswählen

    		$sql = 'INSERT INTO ' . CALENDAR_EVENTS_TABLE . '
    			(author,
    			desc_text)
    			VALUES
    			('.$user->id.",
    			'')";
    		$GLOBALS['db']->sql_query($sql);

@Tifker: in der Datei /calendar/cronjob.php den foreach-Block (nach

Code: Alles auswählen

include($phpbb_root_path.'calendar/inc.notify.'.$phpEx);
, vor

Code: Alles auswählen

return true;
ersetzen gegen:

Code: Alles auswählen

foreach (cal_users::$users as $_user)
{
	echo "<br />\n".$_user->name.": <br />\n";
	if (!$_user->notify_mode)
	{
		continue;
	}
	$day = cal_days::get_day_by_time($now + $_user->notify_days * 86400);
	echo $day->get_dmY()."<br />\n";
	if ($dates = $day->get_dates())
	{
		$date_num = 0;
		$_dates = $_dates_bbc = array();
		foreach ($dates as $date)
		{
			echo "+ ".$date->name."<br />\n";
			if (!$_user->is_invited_to_date($date))
			{
				continue;
			}
			if (!$_user->gets_notified_of_date($date))
			{
				continue;
			}
			echo "| - notify<br />\n";
			++$date_num;
			
			$_dates[] = '* "' . $date->name . '"'."\n"
						. '<' . $date->url->get_built(false, true) . '>';
			$_dates_bbc[] = '[*]"[url=' . $date->url->get_built(false, true) . ']' . $date->name . '[/url]"';
		}
		if (!$date_num)
		{
			continue;
		}
		$vars = array(
			'DATES'		=>	implode("\n\n", $_dates),
			'DATES_BBC'	=>	'[list]' . implode("\n", $_dates_bbc) . '[/list]',
			'NOTIFY_DAYS'	=>	$_user->notify_days,
			'NOTIFY_DAY'	=>	$day->get_format($_user->day_format)
		);
		cal_notify::add_msg($_user, 'notify', $vars, false);
		echo "notify user<br />\n";
	}
}
Nun sollte beim nächsten Aufruf eine Ausgabe erfolgen, anhand derer ich den Fehler leichter finden kann.

Wenn du willst, kannst du auch die Zeilen

Code: Alles auswählen

if (cal_config::$last_cronjob == $today_dmY)
{
	return false;
}

cal_config::set('last_cronjob', $today_dmY);
am Anfang der Datei auskommentieren:

Code: Alles auswählen

/*
if (cal_config::$last_cronjob == $today_dmY)
{
	return false;
}

cal_config::set('last_cronjob', $today_dmY);
*/
Dann kannst du den Cronjob beliebig oft hintereinander durch manuelles Aufrufen der Datei /cal_cronjob.php starten und die Ausgabe direkt im Browser sehen.
hausmann
Mitglied
Beiträge: 105
Registriert: 02.03.2004 20:05
Wohnort: Willich
Kontaktdaten:

Beitrag von hausmann »

BB-BF-BM hat geschrieben:Zunächst die Änderungen wegen "Field '*' doesn't have a default value":
Danke Dir, jetzt kann ich Termine eingeben.

Wenn ich mich jedoch von einem Termin abmelde, kommt folgende Fehlermeldung:

SQL ERROR [ mysqli ]

Out of range value adjusted for column 'notify' at row 1 [1264]

Nach eine Frage: besteht die Möglichkeit, sich die Geburtstage anzusehen?
Gruss Wilfried
BB-BF-BM
Mitglied
Beiträge: 2179
Registriert: 28.10.2005 16:38
Wohnort: Essen

Beitrag von BB-BF-BM »

Hallo hausmann!

Code: Alles auswählen

 ALTER TABLE `phpbb3_cal_user_date_data` CHANGE `notify` `notify` TINYINT( 1 ) NOT NULL DEFAULT '0',
CHANGE `attendance_mode` `attendance_mode` TINYINT( 1 ) NOT NULL DEFAULT '0' 
Dieser SQL-Code dürfte auf die Schnelle das Problem beheben.


Geburtstage sollten eigentlich standardmäßig angezeigt werden. Sie werden mit dem Symbol [ externes Bild ] gekennzeichnet.
hausmann
Mitglied
Beiträge: 105
Registriert: 02.03.2004 20:05
Wohnort: Willich
Kontaktdaten:

Beitrag von hausmann »

BB-BF-BM hat geschrieben: Hallo hausmann!


Geburtstage sollten eigentlich standardmäßig angezeigt werden. Sie werden mit dem Symbol [ externes Bild ] gekennzeichnet.
Das Symbol hat bei mir leider keine Wirkung.
Gruss Wilfried
hausmann
Mitglied
Beiträge: 105
Registriert: 02.03.2004 20:05
Wohnort: Willich
Kontaktdaten:

Beitrag von hausmann »

BB-BF-BM hat geschrieben:Dieser SQL-Code dürfte auf die Schnelle das Problem beheben.
Danke Dir, es klappt.
Gruss Wilfried
Antworten

Zurück zu „[3.0.x] Mods in Entwicklung“