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!