Seite 102 von 130

Re: [0.6.0] Simple Calendar

Verfasst: 17.03.2009 19:19
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.

Re: [0.6.0] Simple Calendar

Verfasst: 17.03.2009 19:37
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

Re: [0.6.0] Simple Calendar

Verfasst: 18.03.2009 17:46
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!

Re: [0.6.0] Simple Calendar

Verfasst: 19.03.2009 22:57
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

Re: [0.6.0] Simple Calendar

Verfasst: 20.03.2009 08:38
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.

Re: [0.6.0] Simple Calendar

Verfasst: 20.03.2009 09:32
von Faust
Hallo BB-BF-BM,

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

Danke

Re: [0.6.0] Simple Calendar

Verfasst: 20.03.2009 14:25
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

Re: [0.6.0] Simple Calendar

Verfasst: 20.03.2009 14:46
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.

Re: [0.6.0] Simple Calendar

Verfasst: 20.03.2009 15:15
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

Re: [0.6.0] Simple Calendar

Verfasst: 20.03.2009 16:11
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!