Kalender Block besitzt jetzt einen Teil für Veranstaltungen
Forum rules
Vor dem erstellen neuer Supportanfragen bitte zuerst in die board3 Portal FAQ schauen und die Suche benutzen!
Viele Fragen sind bereits schon gestellt und beantwortet worden.
Bitte auch unsere Forumsregeln lesen und beachten!
Vor dem erstellen neuer Supportanfragen bitte zuerst in die board3 Portal FAQ schauen und die Suche benutzen!
Viele Fragen sind bereits schon gestellt und beantwortet worden.
Bitte auch unsere Forumsregeln lesen und beachten!
-
- Sponsor
- Posts: 134
- Joined: 30. November 2009 16:11
- phpBB.de User: Scanialady
- phpBB.com User: Scanialady
- Contact:
Re: Kalender Block besitzt jetzt einen Teil für Veranstaltun
danke für den Tip. Klar so schaltet man die Gruppen über die html-Datei aus.
Aber ich hoffe, dass die Berechtigung an dieser Stelle des Kalenders noch mal geprüft wird, für die nächste Version
So war das bestimmt nicht beabsichtigt.
Es ist völlig gleich, welche Gruppe man da nimmt - sofern sie die Berechtigung hat, den Kalender zu sehen, sieht sie auch die Veranstaltungen. Ganz egal, was bei dem Termin für Berechtigungen gesetzt sind. Hab ich probiert z.B mit der Systemgruppe Registrierter Benutzer und mit einer selbsterstellten Sondergruppe, der nicht alle angehören.
Aber ich hoffe, dass die Berechtigung an dieser Stelle des Kalenders noch mal geprüft wird, für die nächste Version
So war das bestimmt nicht beabsichtigt.
Es ist völlig gleich, welche Gruppe man da nimmt - sofern sie die Berechtigung hat, den Kalender zu sehen, sieht sie auch die Veranstaltungen. Ganz egal, was bei dem Termin für Berechtigungen gesetzt sind. Hab ich probiert z.B mit der Systemgruppe Registrierter Benutzer und mit einer selbsterstellten Sondergruppe, der nicht alle angehören.
sorry for my bad english - I'm german and google is my friend
Re: Kalender Block besitzt jetzt einen Teil für Veranstaltun
Öffne die Datei /root/adm/style/portal/acp_portal_calendar.html und ersetze den ganzen Code durch das hier:
Öffne die Datei /root/portal/modules/portal_calendar.php und ersetze den ganzen Code durch das hier:
Dann klappt es auch mit den Berechtigungen.
So solltest des öfteren mal hier nachschauen https://github.com/marc1706/Board3-Portal
PS:
root steht für dein Forumroot da wo die config.php liegt.
Code: Select all
<!-- INCLUDE overall_header.html -->
<a name="maincontent"></a>
<h1>{L_TITLE}</h1>
<p>{L_TITLE_EXPLAIN}</p>
<!-- IF S_ERROR -->
<div class="errorbox">
<h3>{L_WARNING}</h3>
<p>{ERROR_MSG}</p>
</div>
<!-- ENDIF -->
<!-- IF S_EDIT -->
<form id="acp_portal_links" method="post" action="{U_ACTION}">
<fieldset>
<legend>{L_ACP_PORTAL_EVENTS}</legend>
<dl>
<dt><label for="event_title">{L_EVENT_TITLE}:</label></dt>
<dd><input name="event_title" type="text" id="event_title" value="{EVENT_TITLE}" maxlength="255" /></dd>
</dl>
<dl>
<dt><label for="event_desc">{L_EVENT_DESC}:</label></dt>
<dd><textarea id="event_desc" rows="6" cols="6" name="event_desc">{EVENT_DESC}</textarea></dd>
</dl>
<dl>
<dt>
<label for="event_start_day">{L_ACP_PORTAL_EVENT_START_DAY}:</label><br />
<span>{L_ACP_PORTAL_EVENT_START_DAY_EXP}</span>
</dt>
<dd><input name="event_start_day" type="text" id="event_start_day" value="{EVENT_START_DAY}" maxlength="255" /></dd>
</dl>
<dl>
<dt>
<label for="event_start_time">{L_ACP_PORTAL_EVENT_START_TIME}:</label><br />
<span>{L_ACP_PORTAL_EVENT_START_TIME_EXP}</span>
</dt>
<dd><input name="event_start_time" type="text" id="event_start_time" value="{EVENT_START_TIME}" maxlength="255" /></dd>
</dl>
<dl>
<dt><label for="event_all_day">{L_EVENT_ALL_DAY}:</label></dt>
<dd>
<label><input onchange="dE('end', -1)" type="radio" class="radio" name="event_all_day" value="1" id="event_all_day"<!-- IF EVENT_ALL_DAY --> checked="checked"<!-- ENDIF --> />{L_YES}</label>
<label><input onchange="dE('end', 1)" type="radio" class="radio" name="event_all_day" value="0"<!-- IF not EVENT_ALL_DAY --> checked="checked"<!-- ENDIF --> /> {L_NO}</label>
</dd>
</dl>
<div id="end"<!-- IF EVENT_ALL_DAY -->style="display: none;"<!-- ENDIF -->>
<dl>
<dt>
<label for="event_end_day">{L_ACP_PORTAL_EVENT_END_DAY}:</label><br />
<span>{L_ACP_PORTAL_EVENT_END_DAY_EXP}</span>
</dt>
<dd><input name="event_end_day" type="text" id="event_end_day" value="{EVENT_END_DAY}" maxlength="255" /></dd>
</dl>
<dl>
<dt>
<label for="event_end_time">{L_ACP_PORTAL_EVENT_END_TIME}:</label><br />
<span>{L_ACP_PORTAL_EVENT_END_TIME_EXP}</span>
</dt>
<dd><input name="event_end_time" type="text" id="event_end_time" value="{EVENT_END_TIME}" maxlength="255" /></dd>
</dl>
</div>
<dl>
<dt>
<label for="event_url">{L_EVENT_LINK}:</label><br />
<span>{L_EVENT_LINK_EXP}</span>
</dt>
<dd><input name="event_url" type="text" id="event_url" value="{EVENT_URL}" maxlength="255" /></dd>
</dl>
<dl>
<dt>
<label for="permission-setting-calendar">{L_ACP_PORTAL_CALENDAR_PERMISSION}:</label><br />
<span>{L_ACP_PORTAL_CALENDAR_PERMISSION_EXP}</span>
</dt>
<dd>
<select id="permission-setting-calendar" size="10" multiple="multiple" name="permission-setting-calendar[]">
<!-- BEGIN permission_setting_calendar -->
<option value="{permission_setting_calendar.GROUP_ID}"<!-- IF permission_setting_calendar.SELECTED -->selected="selected"<!-- ENDIF -->>{permission_setting_calendar.GROUP_NAME}</option>
<!-- END permission_setting_calendar -->
</select>
</dd>
</dl>
<p class="submit-buttons">
<input type="hidden" name="action" value="save" />
<input class="button1" type="submit" id="submit" name="submit" value="{L_SUBMIT}" />
<input class="button2" type="reset" id="reset" name="reset" value="{L_RESET}" />
{S_FORM_TOKEN}
</p>
</fieldset>
</form>
<!-- ELSE -->
<form id="acp_portal_calendar" method="post" action="{U_ACTION}">
<!-- IF SHOW_MODULE_OPTIONS -->
<fieldset>
<legend>{L_MODULE_OPTIONS}</legend>
<dl>
<dt><label for="module_name">{L_MODULE_NAME}:</label><br /><span>{L_MODULE_NAME_EXP}</span></dt>
<dd><input id="module_name" type="text" value="{MODULE_NAME}" name="module_name" maxlength="255" size="64" /></dd>
</dl>
<!-- IF MODULE_SHOW_IMAGE -->
<dl>
<dt><label for="module_image">{L_MODULE_IMAGE}:</label><br /><span>{L_MODULE_IMAGE_EXP}</span></dt>
<dd><input id="module_image" type="text" value="{MODULE_IMAGE}" name="module_image" maxlength="255" size="64" /></dd>
<!-- IF MODULE_IMAGE_SRC --><dd><img src="{MODULE_IMAGE_SRC}" alt="{L_MODULE_IMAGE}" /></dd><!-- ENDIF -->
</dl>
<!-- IF MODULE_IMAGE_SRC -->
<dl>
<dt><label for="module_img_width">{L_MODULE_IMAGE_WIDTH}:</label><br /><span>{L_MODULE_IMAGE_WIDTH_EXP}</span></dt>
<dd><input id="module_img_width" type="text" value="{MODULE_IMAGE_WIDTH}" name="module_img_width" maxlength="3" size="3" />px</dd>
</dl>
<dl>
<dt><label for="module_img_height">{L_MODULE_IMAGE_HEIGHT}:</label><br /><span>{L_MODULE_IMAGE_HEIGHT_EXP}</span></dt>
<dd><input id="module_img_height" type="text" value="{MODULE_IMAGE_HEIGHT}" name="module_img_height" maxlength="3" size="3" />px</dd>
</dl>
<!-- ENDIF -->
<!-- ENDIF -->
<dl>
<dt><label for="module_reset">{L_MODULE_RESET}:</label><br /><span style="color: #BC2A4D;">{L_MODULE_RESET_EXP}</span></dt>
<dd><input id="module_reset" type="checkbox" value="1" name="module_reset" /></dd>
</dl>
<dl>
<dt><label for="module_status">{L_MODULE_STATUS}:</label></dt>
<dd>
<label><input type="radio" class="radio" name="module_status" value="1" id="module_status"<!-- IF MODULE_ENABLED --> checked="checked"<!-- ENDIF --> />{L_YES}</label>
<label><input type="radio" class="radio" name="module_status" value="0"<!-- IF not MODULE_ENABLED --> checked="checked"<!-- ENDIF --> /> {L_NO}</label>
</dd>
</dl>
<!-- IF permission_setting -->
<dl>
<dt><label for="permission-setting">{L_MODULE_PERMISSIONS}:</label><br /><span>{L_MODULE_PERMISSIONS_EXP}</span></dt>
<dd>
<select id="permission-setting" size="10" multiple="multiple" name="permission-setting[]">
<!-- BEGIN permission_setting -->
<option value="{permission_setting.GROUP_ID}"<!-- IF permission_setting.SELECTED -->selected="selected"<!-- ENDIF -->>{permission_setting.GROUP_NAME}</option>
<!-- END permission_setting -->
</select>
</dd>
</dl>
<!-- ENDIF -->
</fieldset>
<!-- ENDIF -->
<!-- BEGIN options -->
<!-- IF options.S_LEGEND -->
<!-- IF not options.S_FIRST_ROW -->
</fieldset>
<!-- ENDIF -->
<fieldset>
<legend>{options.LEGEND}</legend>
<!-- ELSE -->
<dl>
<dt><label for="{options.KEY}">{options.TITLE}:</label><!-- IF options.S_EXPLAIN --><br /><span>{options.TITLE_EXPLAIN}</span><!-- ENDIF --></dt>
<dd>{options.CONTENT}</dd>
</dl>
<!-- ENDIF -->
<!-- END options -->
</fieldset>
<fieldset>
<legend>{L_ACP_PORTAL_EVENTS}</legend>
<fieldset class="tabulated">
<p class="quick">
<input class="button2" name="add" type="submit" value="{L_ADD_EVENT}" />
</p>
<table cellspacing="1">
<thead>
<tr>
<th>{L_EVENT_TITLE}</th>
<th>{L_EVENT_DESC}</th>
<th>{L_EVENT_TIME}</th>
<th>{L_EVENT_LINK}</th>
<th>{L_ACTION}</th>
</tr>
</thead>
<tbody>
<!-- BEGIN events -->
<!-- IF events.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF -->
<td style="text-align: center;">{events.EVENT_TITLE}</td>
<td style="text-align: center;">{events.EVENT_DESC}</td>
<td style="text-align: center;"><!-- IF events.EVENT_END -->{L_EVENT_START}: {events.EVENT_START} | {L_EVENT_END}: {events.EVENT_END}<!-- ELSE -->{L_EVENT_TIME}: {events.EVENT_START}<!-- IF events.EVENT_ALL_DAY --> | {L_EVENT_ALL_DAY}<!-- ENDIF --><!-- ENDIF --></td>
<td style="text-align: center;"><a href="{events.EVENT_URL}" alt="{events.EVENT_TITLE}">{events.EVENT_URL_RAW}</td>
<td style="text-align: center;">
<a href="{events.U_EDIT}">{ICON_EDIT}</a> <a href="{events.U_DELETE}">{ICON_DELETE}</a>
</td>
</tr>
<!-- BEGINELSE -->
<tr class="row1">
<td style="text-align: center;" colspan="5">{L_NO_EVENTS}</td>
</tr>
<!-- END events -->
</tbody>
</table>
<p class="submit-buttons">
<input class="button1" type="submit" id="submit" name="submit" value="{L_SUBMIT}" />
<input class="button2" type="reset" id="reset" name="reset" value="{L_RESET}" />
</p>
{S_FORM_TOKEN}
</fieldset>
</fieldset>
</form>
<!-- ENDIF -->
<!-- INCLUDE overall_footer.html -->
Code: Select all
<?php
/**
*
* @package Board3 Portal v2 - Calendar
* @copyright (c) Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/
/**
* @ignore
*/
if (!defined('IN_PHPBB'))
{
exit;
}
/**
* @package Calendar
*/
class portal_calendar_module
{
/**
* Allowed columns: Just sum up your options (Exp: left + right = 10)
* top 1
* left 2
* center 4
* right 8
* bottom 16
*/
public $columns = 10;
/**
* Default modulename
*/
public $name = 'PORTAL_CALENDAR';
/**
* Default module-image:
* file must be in "{T_THEME_PATH}/images/portal/"
*/
public $image_src = 'portal_calendar.png';
/**
* module-language file
* file must be in "language/{$user->lang}/mods/portal/"
*/
public $language = 'portal_calendar_module';
/**
* custom acp template
* file must be in "adm/style/portal/"
*/
public $custom_acp_tpl = 'acp_portal_calendar';
/**
* additional variables
*/
private $mini_cal_fdow;
public function get_template_side($module_id)
{
global $config, $template, $user, $phpbb_root_path, $phpEx, $db;
$portal_config = obtain_portal_config();
// 0 = Sunday first - 1 = Monday first. ;-)
if ($config['board3_sunday_first_' . $module_id])
{
$this->mini_cal_fdow = 0;
}
else
{
$this->mini_cal_fdow = 1;
}
// get the calendar month
$mini_cal_month = 0;
if(isset($_GET['m' . $module_id]) || isset($_POST['m' . $module_id]))
{
$mini_cal_month = request_var('m' . $module_id, 0);
}
// initialise some variables
$today_timestamp = time() + $user->timezone + $user->dst;
$mini_cal_today = date('Ymd', time() + $user->timezone + $user->dst - date('Z'));
$s_cal_month = ($mini_cal_month != 0) ? $mini_cal_month . ' month' : $mini_cal_today;
$this->getMonth($s_cal_month);
$mini_cal_count = $this->mini_cal_fdow;
$mini_cal_this_year = $this->dateYYYY;
$mini_cal_this_month = $this->dateMM;
$mini_cal_this_day = $this->dateDD;
$mini_cal_month_days = $this->daysMonth;
// output our general calendar bits
$down = $mini_cal_month - 1;
$up = $mini_cal_month + 1;
$prev_month = '<a href="' . append_sid("{$phpbb_root_path}portal.$phpEx", "m$module_id=$down#minical$module_id") . '"><img src="' . $phpbb_root_path . 'styles/' . $user->theme['theme_path'] . '/theme/images/portal/cal_icon_left_arrow.png' . '" title="' . $user->lang['VIEW_PREVIOUS_MONTH'] . '" height="16" width="16" alt="<<" /></a>';
$next_month = '<a href="' . append_sid("{$phpbb_root_path}portal.$phpEx", "m$module_id=$up#minical$module_id") . '"><img src="' . $phpbb_root_path . 'styles/' . $user->theme['theme_path'] . '/theme/images/portal/cal_icon_right_arrow.png' . '" title="' . $user->lang['VIEW_NEXT_MONTH'] . '" height="16" width="16" alt=">>" /></a>';
$template->assign_block_vars('minical', array(
'S_SUNDAY_FIRST' => ($config['board3_sunday_first_' . $module_id]) ? true : false,
'L_MINI_CAL_MONTH' => (($config['board3_long_month_' . $module_id]) ? $user->lang['mini_cal']['long_month'][$this->day[0][1]] : $user->lang['mini_cal']['month'][$this->day[0][1]]) . " " . $this->day[0][2],
'L_MINI_CAL_SUN' => '<span style="color: ' . $config['board3_calendar_sunday_color_' . $module_id] . ';">' . $user->lang['mini_cal']['day'][1] . '</span>',
'L_MINI_CAL_MON' => $user->lang['mini_cal']['day'][2],
'L_MINI_CAL_TUE' => $user->lang['mini_cal']['day'][3],
'L_MINI_CAL_WED' => $user->lang['mini_cal']['day'][4],
'L_MINI_CAL_THU' => $user->lang['mini_cal']['day'][5],
'L_MINI_CAL_FRI' => $user->lang['mini_cal']['day'][6],
'L_MINI_CAL_SAT' => $user->lang['mini_cal']['day'][7],
'U_PREV_MONTH' => $prev_month,
'U_NEXT_MONTH' => $next_month,
'S_DISPLAY_EVENTS' => ($config['board3_display_events_' . $module_id]) ? true : false,
'MODULE_ID' => $module_id,
));
// output the days for the current month
for($i=0; $i < $mini_cal_month_days;)
{
// is this the first day of the week?
if($mini_cal_count == $this->mini_cal_fdow)
{
$template->assign_block_vars('minical.mini_cal_row', array(
'MODULE_ID' => $module_id,
));
}
// is this a valid weekday?
if($mini_cal_count == ($this->day[$i][3]))
{
$mini_cal_this_day = $this->day[$i][0];
$d_mini_cal_today = $mini_cal_this_year . (($mini_cal_this_month <= 9) ? '0' . $mini_cal_this_month : $mini_cal_this_month) . (($mini_cal_this_day <= 9) ? '0' . $mini_cal_this_day : $mini_cal_this_day);
$mini_cal_day = ($mini_cal_today == $d_mini_cal_today) ? '<span style="font-weight: bold; color: ' . $config['board3_calendar_today_color_' . $module_id] . ';">' . $mini_cal_this_day . '</span>' : $mini_cal_this_day;
$template->assign_block_vars('minical.mini_cal_row.mini_cal_days', array(
'MINI_CAL_DAY' => ($mini_cal_count == 0) ? '<span style="color: ' . $config['board3_calendar_sunday_color_' . $module_id] . ';">' . $mini_cal_day . '</span>' : $mini_cal_day)
);
$i++;
}
// no day
else
{
$template->assign_block_vars('minical.mini_cal_row.mini_cal_days', array(
'MINI_CAL_DAY' => ' ')
);
}
// is this the last day of the week?
if ($mini_cal_count == 6)
{
// if so then reset the count
$mini_cal_count = 0;
}
else
{
// otherwise increment the count
$mini_cal_count++;
}
}
/*
* Let's start displaying the events
* make sure we only display events in the future
*/
$events = $this->utf_unserialize($portal_config['board3_calendar_events_' . $module_id]);
if(!empty($events) && $config['board3_display_events_' . $module_id])
{
// we sort the $events array by the start time
foreach($events as $key => $cur_event)
{
$time_ary[$key] = $cur_event['start_time'];
}
array_multisort($time_ary, SORT_NUMERIC, $events);
// get user's groups
$sql = 'SELECT group_id
FROM ' . USER_GROUP_TABLE . '
WHERE user_id = ' . (int) $user->data['user_id'] . '
ORDER BY group_id ASC';
$result = $db->sql_query($sql);
while($row = $db->sql_fetchrow($result))
{
$groups_ary[] = $row['group_id'];
}
$db->sql_freeresult($result);
foreach($events as $key => $cur_event)
{
if(($cur_event['start_time'] + $user->timezone + $user->dst) >= $today_timestamp ||
($cur_event['end_time'] + $user->timezone + $user->dst) >= $today_timestamp ||
(($cur_event['start_time'] + $user->timezone + $user->dst + 86400) >= $today_timestamp && $cur_event['all_day']))
{
$cur_permissions = explode(',', $cur_event['permission']);
$permission_check = array_intersect($groups_ary, $cur_permissions);
if(!empty($permission_check) || $cur_event['permission'] == '')
{
// check if this is an external link
if (isset($cur_event['url']) && strpos($cur_event['url'], generate_board_url()) === false)
{
$is_external = true;
}
else
{
$is_external = false;
}
// current events
if((($cur_event['start_time'] + $user->timezone + $user->dst + 86400) >= $today_timestamp && $cur_event['all_day']) ||
(($cur_event['start_time'] + $user->timezone + $user->dst) <= $today_timestamp && ($cur_event['end_time'] + $user->timezone + $user->dst) >= $today_timestamp))
{
$template->assign_block_vars('minical.cur_events', array(
'EVENT_URL' => (isset($cur_event['url']) && $cur_event['url'] != '') ? $this->validate_url($cur_event['url']) : '',
'EVENT_TITLE' => $cur_event['title'],
'START_TIME' => $user->format_date($cur_event['start_time'], 'j. M Y, H:i'),
'END_TIME' => (!empty($cur_event['end_time'])) ? $user->format_date($cur_event['end_time'], 'j. M Y, H:i') : false,
'EVENT_DESC' => (isset($cur_event['desc']) && $cur_event['desc'] != '') ? $cur_event['desc'] : '',
'ALL_DAY' => ($cur_event['all_day']) ? true : false,
'MODULE_ID' => $module_id,
'EVENT_URL_NEW_WINDOW' => ($is_external && $config['board3_events_url_new_window_' . $module_id]) ? true : false,
));
}
else
{
$template->assign_block_vars('minical.upcoming_events', array(
'EVENT_URL' => (isset($cur_event['url']) && $cur_event['url'] != '') ? $this->validate_url($cur_event['url']) : '',
'EVENT_TITLE' => $cur_event['title'],
'START_TIME' => $user->format_date($cur_event['start_time'], 'j. M Y, H:i'),
'END_TIME' => $user->format_date($cur_event['end_time'], 'j. M Y, H:i'),
'EVENT_DESC' => (isset($cur_event['desc']) && $cur_event['desc'] != '') ? $cur_event['desc'] : '',
'ALL_DAY' => (($cur_event['start_time'] - $cur_event['end_time']) == 1) ? true : false,
'MODULE_ID' => $module_id,
'EVENT_URL_NEW_WINDOW' => ($is_external && $config['board3_events_url_new_window_' . $module_id]) ? true : false,
));
}
}
}
}
}
return 'calendar_side.html';
}
public function get_template_acp($module_id)
{
return array(
'title' => 'ACP_PORTAL_CALENDAR',
'vars' => array(
'legend1' => 'ACP_PORTAL_CALENDAR',
'board3_calendar_today_color_' . $module_id => array('lang' => 'PORTAL_CALENDAR_TODAY_COLOR' , 'validate' => 'string', 'type' => 'text:10:10', 'explain' => true),
'board3_calendar_sunday_color_' . $module_id => array('lang' => 'PORTAL_CALENDAR_SUNDAY_COLOR' , 'validate' => 'string', 'type' => 'text:10:10', 'explain' => true),
'board3_long_month_' . $module_id => array('lang' => 'PORTAL_LONG_MONTH' , 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'board3_sunday_first_' . $module_id => array('lang' => 'PORTAL_SUNDAY_FIRST' , 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'board3_display_events_' . $module_id => array('lang' => 'PORTAL_DISPLAY_EVENTS', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'board3_events_url_new_window_' . $module_id => array('lang' => 'PORTAL_EVENTS_URL_NEW_WINDOW', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => false),
'board3_events_' . $module_id => array('lang' => 'PORTAL_EVENTS_MANAGE', 'validate' => 'string', 'type' => 'custom', 'explain' => false, 'method' => 'manage_events', 'submit' => 'update_events'),
),
);
}
/**
* API functions
*/
public function install($module_id)
{
set_config('board3_sunday_first_' . $module_id, 1);
set_config('board3_calendar_today_color_' . $module_id, '#000000');
set_config('board3_calendar_sunday_color_' . $module_id, '#FF0000');
set_config('board3_long_month_' . $module_id, 0);
set_config('board3_display_events_' . $module_id, 0);
set_config('board3_events_' . $module_id, '');
set_config('board3_events_url_new_window_' . $module_id, 0);
set_portal_config('board3_calendar_events_' . $module_id, '');
return true;
}
public function uninstall($module_id)
{
global $db;
$del_config = array(
'board3_calendar_events_' . $module_id,
);
$sql = 'DELETE FROM ' . PORTAL_CONFIG_TABLE . '
WHERE ' . $db->sql_in_set('config_name', $del_config);
$db->sql_query($sql);
$del_config = array(
'board3_sunday_first_' . $module_id,
'board3_calendar_today_color_' . $module_id,
'board3_calendar_sunday_color_' . $module_id,
'board3_long_month_' . $module_id,
'board3_display_events_' . $module_id,
'board3_events_' . $module_id,
'board3_events_url_new_window_' . $module_id,
);
$sql = 'DELETE FROM ' . CONFIG_TABLE . '
WHERE ' . $db->sql_in_set('config_name', $del_config);
return $db->sql_query($sql);
}
public function manage_events($value, $key, $module_id)
{
global $db, $portal_config, $config, $template, $user, $phpEx, $phpbb_admin_path;
$action = request_var('action', '');
$action = (isset($_POST['add'])) ? 'add' : $action;
$action = (isset($_POST['save'])) ? 'save' : $action;
$link_id = request_var('id', 99999999); // 0 will trigger unwanted behavior, therefore we set a number we should never reach
$portal_config = obtain_portal_config();
$events = (strlen($portal_config['board3_calendar_events_' . $module_id]) >= 1) ? $this->utf_unserialize($portal_config['board3_calendar_events_' . $module_id]) : array();
$u_action = append_sid($phpbb_admin_path . 'index.' . $phpEx, 'i=portal&mode=config&module_id=' . $module_id);
switch($action)
{
// Save changes
case 'save':
if (!check_form_key('acp_portal'))
{
trigger_error($user->lang['FORM_INVALID']. adm_back_link($u_action), E_USER_WARNING);
}
$event_title = utf8_normalize_nfc(request_var('event_title', ' ', true));
$event_desc = utf8_normalize_nfc(request_var('event_desc', ' ', true));
$event_start_day = trim(request_var('event_start_day', ''));
$event_start_time = trim(request_var('event_start_time', ''));
$event_end_day = trim(request_var('event_end_day', ''));
$event_end_time = trim(request_var('event_end_time', ''));
$event_all_day = request_var('event_all_day', false); // default to false
$event_url = request_var('event_url', ' ');
$event_permission = request_var('permission-setting-calendar', array(0 => ''));
$groups_ary = array();
/*
* parse the event time
* first check for obvious errors, we don't want to waste server resources
*/
if(strlen($event_start_day) < 9 || strlen($event_start_day) > 10 || (strlen($event_start_time) < 4 && !$event_all_day) || strlen($event_start_time) > 5)
{
trigger_error($user->lang['ACP_PORTAL_CALENDAR_START_INCORRECT']. adm_back_link($u_action), E_USER_WARNING);
}
elseif((strlen($event_end_day) < 9 || strlen($event_end_day) > 10 || strlen($event_end_time) < 4 || strlen($event_end_time) > 5) && !$event_all_day)
{
trigger_error($user->lang['ACP_PORTAL_CALENDAR_END_INCORRECT']. adm_back_link($u_action), E_USER_WARNING);
}
// Now get the needed numbers out of the entered information
$first_start_hyphen = strpos($event_start_day, '-', 0);
$second_start_hyphen = strpos($event_start_day, '-', $first_start_hyphen + 1);
$start_colon_pos = strpos($event_start_time, ':', 0);
$start_day_length = strlen($event_start_day);
$start_time_length = strlen($event_start_time);
$start_day = (int) substr($event_start_day, 0, $first_start_hyphen);
$start_month = (int) substr($event_start_day, $first_start_hyphen + 1, ($second_start_hyphen - $first_start_hyphen - 1));
$start_year = (int) substr($event_start_day, $second_start_hyphen + 1, $start_day_length - $second_start_hyphen);
$start_hour = (int) substr($event_start_time, 0, $start_colon_pos);
$start_minute = (int) substr($event_start_time, $start_colon_pos + 1, ($start_time_length - $start_colon_pos) - 1);
if(!$event_all_day)
{
$first_end_hyphen = strpos($event_end_day, '-', 0);
$second_end_hyphen = strpos($event_end_day, '-', $first_end_hyphen + 1);
$end_colon_pos = strpos($event_end_time, ':', 0);
$end_day_length = strlen($event_end_day);
$end_time_length = strlen($event_end_time);
$end_day = (int) substr($event_end_day, 0, $first_end_hyphen);
$end_month = (int) substr($event_end_day, $first_end_hyphen + 1, ($second_end_hyphen - $first_end_hyphen - 1));
$end_year = (int) substr($event_end_day, $second_end_hyphen + 1, $end_day_length - $second_end_hyphen);
$end_hour = (int) substr($event_end_time, 0, $end_colon_pos);
$end_minute = (int) substr($event_end_time, $end_colon_pos + 1, ($end_time_length - $end_colon_pos) - 1);
}
// UNIX timestamps
$start_time = gmmktime($start_hour, $start_minute, 0, $start_month, $start_day, $start_year) - $user->timezone - $user->dst;
$end_time = (!$event_all_day) ? gmmktime($end_hour, $end_minute, 0, $end_month, $end_day, $end_year) - $user->timezone - $user->dst : '';
if(($end_time) <= time() && !(($start_time + 86400) >= time() && $event_all_day))
{
trigger_error($user->lang['ACP_PORTAL_CALENDAR_EVENT_PAST']. adm_back_link($u_action), E_USER_WARNING);
}
elseif($end_time < $start_time && !$event_all_day)
{
trigger_error($user->lang['ACP_PORTAL_CALENDAR_EVENT_START_FIRST']. adm_back_link($u_action), E_USER_WARNING);
}
// get groups and check if the selected groups actually exist
$sql = 'SELECT group_id
FROM ' . GROUPS_TABLE . '
ORDER BY group_id ASC';
$result = $db->sql_query($sql);
while($row = $db->sql_fetchrow($result))
{
$groups_ary[] = $row['group_id'];
}
$db->sql_freeresult($result);
$event_permission = array_intersect($event_permission, $groups_ary);
$event_permission = implode(',', $event_permission);
// Check for errors
if (!$event_title)
{
trigger_error($user->lang['NO_EVENT_TITLE'] . adm_back_link($u_action), E_USER_WARNING);
}
if (!$start_time || $start_time == 0)
{
trigger_error($user->lang['NO_EVENT_START'] . adm_back_link($u_action), E_USER_WARNING);
}
// overwrite already existing events and make sure we don't try to save an event outside of the normal array size of $events
if (isset($link_id) && $link_id < sizeof($events))
{
$message = $user->lang['EVENT_UPDATED'];
$events[$link_id] = array(
'title' => $event_title,
'desc' => $event_desc,
'start_time' => $start_time,
'end_time' => $end_time,
'all_day' => $event_all_day,
'permission' => $event_permission,
'url' => htmlspecialchars_decode($event_url),
);
add_log('admin', 'LOG_PORTAL_EVENT_UPDATED', $event_title);
}
else
{
$message = $user->lang['EVENT_ADDED'];
$events[] = array(
'title' => $event_title,
'desc' => $event_desc,
'start_time' => $start_time,
'end_time' => $end_time,
'all_day' => $event_all_day,
'permission' => $event_permission,
'url' => $event_url, // optional
);
add_log('admin', 'LOG_PORTAL_EVENT_ADDED', $event_title);
}
// we sort the $events array by the start time
foreach($events as $key => $cur_event)
{
$time_ary[$key] = $cur_event['start_time'];
}
array_multisort($time_ary, SORT_NUMERIC, $events);
$board3_events_array = serialize($events);
set_portal_config('board3_calendar_events_' . $module_id, $board3_events_array);
trigger_error($message . adm_back_link($u_action));
break;
// Delete link
case 'delete':
if (!isset($link_id) && $link_id >= sizeof($events))
{
trigger_error($user->lang['NO_EVENT'] . adm_back_link($u_action), E_USER_WARNING);
}
if (confirm_box(true))
{
$cur_event_title = $events[$link_id]['title'];
// delete the selected link and reset the array numbering afterwards
array_splice($events, $link_id, 1);
$events = array_merge($events);
$board3_events_array = serialize($events);
set_portal_config('board3_calendar_events_' . $module_id, $board3_events_array);
add_log('admin', 'LOG_PORTAL_EVENT_REMOVED', $cur_event_title);
}
else
{
confirm_box(false, $user->lang['CONFIRM_OPERATION'], build_hidden_fields(array(
'link_id' => $link_id,
'action' => 'delete',
)));
}
break;
// Edit or add menu item
case 'edit':
case 'add':
$event_all_day = (isset($events[$link_id]['all_day']) && $events[$link_id]['all_day'] == true) ? true : false;
$template->assign_vars(array(
'EVENT_TITLE' => (isset($events[$link_id]['title']) && $action != 'add') ? $events[$link_id]['title'] : '',
'EVENT_DESC' => (isset($events[$link_id]['desc']) && $action != 'add') ? $events[$link_id]['desc'] : '',
'EVENT_START_DAY' => ($action != 'add') ? $user->format_date($events[$link_id]['start_time'], 'd-m-Y') : '',
'EVENT_START_TIME' => ($action != 'add') ? $user->format_date($events[$link_id]['start_time'], 'G:i') : '',
'EVENT_END_DAY' => ($action != 'add' && !$event_all_day) ? $user->format_date($events[$link_id]['end_time'], 'd-m-Y') : '',
'EVENT_END_TIME' => ($action != 'add' && !$event_all_day) ? $user->format_date($events[$link_id]['end_time'], 'G:i') : '',
'EVENT_ALL_DAY' => (isset($events[$link_id]['all_day']) && $events[$link_id]['all_day'] == true) ? true : false,
'EVENT_URL' => (isset($events[$link_id]['url']) && $action != 'add') ? $events[$link_id]['url'] : '',
//'U_BACK' => $u_action,
'U_ACTION' => $u_action . '&id=' . $link_id,
'S_EDIT' => true,
));
$groups_ary = (isset($events[$link_id]['permission'])) ? explode(',', $events[$link_id]['permission']) : array();
// get group info from database and assign the block vars
$sql = 'SELECT group_id, group_name
FROM ' . GROUPS_TABLE . '
ORDER BY group_id ASC';
$result = $db->sql_query($sql);
while($row = $db->sql_fetchrow($result))
{
$template->assign_block_vars('permission_setting_calendar', array(
'SELECTED' => (in_array($row['group_id'], $groups_ary)) ? true : false,
'GROUP_NAME' => (isset($user->lang['G_' . $row['group_name']])) ? $user->lang['G_' . $row['group_name']] : $row['group_name'],
'GROUP_ID' => $row['group_id'],
));
}
$db->sql_freeresult($result);
return;
break;
}
for ($i = 0; $i < sizeof($events); $i++)
{
$event_all_day = ($events[$i]['all_day'] == true) ? true : false;
$start_time_format = (!intval($user->format_date($events[$i]['start_time'], 'H')) && !intval($user->format_date($events[$i]['start_time'], 'i'))) ? 'j. M Y' : 'j. M Y, H:i';
$end_time_format = (!intval($user->format_date($events[$i]['end_time'], 'H')) && !intval($user->format_date($events[$i]['end_time'], 'i'))) ? 'j. M Y' : 'j. M Y, H:i';
$template->assign_block_vars('events', array(
'EVENT_TITLE' => ($action != 'add') ? ((isset($user->lang[$events[$i]['title']])) ? $user->lang[$events[$i]['title']] : $events[$i]['title']) : '',
'EVENT_DESC' => ($action != 'add') ? $events[$i]['desc'] : '',
'EVENT_START' => ($action != 'add') ? $user->format_date($events[$i]['start_time'], $start_time_format) : '',
'EVENT_END' => ($action != 'add' && !$event_all_day) ? $user->format_date($events[$i]['end_time'], $end_time_format) : '',
'EVENT_URL' => ($action != 'add' && isset($events[$i]['url']) && !empty($events[$i]['url'])) ? $this->validate_url($events[$i]['url']) : '',
'EVENT_URL_RAW' => ($action != 'add' && isset($events[$i]['url']) && !empty($events[$i]['url'])) ? $events[$i]['url'] : '',
'U_EDIT' => $u_action . '&action=edit&id=' . $i,
'U_DELETE' => $u_action . '&action=delete&id=' . $i,
'EVENT_ALL_DAY' => $event_all_day,
));
}
}
public function update_events($key, $module_id)
{
$this->manage_events('', $key, $module_id);
}
private $dateYYY; // year in numeric format (YYYY)
private $dateMM; // month in numeric format (MM)
private $dateDD; // day in numeric format (DD)
private $ext_dateMM; // extended month (e.g. February)
private $daysMonth; // count of days in month
private $stamp; // timestamp
private $day; // return array s.a.
/**
* convert date->timestamp
**/
private function makeTimestamp($date)
{
$this->stamp = strtotime($date);
return ($this->stamp);
}
/**
* get date listed in array
**/
private function getMonth($callDate)
{
$this->makeTimestamp($callDate);
$this->dateYYYY = date("Y", $this->stamp);
$this->dateMM = date("n", $this->stamp);
$this->ext_dateMM = date("F", $this->stamp);
$this->dateDD = date("d", $this->stamp);
$this->daysMonth = date("t", $this->stamp);
for($i=1; $i < $this->daysMonth+1; $i++)
{
$this->makeTimestamp("$i $this->ext_dateMM $this->dateYYYY");
$this->day[] = array(
"0" => "$i",
"1" => $this->dateMM,
"2" => $this->dateYYYY,
"3" => (date('w', $this->stamp))
);
}
}
// Unserialize links array
private function utf_unserialize($serial_str)
{
$out = preg_replace('!s:(\d+):"(.*?)";!se', "'s:'.strlen('$2').':\"$2\";'", $serial_str );
return unserialize($out);
}
/**
* validate URLs and execute apppend_sid if necessary
*/
private function validate_url($url)
{
global $config;
$url = str_replace("\r\n", "\n", str_replace('\"', '"', trim($url)));
$url = str_replace(' ', '%20', $url);
$url = str_replace('&', '&', $url);
// if there is no scheme, then add http schema
if (!preg_match('#^[a-z][a-z\d+\-.]*:/{2}#i', $url))
{
$url = 'http://' . $url;
}
// Is this a link to somewhere inside this board? If so then run reapply_sid()
if (strpos($url, generate_board_url()) !== false)
{
$url = reapply_sid($url);
}
return $url;
}
}
So solltest des öfteren mal hier nachschauen https://github.com/marc1706/Board3-Portal
PS:
root steht für dein Forumroot da wo die config.php liegt.
Gruß Udo
-
- Portal Professional
- Posts: 1960
- Joined: 19. April 2009 21:34
- phpBB.de User: archivar
- phpBB.com User: archivar
- Location: Deutschland
Re: Kalender Block besitzt jetzt einen Teil für Veranstaltun
Es könnte bei dir daran liegen das einzelne Benutzer in mehreren Gruppen stehen.MyLady wrote:Mir fiel beim Test auf, dass die Gruppenberechtigungen für Veranstaltungen von den Berechtigungen für den Block abhängen.
Habe ich also eine Gruppe "kürzlich registrierte Mitglieder", und erlaube ich dieser Gruppe, den Kalenderblock zu sehen, dann ist es nicht möglich, diese von der Anzeige der Veranstaltungen auszuschließen. Nicht so gelungen. Oder habe ich etwas übersehen?
Natürlich ist es schon ok, wenn so ziemlich alle Gruppen den Kalender sehen - aber einzelne Veranstaltungen, wenn man sie schon einzeln berechtigen kann, sollten dann nicht das Übergeordnete vom Block erben. Da wäre ein Ausschluss einzelner Gruppen wünschenswert.
Im Kalender und in den Veranstaltungen werden nur Gruppen-Berechtigungen und keine Benutzer-Berechtigungen eingestellt.
Dabei wird nicht geprüft in welcher Gruppe den Benutzern die Haupt-Gruppe zu gewiesen wurde.
V.G. archivar
sorry for my bad english
sorry for my bad english
-
- Sponsor
- Posts: 134
- Joined: 30. November 2009 16:11
- phpBB.de User: Scanialady
- phpBB.com User: Scanialady
- Contact:
Re: Kalender Block besitzt jetzt einen Teil für Veranstaltun
nicht wirklich - neu registrierte Benutzer sind eine Systemgruppe, die in registrierte Benutzer wandelt, nachdem eine eingestellte Anzahl von Beiträgen erstellt wurde. Die sind Mitglied in zwei Gruppen - soweit richtig. Diese beiden Gruppen sollten Veranstaltungen aber ohnehin niemals sehenarchivar wrote: Es könnte bei dir daran liegen das einzelne Benutzer in mehreren Gruppen stehen.
Im Kalender und in den Veranstaltungen werden nur Gruppen-Berechtigungen und keine Benutzer-Berechtigungen eingestellt.
Dabei wird nicht geprüft in welcher Gruppe den Benutzern die Haupt-Gruppe zu gewiesen wurde.
Schiebe ich neue Mitglieder in andere Gruppen, sagen wir mal "Vollmitglied", dann lösche ich sie aus den Gruppen "neu registrierte Benutzer" bzw. "registrierte Benutzer".
Es gibt durchaus weitere Gruppen, in denen einzelne Benutzer zusätzlich Mitglied sind, und andere nicht. Genau das würde z.B. bei Veranstaltungen greifen. Hat das Logik für dich?
----
@Kirk: danke, werde ich probieren und dann rückmelden.
sorry for my bad english - I'm german and google is my friend
-
- Portal Professional
- Posts: 1960
- Joined: 19. April 2009 21:34
- phpBB.de User: archivar
- phpBB.com User: archivar
- Location: Deutschland
Re: Kalender Block besitzt jetzt einen Teil für Veranstaltun
MyLady wrote:nicht wirklich - neu registrierte Benutzer sind eine Systemgruppe, die in registrierte Benutzer wandelt, nachdem eine eingestellte Anzahl von Beiträgen erstellt wurde. Die sind Mitglied in zwei Gruppen - soweit richtig. Diese beiden Gruppen sollten Veranstaltungen aber ohnehin niemals sehenarchivar wrote: Es könnte bei dir daran liegen das einzelne Benutzer in mehreren Gruppen stehen.
Im Kalender und in den Veranstaltungen werden nur Gruppen-Berechtigungen und keine Benutzer-Berechtigungen eingestellt.
Dabei wird nicht geprüft in welcher Gruppe den Benutzern die Haupt-Gruppe zu gewiesen wurde.
Schiebe ich neue Mitglieder in andere Gruppen, sagen wir mal "Vollmitglied", dann lösche ich sie aus den Gruppen "neu registrierte Benutzer" bzw. "registrierte Benutzer".
Es gibt durchaus weitere Gruppen, in denen einzelne Benutzer zusätzlich Mitglied sind, und andere nicht. Genau das würde z.B. bei Veranstaltungen greifen. Hat das Logik für dich?
Die Benutzer in der System-Gruppe "Kürzlich registrierte Benutzer" stehen von Anfang an auch in der System-Gruppe "Registrierte Benutzer".MyLady wrote:nicht wirklich - neu registrierte Benutzer sind eine Systemgruppe, die in registrierte Benutzer wandelt, nachdem eine eingestellte Anzahl von Beiträgen erstellt wurde.
Dafür kann das Portal nicht´s, da das Portal das Berechtigung´s-System von phpBB nutzt!
Daher hat man Ähnliches auch ohne dem Portal.
Ich fände es unlogisch Berechtigungen verschiedenen Gruppen zu zuweisen, die von einzelnen Benutzern dieser Gruppen nicht genutzt werden können.
V.G. archivar
sorry for my bad english
sorry for my bad english
-
- Sponsor
- Posts: 134
- Joined: 30. November 2009 16:11
- phpBB.de User: Scanialady
- phpBB.com User: Scanialady
- Contact:
Re: Kalender Block besitzt jetzt einen Teil für Veranstaltun
Irgendwie verstehen wir uns nicht richtig - wir reden aneinander vorbei
Ich hoffe, jetzt hab ich mich verständlicher ausgedrückt.
Ja wie du schon sagst, sind sie von Anfang an in beiden Gruppen. Werden aber anschließend daraus gelöscht - aus beiden. Entfernt. Und den Kalender sollen natürlich alle Systemgruppen ansehen können - nicht aber die Veranstaltungen. Habe ich aber der Systemgruppe erlaubt, den Kalender zu sehen, kann ein Termin auch nur für Mitglieder einer Sondergruppe (oder einer anderen Gruppe) freigegeben sein, es sehen ihn trotzdem alle, die den Kalender sehen dürfen. Auch wenn die Gruppenangehörigen in keiner gemeinsamen Gruppe sind.Die sind Mitglied in zwei Gruppen - soweit richtig. Diese beiden Gruppen sollten Veranstaltungen aber ohnehin niemals sehen
Ich hoffe, jetzt hab ich mich verständlicher ausgedrückt.
sorry for my bad english - I'm german and google is my friend
-
- Portal Professional
- Posts: 1960
- Joined: 19. April 2009 21:34
- phpBB.de User: archivar
- phpBB.com User: archivar
- Location: Deutschland
Re: Kalender Block besitzt jetzt einen Teil für Veranstaltun
Dann dürfen diese 2 Gruppen in den Veranstaltungen nicht markiert werden.MyLady wrote:Die sind Mitglied in zwei Gruppen - soweit richtig. Diese beiden Gruppen sollten Veranstaltungen aber ohnehin niemals sehen
Dann markiere dort nicht´s.MyLady wrote:Und den Kalender sollen natürlich alle Systemgruppen ansehen können
Welche Gruppe welche Veranstaltungen sehen darf, musst Du in den einzelnen Veranstaltungen markieren.MyLady wrote:- nicht aber die Veranstaltungen.
Na klar - weil die Berechtigungen für die Veranstaltungen zusätzlich markiert werden können.MyLady wrote:Habe ich aber der Systemgruppe erlaubt, den Kalender zu sehen, kann ein Termin auch nur für Mitglieder einer Sondergruppe (oder einer anderen Gruppe) freigegeben sein, es sehen ihn trotzdem alle, die den Kalender sehen dürfen. Auch wenn die Gruppenangehörigen in keiner gemeinsamen Gruppe sind.
V.G. archivar
sorry for my bad english
sorry for my bad english
-
- Sponsor
- Posts: 134
- Joined: 30. November 2009 16:11
- phpBB.de User: Scanialady
- phpBB.com User: Scanialady
- Contact:
Re: Kalender Block besitzt jetzt einen Teil für Veranstaltun
wir haben tatsächlich aneinander vorbeigeredet
egal: die Änderungen in den beiden Dateien, die Kirk vorgeschlagen hat, die haben das Problem gelöst. Vielen Dank dafür, nun klappt das.
egal: die Änderungen in den beiden Dateien, die Kirk vorgeschlagen hat, die haben das Problem gelöst. Vielen Dank dafür, nun klappt das.
sorry for my bad english - I'm german and google is my friend
-
- Portal Professional
- Posts: 1960
- Joined: 19. April 2009 21:34
- phpBB.de User: archivar
- phpBB.com User: archivar
- Location: Deutschland
Re: Kalender Block besitzt jetzt einen Teil für Veranstaltun
Das glaube ich nicht.MyLady wrote:wir haben tatsächlich aneinander vorbeigeredet
Die beiden Dateien und andere Änderungen sind bereits seit dem 5.8.2011 in einem anderen Paket enthalten, welches ich seit dieser Zeit verwende: https://github.com/board3/Board3-Portal/zipball/masterMyLady wrote:egal: die Änderungen in den beiden Dateien, die Kirk vorgeschlagen hat, die haben das Problem gelöst. Vielen Dank dafür, nun klappt das.
Ich empfehle daher nicht nur dir dieses zu verwenden bevor sich eventuell noch andere "Missverständnisse" ergeben könnten.
Wobei es noch andere kleine Änderungen geben wird, welche von Marc aus zeitlichen Gründen leider noch nicht umgesetzt werden konnten oder noch nicht im Paket enthalten sind.
Schaut daher ab und zu mal hier hin was sich geändert haben könnte: https://github.com/board3/Board3-Portal
V.G. archivar
sorry for my bad english
sorry for my bad english
-
- Sponsor
- Posts: 134
- Joined: 30. November 2009 16:11
- phpBB.de User: Scanialady
- phpBB.com User: Scanialady
- Contact:
Re: Kalender Block besitzt jetzt einen Teil für Veranstaltun
Heute die Installation im aktiven Forum gemacht - mit dem neuen Paket wie oben beschrieben.
Alles einwandfrei!
Note 1 - setzen
Großartig.
Alles einwandfrei!
Note 1 - setzen
Großartig.
sorry for my bad english - I'm german and google is my friend
-
- Active Member
- Posts: 44
- Joined: 10. March 2010 20:48
- phpBB.de User: winnetou
- Location: Bremen
- Contact:
Re: Kalender Block besitzt jetzt einen Teil für Veranstaltun
Hi,
ich habe es auch schon seit längerem im aktiven Forum installiert, und es läuft alles super! Ich stelle mir gerade die Frage: "warum es immernoch die Beta version ist"?!
Gruss
Jürgen
ich habe es auch schon seit längerem im aktiven Forum installiert, und es läuft alles super! Ich stelle mir gerade die Frage: "warum es immernoch die Beta version ist"?!
Gruss
Jürgen
-
- Portal Professional
- Posts: 1960
- Joined: 19. April 2009 21:34
- phpBB.de User: archivar
- phpBB.com User: archivar
- Location: Deutschland
Re: Kalender Block besitzt jetzt einen Teil für Veranstaltun
Es gibt noch kleine "Fehlerchen" welche ihr noch nicht entdeckt habt aber im B3P -Team schon erörtert wurden.archivar wrote: Wobei es noch andere kleine Änderungen geben wird, welche von Marc aus zeitlichen Gründen leider noch nicht umgesetzt werden konnten oder noch nicht im Paket enthalten sind.
Und das hier: tracker.php?p=13
V.G. archivar
sorry for my bad english
sorry for my bad english
-
- Portal Professional
- Posts: 1960
- Joined: 19. April 2009 21:34
- phpBB.de User: archivar
- phpBB.com User: archivar
- Location: Deutschland
Re: Kalender Block besitzt jetzt einen Teil für Veranstaltun
Hier mal 4 Bilder als Beispiel für eventuelle Einträge als Veranstaltungen in Reihenfolge:
Man beachte die Bindestriche im Datum!!!!!!!!!!!
Und beim Testen die Berechtigungen in den Veranstaltungen erst mal nur für Admin´s setzen.
Man beachte die Bindestriche im Datum!!!!!!!!!!!
Und beim Testen die Berechtigungen in den Veranstaltungen erst mal nur für Admin´s setzen.
V.G. archivar
sorry for my bad english
sorry for my bad english