[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.
BB-BF-BM
Mitglied
Beiträge: 2179
Registriert: 28.10.2005 16:38
Wohnort: Essen

Re: [0.6.0] Simple Calendar

Beitrag von BB-BF-BM »

Hallo Christian!

Freut mich, dass du den Fehler gefunden hast und dieser nur im Style, nicht aber im Kalender lag.

Der andere Fehler wird hier bereits angesprochen.

Dieser Schritt ist für die Funktionalität des Kalenders nicht notwendig, es werden lediglich alle Caches gelöscht.
macfehni
Mitglied
Beiträge: 23
Registriert: 14.03.2009 13:28

Re: [0.6.0] Simple Calendar

Beitrag von macfehni »

Da bin auch froh das dass alles geklappt hat.

Vielen Dank nochmals.

Kann man im Layout bei der Eingabe neuer Termine folgende Felder deaktivieren??
- "Gruppen die eingeladen sind"
- "Gruppen die nicht eingeladen sind"
- Sichtbarkeit "Nur für eingeladene Benutzer sichtbar"
- Gruppen die das Ereignis und Termin ändern (nur Moderatoren und der Admin ändern dürfen)

Sollte bei mir so sein, dass jeder Einträge machen kann, aber nur Moderatoren und der Admin dies änder / löschen können.
Bin da am schauen ob ich das selbst raus bekomme wo das steht.

Gruß
Christian
http://www.quadfriends.com/forum/

prosilver @ phpBB 3.0.7-PL
BB-BF-BM
Mitglied
Beiträge: 2179
Registriert: 28.10.2005 16:38
Wohnort: Essen

Re: [0.6.0] Simple Calendar

Beitrag von BB-BF-BM »

Hallo Christian!

Vorneweg: Ich gehe davon aus, dass auch die Möglichkeit, einzelne Benutzer einzutragen, verboten werden soll.
Alle Änderungen sind ungetestet!

Folgende Änderungen führen dazu, dass deine genannten Aktionen nicht mehr möglich sind:
/calendar/common.php

Code: Alles auswählen

    public function set_auth_edit(array $white_g, array $black_g, array $white_u, array $black_u, $init = false)
    {
        if (!$init && !cal_users::get_current_user()->can_edit_event($this))
        {
            return false;
        } 
ersetzen gegen:

Code: Alles auswählen

    public function set_auth_edit(array $white_g, array $black_g, array $white_u, array $black_u, $init = false)
    {
        if (!cal_users::get_current_user()->has_auth('u_cal_is_mod'))
        {
            return false;
        } 

Code: Alles auswählen

    public function set_invitations(array $white_g, array $black_g, array $white_u, array $black_u, $visible = CAL_VISIBLE_PROTECTED)
    {
        if (!cal_users::get_current_user()->can_edit_event($this))
        {
            return false;
        } 
ersetzen gegen:

Code: Alles auswählen

    public function set_invitations(array $white_g, array $black_g, array $white_u, array $black_u, $visible = CAL_VISIBLE_PROTECTED)
    {
        if (!cal_users::get_current_user()->has_auth('u_cal_is_mod'))
        {
            return false;
        } 
Um außerdem zu verhindern, dass die Felder angezeigt werden, sind folgende Änderungen nötig:
/calendar/date_form.php

Code: Alles auswählen

$template->assign_vars(array(
    'MODE'        =>    'date_form',
    'DAY'        =>    $date->day->get_day_format(),
    
    'COPY_NAME_AND_DESC'    =>    $date->copy_name_and_desc,
    'COPY_INVITATIONS'        =>    $date->copy_invitations,
    
    'NAME'        =>    $date->name,
    'DESC_EDIT'    =>    $date->desc_edit,
    'INVITATIONS_WHITE_G_NO_SELECTED'    =>    !$date->invitations['white_g'],
    'INVITATIONS_BLACK_G_NO_SELECTED'    =>    !$date->invitations['black_g'],
    'VISIBLE'    =>    $visible,
    
    'U_CAL_AUTH_VISIBLE_PERSONAL'    =>    $current_user->has_auth('u_cal_auth_visible_personal')
)); 
ersetzen gegen:

Code: Alles auswählen

$template->assign_vars(array(
    'MODE'        =>    'date_form',
    'DAY'        =>    $date->day->get_day_format(),
    
    'COPY_NAME_AND_DESC'    =>    $date->copy_name_and_desc,
    'COPY_INVITATIONS'        =>    $date->copy_invitations,
    
    'NAME'        =>    $date->name,
    'DESC_EDIT'    =>    $date->desc_edit,
    'INVITATIONS_WHITE_G_NO_SELECTED'    =>    !$date->invitations['white_g'],
    'INVITATIONS_BLACK_G_NO_SELECTED'    =>    !$date->invitations['black_g'],
    'VISIBLE'    =>    $visible,
    
    'U_CAL_AUTH_VISIBLE_PERSONAL'    =>    $current_user->has_auth('u_cal_auth_visible_personal'),
    'U_CAL_IS_MOD'    =>    $current_user->has_auth('u_cal_is_mod')
)); 
/calendar/event_form.php

Code: Alles auswählen

$template->assign_vars(array(
    'MODE'        =>    'event_form',
    'NAME'        =>    $event ? $event->name : '',
    'DESC_EDIT'    =>    $event ? $event->desc_edit : '',
    'INVITATIONS_WHITE_G_NO_SELECTED'    =>    $event ? !$event->invitations['white_g'] : 0,
    'INVITATIONS_BLACK_G_NO_SELECTED'    =>    $event ? !$event->invitations['black_g'] : 0,
    'VISIBLE'    =>    $visible,
    'AUTH_EDIT_WHITE_G_NO_SELECTED'    =>    $event ? !$event->auth_edit['white_g'] : 0,
    'AUTH_EDIT_BLACK_G_NO_SELECTED'    =>    $event ? !$event->auth_edit['black_g'] : 0,
    
    'U_CAL_AUTH_VISIBLE_PERSONAL'    =>    $current_user->has_auth('u_cal_auth_visible_personal')
)); 
ersetzen gegen:

Code: Alles auswählen

$template->assign_vars(array(
    'MODE'        =>    'event_form',
    'NAME'        =>    $event ? $event->name : '',
    'DESC_EDIT'    =>    $event ? $event->desc_edit : '',
    'INVITATIONS_WHITE_G_NO_SELECTED'    =>    $event ? !$event->invitations['white_g'] : 0,
    'INVITATIONS_BLACK_G_NO_SELECTED'    =>    $event ? !$event->invitations['black_g'] : 0,
    'VISIBLE'    =>    $visible,
    'AUTH_EDIT_WHITE_G_NO_SELECTED'    =>    $event ? !$event->auth_edit['white_g'] : 0,
    'AUTH_EDIT_BLACK_G_NO_SELECTED'    =>    $event ? !$event->auth_edit['black_g'] : 0,
    
    'U_CAL_AUTH_VISIBLE_PERSONAL'    =>    $current_user->has_auth('u_cal_auth_visible_personal'),
    'U_CAL_IS_MOD'    =>    $current_user->has_auth('u_cal_is_mod')
)); 

/styles/prosilver/template/calendar/date_form.html

Code: Alles auswählen

	<dt>{L_DATE_DESC}:</dt>
	<dd><textarea name="desc" rows="7" cols="15">{DESC_EDIT}</textarea></dd>
ersetzen gegen:

Code: Alles auswählen

	<dt>{L_DATE_DESC}:</dt>
	<dd><textarea name="desc" rows="7" cols="15">{DESC_EDIT}</textarea></dd>
	
	<!-- IF U_CAL_IS_MOD -->

Code: Alles auswählen

	<dd class="clear"><hr /></dd>
	
	<dd class="clear-buttons">
		<input class="button1" type="submit" name="post_date" value="{L_SUBMIT}" /> 
		<input class="button2" type="reset" name="reset" value="{L_RESET}" />
	</dd>
ersetzen gegen:

Code: Alles auswählen

	<!-- ENDIF -->
	
	<dd class="clear"><hr /></dd>
	
	<dd class="clear-buttons">
		<input class="button1" type="submit" name="post_date" value="{L_SUBMIT}" /> 
		<input class="button2" type="reset" name="reset" value="{L_RESET}" />
	</dd>

/styles/prosilver/template/calendar/event_form.html

Code: Alles auswählen

	<dt>{L_DATES} ({L_DATES_EXPLAIN}):</dt>
	<dd><textarea name="dates" rows="3" cols="15" title="{L_ONE_DAY_PER_LINE}"><!-- BEGIN dates -->{dates.DMY}

<!-- END dates --></textarea></dd>
	
	<dd class="clear"><hr /></dd>
ersetzen gegen:

Code: Alles auswählen

	<dt>{L_DATES} ({L_DATES_EXPLAIN}):</dt>
	<dd><textarea name="dates" rows="3" cols="15" title="{L_ONE_DAY_PER_LINE}"><!-- BEGIN dates -->{dates.DMY}

<!-- END dates --></textarea></dd>
	
	<dd class="clear"><hr /></dd>

	<!-- IF U_CAL_IS_MOD -->

Code: Alles auswählen

	<dd class="clear"><hr /></dd>
	
	<dd class="clear-buttons">
		<input class="button1" type="submit" name="post_event" value="{L_SUBMIT}" /> 
		<input class="button2" type="reset" name="reset" value="{L_RESET}" />
	</dd>
ersetzen gegen:

Code: Alles auswählen

	<dd class="clear"><hr /></dd>
	
	<!-- ENDIF -->
	
	<dd class="clear-buttons">
		<input class="button1" type="submit" name="post_event" value="{L_SUBMIT}" /> 
		<input class="button2" type="reset" name="reset" value="{L_RESET}" />
	</dd>
Ich denke/hoffe, das waren alle nötigen Änderungen!
Benutzeravatar
Faust
Mitglied
Beiträge: 29
Registriert: 09.10.2005 18:43
Wohnort: Windorf
Kontaktdaten:

Re: [0.6.0] Simple Calendar

Beitrag von Faust »

Hallöchen,

ich weis nicht ob schon jemand diesen Fehler, der bei mir auftritt, schon 'behandelt' hatte. 102 Seiten sind wirklich zu viel zum lesen. Also hier meine Ausgabe nach Schritt #6:

Code: Alles auswählen

Allgemeiner Fehler
SQL ERROR [ mysqli ]

Unknown column 'name' in 'where clause' [1054]

SQL

SELECT 1 FROM phpbb3_calendar_config WHERE name = 'groups_for_all' LIMIT 1

BACKTRACE

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

FILE: includes/db/mysqli.php
LINE: 205
CALL: dbal_mysqli->sql_query()

FILE: includes/db/dbal.php
LINE: 170
CALL: dbal_mysqli->_sql_query_limit()

FILE: calendar_install/inst_0.6.0/index.php
LINE: 344
CALL: dbal->sql_query_limit()

FILE: includes/acp/acp_calendar_install.php
LINE: 93
CALL: include('calendar_install/inst_0.6.0/index.php')

FILE: includes/functions_module.php
LINE: 507
CALL: acp_calendar_install->main()

FILE: adm/index.php
LINE: 76
CALL: p_master->load_active()
Kann man das was machen das die Installation weiter geht? PHP Version 5.2.0-8+etch13 sollte eigentlich gehen.

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

Re: [0.6.0] Simple Calendar

Beitrag von BB-BF-BM »

Hallo Faust!

Hast du noch einen anderen Kalender installiert?
Du solltest ihn vorher komplett deinstallieren (auch die Tabellen löschen und Änderungen in /includes/constants.php rückgängig machen), damit der Simple Calendar gut funktionieren kann.

Der Tabellenname phpbb3_calendar_config ist nämlich nicht der Standard-Name, der ist phpbb3_cal_config.
Benutzeravatar
Faust
Mitglied
Beiträge: 29
Registriert: 09.10.2005 18:43
Wohnort: Windorf
Kontaktdaten:

Re: [0.6.0] Simple Calendar

Beitrag von Faust »

Hallo BB-BF-BM,

das kann ich mir heute Abend anschauen. Ich hatte mal etwas in der Richtung angefangen.

Danke
Chris00
Mitglied
Beiträge: 6
Registriert: 20.03.2009 08:16

Re: [0.6.0] Simple Calendar

Beitrag von Chris00 »

Hi zusammen,

würde gern den Mod installieren, allerdings mag mein Server kein fsockopen (also ist deaktiviert)

Gibt es eine Möglichkeit, ohne fsockopen das Script zu nutzen? Mir geht es hauptsächlich um die
Möglichkeit Termine übersichtlich darzustellen.

Wäre schön, wenn ihr mir da weiterhelfen könntet ...

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

Re: [0.6.0] Simple Calendar

Beitrag von BB-BF-BM »

Hallo!

Der Kalender benutzt in keiner Datei die Funktion fsockopen, das heißt, er sollte bei dir ohne Probleme laufen.
Falls Fehler auftreten, weil fsockopen deaktiviert ist, liegt dieser Fehler bereits im Standard-phpBB vor.
Chris00
Mitglied
Beiträge: 6
Registriert: 20.03.2009 08:16

Re: [0.6.0] Simple Calendar

Beitrag von Chris00 »

HI,

das kommt bei der Installation im ACP unter System.

Der Mod wird mir auch nicht angezeigt, auch wenn ich alles so mache, wie du es beschreibst.

Es kommt halt nur die Fehlermeldung: "Dieser Vorgang kann nicht abgeschlossen werden, da die fsockopen-Funktion deaktiviert wurde oder weil der angegebene Server nicht gefunden werden konnte."

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

Re: [0.6.0] Simple Calendar

Beitrag von BB-BF-BM »

Hallo Chris00!

Das ist ein Problem des Standard-phpBB: die fsockopen-Funktion wird benutzt, um zu prüfen, ob du die aktuelle phpBB-Version benutzt.
Zur Installation der Modifikation musst du nur im Menü auf der linken Seite unter dem Abschnitt "Modul-Konfiguration" den Link "Administrations-Bereich" anklicken!
Antworten

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