Added basic version of calendar block including the ability to add events;
Fixed a few small bugs;
This commit is contained in:
89
root/language/en/mods/portal/portal_calendar_module.php
Normal file
89
root/language/en/mods/portal/portal_calendar_module.php
Normal file
@@ -0,0 +1,89 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @package Portal - Clock
|
||||||
|
* @version $Id$
|
||||||
|
* @copyright (c) 2009, 2010 Board3 Portal Team
|
||||||
|
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* DO NOT CHANGE
|
||||||
|
*/
|
||||||
|
if (!defined('IN_PHPBB'))
|
||||||
|
{
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (empty($lang) || !is_array($lang))
|
||||||
|
{
|
||||||
|
$lang = array();
|
||||||
|
}
|
||||||
|
|
||||||
|
// DEVELOPERS PLEASE NOTE
|
||||||
|
//
|
||||||
|
// All language files should use UTF-8 as their encoding and the files must not contain a BOM.
|
||||||
|
//
|
||||||
|
// Placeholders can now contain order information, e.g. instead of
|
||||||
|
// 'Page %s of %s' you can (and should) write 'Page %1$s of %2$s', this allows
|
||||||
|
// translators to re-order the output of data while ensuring it remains correct
|
||||||
|
//
|
||||||
|
// You do not need this where single placeholders are used, e.g. 'Message %d' is fine
|
||||||
|
// equally where a string contains only two placeholders which are used to wrap text
|
||||||
|
// in a url you again do not need to specify an order e.g., 'Click %sHERE%s' is fine
|
||||||
|
$lang = array_merge($lang, array(
|
||||||
|
'PORTAL_CALENDAR' => 'Calendar',
|
||||||
|
'VIEW_NEXT_MONTH' => 'next month',
|
||||||
|
'VIEW_PREVIOUS_MONTH' => 'Previous month',
|
||||||
|
'EVENT_START' => 'From',
|
||||||
|
'EVENT_END' => 'To',
|
||||||
|
'EVENT_TIME' => 'Time',
|
||||||
|
'EVENT_ALL_DAY' => 'All Day Event',
|
||||||
|
'CURRENT_EVENTS' => 'Current Events',
|
||||||
|
'NO_CUR_EVENTS' => 'No current events',
|
||||||
|
'UPCOMING_EVENTS' => 'Upcoming Events',
|
||||||
|
'NO_UPCOMING_EVENTS' => 'No upcoming events',
|
||||||
|
|
||||||
|
'mini_cal' => array(
|
||||||
|
'day' => array(
|
||||||
|
'1' => 'Su',
|
||||||
|
'2' => 'Mo',
|
||||||
|
'3' => 'Tu',
|
||||||
|
'4' => 'We',
|
||||||
|
'5' => 'Th',
|
||||||
|
'6' => 'Fr',
|
||||||
|
'7' => 'Sa',
|
||||||
|
),
|
||||||
|
|
||||||
|
'month' => array(
|
||||||
|
'1' => 'Jan.',
|
||||||
|
'2' => 'Feb.',
|
||||||
|
'3' => 'Mar.',
|
||||||
|
'4' => 'Apr.',
|
||||||
|
'5' => 'May',
|
||||||
|
'6' => 'Jun.',
|
||||||
|
'7' => 'Jul.',
|
||||||
|
'8' => 'Aug.',
|
||||||
|
'9' => 'Sep.',
|
||||||
|
'10'=> 'Oct.',
|
||||||
|
'11'=> 'Nov.',
|
||||||
|
'12'=> 'Dec.',
|
||||||
|
),
|
||||||
|
|
||||||
|
'long_month'=> array(
|
||||||
|
'1' => 'January',
|
||||||
|
'2' => 'February',
|
||||||
|
'3' => 'March',
|
||||||
|
'4' => 'April',
|
||||||
|
'5' => 'May',
|
||||||
|
'6' => 'June',
|
||||||
|
'7' => 'July',
|
||||||
|
'8' => 'August',
|
||||||
|
'9' => 'September',
|
||||||
|
'10'=> 'October',
|
||||||
|
'11'=> 'November',
|
||||||
|
'12'=> 'December',
|
||||||
|
),
|
||||||
|
),
|
||||||
|
));
|
||||||
|
|
||||||
|
?>
|
||||||
378
root/portal/modules/portal_calendar.php
Normal file
378
root/portal/modules/portal_calendar.php
Normal file
@@ -0,0 +1,378 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @package Portal - Calendar
|
||||||
|
* @version $Id$
|
||||||
|
* @copyright (c) 2009, 2010 Board3 Portal Team
|
||||||
|
* @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
|
||||||
|
*/
|
||||||
|
var $columns = 10;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Default modulename
|
||||||
|
*/
|
||||||
|
var $name = 'PORTAL_CALENDAR';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Default module-image:
|
||||||
|
* file must be in "{T_THEME_PATH}/images/portal/"
|
||||||
|
*/
|
||||||
|
var $image_src = 'portal_calendar.png';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* module-language file
|
||||||
|
* file must be in "language/{$user->lang}/mods/portal/"
|
||||||
|
*/
|
||||||
|
var $language = 'portal_calendar_module';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* custom acp template
|
||||||
|
* file must be in "adm/style/portal/"
|
||||||
|
*/
|
||||||
|
//var $custom_acp_tpl = '';
|
||||||
|
|
||||||
|
function get_template_center($module_id)
|
||||||
|
{
|
||||||
|
global $config, $template;
|
||||||
|
|
||||||
|
$template->assign_vars(array(
|
||||||
|
'EXAMPLE' => $config['portal_' . $module_id . '_configname'],
|
||||||
|
));
|
||||||
|
|
||||||
|
return 'modulename_center.html';
|
||||||
|
}
|
||||||
|
|
||||||
|
function get_template_side($module_id)
|
||||||
|
{
|
||||||
|
global $config, $template, $user, $phpbb_root_path, $phpEx;
|
||||||
|
|
||||||
|
$portal_config = obtain_portal_config();
|
||||||
|
|
||||||
|
// 0 = Sunday first - 1 = Monday first. ;-)
|
||||||
|
if ($config['board3_sunday_first_' . $module_id])
|
||||||
|
{
|
||||||
|
define('MINI_CAL_FDOW', 0);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
define('MINI_CAL_FDOW', 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
// get the calendar month
|
||||||
|
$mini_cal_month = 0;
|
||||||
|
if(isset($_GET['m']) || isset($_POST['m']))
|
||||||
|
{
|
||||||
|
$mini_cal_month = request_var('m', 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 = 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 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 == MINI_CAL_FDOW)
|
||||||
|
{
|
||||||
|
$template->assign_block_vars('mini_cal_row', array());
|
||||||
|
}
|
||||||
|
|
||||||
|
// 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('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('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++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 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=$down#minical") . '"><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=$up#minical") . '"><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_vars(array(
|
||||||
|
'S_DISPLAY_MINICAL' => true,
|
||||||
|
'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)
|
||||||
|
);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 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]);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* this is what the events array should look like
|
||||||
|
$events[0] = array(
|
||||||
|
'title' => '',
|
||||||
|
'desc' => '',
|
||||||
|
'start_time' => '',
|
||||||
|
'end_time' => '',
|
||||||
|
'url' => '',
|
||||||
|
);*/
|
||||||
|
if(!empty($events))
|
||||||
|
{
|
||||||
|
// 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);
|
||||||
|
|
||||||
|
foreach($events as $key => $cur_event)
|
||||||
|
{
|
||||||
|
if($cur_event['start_time'] >= $today_timestamp || $cur_event['end_time'] >= $today_timestamp)
|
||||||
|
{
|
||||||
|
// current events
|
||||||
|
if(($cur_event['start_time'] <= $today_timestamp && $cur_event['end_time'] <= $cur_event['start_time']) || ($cur_event['start_time'] <= $today_timestamp && $cur_event['end_time'] >= $today_timestamp))
|
||||||
|
{
|
||||||
|
$template->assign_block_vars('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'], 'y-m-d'),
|
||||||
|
'END_TIME' => $user->format_date($cur_event['end_time'], 'y-m-d'),
|
||||||
|
'EVENT_DESC' => (isset($cur_event['desc']) && $cur_event['desc'] != '') ? $cur_event['desc'] : '',
|
||||||
|
));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$template->assign_block_vars('upcoming_events', array(
|
||||||
|
'EVENT_URL' => (isset($cur_event['url']) && $cur_event['url'] != '') ? $this->validate_url($cur_event['url']) : '',
|
||||||
|
'EVENT_TITLE' => $cur_event['title'],
|
||||||
|
'CUR_EVENT' => ($cur_event['start_time'] <= $today_timestamp && $cur_event['end_time'] >= $today_timestamp) ? true : false,
|
||||||
|
'START_TIME' => $user->format_date($cur_event['start_time'], 'y-m-d'),
|
||||||
|
'END_TIME' => $user->format_date($cur_event['end_time'], 'y-m-d'),
|
||||||
|
'EVENT_DESC' => (isset($cur_event['desc']) && $cur_event['desc'] != '') ? $cur_event['desc'] : '',
|
||||||
|
));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// mark the events that should be deleted
|
||||||
|
$delete_id_ary[] = $key;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// now delete old events
|
||||||
|
if(isset($delete_id_ary) && !empty($delete_id_ary))
|
||||||
|
{
|
||||||
|
foreach($delete_id_ary as $cur_id)
|
||||||
|
{
|
||||||
|
array_splice($events, $cur_id, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
// afterwards reset the array numbering and insert the data into the database
|
||||||
|
$events = array_merge($events);
|
||||||
|
|
||||||
|
$events = serialize($events);
|
||||||
|
set_portal_config('board3_calendar_events_' . $module_id, $events);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//print_r($events); // no output needed, seems to work correctly
|
||||||
|
|
||||||
|
/*
|
||||||
|
if (!isset($template->filename['mini_cal_block']))
|
||||||
|
{
|
||||||
|
$template->set_filenames(array(
|
||||||
|
'mini_cal_block' => 'portal/block/mini_calendar.html')
|
||||||
|
);
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
return 'calendar_side.html';
|
||||||
|
}
|
||||||
|
|
||||||
|
function get_template_acp($module_id)
|
||||||
|
{
|
||||||
|
return array(
|
||||||
|
'title' => 'ACP_CONFIG_MODULENAME',
|
||||||
|
'vars' => array(
|
||||||
|
'legend1' => 'ACP_MODULENAME_CONFIGLEGEND',
|
||||||
|
'portal_' . $module_id . '_configname' => array('lang' => 'MODULENAME_CONFIGNAME', 'validate' => 'string', 'type' => 'text:10:200', 'explain' => false),
|
||||||
|
'portal_' . $module_id . '_configname2' => array('lang' => 'MODULENAME_CONFIGNAME2', 'validate' => 'int', 'type' => 'text:3:3', 'explain' => true),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
return array();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* API functions
|
||||||
|
*/
|
||||||
|
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_portal_config('board3_calendar_events_' . $module_id, '');
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
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,
|
||||||
|
);
|
||||||
|
$sql = 'DELETE FROM ' . CONFIG_TABLE . '
|
||||||
|
WHERE ' . $db->sql_in_set('config_name', $del_config);
|
||||||
|
return $db->sql_query($sql);
|
||||||
|
}
|
||||||
|
|
||||||
|
var $dateYYY; // year in numeric format (YYYY)
|
||||||
|
var $dateMM; // month in numeric format (MM)
|
||||||
|
var $dateDD; // day in numeric format (DD)
|
||||||
|
var $ext_dateMM; // extended month (e.g. February)
|
||||||
|
var $daysMonth; // count of days in month
|
||||||
|
var $stamp; // timestamp
|
||||||
|
var $day; // return array s.a.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* convert date->timestamp
|
||||||
|
**/
|
||||||
|
function makeTimestamp($date)
|
||||||
|
{
|
||||||
|
$this->stamp = strtotime($date);
|
||||||
|
return ($this->stamp);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* get date listed in array
|
||||||
|
**/
|
||||||
|
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
|
||||||
|
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
|
||||||
|
*/
|
||||||
|
function validate_url($url)
|
||||||
|
{
|
||||||
|
global $config;
|
||||||
|
|
||||||
|
$url = str_replace("\r\n", "\n", str_replace('\"', '"', trim($url)));
|
||||||
|
$url = str_replace(' ', '%20', $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 remove the session id from the url
|
||||||
|
if (strpos($url, generate_board_url()) !== false && strpos($url, 'sid=') !== false)
|
||||||
|
{
|
||||||
|
$url = reapply_sid($url);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $url;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
?>
|
||||||
@@ -169,6 +169,8 @@ class portal_links_module
|
|||||||
$sql = 'DELETE FROM ' . PORTAL_CONFIG_TABLE . '
|
$sql = 'DELETE FROM ' . PORTAL_CONFIG_TABLE . '
|
||||||
WHERE ' . $db->sql_in_set('config_name', $del_config);
|
WHERE ' . $db->sql_in_set('config_name', $del_config);
|
||||||
|
|
||||||
|
$db->sql_query($sql);
|
||||||
|
|
||||||
$del_config = array(
|
$del_config = array(
|
||||||
'board3_links_' . $module_id,
|
'board3_links_' . $module_id,
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -224,6 +224,8 @@ class portal_main_menu_module
|
|||||||
$sql = 'DELETE FROM ' . PORTAL_CONFIG_TABLE . '
|
$sql = 'DELETE FROM ' . PORTAL_CONFIG_TABLE . '
|
||||||
WHERE ' . $db->sql_in_set('config_name', $del_config);
|
WHERE ' . $db->sql_in_set('config_name', $del_config);
|
||||||
|
|
||||||
|
$db->sql_query($sql);
|
||||||
|
|
||||||
$del_config = array(
|
$del_config = array(
|
||||||
'board3_menu_' . $module_id,
|
'board3_menu_' . $module_id,
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<!--version $Id$ //-->
|
<!--version $Id$ //-->
|
||||||
{$LR_BLOCK_H_L}<!-- IF $S_BLOCK_ICON --><img src="{T_THEME_PATH}/images/portal/portal_attach.png" width="16" height="16" alt="" /> <!-- ENDIF -->{L_ATTACHMENTS}{$LR_BLOCK_H_R}
|
{$LR_BLOCK_H_L}<!-- IF $S_BLOCK_ICON --><img src="{$IMAGE_SRC}" width="16" height="16" alt="" /> <!-- ENDIF -->{L_ATTACHMENTS}{$LR_BLOCK_H_R}
|
||||||
<!-- IF .attach -->
|
<!-- IF .attach -->
|
||||||
<span style="float:left;"><strong>{L_FILENAME}</strong></span><br />
|
<span style="float:left;"><strong>{L_FILENAME}</strong></span><br />
|
||||||
<!-- BEGIN attach -->
|
<!-- BEGIN attach -->
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<!--version $Id$ //-->
|
<!--version $Id$ //-->
|
||||||
{$LR_BLOCK_H_L}<!-- IF $S_BLOCK_ICON --><img src="{T_THEME_PATH}/images/portal/portal_birthday.png" width="16" height="16" alt="" /> <!-- ENDIF -->{L_BIRTHDAYS}{$LR_BLOCK_H_R}
|
{$LR_BLOCK_H_L}<!-- IF $S_BLOCK_ICON --><img src="{$IMAGE_SRC}" width="16" height="16" alt="" /> <!-- ENDIF -->{L_BIRTHDAYS}{$LR_BLOCK_H_R}
|
||||||
<!-- IF BIRTHDAY_LIST -->
|
<!-- IF BIRTHDAY_LIST -->
|
||||||
<strong>{L_CONGRATULATIONS}:</strong><br /> {BIRTHDAY_LIST}
|
<strong>{L_CONGRATULATIONS}:</strong><br /> {BIRTHDAY_LIST}
|
||||||
<!-- ELSE -->
|
<!-- ELSE -->
|
||||||
|
|||||||
@@ -0,0 +1,75 @@
|
|||||||
|
<!--version $Id$ //-->
|
||||||
|
<a name="minical"></a>
|
||||||
|
{$LR_BLOCK_H_L}<!-- IF $S_BLOCK_ICON --><img src="{$IMAGE_SRC}" width="16" height="16" alt="" /> <!-- ENDIF -->{L_PORTAL_CALENDAR}{$LR_BLOCK_H_R}
|
||||||
|
<table width="100%" cellspacing="1">
|
||||||
|
<tr>
|
||||||
|
<td align="left" colspan="2">{U_PREV_MONTH}</td>
|
||||||
|
<td colspan="3" align="center"><span class="genmed">{L_MINI_CAL_MONTH}</span></td>
|
||||||
|
<td align="right" colspan="2">{U_NEXT_MONTH}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<!-- IF S_SUNDAY_FIRST -->
|
||||||
|
<td style="width: 14%;"><span class="gensmall" style="font-weight: bold">{L_MINI_CAL_SUN}</span></td>
|
||||||
|
<!-- ENDIF -->
|
||||||
|
<td style="width: 14%;"><span class="gensmall" style="font-weight: bold">{L_MINI_CAL_MON}</span></td>
|
||||||
|
<td style="width: 14%;"><span class="gensmall" style="font-weight: bold">{L_MINI_CAL_TUE}</span></td>
|
||||||
|
<td style="width: 14%;"><span class="gensmall" style="font-weight: bold">{L_MINI_CAL_WED}</span></td>
|
||||||
|
<td style="width: 14%;"><span class="gensmall" style="font-weight: bold">{L_MINI_CAL_THU}</span></td>
|
||||||
|
<td style="width: 14%;"><span class="gensmall" style="font-weight: bold">{L_MINI_CAL_FRI}</span></td>
|
||||||
|
<td style="width: 14%;"><span class="gensmall" style="font-weight: bold">{L_MINI_CAL_SAT}</span></td>
|
||||||
|
<!-- IF not S_SUNDAY_FIRST -->
|
||||||
|
<td style="width: 14%;"><span class="gensmall" style="font-weight: bold">{L_MINI_CAL_SUN}</span></td>
|
||||||
|
<!-- ENDIF -->
|
||||||
|
</tr>
|
||||||
|
<!-- BEGIN mini_cal_row -->
|
||||||
|
<tr>
|
||||||
|
<!-- BEGIN mini_cal_days -->
|
||||||
|
<td class="row1" align="center"><span class="gensmall">{mini_cal_row.mini_cal_days.MINI_CAL_DAY}</span></td>
|
||||||
|
<!-- END mini_cal_days -->
|
||||||
|
</tr>
|
||||||
|
<!-- END mini_cal_row -->
|
||||||
|
</table>
|
||||||
|
<hr class="dashed" />
|
||||||
|
<div class="menutitle" style="font: bold 12px 'Trebuchet MS','Lucida Grande',Arial,sans-serif; text-decoration: underline;">{L_CURRENT_EVENTS}:</div>
|
||||||
|
<ul>
|
||||||
|
<!-- BEGIN cur_events -->
|
||||||
|
<li class="row" style="border-top: 0px;">
|
||||||
|
<dl class="icon">
|
||||||
|
<dt style="width: 100%; padding-left: 0px; padding-bottom: 5px;">
|
||||||
|
<!-- IF cur_events.EVENT_URL --><a href="{cur_events.EVENT_URL}" title="{cur_events.EVENT_TITLE}"><!-- ENDIF -->
|
||||||
|
<span style="font-weight: bold;">{cur_events.EVENT_TITLE}:</span><br />
|
||||||
|
<!-- IF not cur_events.ALL_DAY and not cur_events.END_TIME -->{L_EVENT_TIME}: {cur_events.START_TIME}<br />
|
||||||
|
<!-- ELSEIF not cur_events.ALL_DAY and cur_events.END_TIME -->{L_EVENT_START}: {cur_events.START_TIME}<br />{L_EVENT_END}: {cur_events.END_TIME}<br />
|
||||||
|
<!-- ELSE -->{L_EVENT_ALL_DAY}<br />
|
||||||
|
<!-- ENDIF -->
|
||||||
|
<!-- IF cur_events.EVENT_DESC --><span style="font-style: italic;">{cur_events.EVENT_DESC}</span><!-- ENDIF -->
|
||||||
|
<!-- IF cur_events.EVENT_URL --></a><!-- ENDIF -->
|
||||||
|
</dt>
|
||||||
|
</dl>
|
||||||
|
</li>
|
||||||
|
<!-- BEGINELSE -->
|
||||||
|
<li><span style="float:left;" class="gensmall"><strong>{L_NO_CUR_EVENTS}</strong></span><br /></li>
|
||||||
|
<!-- END cur_events -->
|
||||||
|
</ul>
|
||||||
|
<div class="menutitle" style="font: bold 12px 'Trebuchet MS','Lucida Grande',Arial,sans-serif; text-decoration: underline;">{L_UPCOMING_EVENTS}:</div>
|
||||||
|
<ul>
|
||||||
|
<!-- BEGIN upcoming_events -->
|
||||||
|
<li class="row" style="border-top: 0px;">
|
||||||
|
<dl class="icon">
|
||||||
|
<dt style="width: 100%; padding-left: 0px; padding-bottom: 5px;">
|
||||||
|
<!-- IF upcoming_events.EVENT_URL --><a href="{upcoming_events.EVENT_URL}" title="{upcoming_events.EVENT_TITLE}"><!-- ENDIF -->
|
||||||
|
<span style="font-weight: bold;">{upcoming_events.EVENT_TITLE}:</span><br />
|
||||||
|
<!-- IF not upcoming_events.ALL_DAY and not upcoming_events.END_TIME -->{L_EVENT_TIME}: {upcoming_events.START_TIME}<br />
|
||||||
|
<!-- ELSEIF not upcoming_events.ALL_DAY and upcoming_events.END_TIME -->{L_EVENT_START}: {upcoming_events.START_TIME}<br />{L_EVENT_END}: {upcoming_events.END_TIME}<br />
|
||||||
|
<!-- ELSE -->{L_EVENT_ALL_DAY}<br />
|
||||||
|
<!-- ENDIF -->
|
||||||
|
<!-- IF upcoming_events.EVENT_DESC --><span style="font-style: italic;">{upcoming_events.EVENT_DESC}</span><!-- ENDIF -->
|
||||||
|
<!-- IF upcoming_events.EVENT_URL --></a><!-- ENDIF -->
|
||||||
|
</dt>
|
||||||
|
</dl>
|
||||||
|
</li>
|
||||||
|
<!-- BEGINELSE -->
|
||||||
|
<li><span style="float:left;" class="gensmall"><strong>{L_NO_UPCOMING_EVENTS}</strong></span><br /></li>
|
||||||
|
<!-- END upcoming_events -->
|
||||||
|
</ul>
|
||||||
|
{$LR_BLOCK_F_L}{$LR_BLOCK_F_R}
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
<!--version $Id$ //-->
|
<!--version $Id$ //-->
|
||||||
{$LR_BLOCK_H_L}<!-- IF $S_BLOCK_ICON --><img src="{T_THEME_PATH}/images/portal/portal_clock.png" width="16" height="16" alt="" /> <!-- ENDIF -->{L_CLOCK}{$LR_BLOCK_H_R}
|
{$LR_BLOCK_H_L}<!-- IF $S_BLOCK_ICON --><img src="{$IMAGE_SRC}" width="16" height="16" alt="" /> <!-- ENDIF -->{L_CLOCK}{$LR_BLOCK_H_R}
|
||||||
<div style="text-align: center;">
|
<div style="text-align: center;">
|
||||||
<br />
|
<br />
|
||||||
<object type="application/x-shockwave-flash" data="{T_THEME_PATH}/images/portal/{CLOCK_SRC}" width="140" height="140">
|
<object type="application/x-shockwave-flash" data="{T_THEME_PATH}/images/portal/{CLOCK_SRC}" width="140" height="140">
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<!--version $Id$ //-->
|
<!--version $Id$ //-->
|
||||||
{$LR_BLOCK_H_L}<!-- IF $S_BLOCK_ICON --><img src="{T_THEME_PATH}/images/portal/portal_donation.png" width="16" height="16" alt="" /> <!-- ENDIF -->{L_DONATION}{$LR_BLOCK_H_R}
|
{$LR_BLOCK_H_L}<!-- IF $S_BLOCK_ICON --><img src="{$IMAGE_SRC}" width="16" height="16" alt="" /> <!-- ENDIF -->{L_DONATION}{$LR_BLOCK_H_R}
|
||||||
<div style="text-align: center;">
|
<div style="text-align: center;">
|
||||||
<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
|
<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
|
||||||
<div>
|
<div>
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<!--version $Id$ //-->
|
<!--version $Id$ //-->
|
||||||
{$LR_BLOCK_H_L}<!-- IF $S_BLOCK_ICON --><img src="{T_THEME_PATH}/images/portal/portal_friends.png" width="17" height="17" alt="" /> <!-- ENDIF -->{L_FRIENDS}{$LR_BLOCK_H_R}
|
{$LR_BLOCK_H_L}<!-- IF $S_BLOCK_ICON --><img src="{$IMAGE_SRC}" width="17" height="17" alt="" /> <!-- ENDIF -->{L_FRIENDS}{$LR_BLOCK_H_R}
|
||||||
<strong style="color:green">{L_FRIENDS_ONLINE}</strong><br />
|
<strong style="color:green">{L_FRIENDS_ONLINE}</strong><br />
|
||||||
<!-- BEGIN b3p_friends_online -->
|
<!-- BEGIN b3p_friends_online -->
|
||||||
<span style="float:left;"><img src="{T_THEME_PATH}/images/portal/portal_user.png" width="16" height="16" alt="" /></span><span style="float:left; padding-left:5px; padding-top:2px;">{b3p_friends_online.USERNAME_FULL}</span><br style="clear:both" />
|
<span style="float:left;"><img src="{T_THEME_PATH}/images/portal/portal_user.png" width="16" height="16" alt="" /></span><span style="float:left; padding-left:5px; padding-top:2px;">{b3p_friends_online.USERNAME_FULL}</span><br style="clear:both" />
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<!--version $Id$ //-->
|
<!--version $Id$ //-->
|
||||||
{$LR_BLOCK_H_L}<!-- IF $S_BLOCK_ICON --><img src="{T_THEME_PATH}/images/portal/portal_bots.png" width="16" height="16" alt="" /> <!-- ENDIF -->{LAST_VISITED_BOTS}{$LR_BLOCK_H_R}
|
{$LR_BLOCK_H_L}<!-- IF $S_BLOCK_ICON --><img src="{$IMAGE_SRC}" width="16" height="16" alt="" /> <!-- ENDIF -->{LAST_VISITED_BOTS}{$LR_BLOCK_H_R}
|
||||||
<!-- BEGIN last_visited_bots -->
|
<!-- BEGIN last_visited_bots -->
|
||||||
<span class="genmed">{last_visited_bots.BOT_NAME}</span> <br /> <span class="gensmall">{last_visited_bots.LAST_VISIT_DATE}</span>
|
<span class="genmed">{last_visited_bots.BOT_NAME}</span> <br /> <span class="gensmall">{last_visited_bots.LAST_VISIT_DATE}</span>
|
||||||
<!-- IF not last_visited_bots.S_LAST_ROW --><hr /><!-- ENDIF -->
|
<!-- IF not last_visited_bots.S_LAST_ROW --><hr /><!-- ENDIF -->
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<!--version $Id$ //-->
|
<!--version $Id$ //-->
|
||||||
{$LR_BLOCK_H_L}<!-- IF $S_BLOCK_ICON --><img src="{T_THEME_PATH}/images/portal/portal_members.png" width="16" height="16" alt="" /> <!-- ENDIF -->{L_LATEST_MEMBERS}{$LR_BLOCK_H_R}
|
{$LR_BLOCK_H_L}<!-- IF $S_BLOCK_ICON --><img src="{$IMAGE_SRC}" width="16" height="16" alt="" /> <!-- ENDIF -->{L_LATEST_MEMBERS}{$LR_BLOCK_H_R}
|
||||||
<span style="float:left;"><strong>{L_USERNAME}</strong></span>
|
<span style="float:left;"><strong>{L_USERNAME}</strong></span>
|
||||||
<span style="float:right;padding-right:10px;"><strong>{L_JOINED}</strong></span><br style="clear:both" />
|
<span style="float:right;padding-right:10px;"><strong>{L_JOINED}</strong></span><br style="clear:both" />
|
||||||
<!-- BEGIN latest_members -->
|
<!-- BEGIN latest_members -->
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<!--version $Id$ //-->
|
<!--version $Id$ //-->
|
||||||
{$LR_BLOCK_H_L}<!-- IF $S_BLOCK_ICON --><img src="{T_THEME_PATH}/images/portal/portal_team.png" width="16" height="16" alt="" /> <!-- ENDIF -->{L_THE_TEAM}{$LR_BLOCK_H_R}
|
{$LR_BLOCK_H_L}<!-- IF $S_BLOCK_ICON --><img src="{$IMAGE_SRC}" width="16" height="16" alt="" /> <!-- ENDIF -->{L_THE_TEAM}{$LR_BLOCK_H_R}
|
||||||
<!-- BEGIN group -->
|
<!-- BEGIN group -->
|
||||||
<strong><a href="{group.U_GROUP}" style="color: #{group.GROUP_COLOUR};" class="username-coloured">{group.GROUP_NAME}</a></strong><br />
|
<strong><a href="{group.U_GROUP}" style="color: #{group.GROUP_COLOUR};" class="username-coloured">{group.GROUP_NAME}</a></strong><br />
|
||||||
<!-- BEGIN member -->
|
<!-- BEGIN member -->
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<!--version $Id$ //-->
|
<!--version $Id$ //-->
|
||||||
{$LR_BLOCK_H_L}<!-- IF $S_BLOCK_ICON --><img src="{T_THEME_PATH}/images/portal/portal_team.png" width="16" height="16" alt="" /> <!-- ENDIF -->{L_THE_TEAM}{$LR_BLOCK_H_R}
|
{$LR_BLOCK_H_L}<!-- IF $S_BLOCK_ICON --><img src="{$IMAGE_SRC}" width="16" height="16" alt="" /> <!-- ENDIF -->{L_THE_TEAM}{$LR_BLOCK_H_R}
|
||||||
<strong>{L_ADMINISTRATORS}</strong><br />
|
<strong>{L_ADMINISTRATORS}</strong><br />
|
||||||
<!-- BEGIN admin -->
|
<!-- BEGIN admin -->
|
||||||
<span style="float:left;"><img src="{T_THEME_PATH}/images/portal/portal_user.png" width="16" height="16" alt="" /></span><span style="float:left; padding-left:5px; padding-top:2px;"><strong>{admin.USERNAME_FULL}</strong></span><br style="clear:both" />
|
<span style="float:left;"><img src="{T_THEME_PATH}/images/portal/portal_user.png" width="16" height="16" alt="" /></span><span style="float:left; padding-left:5px; padding-top:2px;"><strong>{admin.USERNAME_FULL}</strong></span><br style="clear:both" />
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<!--version $Id$ //-->
|
<!--version $Id$ //-->
|
||||||
{$LR_BLOCK_H_L}<!-- IF $S_BLOCK_ICON --><img src="{T_THEME_PATH}/images/portal/portal_link_us.png" width="16" height="16" alt="" /> <!-- ENDIF -->{L_LINK_US}{$LR_BLOCK_H_R}
|
{$LR_BLOCK_H_L}<!-- IF $S_BLOCK_ICON --><img src="{$IMAGE_SRC}" width="16" height="16" alt="" /> <!-- ENDIF -->{L_LINK_US}{$LR_BLOCK_H_R}
|
||||||
{LINK_US_TXT}<br /><br />
|
{LINK_US_TXT}<br /><br />
|
||||||
<input type="text" tabindex="9" size="28" value="{U_LINK_US}" class="inputbox autowidth" onclick="this.focus();this.select();" /><br />
|
<input type="text" tabindex="9" size="28" value="{U_LINK_US}" class="inputbox autowidth" onclick="this.focus();this.select();" /><br />
|
||||||
{$LR_BLOCK_F_L}{$LR_BLOCK_F_R}
|
{$LR_BLOCK_F_L}{$LR_BLOCK_F_R}
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
<!--version $Id: main_menu_new.html 697 2010-09-13 23:11:16Z marc1706 $ //-->
|
<!--version $Id: main_menu_new.html 697 2010-09-13 23:11:16Z marc1706 $ //-->
|
||||||
{$LR_BLOCK_H_L}<!-- IF $S_BLOCK_ICON --><img src="{T_THEME_PATH}/images/portal/portal_menu.png" width="16" height="16" alt="" /> <!-- ENDIF -->{L_PORTAL_LINKS}{$LR_BLOCK_H_R}
|
{$LR_BLOCK_H_L}<!-- IF $S_BLOCK_ICON --><img src="{$IMAGE_SRC}" width="16" height="16" alt="" /> <!-- ENDIF -->{L_PORTAL_LINKS}{$LR_BLOCK_H_R}
|
||||||
<div class="portal-navigation">
|
<div class="portal-navigation">
|
||||||
<ul>
|
<ul>
|
||||||
<!-- BEGIN portallinks -->
|
<!-- BEGIN portallinks -->
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<!--version $Id$ //-->
|
<!--version $Id$ //-->
|
||||||
<form action="{S_LOGIN_ACTION}" method="post">
|
<form action="{S_LOGIN_ACTION}" method="post">
|
||||||
<div>
|
<div>
|
||||||
{$LR_BLOCK_H_L}<a href="{U_LOGIN_LOGOUT}"><!-- IF $S_BLOCK_ICON --><img src="{T_THEME_PATH}/images/portal/portal_login.png" width="16" height="16" alt="" /> <!-- ENDIF -->{L_LOGIN_LOGOUT}</a>{$LR_BLOCK_H_R}
|
{$LR_BLOCK_H_L}<a href="{U_LOGIN_LOGOUT}"><!-- IF $S_BLOCK_ICON --><img src="{$IMAGE_SRC}" width="16" height="16" alt="" /> <!-- ENDIF -->{L_LOGIN_LOGOUT}</a>{$LR_BLOCK_H_R}
|
||||||
<span class="genmed">{L_USERNAME}:</span><br />
|
<span class="genmed">{L_USERNAME}:</span><br />
|
||||||
<input type="text" tabindex="1" name="username" id="username" size="25" value="" class="inputbox autowidth" /><br /><br />
|
<input type="text" tabindex="1" name="username" id="username" size="25" value="" class="inputbox autowidth" /><br /><br />
|
||||||
<span class="genmed">{L_PASSWORD}:</span><br />
|
<span class="genmed">{L_PASSWORD}:</span><br />
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<!--version $Id$ //-->
|
<!--version $Id$ //-->
|
||||||
<!-- IF S_STYLE_OPTIONS and S_DISPLAY_CHANGE_STYLE -->
|
<!-- IF S_STYLE_OPTIONS and S_DISPLAY_CHANGE_STYLE -->
|
||||||
{$LR_BLOCK_H_L}<!-- IF $S_BLOCK_ICON --><img src="{T_THEME_PATH}/images/portal/portal_style.png" width="16" height="16" alt="" /> <!-- ENDIF -->{L_BOARD_STYLE}{$LR_BLOCK_H_R}
|
{$LR_BLOCK_H_L}<!-- IF $S_BLOCK_ICON --><img src="{$IMAGE_SRC}" width="16" height="16" alt="" /> <!-- ENDIF -->{L_BOARD_STYLE}{$LR_BLOCK_H_R}
|
||||||
<select style="width: 150px;" name="demo" id="demo" onchange="document.location.href = this.options[this.selectedIndex].value;">
|
<select style="width: 150px;" name="demo" id="demo" onchange="document.location.href = this.options[this.selectedIndex].value;">
|
||||||
{STYLE_SELECT}
|
{STYLE_SELECT}
|
||||||
</select>
|
</select>
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<!--version $Id$ //-->
|
<!--version $Id$ //-->
|
||||||
{$LR_BLOCK_H_L}<!-- IF $S_BLOCK_ICON --><img src="{T_THEME_PATH}/images/portal/portal_user.png" width="16" height="16" alt="" /> <!-- ENDIF -->{L_USER_MENU}{$LR_BLOCK_H_R}
|
{$LR_BLOCK_H_L}<!-- IF $S_BLOCK_ICON --><img src="{$IMAGE_SRC}" width="16" height="16" alt="" /> <!-- ENDIF -->{L_USER_MENU}{$LR_BLOCK_H_R}
|
||||||
<div style="text-align: center;">
|
<div style="text-align: center;">
|
||||||
<a href="{U_VIEW_PROFILE}"><span>{USERNAME_FULL}</span></a><br />
|
<a href="{U_VIEW_PROFILE}"><span>{USERNAME_FULL}</span></a><br />
|
||||||
<!-- IF B3P_AVATAR_IMG -->
|
<!-- IF B3P_AVATAR_IMG -->
|
||||||
|
|||||||
Binary file not shown.
|
After Width: | Height: | Size: 744 B |
Binary file not shown.
|
After Width: | Height: | Size: 676 B |
BIN
root/styles/prosilver/theme/images/portal/portal_calendar.png
Normal file
BIN
root/styles/prosilver/theme/images/portal/portal_calendar.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.1 KiB |
Reference in New Issue
Block a user