[CLOSED] 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 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
BB-BF-BM
Mitglied
Beiträge: 2179
Registriert: 28.10.2005 16:38
Wohnort: Essen

Beitrag von BB-BF-BM »

@Stanley: die Alphabetische Sortierung und die Auslagerung des Cronjobs habe ich in meine ToDo aufgenommen. Zu den Templates: Solche Anpassungen sollte meiner Meinung nach wirklich jeder für sich selbst durchführen.

@NoLeader: Der erste Fehler war ein Denkfehler meinerseits. Er wird erst in Version 0.5.0 verbessert werden.
Der andere Änderungsvorschlag wird ebenfalls in Version 0.5.0 enthalten sein.

Ich werde mich jetzt zunächst der Entwicklung von 0.5.0 widmen, was einige Zeit in Anspruch nimmt.
StanleyG
Mitglied
Beiträge: 71
Registriert: 10.12.2006 20:33

Beitrag von StanleyG »

NoLeader hat geschrieben:Hallo, ich bins noachmal :)

Bug: Die "Nächste Termine" werden nicht nach aufsteigender Datumsreihenfolge sortiert.
Ja, sie werden jetzt in der Reihenfolge ausgegeben, wie sie in der Datenbank erfasst sind (d.h. unsortiert).
Aber BB-BF-BM hat schon für die nächste Version eine Sortierung angekündigt. Wir sollten also etwas Geduld haben.
Kannst du mir ausserdem noch einen Tipp geben, wie ich die Kategorien in den "Nachsten Teminen" anzeigen kann?
Wo hast Du die Box Nächste Termine? Auf der Kalenderseite oder auf einer Portalseite?
Ich habe die Box Nächste Termine auf die Portalseite gesetzt, dazu gibt es hier im Thread irgendwo vom Autor einen Download.
Den habe ich dann um die Anzeige der Kategorien erweitert, d.h. bei mir sieht es so aus: Kategorie: <a>Terminbezeichnung, Datum</a>
(d.h. Terminbezeichnung mit Datum sind als Link zum Termin im Kalender ausgelegt).
Stanley
Benutzeravatar
buegelfalte
Mitglied
Beiträge: 759
Registriert: 16.02.2005 14:32
Wohnort: Köln
Kontaktdaten:

Beitrag von buegelfalte »

Moin,

also bei mir geht nach dem Update auf 0.4.0 der Kalender überhaupt nicht mehr :(
Hab schon den ganzen Thread durch und die kleineren Bugfixes nachgeschoben, die hier gepostet wurden (wäre nicht schlecht, wenn die in dem Archiv, was man sich runterlädt, direkt drin wären !), aber es hilft nicht.

Mit Klick auf Kalender passiert einfach NICHTS, das Skript lädt sich n Wolf, aber das wars dann auch ...

B.
http://www.beehave.de - home of humbug - und zocken !
[kein Support per PN]
NoLeader
Mitglied
Beiträge: 16
Registriert: 25.04.2007 18:26

Beitrag von NoLeader »

Hallo StanleyG,

Ja ich habe die Nächsten Termine auf der Portalseite, wie du beobachten kannst war das der Vorschlag meinerseits,

BB-BF-BM, hat mir dann geholfen die portal.php zu modifizieren,


doch wie muss man diese portal.php modifizieren, so dass die Variable "Kategorie" in die .tpl zu gebrauchen ist...?

Ich danke für die Erklärung.

@BB-BF-BM: Mach weiter so, der Mod ist einfach "Zauberhaft" ;-)
Surfer90
Mitglied
Beiträge: 19
Registriert: 28.02.2007 22:49
Wohnort: Bonn
Kontaktdaten:

Beitrag von Surfer90 »

BB-BF-BM hat geschrieben:
EDIT
@Surfer90:
Verlinke mal die overall_header.tpl!
Ich habe den Verdacht, dass die Eventlist ebenfalls den Template-Block "event" nutzt (auch wenn ich mir nicht vorstellen kann, wofür).
overall_header.txt

Die Eventlist habe ich vor deinem Kalendar eingefügt (da kannte ich den noch noch net)....also auf die könnte ich verzichten

