Merged pull request #10 from marc1706/master.

Added feature to open external event links in a new window
This commit is contained in:
Marc Alexander
2011-04-25 08:56:24 -07:00
12 changed files with 50 additions and 14 deletions

View File

@@ -24,7 +24,7 @@
</dl>
<dl>
<dt><label for="event_desc">{L_EVENT_DESC}:</label></dt>
<dd><input name="event_desc" type="text" id="event_desc" value="{EVENT_DESC}" maxlength="255" /></dd>
<dd><textarea id="event_desc" rows="6" cols="6" name="event_desc">{EVENT_DESC}</textarea></dd>
</dl>
<dl>
<dt>

View File

@@ -807,7 +807,7 @@ class acp_portal
if (preg_match('/^portal_.+\.' . $phpEx . '$/', $file))
{
$class = str_replace(".$phpEx", '', $file) . '_module';
if(in_array(str_replace(array('portal_', '_module'), '', $class), $installed_modules))
if(in_array(str_replace(array('portal_', '_module'), '', $class), $installed_modules) && $class != 'portal_custom_module')
{
continue;
}

View File

@@ -126,7 +126,7 @@ $lang = array_merge($lang, array(
'ACP_PORTAL_CALENDAR_EVENT_START_FIRST' => 'Das Ende der Veranstaltung muss nach dem Beginn der Veranstaltung liegen.',
'ACP_PORTAL_CALENDAR_PERMISSION' => 'Berechtigungen für die Veranstaltung',
'ACP_PORTAL_CALENDAR_PERMISSION_EXP' => 'Wähle die Gruppen aus, denen es erlaubt sein soll die Veranstaltung zu sehen. Falls alle Benutzer die Veranstaltung sehen sollen, dann wähle nichts aus.<br />Wähle mehrere Gruppen aus/ab, indem du beim Klicken die <samp>Strg</samp>-Taste drückst.',
'PORTAL_EVENTS_URL_NEW_WINDOW' => 'Öffne externe Veranstaltungsverknüpfungen in einem neuen Fenster',
// Logs
'LOG_PORTAL_EVENT_UPDATED' => '<strong>Veranstaltung aktualisiert</strong><br />&raquo; %s',

View File

@@ -35,6 +35,7 @@ $lang = array_merge($lang, array(
'LATEST_BOTS' => 'Letzte Bots',
'LAST_VISITED_BOTS' => 'Die letzten Bots',
'LAST_VISITED_BOTS_CNT' => 'Die letzten %s Bots',
'LAST_VISITED_BOT' => 'Der letzte Bot',
// ACP
'ACP_PORTAL_BOTS_SETTINGS' => 'Einstellungen für Bot-Besuche',

View File

@@ -126,6 +126,7 @@ $lang = array_merge($lang, array(
'ACP_PORTAL_CALENDAR_EVENT_START_FIRST' => 'The end of the event has to be after the start of the event.',
'ACP_PORTAL_CALENDAR_PERMISSION' => 'Event permissions',
'ACP_PORTAL_CALENDAR_PERMISSION_EXP' => 'Select the groups that should be authorized to view the event. If you want all users to be able to view the event, dont select anything.<br />Select/Deselect multiple groups by holding <samp>CTRL</samp> and clicking.',
'PORTAL_EVENTS_URL_NEW_WINDOW' => 'Open external event links in a new window',
// Logs

View File

@@ -35,6 +35,7 @@ $lang = array_merge($lang, array(
'LATEST_BOTS' => 'Latest Bots',
'LAST_VISITED_BOTS' => 'Last visited bots',
'LAST_VISITED_BOTS_CNT' => 'Last %s visited bots',
'LAST_VISITED_BOT' => 'Last visited bot',
// ACP
'ACP_PORTAL_BOTS_SETTINGS' => 'Visiting bots settings',

View File

@@ -178,6 +178,15 @@ class portal_calendar_module
{
if($cur_event['start_time'] >= $today_timestamp || $cur_event['end_time'] >= $today_timestamp || (($cur_event['start_time'] + 86400) >= $today_timestamp && $cur_event['all_day']))
{
// 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'] + 86400) >= $today_timestamp && $cur_event['all_day']) || ($cur_event['start_time'] <= $today_timestamp && $cur_event['end_time'] >= $today_timestamp))
{
@@ -189,6 +198,7 @@ class portal_calendar_module
'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
@@ -201,6 +211,7 @@ class portal_calendar_module
'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,
));
}
}
@@ -221,6 +232,7 @@ class portal_calendar_module
'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'),
),
);
@@ -237,6 +249,7 @@ class portal_calendar_module
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;
@@ -261,6 +274,7 @@ class portal_calendar_module
'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);

View File

@@ -65,21 +65,40 @@ class portal_latest_bots_module
ORDER BY user_lastvisit DESC';
$result = $db->sql_query_limit($sql, $config['board3_last_visited_bots_number_' . $module_id]);
$show_module = false;
while ($row = $db->sql_fetchrow($result))
{
$template->assign_block_vars('last_visited_bots', array(
'BOT_NAME' => get_username_string('full', '', $row['username'], $row['user_colour']),
'LAST_VISIT_DATE' => $user->format_date($row['user_lastvisit']),
));
'BOT_NAME' => get_username_string('full', '', $row['username'], $row['user_colour']),
'LAST_VISIT_DATE' => $user->format_date($row['user_lastvisit']),
));
$show_module = true;
}
$db->sql_freeresult($result);
if($config['board3_last_visited_bots_number_' . $module_id] != 0)
{
if($config['board3_last_visited_bots_number_' . $module_id] == 1)
{
$last_visited_bots = $user->lang['LAST_VISITED_BOT'];
}
else
{
$last_visited_bots = sprintf($user->lang['LAST_VISITED_BOTS_CNT'], $config['board3_last_visited_bots_number_' . $module_id]);
}
}
else
{
$last_visited_bots = $user->lang['LAST_VISITED_BOTS'];
}
// Assign specific vars
$template->assign_vars(array(
'LAST_VISITED_BOTS' => ($config['board3_last_visited_bots_number_' . $module_id] != 0) ? sprintf($user->lang['LAST_VISITED_BOTS_CNT'], $config['board3_last_visited_bots_number_' . $module_id]) : $user->lang['LAST_VISITED_BOTS'],
'LAST_VISITED_BOTS' => $last_visited_bots,
));
if(!empty($row))
if($show_module)
{
return 'latest_bots_side.html';
}

View File

@@ -41,7 +41,7 @@
<li class="row">
<dl class="icon">
<dt style="width: 100%; padding-left: 0px; padding-bottom: 5px;">
<!-- IF minical.cur_events.EVENT_URL --><a href="{minical.cur_events.EVENT_URL}" title="{minical.cur_events.EVENT_TITLE}"><!-- ENDIF -->
<!-- IF minical.cur_events.EVENT_URL --><a href="{minical.cur_events.EVENT_URL}" title="{minical.cur_events.EVENT_TITLE}" <!-- IF minical.cur_events.EVENT_URL_NEW_WINDOW -->onclick="window.open('{minical.cur_events.EVENT_URL}'); return false;"<!-- ENDIF -->><!-- ENDIF -->
<span style="font-weight: bold;">{minical.cur_events.EVENT_TITLE}:</span><br />
<!-- IF minical.cur_events.ALL_DAY -->{L_EVENT_START}:&nbsp;{minical.cur_events.START_TIME}<br />{L_EVENT_ALL_DAY}<br />
<!-- ELSEIF not minical.cur_events.ALL_DAY and minical.cur_events.END_TIME -->{L_EVENT_START}:&nbsp;{minical.cur_events.START_TIME}<br />{L_EVENT_END}:&nbsp;{minical.cur_events.END_TIME}<br />
@@ -65,7 +65,7 @@
<li class="row">
<dl class="icon">
<dt style="width: 100%; padding-left: 0px; padding-bottom: 5px;">
<!-- IF minical.upcoming_events.EVENT_URL --><a href="{minical.upcoming_events.EVENT_URL}" title="{minical.upcoming_events.EVENT_TITLE}"><!-- ENDIF -->
<!-- IF minical.upcoming_events.EVENT_URL --><a href="{minical.upcoming_events.EVENT_URL}" title="{minical.upcoming_events.EVENT_TITLE}" <!-- IF minical.upcoming_events.EVENT_URL_NEW_WINDOW -->onclick="window.open('{minical.upcoming_events.EVENT_URL}'); return false;"<!-- ENDIF -->><!-- ENDIF -->
<span style="font-weight: bold;">{minical.upcoming_events.EVENT_TITLE}:</span><br />
<!-- IF minical.upcoming_events.EVENT_DESC --><span style="font-style: italic;">{minical.upcoming_events.EVENT_DESC}</span><br /><!-- ENDIF -->
<!-- IF not minical.upcoming_events.ALL_DAY and not minical.upcoming_events.END_TIME -->{L_EVENT_TIME}:&nbsp;{minical.upcoming_events.START_TIME}<br />

View File

@@ -3,7 +3,7 @@
<li><dl>
<dd style="border-left:0px">
<p style="margin: 0 5px 0 5px;">{TOTAL_USERS_ONLINE} ({L_ONLINE_EXPLAIN})<br />{RECORD_USERS}<br /> <br />{LOGGED_IN_USER_LIST}
<!-- IF LEGEND --><br /><em>{L_LEGEND}: {PORTAL_LEGEND}</em><!-- ENDIF --></p>
<!-- IF PORTAL_LEGEND --><br /><em>{L_LEGEND}: {PORTAL_LEGEND}</em><!-- ENDIF --></p>
</dd>
</dl></li>
</ul>

View File

@@ -46,7 +46,7 @@
<!-- BEGIN cur_events -->
<tr>
<td style="width: 100%; padding-left: 0px; padding-bottom: 5px;">
<!-- IF minical.cur_events.EVENT_URL --><a href="{minical.cur_events.EVENT_URL}" title="{minical.cur_events.EVENT_TITLE}"><!-- ENDIF -->
<!-- IF minical.cur_events.EVENT_URL --><a href="{minical.cur_events.EVENT_URL}" title="{minical.cur_events.EVENT_TITLE}" <!-- IF minical.cur_events.EVENT_URL_NEW_WINDOW -->onclick="window.open('{minical.cur_events.EVENT_URL}'); return false;"<!-- ENDIF -->><!-- ENDIF -->
<span style="font-weight: bold;">{minical.cur_events.EVENT_TITLE}:</span><br />
<!-- IF not minical.cur_events.ALL_DAY and not minical.cur_events.END_TIME -->{L_EVENT_TIME}:&nbsp;{minical.cur_events.START_TIME}<br />
<!-- ELSEIF not minical.cur_events.ALL_DAY and cur_events.END_TIME -->{L_EVENT_START}:&nbsp;{minical.cur_events.START_TIME}<br />{L_EVENT_END}:&nbsp;{minical.cur_events.END_TIME}<br />
@@ -70,7 +70,7 @@
<!-- BEGIN upcoming_events -->
<tr>
<td style="width: 100%; padding-left: 0px; padding-bottom: 5px;">
<!-- IF minical.upcoming_events.EVENT_URL --><a href="{minical.upcoming_events.EVENT_URL}" title="{minical.upcoming_events.EVENT_TITLE}"><!-- ENDIF -->
<!-- IF minical.upcoming_events.EVENT_URL --><a href="{minical.upcoming_events.EVENT_URL}" title="{minical.upcoming_events.EVENT_TITLE}" <!-- IF minical.upcoming_events.EVENT_URL_NEW_WINDOW -->onclick="window.open('{minical.upcoming_events.EVENT_URL}'); return false;"<!-- ENDIF -->><!-- ENDIF -->
<span style="font-weight: bold;">{minical.upcoming_events.EVENT_TITLE}:</span><br />
<!-- IF not minical.upcoming_events.ALL_DAY and not minical.upcoming_events.END_TIME -->{L_EVENT_TIME}:&nbsp;{minical.upcoming_events.START_TIME}<br />
<!-- ELSEIF not minical.upcoming_events.ALL_DAY and minical.upcoming_events.END_TIME -->{L_EVENT_START}:&nbsp;{minical.upcoming_events.START_TIME}<br />{L_EVENT_END}:&nbsp;{minical.upcoming_events.END_TIME}<br />

View File

@@ -10,7 +10,7 @@
<!-- ENDIF -->
<td class="row1" width="100%"><span class="genmed">{TOTAL_USERS_ONLINE} ({L_ONLINE_EXPLAIN})<br />{RECORD_USERS}<br /><br />{LOGGED_IN_USER_LIST}</span></td>
</tr>
<!-- IF LEGEND -->
<!-- IF PORTAL_LEGEND -->
<tr>
<td class="row1"><b class="gensmall">{L_LEGEND}: {PORTAL_LEGEND}</b></td>
</tr>