PS: Es tut mir schon fast leid, dass ich dir ständig fragen stelle, wenn ich so sehe, wie viele hier fragen haben -> NOchma danke für den SupporT
StanleyG
Mitglied
Beiträge: 71
Registriert: 10.12.2006 20:33

Beitrag von StanleyG »

Hallo NoLeader,

also ich beziehe mich jetzt auf die von BB-BF-BM hier in diesem Thread bereitgestellte Portal.php.

Suche nach:

Code: Alles auswählen

$no_events = 1;
while( list($date, $event) = each($events) )
{
   while( list($id, $data) = each($event) )
   {
      $template->assign_block_vars('cal_next_events', array(
         'date'   =>   $date,
         'name'   =>   htmlspecialchars($data['name']),
         'url'   =>   append_sid('calendar.'.$phpEx.'?event='.$data['id'].params('&', 'm', 'y', 'show_events')),
         'desc'   =>   nl2br(htmlspecialchars($data['desc']))
      ));
      $no_events = 0;
   }
}
ersetze mit:

Code: Alles auswählen

$no_events = 1;
while( list($date, $event) = each($events) )
{
   while( list($id, $data) = each($event) )
   {
		$message = $data['desc'];
		$message = make_clickable($message);
		$message = str_replace("\n", "\n<br />\n", $message);
		$_cats = $data['cats'];
		$cats = '';
		while( list(, $cat) = each($_cats) )
		{
			if( isset($CATS[$cat]) && $CATS[$cat]['read'] )
			{
				if( $cats !== '' )
				{
					$cats .= ', ';
				}
				$cats .= $CATS[$cat]['name'];
			}
		}

		$template->assign_block_vars('cal_next_events', array(
        'date'   =>   $date,
        'name'   =>   htmlspecialchars($data['name']),
        'url'   =>   append_sid('calendar.'.$phpEx.'?event='.$data['id'].params('&', 'm', 'y', 'show_events')),
        'desc'   =>   $message,
		'cats' => $cats
      ));
      $no_events = 0;
   }
}
und setze in der portal_body.tpl an der Stelle, wo Du die Kategorie haben willst,

Code: Alles auswählen

{cal_next_events.cats}
ein.

Bei dieser Gelegenheit wird die Terminbeschreibung noch zusätzlich bearbeitet, indem Links klickable gemacht werden und die \n-Zeilensprünge zu <br> umgewandelt werden.


Stanley
Zuletzt geändert von StanleyG am 09.05.2007 01:05, insgesamt 2-mal geändert.
NoLeader
Mitglied
Beiträge: 16
Registriert: 25.04.2007 18:26

Beitrag von NoLeader »

Hi StanleyG, danke vielmals hat wunderbar geklappt! :wink:

Ich sollte auch mal anfangen php zu lernen, aber hab leider keine Zeit :grin:
StanleyG
Mitglied
Beiträge: 71
Registriert: 10.12.2006 20:33

Beitrag von StanleyG »

Hallo BB-BF-BM,

ich habe noch eine Inkosistenz im MOD entdeckt, die beseitigt werden müsste.
Es geht um die Vergabe der Rechte fürs Hinzufügen neuer Termine.
Die Haupteinstellung ist in der Config-Tabelle gespeichert und wird dann als CAL_AUTH_ADD definiert.
In der Kategorienverwaltung kann ich aber einstellen, wer welche Terminkategorien hinzufügen kann.
Konkretes Beispiel:
ich habe 2 Benutzergruppen.
Die eine soll das Leserecht haben, die andere auch das Schreibrecht.
Es sind beides Benutzergruppen, die zweite ist keine Mods-Gruppe.
Daher muss ich in der Kalendereinstellung bestimmen, dass Registrierte den Kalender lesen und neue Termine erfassen können.
In der Kategorienverwaltung lege ich die Kategorie(n) an und lege fest, dass die zweite Gruppe diese Kategorie von Terminen hinzufügen kann.
Die erste Gruppe bekommt keine Kategorie zugewiesen.

Wenn die erste Gruppe auf Kalender klickt, bekommt sie auch den Link "Termin hinzufügen" angezeigt, obwohl sie eigentlich keine Termine erfassen kann, weil sie keine Terminkategorie vergeben darf.
Die erste Gruppe kann also auch das Terminerfassungsfenster öffnen und versuchen, einen Termin zu erfassen. Dieser wird nicht angenommen, weil keine Kategorie vergeben ist.
Das führt zu Irritationen.

Deshalb dürfte sich die Tatsache, ob jemand den Link "Termin hinzufügen" sieht und ob bei ihm die Tage verlinkt sind, nicht nur danach richten, ob sein CAL_AUTH_ADD wahr ist, sondern ob es überhaupt eine Kategorie gibt, die er dem Termin zuordnen kann.

Ich habe das jetzt so gelöst, dass ich eine weitere Konstante CAT_AUTH_ADD eingeführt habe, die auf wahr gesetzt wird, wenn beim Auslesen der Arrays für $CATS irgendwo bei $CATS[??][edit] eine 1 gefunden wird.

Code: Alles auswählen

while( $row = $db->sql_fetchrow($result) )
{
	$CATS[$row['cat_id']] = array(
		'id'	=>	$row['cat_id'],
		'name'	=>	$row['cat_name'],
		'read'	=>	get_auth($row['read_user_level'], $row['read_user_ids'], $row['read_group_ids'], $row['read_black_uids']),
		'edit'	=>	get_auth($row['edit_user_level'], $row['edit_user_ids'], $row['edit_group_ids'], $row['edit_black_uids'])
	);
//********** Anpassung ***************
	if ($CATS[$row['cat_id']]['edit'] == 1) {$editcat = true;}
//********** Anpassung ***************
}

//********** Anpassung ***************
if ($editcat )
{
	define('CAT_AUTH_ADD', 1);
}
else
{
	define('CAT_AUTH_ADD', 0);
}
//********** Anpassung ***************
Und dann habe ich den If-Ausdruck an den entsprechenden Stellen erweitert:
Anstelle von

Code: Alles auswählen

	if( CAL_AUTH_ADD )
zu

Code: Alles auswählen

	if( CAL_AUTH_ADD && CAT_AUTH_ADD )
Vielleicht kannst Du das schon mal einbauen, damit die Rechtevergabe in sich schlüssig wird.

Und noch eine Sache:
In den Templates sollten die Optionsfelder, z.B.

Code: Alles auswählen

<select name="cats[]" multiple="multiple" size="3">
auf wenigstens 5 Zeilen gesetzt werden, weil sonst die Scrollleisten nicht sichtbar sind:

Code: Alles auswählen

<select name="cats[]" multiple="multiple" size="5">
Danke
Stanley
Even if everyone in the country were a genius, half would be below average.
By definition.
Benutzeravatar
buegelfalte
Mitglied
Beiträge: 759
Registriert: 16.02.2005 14:32
Wohnort: Köln
Kontaktdaten:

Beitrag von buegelfalte »

buegelfalte hat geschrieben:also bei mir geht nach dem Update auf 0.4.0 der Kalender überhaupt nicht mehr :(
Gibts es dazu einen Status ? Wie gesagt: nach dem Update ist der Kalender komplett im Eimer ! :(
http://www.beehave.de - home of humbug - und zocken !
[kein Support per PN]
BB-BF-BM
Mitglied
Beiträge: 2179
Registriert: 28.10.2005 16:38
Wohnort: Essen

Beitrag von BB-BF-BM »

Das einzige, was ich dir raten könnte, ist: Kalender ausbauen und neu einbauen. Jedoch würde ich warten, bis Version 0.5.0 draußen ist.

Das einzige, was vielleicht helfen könnte, ist, wenn du die Datenbankstruktur der betreffenden Tabellen (z.B mit phpMyAdmin) ansiehst und hier nennst. Die wahrscheinlichsten Fehler treten dort auf, da die PHP-Dateien an sich funktionieren (sollten)...
Antworten

Zurück zu „phpBB 2.0: Mods in Entwicklung“