Merge pull request #717 from marc1706/ticket/701

Add fontawesome support
This commit is contained in:
Marc Alexander
2021-09-05 14:23:21 +02:00
committed by GitHub
47 changed files with 451 additions and 83 deletions

View File

@@ -107,6 +107,9 @@ class portal_module
'legend3' => 'ACP_PORTAL_SHOW_ALL',
'board3_show_all_pages' => array('lang' => 'ACP_PORTAL_SHOW_ALL', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'board3_show_all_side' => array('lang' => 'PORTAL_SHOW_ALL_SIDE', 'validate' => 'bool', 'type' => 'custom', 'method' => array('board3.portal.modules_helper', 'display_left_right'), 'submit' => array('board3.portal.modules_helper', 'store_left_right'), 'explain' => true),
'legend4' => 'ACP_FA',
'board3_fa_styles' => array('lang' => 'ACP_FA', 'validate' => 'string', 'type' => 'custom', 'method' => array('board3.portal.modules_helper', 'display_fa_styles'), 'submit' => array('board3.portal.modules_helper', 'store_fa_styles'), 'explain' => true),
)
);
@@ -139,6 +142,8 @@ class portal_module
'MODULE_IMAGE_WIDTH' => $module_data['module_image_width'],
'MODULE_IMAGE_HEIGHT' => $module_data['module_image_height'],
'MODULE_IMAGE_SRC' => ($module_data['module_image_src']) ? $this->root_path . 'styles/all/theme/images/portal/' . $module_data['module_image_src'] : '',
'MODULE_FA' => $module_data['module_fa_icon'],
'MODULE_FA_SIZE' => $module_data['module_fa_size'],
'MODULE_ENABLED' => ($module_data['module_status']) ? true : false,
'MODULE_SHOW_IMAGE' => (in_array($this->portal_columns->number_to_string($module_data['module_column']), array('center', 'top', 'bottom'))) ? false : true,
));
@@ -272,6 +277,8 @@ class portal_module
'module_image_src' => $this->request->variable('module_image', ''),
'module_image_width' => $this->request->variable('module_img_width', 0),
'module_image_height' => $this->request->variable('module_img_height', 0),
'module_fa_icon' => $this->request->variable('module_fa', ''),
'module_fa_size' => $this->request->variable('module_fa_size', 16),
'module_group_ids' => $module_permission,
'module_status' => $this->request->variable('module_status', self::B3_MODULE_ENABLED),
);

View File

@@ -104,6 +104,14 @@
<dd><input id="module_img_height" type="text" value="{MODULE_IMAGE_HEIGHT}" name="module_img_height" maxlength="3" size="3" />px</dd>
</dl>
<!-- ENDIF -->
<dl>
<dt><label for="module_fa">{L_MODULE_FA}{L_COLON}</label><br/><span>{L_MODULE_FA_EXP}</span></dt>
<dd><input id="module_fa" type="text" value="{MODULE_FA}" name="module_fa" maxlength="255" size="64"/></dd>
</dl>
<dl>
<dt><label for="module_fa_size">{L_MODULE_FA_SIZE}{L_COLON}</label><br/><span>{L_MODULE_FA_SIZE_EXP}</span></dt>
<dd><input id="module_fa_size" type="number" value="{MODULE_FA_SIZE}" name="module_fa_size" min="1"/>&nbsp;{L_PIXEL}</dd>
</dl>
<!-- ENDIF -->
<dl>
<dt><label for="module_reset">{L_MODULE_RESET}{L_COLON}</label><br /><span style="color: #BC2A4D;">{L_MODULE_RESET_EXP}</span></dt>

View File

@@ -39,6 +39,14 @@
<dd><input id="module_img_height" type="text" value="{MODULE_IMAGE_HEIGHT}" name="module_img_height" maxlength="3" size="3" />px</dd>
</dl>
<!-- ENDIF -->
<dl>
<dt><label for="module_fa">{L_MODULE_FA}{L_COLON}</label><br/><span>{L_MODULE_FA_EXP}</span></dt>
<dd><input id="module_fa" type="text" value="{MODULE_FA}" name="module_fa" maxlength="255" size="64"/></dd>
</dl>
<dl>
<dt><label for="module_fa_size">{L_MODULE_FA_SIZE}{L_COLON}</label><br/><span>{L_MODULE_FA_SIZE_EXP}</span></dt>
<dd><input id="module_fa_size" type="number" value="{MODULE_FA_SIZE}" name="module_fa_size" min="1"/>&nbsp;{L_PIXEL}</dd>
</dl>
<!-- ENDIF -->
<dl>
<dt><label for="module_reset">{L_MODULE_RESET}{L_COLON}</label><br /><span style="color: #BC2A4D;">{L_MODULE_RESET_EXP}</span></dt>

View File

@@ -107,6 +107,14 @@ function change_palette()
<dd><input id="module_img_height" type="text" value="{MODULE_IMAGE_HEIGHT}" name="module_img_height" maxlength="3" size="3" />px</dd>
</dl>
<!-- ENDIF -->
<dl>
<dt><label for="module_fa">{L_MODULE_FA}{L_COLON}</label><br/><span>{L_MODULE_FA_EXP}</span></dt>
<dd><input id="module_fa" type="text" value="{MODULE_FA}" name="module_fa" maxlength="255" size="64"/></dd>
</dl>
<dl>
<dt><label for="module_fa_size">{L_MODULE_FA_SIZE}{L_COLON}</label><br/><span>{L_MODULE_FA_SIZE_EXP}</span></dt>
<dd><input id="module_fa_size" type="number" value="{MODULE_FA_SIZE}" name="module_fa_size" min="1"/>&nbsp;{L_PIXEL}</dd>
</dl>
<!-- ENDIF -->
<dl>
<dt><label for="module_reset">{L_MODULE_RESET}{L_COLON}</label><br /><span style="color: #BC2A4D;">{L_MODULE_RESET_EXP}</span></dt>

View File

@@ -88,6 +88,14 @@
<dd><input id="module_img_height" type="text" value="{MODULE_IMAGE_HEIGHT}" name="module_img_height" maxlength="3" size="3" />px</dd>
</dl>
<!-- ENDIF -->
<dl>
<dt><label for="module_fa">{L_MODULE_FA}{L_COLON}</label><br/><span>{L_MODULE_FA_EXP}</span></dt>
<dd><input id="module_fa" type="text" value="{MODULE_FA}" name="module_fa" maxlength="255" size="64"/></dd>
</dl>
<dl>
<dt><label for="module_fa_size">{L_MODULE_FA_SIZE}{L_COLON}</label><br/><span>{L_MODULE_FA_SIZE_EXP}</span></dt>
<dd><input id="module_fa_size" type="number" value="{MODULE_FA_SIZE}" name="module_fa_size" min="1"/>&nbsp;{L_PIXEL}</dd>
</dl>
<!-- ENDIF -->
<dl>
<dt><label for="module_reset">{L_MODULE_RESET}{L_COLON}</label><br /><span style="color: #BC2A4D;">{L_MODULE_RESET_EXP}</span></dt>

View File

@@ -95,6 +95,14 @@
<dd><input id="module_img_height" type="text" value="{MODULE_IMAGE_HEIGHT}" name="module_img_height" maxlength="3" size="3" />px</dd>
</dl>
<!-- ENDIF -->
<dl>
<dt><label for="module_fa">{L_MODULE_FA}{L_COLON}</label><br/><span>{L_MODULE_FA_EXP}</span></dt>
<dd><input id="module_fa" type="text" value="{MODULE_FA}" name="module_fa" maxlength="255" size="64"/></dd>
</dl>
<dl>
<dt><label for="module_fa_size">{L_MODULE_FA_SIZE}{L_COLON}</label><br/><span>{L_MODULE_FA_SIZE_EXP}</span></dt>
<dd><input id="module_fa_size" type="number" value="{MODULE_FA_SIZE}" name="module_fa_size" min="1"/>&nbsp;{L_PIXEL}</dd>
</dl>
<!-- ENDIF -->
<dl>
<dt><label for="module_reset">{L_MODULE_RESET}{L_COLON}</label><br /><span style="color: #BC2A4D;">{L_MODULE_RESET_EXP}</span></dt>

View File

@@ -107,6 +107,14 @@ function change_palette()
<dd><input id="module_img_height" type="text" value="{MODULE_IMAGE_HEIGHT}" name="module_img_height" maxlength="3" size="3" />px</dd>
</dl>
<!-- ENDIF -->
<dl>
<dt><label for="module_fa">{L_MODULE_FA}{L_COLON}</label><br/><span>{L_MODULE_FA_EXP}</span></dt>
<dd><input id="module_fa" type="text" value="{MODULE_FA}" name="module_fa" maxlength="255" size="64"/></dd>
</dl>
<dl>
<dt><label for="module_fa_size">{L_MODULE_FA_SIZE}{L_COLON}</label><br/><span>{L_MODULE_FA_SIZE_EXP}</span></dt>
<dd><input id="module_fa_size" type="number" value="{MODULE_FA_SIZE}" name="module_fa_size" min="1"/>&nbsp;{L_PIXEL}</dd>
</dl>
<!-- ENDIF -->
<dl>
<dt><label for="module_reset">{L_MODULE_RESET}{L_COLON}</label><br /><span style="color: #BC2A4D;">{L_MODULE_RESET_EXP}</span></dt>

View File

@@ -51,7 +51,9 @@ services:
- '@auth'
- '@config'
- '@controller.helper'
- '@dbal.conn'
- '@request'
- '%tables.styles%'
board3.portal.columns:
class: board3\portal\portal\columns

View File

@@ -230,6 +230,9 @@ class helper
*/
public function assign_module_vars($row, $template_module)
{
$fa_styles = json_decode($this->config['board3_portal_fa_styles']);
$use_fa = !empty($fa_styles) && in_array($this->user->style['style_name'], $fa_styles);
if (is_array($template_module))
{
$this->template->assign_block_vars('modules_' . $this->portal_columns->number_to_string($row['module_column']), array(
@@ -240,6 +243,9 @@ class helper
'MODULE_ID' => $row['module_id'],
'IMAGE_WIDTH' => $row['module_image_width'],
'IMAGE_HEIGHT' => $row['module_image_height'],
'FA_ICON' => isset($row['module_fa_icon']) ? utf8_htmlspecialchars($row['module_fa_icon']) : '',
'FA_SIZE' => $row['module_fa_size'] ?? '',
'FA_ENABLED' => $use_fa,
));
}
else
@@ -251,6 +257,9 @@ class helper
'IMAGE_HEIGHT' => $row['module_image_height'],
'MODULE_ID' => $row['module_id'],
'TITLE' => (isset($this->user->lang[$row['module_name']])) ? $this->user->lang[$row['module_name']] : utf8_normalize_nfc($row['module_name']),
'FA_ICON' => isset($row['module_fa_icon']) ? utf8_htmlspecialchars($row['module_fa_icon']) : '',
'FA_SIZE' => $row['module_fa_size'] ?? '',
'FA_ENABLED' => $use_fa,
));
}
}

View File

@@ -25,6 +25,9 @@ class modules_helper
*/
protected $config;
/** @var \phpbb\db\driver\driver_interface */
protected $db;
/** @var \phpbb\controller\helper Controller helper */
protected $controller_helper;
@@ -34,6 +37,9 @@ class modules_helper
*/
protected $request;
/** @var string Styles table */
protected $styles_table;
/**
* Constructor
* NOTE: The parameters of this method must match in order and type with
@@ -41,14 +47,18 @@ class modules_helper
* @param \phpbb\auth\auth $auth Auth object
* @param \phpbb\config\config $config phpBB config
* @param \phpbb\controller\helper $controller_helper Controller helper
* @param \phpbb\db\driver\driver_interface $db Dbal connection
* @param \phpbb\request\request $request phpBB request
* @param string $styles_table Styles table
*/
public function __construct($auth, $config, $controller_helper, $request)
public function __construct($auth, $config, $controller_helper, $db, $request, string $styles_table)
{
$this->auth = $auth;
$this->config = $config;
$this->controller_helper = $controller_helper;
$this->db = $db;
$this->request = $request;
$this->styles_table = $styles_table;
}
/**
@@ -188,4 +198,44 @@ class modules_helper
$this->config->set($key, $value);
}
/**
* Show available styles
*
* @return string Select with available styles
*/
public function display_fa_styles(): string
{
$portal_fa_styles = json_decode($this->config->offsetGet('board3_portal_fa_styles'));
if (!$portal_fa_styles)
{
$portal_fa_styles = [];
}
$options = '';
$query = 'SELECT style_name
FROM ' . $this->styles_table;
$result = $this->db->sql_query($query);
while ($row = $this->db->sql_fetchrow($result))
{
$options .= '<option value="' . $row['style_name'] . '"';
if (in_array($row['style_name'], $portal_fa_styles))
{
$options .= ' selected';
}
$options .= '>' . $row['style_name'] . '</option>';
}
$this->db->sql_freeresult($result);
return '<select id="board3_fa_styles" name="board3_fa_styles[]" multiple>' . $options . '</select>';
}
/**
* Save styles that have been set as Font Awesome styles
*
* @param string $key Key of the parameter
*/
public function store_fa_styles(string $key): void
{
$style_array = $this->request->variable($key, ['']);
$this->config->set('board3_portal_fa_styles', json_encode($style_array));
}
}

View File

@@ -106,4 +106,12 @@ $lang = array_merge($lang, array(
// Install
'PORTAL_BASIC_INSTALL' => 'Füge Basismodule hinzu',
'PORTAL_BASIC_UNINSTALL' => 'Entferne Module von Datenbank',
// Font Awesome
'ACP_FA' => 'Font Awesome Styles',
'ACP_FA_EXP' => 'Hier kannst du einstellen welche Styles Font Awesome Icons nutzen sollen.',
'MODULE_FA' => 'Font Awesome Icon',
'MODULE_FA_EXP' => 'Hier kannst du ein Font Awesome Icon einstellen. Dieses wird verwendet wenn der Style Font Awesome verwendet.',
'MODULE_FA_SIZE' => 'Font Awesome Icongröße',
'MODULE_FA_SIZE_EXP' => 'Hier kannst du die Größe des Font Awesome Icons einstellen (in Pixel).',
));

View File

@@ -106,4 +106,12 @@ $lang = array_merge($lang, array(
// Install
'PORTAL_BASIC_INSTALL' => 'Adding basic set of modules',
'PORTAL_BASIC_UNINSTALL' => 'Removing modules from database',
// Font Awesome
'ACP_FA' => 'Font Awesome styles',
'ACP_FA_EXP' => 'Here you can define which styles should use the Font Awesome icons.',
'MODULE_FA' => 'Font Awesome icon',
'MODULE_FA_EXP' => 'Here you can select a Font Awesome icon. This will be used when your selected style uses Font Awesome icons.',
'MODULE_FA_SIZE' => 'Font Awesome icon size',
'MODULE_FA_SIZE_EXP' => 'Here you can change the size of the Font Awesome icon in pixel.',
));

67
migrations/v230_fa.php Normal file
View File

@@ -0,0 +1,67 @@
<?php
/**
* @package Board3 Portal v2.3
* @copyright 2021 Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*/
namespace board3\portal\migrations;
use phpbb\db\migration\migration;
class v230_fa extends migration
{
public static function depends_on(): array
{
return ['\board3\portal\migrations\v210'];
}
public function update_schema(): array
{
return [
'add_columns' => [
$this->table_prefix . 'portal_modules' => [
'module_fa_icon' => ['VCHAR', ''],
'module_fa_size' => ['INT:1', 16],
],
],
];
}
public function update_data(): array
{
return [
['config.add', ['board3_portal_fa_styles', '']],
['custom', [[$this, 'insert_defaults']]],
];
}
public function insert_defaults()
{
$fa_icons = [
'\board3\portal\modules\main_menu' => 'fa-bars',
'\board3\portal\modules\stylechanger' => 'fa-paint-brush',
'\board3\portal\modules\birthday_list' => 'fa-birthday-cake',
'\board3\portal\modules\clock' => 'fa-clock-o',
'\board3\portal\modules\search' => 'fa-search',
'\board3\portal\modules\attachments' => 'fa-paperclip',
'\board3\portal\modules\topposters' => 'fa-pencil-square-o',
'\board3\portal\modules\latest_members' => 'fa-users',
'\board3\portal\modules\link_us' => 'fa-external-link',
'\board3\portal\modules\user_menu' => 'fa-user',
'\board3\portal\modules\statistics' => 'fa-bar-chart',
'\board3\portal\modules\calendar' => 'fa-calendar',
'\board3\portal\modules\leaders' => 'fa-users',
'\board3\portal\modules\latest_bots' => 'fa-android',
'\board3\portal\modules\links' => 'fa-link',
];
foreach ($fa_icons as $key => $value)
{
$query = 'UPDATE ' . $this->table_prefix . "portal_modules
SET module_fa_icon = '" . $value . "'
WHERE module_classname = '" . $this->db->sql_escape($key) . "'";
$this->db->sql_query($query);
}
}
}

View File

@@ -28,6 +28,9 @@ class database_handler
/** @var int Board3 module enabled */
const B3_MODULE_ENABLED = 1;
/** @var int Default icon size in px */
const DEFAULT_ICON_SIZE = 16;
/** @var driver_interface */
protected $db;
@@ -70,12 +73,14 @@ class database_handler
public function reset_module($module, $module_id)
{
$sql_ary = array(
'module_name' => $module->get_name(),
'module_image_src' => $module->get_image(),
'module_group_ids' => '',
'module_image_height' => 16,
'module_image_width' => 16,
'module_status' => self::B3_MODULE_ENABLED,
'module_name' => $module->get_name(),
'module_image_src' => $module->get_image(),
'module_group_ids' => '',
'module_image_height' => self::DEFAULT_ICON_SIZE,
'module_image_width' => self::DEFAULT_ICON_SIZE,
'module_fa_icon' => '',
'module_fa_size' => self::DEFAULT_ICON_SIZE,
'module_status' => self::B3_MODULE_ENABLED,
);
$sql = 'UPDATE ' . PORTAL_MODULES_TABLE . '
SET ' . $this->db->sql_build_array('UPDATE', $sql_ary) . '

View File

@@ -1,40 +1,46 @@
<!-- IF S_PORTAL_ALL === true -->
</div>
</div>
<!-- [+] left module area -->
<!-- IF S_LEFT_COLUMN -->
<div id="portal-left" style="width: {S_PORTAL_LEFT_COLUMN}px;">
<!-- BEGIN modules_left -->
<!-- DEFINE $TEMPLATE_FILE = '{modules_left.TEMPLATE_FILE}' -->
<!-- DEFINE $IMAGE_SRC = '{modules_left.IMAGE_SRC}' -->
<!-- DEFINE $IMAGE_WIDTH = '{modules_left.IMAGE_WIDTH}' -->
<!-- DEFINE $IMAGE_HEIGHT = '{modules_left.IMAGE_HEIGHT}' -->
<!-- DEFINE $CUSTOM_CODE = '{modules_left.CODE}' -->
<!-- DEFINE $TITLE = '{modules_left.TITLE}' -->
<!-- DEFINE $MODULE_ID = '{modules_left.MODULE_ID}' -->
<!-- INCLUDE {$TEMPLATE_FILE} -->
<!-- END modules_left -->
</div>
<!-- ENDIF -->
<!-- [-] left module area -->
<!-- [+] left module area -->
<!-- IF S_LEFT_COLUMN -->
<div id="portal-left" style="width: {S_PORTAL_LEFT_COLUMN}px;">
<!-- BEGIN modules_left -->
<!-- DEFINE $TEMPLATE_FILE = '{modules_left.TEMPLATE_FILE}' -->
<!-- DEFINE $IMAGE_SRC = '{modules_left.IMAGE_SRC}' -->
<!-- DEFINE $IMAGE_WIDTH = '{modules_left.IMAGE_WIDTH}' -->
<!-- DEFINE $IMAGE_HEIGHT = '{modules_left.IMAGE_HEIGHT}' -->
<!-- DEFINE $CUSTOM_CODE = '{modules_left.CODE}' -->
<!-- DEFINE $TITLE = '{modules_left.TITLE}' -->
<!-- DEFINE $MODULE_ID = '{modules_left.MODULE_ID}' -->
<!-- DEFINE $FA_ICON = '{modules_left.FA_ICON}' -->
<!-- DEFINE $FA_SIZE = '{modules_left.FA_SIZE}' -->
<!-- DEFINE $FA_ENABLED = '{modules_left.FA_ENABLED}' -->
<!-- INCLUDE {$TEMPLATE_FILE} -->
<!-- END modules_left -->
</div>
<!-- ENDIF -->
<!-- [-] left module area -->
<!-- [+] right module area -->
<!-- IF S_RIGHT_COLUMN -->
<div id="portal-right" style="width: {S_PORTAL_RIGHT_COLUMN}px; margin-<!-- IF S_CONTENT_DIRECTION eq 'rtl' -->right<!-- ELSE -->left<!-- ENDIF -->: -{S_PORTAL_RIGHT_COLUMN}px;" data-width="{S_PORTAL_RIGHT_COLUMN}" role="gridcell">
<!-- BEGIN modules_right -->
<!-- DEFINE $TEMPLATE_FILE = '{modules_right.TEMPLATE_FILE}' -->
<!-- DEFINE $IMAGE_SRC = '{modules_right.IMAGE_SRC}' -->
<!-- DEFINE $IMAGE_WIDTH = '{modules_right.IMAGE_WIDTH}' -->
<!-- DEFINE $IMAGE_HEIGHT = '{modules_right.IMAGE_HEIGHT}' -->
<!-- DEFINE $CUSTOM_CODE = '{modules_right.CODE}' -->
<!-- DEFINE $TITLE = '{modules_right.TITLE}' -->
<!-- DEFINE $MODULE_ID = '{modules_right.MODULE_ID}' -->
<!-- INCLUDE {$TEMPLATE_FILE} -->
<!-- END modules_right -->
</div>
<!-- ENDIF -->
<!-- [-] right module area -->
<br class="portal-clear" />
</div>
</div>
<!-- [+] right module area -->
<!-- IF S_RIGHT_COLUMN -->
<div id="portal-right" style="width: {S_PORTAL_RIGHT_COLUMN}px; margin-<!-- IF S_CONTENT_DIRECTION eq 'rtl' -->right<!-- ELSE -->left<!-- ENDIF -->: -{S_PORTAL_RIGHT_COLUMN}px;" data-width="{S_PORTAL_RIGHT_COLUMN}" role="gridcell">
<!-- BEGIN modules_right -->
<!-- DEFINE $TEMPLATE_FILE = '{modules_right.TEMPLATE_FILE}' -->
<!-- DEFINE $IMAGE_SRC = '{modules_right.IMAGE_SRC}' -->
<!-- DEFINE $IMAGE_WIDTH = '{modules_right.IMAGE_WIDTH}' -->
<!-- DEFINE $IMAGE_HEIGHT = '{modules_right.IMAGE_HEIGHT}' -->
<!-- DEFINE $CUSTOM_CODE = '{modules_right.CODE}' -->
<!-- DEFINE $TITLE = '{modules_right.TITLE}' -->
<!-- DEFINE $FA_ICON = '{modules_right.FA_ICON}' -->
<!-- DEFINE $FA_SIZE = '{modules_right.FA_SIZE}' -->
<!-- DEFINE $FA_ENABLED = '{modules_right.FA_ENABLED}' -->
<!-- DEFINE $MODULE_ID = '{modules_right.MODULE_ID}' -->
<!-- INCLUDE {$TEMPLATE_FILE} -->
<!-- END modules_right -->
</div>
<!-- ENDIF -->
<!-- [-] right module area -->
<br class="portal-clear" />
</div>
</div>
<!-- ENDIF -->

View File

@@ -1,4 +1,11 @@
{$LR_BLOCK_H_L}<!-- IF $S_BLOCK_ICON --><img src="{$IMAGE_SRC}" width="{$IMAGE_WIDTH}" height="{$IMAGE_HEIGHT}" alt="" />&nbsp;<!-- ENDIF -->{$TITLE}{$LR_BLOCK_H_R}
{$LR_BLOCK_H_L}
<!-- IF $S_BLOCK_ICON -->
<!-- IF $FA_ENABLED -->
<i class="icon fa {$FA_ICON}" style="font-size: {$FA_SIZE}px;" aria-hidden="true"></i>
<!-- ELSE -->
<img src="{$IMAGE_SRC}" width="{$IMAGE_WIDTH}" height="{$IMAGE_HEIGHT}" alt="" />
<!-- ENDIF -->
<!-- ENDIF -->{$TITLE}{$LR_BLOCK_H_R}
<!-- IF .attach_side -->
<span class="portal-title-span"><strong>{L_FILENAME}</strong></span><br />
<!-- BEGIN attach_side -->

View File

@@ -1,4 +1,11 @@
{$LR_BLOCK_H_L}<!-- IF $S_BLOCK_ICON --><img src="{$IMAGE_SRC}" width="{$IMAGE_WIDTH}" height="{$IMAGE_HEIGHT}" alt="" />&nbsp;<!-- ENDIF -->{$TITLE}{$LR_BLOCK_H_R}
{$LR_BLOCK_H_L}
<!-- IF $S_BLOCK_ICON -->
<!-- IF $FA_ENABLED -->
<i class="icon fa {$FA_ICON}" style="font-size: {$FA_SIZE}px;" aria-hidden="true"></i>
<!-- ELSE -->
<img src="{$IMAGE_SRC}" width="{$IMAGE_WIDTH}" height="{$IMAGE_HEIGHT}" alt="" />
<!-- ENDIF -->
<!-- ENDIF -->&nbsp;{$TITLE}{$LR_BLOCK_H_R}
<!-- IF BIRTHDAY_LIST -->
<strong>{L_CONGRATULATIONS}{L_COLON}</strong><br />
<!-- BEGIN board3_birthday_list -->

View File

@@ -1,7 +1,13 @@
<!-- BEGIN minical -->
<!-- IF minical.MODULE_ID eq $MODULE_ID -->
<a id="minical{minical.MODULE_ID}"></a>
{$LR_BLOCK_H_L}<!-- IF $S_BLOCK_ICON --><img src="{$IMAGE_SRC}" width="{$IMAGE_WIDTH}" height="{$IMAGE_HEIGHT}" alt="" />&nbsp;<!-- ENDIF -->{$TITLE}{$LR_BLOCK_H_R}
{$LR_BLOCK_H_L}<!-- IF $S_BLOCK_ICON -->
<!-- IF $FA_ENABLED -->
<i class="icon fa {$FA_ICON}" style="font-size: {$FA_SIZE}px;" aria-hidden="true"></i>
<!-- ELSE -->
<img src="{$IMAGE_SRC}" width="{$IMAGE_WIDTH}" height="{$IMAGE_HEIGHT}" alt="" />
<!-- ENDIF -->
<!-- ENDIF -->{$TITLE}{$LR_BLOCK_H_R}
<table class="portal-module-postbody">
<tr>
<td class="portal-calendar-go-previous" colspan="2"><!-- IF S_CONTENT_DIRECTION eq 'rtl' -->{minical.U_NEXT_MONTH}<!-- ELSE -->{minical.U_PREV_MONTH}<!-- ENDIF --></td>

View File

@@ -1,4 +1,10 @@
{$LR_BLOCK_H_L}<!-- IF $S_BLOCK_ICON --><img src="{$IMAGE_SRC}" width="{$IMAGE_WIDTH}" height="{$IMAGE_HEIGHT}" alt="" />&nbsp;<!-- ENDIF -->{$TITLE}{$LR_BLOCK_H_R}
{$LR_BLOCK_H_L}<!-- IF $S_BLOCK_ICON -->
<!-- IF $FA_ENABLED -->
<i class="icon fa {$FA_ICON}" style="font-size: {$FA_SIZE}px;" aria-hidden="true"></i>
<!-- ELSE -->
<img src="{$IMAGE_SRC}" width="{$IMAGE_WIDTH}" height="{$IMAGE_HEIGHT}" alt="" />
<!-- ENDIF -->
<!-- ENDIF -->{$TITLE}{$LR_BLOCK_H_R}
<!-- IF not B3P_CLOCK_SRC -->
<div class="portal-clock-wrapper">
<div class="portal-clock">

View File

@@ -1,4 +1,10 @@
{$LR_BLOCK_H_L}<!-- IF $S_BLOCK_ICON --><img src="{$IMAGE_SRC}" width="{$IMAGE_WIDTH}" height="{$IMAGE_HEIGHT}" alt="" />&nbsp;<!-- ENDIF -->{$TITLE}{$LR_BLOCK_H_R}
{$LR_BLOCK_H_L}<!-- IF $S_BLOCK_ICON -->
<!-- IF $FA_ENABLED -->
<i class="icon fa {$FA_ICON}" style="font-size: {$FA_SIZE}px;" aria-hidden="true"></i>
<!-- ELSE -->
<img src="{$IMAGE_SRC}" width="{$IMAGE_WIDTH}" height="{$IMAGE_HEIGHT}" alt="" />
<!-- ENDIF -->
<!-- ENDIF -->{$TITLE}{$LR_BLOCK_H_R}
<div class="inner">
<div class="postbody portal-module-postbody">
<div class="content portal-module-content">{$CUSTOM_CODE}</div>

View File

@@ -1,4 +1,10 @@
{$LR_BLOCK_H_L}<!-- IF $S_BLOCK_ICON --><img src="{$IMAGE_SRC}" width="{$IMAGE_WIDTH}" height="{$IMAGE_HEIGHT}" alt="" />&nbsp;<!-- ENDIF -->{$TITLE}{$LR_BLOCK_H_R}
{$LR_BLOCK_H_L}<!-- IF $S_BLOCK_ICON -->
<!-- IF $FA_ENABLED -->
<i class="icon fa {$FA_ICON}" style="font-size: {$FA_SIZE}px;" aria-hidden="true"></i>
<!-- ELSE -->
<img src="{$IMAGE_SRC}" width="{$IMAGE_WIDTH}" height="{$IMAGE_HEIGHT}" alt="" />
<!-- ENDIF -->
<!-- ENDIF -->{$TITLE}{$LR_BLOCK_H_R}
<div class="portal-centered-content">
<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<div>

View File

@@ -1,4 +1,10 @@
{$LR_BLOCK_H_L}<!-- IF $S_BLOCK_ICON --><img src="{$IMAGE_SRC}" width="{$IMAGE_WIDTH}" height="{$IMAGE_HEIGHT}" alt="" />&nbsp;<!-- ENDIF -->{$TITLE}{$LR_BLOCK_H_R}
{$LR_BLOCK_H_L}<!-- IF $S_BLOCK_ICON -->
<!-- IF $FA_ENABLED -->
<i class="icon fa {$FA_ICON}" style="font-size: {$FA_SIZE}px;" aria-hidden="true"></i>
<!-- ELSE -->
<img src="{$IMAGE_SRC}" width="{$IMAGE_WIDTH}" height="{$IMAGE_HEIGHT}" alt="" />
<!-- ENDIF -->
<!-- ENDIF -->{$TITLE}{$LR_BLOCK_H_R}
<strong style="color:green<!-- IF S_CONTENT_DIRECTION eq 'rtl' -->; float: right;<!-- ENDIF -->">{L_FRIENDS_ONLINE}</strong><br />
<!-- BEGIN b3p_friends_online -->
<span class="portal-user-icon"></span><span class="portal-user-span"><i class="icon fa-user fa-fw" aria-hidden="true"></i><span>{b3p_friends_online.USERNAME_FULL}</span</span><br class="portal-clear" />

View File

@@ -1,4 +1,10 @@
{$LR_BLOCK_H_L}<!-- IF $S_BLOCK_ICON --><img src="{$IMAGE_SRC}" width="{$IMAGE_WIDTH}" height="{$IMAGE_HEIGHT}" alt="" />&nbsp;<!-- ENDIF -->{$TITLE}{$LR_BLOCK_H_R}
{$LR_BLOCK_H_L}<!-- IF $S_BLOCK_ICON -->
<!-- IF $FA_ENABLED -->
<i class="icon fa {$FA_ICON}" style="font-size: {$FA_SIZE}px;" aria-hidden="true"></i>
<!-- ELSE -->
<img src="{$IMAGE_SRC}" width="{$IMAGE_WIDTH}" height="{$IMAGE_HEIGHT}" alt="" />
<!-- ENDIF -->
<!-- ENDIF -->{$TITLE}{$LR_BLOCK_H_R}
<!-- BEGIN last_visited_bots -->
<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 -->

View File

@@ -1,4 +1,10 @@
{$LR_BLOCK_H_L}<!-- IF $S_BLOCK_ICON --><img src="{$IMAGE_SRC}" width="{$IMAGE_WIDTH}" height="{$IMAGE_HEIGHT}" alt="" />&nbsp;<!-- ENDIF -->{$TITLE}{$LR_BLOCK_H_R}
{$LR_BLOCK_H_L}<!-- IF $S_BLOCK_ICON -->
<!-- IF $FA_ENABLED -->
<i class="icon fa {$FA_ICON}" style="font-size: {$FA_SIZE}px;" aria-hidden="true"></i>
<!-- ELSE -->
<img src="{$IMAGE_SRC}" width="{$IMAGE_WIDTH}" height="{$IMAGE_HEIGHT}" alt="" />
<!-- ENDIF -->
<!-- ENDIF -->{$TITLE}{$LR_BLOCK_H_R}
<span class="portal-user-span"><strong>{L_USERNAME}</strong></span>
<span class="portal-user-annotation"><strong>{L_JOINED}</strong></span><br class="portal-clear" />
<!-- BEGIN latest_members -->

View File

@@ -1,4 +1,10 @@
{$LR_BLOCK_H_L}<!-- IF $S_BLOCK_ICON --><img src="{$IMAGE_SRC}" width="{$IMAGE_WIDTH}" height="{$IMAGE_HEIGHT}" alt="" />&nbsp;<!-- ENDIF -->{$TITLE}{$LR_BLOCK_H_R}
{$LR_BLOCK_H_L}<!-- IF $S_BLOCK_ICON -->
<!-- IF $FA_ENABLED -->
<i class="icon fa {$FA_ICON}" style="font-size: {$FA_SIZE}px;" aria-hidden="true"></i>
<!-- ELSE -->
<img src="{$IMAGE_SRC}" width="{$IMAGE_WIDTH}" height="{$IMAGE_HEIGHT}" alt="" />
<!-- ENDIF -->
<!-- ENDIF -->{$TITLE}{$LR_BLOCK_H_R}
<!-- BEGIN group -->
<strong class="portal-user-span"><a href="{group.U_GROUP}" style="color: #{group.GROUP_COLOUR};" class="username-coloured">{group.GROUP_NAME}</a></strong><br class="portal-clear" />
<!-- BEGIN member -->

View File

@@ -1,4 +1,10 @@
{$LR_BLOCK_H_L}<!-- IF $S_BLOCK_ICON --><img src="{$IMAGE_SRC}" width="{$IMAGE_WIDTH}" height="{$IMAGE_HEIGHT}" alt="" />&nbsp;<!-- ENDIF -->{$TITLE}{$LR_BLOCK_H_R}
{$LR_BLOCK_H_L}<!-- IF $S_BLOCK_ICON -->
<!-- IF $FA_ENABLED -->
<i class="icon fa {$FA_ICON}" style="font-size: {$FA_SIZE}px;" aria-hidden="true"></i>
<!-- ELSE -->
<img src="{$IMAGE_SRC}" width="{$IMAGE_WIDTH}" height="{$IMAGE_HEIGHT}" alt="" />
<!-- ENDIF -->
<!-- ENDIF -->{$TITLE}{$LR_BLOCK_H_R}
<strong class="portal-user-span">{L_ADMINISTRATORS}</strong><br class="portal-clear" />
<!-- BEGIN b3p_admins -->
<span class="portal-user-icon"></span><span class="portal-user-span"><i class="icon fa-user fa-fw" aria-hidden="true"></i><span><strong>{b3p_admins.USERNAME_FULL}</strong></span></span><br class="portal-clear" />

View File

@@ -1,4 +1,10 @@
{$LR_BLOCK_H_L}<!-- IF $S_BLOCK_ICON --><img src="{$IMAGE_SRC}" width="{$IMAGE_WIDTH}" height="{$IMAGE_HEIGHT}" alt="" />&nbsp;<!-- ENDIF -->{$TITLE}{$LR_BLOCK_H_R}
{$LR_BLOCK_H_L}<!-- IF $S_BLOCK_ICON -->
<!-- IF $FA_ENABLED -->
<i class="icon fa {$FA_ICON}" style="font-size: {$FA_SIZE}px;" aria-hidden="true"></i>
<!-- ELSE -->
<img src="{$IMAGE_SRC}" width="{$IMAGE_WIDTH}" height="{$IMAGE_HEIGHT}" alt="" />
<!-- ENDIF -->
<!-- ENDIF -->{$TITLE}{$LR_BLOCK_H_R}
{LINK_US_TXT}<br /><br />
<input type="text" tabindex="9" value="{U_LINK_US}" class="inputbox autowidth" onclick="this.focus();this.select();" readonly="readonly" /><br />
{$LR_BLOCK_F_L}{$LR_BLOCK_F_R}

View File

@@ -1,6 +1,12 @@
<!-- BEGIN portal_links -->
<!-- IF portal_links.MODULE_ID eq $MODULE_ID -->
{$LR_BLOCK_H_L}<!-- IF $S_BLOCK_ICON --><img src="{$IMAGE_SRC}" width="{$IMAGE_WIDTH}" height="{$IMAGE_HEIGHT}" alt="" />&nbsp;<!-- ENDIF -->{$TITLE}{$LR_BLOCK_H_R}
{$LR_BLOCK_H_L}<!-- IF $S_BLOCK_ICON -->
<!-- IF $FA_ENABLED -->
<i class="icon fa {$FA_ICON}" style="font-size: {$FA_SIZE}px;" aria-hidden="true"></i>
<!-- ELSE -->
<img src="{$IMAGE_SRC}" width="{$IMAGE_WIDTH}" height="{$IMAGE_HEIGHT}" alt="" />
<!-- ENDIF -->
<!-- ENDIF -->{$TITLE}{$LR_BLOCK_H_R}
<div class="portal-navigation">
<ul>
<!-- BEGIN links -->

View File

@@ -1,6 +1,12 @@
<form action="{S_LOGIN_ACTION}" method="post" id="portal-login-box">
<div>
{$LR_BLOCK_H_L}<a href="{U_LOGIN_LOGOUT}"><!-- IF $S_BLOCK_ICON --><img src="{$IMAGE_SRC}" width="{$IMAGE_WIDTH}" height="{$IMAGE_HEIGHT}" alt="" />&nbsp;<!-- ENDIF -->{$TITLE}</a>{$LR_BLOCK_H_R}
{$LR_BLOCK_H_L}<a href="{U_LOGIN_LOGOUT}"><!-- IF $S_BLOCK_ICON -->
<!-- IF $FA_ENABLED -->
<i class="icon fa {$FA_ICON}" style="font-size: {$FA_SIZE}px;" aria-hidden="true"></i>
<!-- ELSE -->
<img src="{$IMAGE_SRC}" width="{$IMAGE_WIDTH}" height="{$IMAGE_HEIGHT}" alt="" />
<!-- ENDIF -->
<!-- ENDIF -->{$TITLE}</a>{$LR_BLOCK_H_R}
<span class="genmed">{L_USERNAME}{L_COLON}</span><br />
<input type="text" tabindex="1" name="username" id="username" value="" class="inputbox autowidth" /><br /><br />
<span class="genmed">{L_PASSWORD}{L_COLON}</span><br />

View File

@@ -1,6 +1,12 @@
<!-- BEGIN portal_menu -->
<!-- IF portal_menu.MODULE_ID eq $MODULE_ID -->
{$LR_BLOCK_H_L}<!-- IF $S_BLOCK_ICON --><img src="{$IMAGE_SRC}" width="{$IMAGE_WIDTH}" height="{$IMAGE_HEIGHT}" alt="" />&nbsp;<!-- ENDIF -->{$TITLE}{$LR_BLOCK_H_R}
{$LR_BLOCK_H_L}<!-- IF $S_BLOCK_ICON -->
<!-- IF $FA_ENABLED -->
<i class="icon fa {$FA_ICON}" style="font-size: {$FA_SIZE}px;" aria-hidden="true"></i>
<!-- ELSE -->
<img src="{$IMAGE_SRC}" width="{$IMAGE_WIDTH}" height="{$IMAGE_HEIGHT}" alt="" />
<!-- ENDIF -->
<!-- ENDIF -->{$TITLE}{$LR_BLOCK_H_R}
<div class="portal-navigation" role="menu">
<!-- BEGIN category -->
<div class="menutitle">{portal_menu.category.CAT_TITLE}</div>

View File

@@ -1,4 +1,10 @@
{$LR_BLOCK_H_L}<!-- IF $S_BLOCK_ICON --><img src="{$IMAGE_SRC}" width="{$IMAGE_WIDTH}" height="{$IMAGE_HEIGHT}" alt="" />&nbsp;<!-- ENDIF -->{$TITLE}{$LR_BLOCK_H_R}
{$LR_BLOCK_H_L}<!-- IF $S_BLOCK_ICON -->
<!-- IF $FA_ENABLED -->
<i class="icon fa {$FA_ICON}" style="font-size: {$FA_SIZE}px;" aria-hidden="true"></i>
<!-- ELSE -->
<img src="{$IMAGE_SRC}" width="{$IMAGE_WIDTH}" height="{$IMAGE_HEIGHT}" alt="" />
<!-- ENDIF -->
<!-- ENDIF -->{$TITLE}{$LR_BLOCK_H_R}
<!-- IF S_HAS_POLL -->
<div id="viewpoll" class="inner">
<!-- BEGIN poll_side -->

View File

@@ -1,4 +1,10 @@
{$LR_BLOCK_H_L}<!-- IF $S_BLOCK_ICON --><img src="{$IMAGE_SRC}" width="{$IMAGE_WIDTH}" height="{$IMAGE_HEIGHT}" alt="" />&nbsp;<!-- ENDIF -->{$TITLE}{$LR_BLOCK_H_R}
{$LR_BLOCK_H_L}<!-- IF $S_BLOCK_ICON -->
<!-- IF $FA_ENABLED -->
<i class="icon fa {$FA_ICON}" style="font-size: {$FA_SIZE}px;" aria-hidden="true"></i>
<!-- ELSE -->
<img src="{$IMAGE_SRC}" width="{$IMAGE_WIDTH}" height="{$IMAGE_HEIGHT}" alt="" />
<!-- ENDIF -->
<!-- ENDIF -->{$TITLE}{$LR_BLOCK_H_R}
<!-- BEGIN random_member -->
<div class="portal-centered-content"><span class="portal-random-member-name">{random_member.USERNAME_FULL}</span><br class="portal-clear" />
<!-- IF random_member.AVATAR_IMG --><a href="{random_member.U_VIEW_PROFILE}">{random_member.AVATAR_IMG}</a><!-- ELSEIF $NO_AVATAR_IMG --><a href="{random_member.U_VIEW_PROFILE}"><img src="{T_THEME_PATH}{$NO_AVATAR_IMG}" alt="" /></a><br class="portal-clear" /><!-- ENDIF -->

View File

@@ -46,7 +46,13 @@ function qsearch_onSubmit()
//-->
</script>
{$LR_BLOCK_H_L}<!-- IF $S_BLOCK_ICON --><img src="{$IMAGE_SRC}" width="{$IMAGE_WIDTH}" height="{$IMAGE_HEIGHT}" alt="" />&nbsp;<!-- ENDIF -->{$TITLE}{$LR_BLOCK_H_R}
{$LR_BLOCK_H_L}<!-- IF $S_BLOCK_ICON -->
<!-- IF $FA_ENABLED -->
<i class="icon fa {$FA_ICON}" style="font-size: {$FA_SIZE}px;" aria-hidden="true"></i>
<!-- ELSE -->
<img src="{$IMAGE_SRC}" width="{$IMAGE_WIDTH}" height="{$IMAGE_HEIGHT}" alt="" />
<!-- ENDIF -->
<!-- ENDIF -->{$TITLE}{$LR_BLOCK_H_R}
<form id="qsearch_form" method="post" action="{U_SEARCH}" onsubmit="return qsearch_onSubmit();">
<p>
<input type="text" tabindex="6" name="keywords" id="searchfield" maxlength="40" title="{L_SEARCH_KEYWORDS}" class="inputbox search icon_portal_search" value="<!-- IF SEARCH_WORDS-->{SEARCH_WORDS}<!-- ELSE -->{L_SEARCH_MINI}<!-- ENDIF -->" onclick="if(this.value=='{LA_SEARCH_MINI}')this.value='';" onblur="if(this.value=='')this.value='{LA_SEARCH_MINI}';" />

View File

@@ -1,4 +1,10 @@
{$LR_BLOCK_H_L}<!-- IF $S_BLOCK_ICON --><img src="{$IMAGE_SRC}" width="{$IMAGE_WIDTH}" height="{$IMAGE_HEIGHT}" alt="" />&nbsp;<!-- ENDIF -->{$TITLE}{$LR_BLOCK_H_R}
{$LR_BLOCK_H_L}<!-- IF $S_BLOCK_ICON -->
<!-- IF $FA_ENABLED -->
<i class="icon fa {$FA_ICON}" style="font-size: {$FA_SIZE}px;" aria-hidden="true"></i>
<!-- ELSE -->
<img src="{$IMAGE_SRC}" width="{$IMAGE_WIDTH}" height="{$IMAGE_HEIGHT}" alt="" />
<!-- ENDIF -->
<!-- ENDIF -->{$TITLE}{$LR_BLOCK_H_R}
<strong>{L_ST_TOP}</strong><br />
{B3_TOTAL_POSTS}<br />
{B3_TOTAL_TOPICS}<br />

View File

@@ -1,5 +1,11 @@
<!-- IF S_STYLE_OPTIONS -->
{$LR_BLOCK_H_L}<!-- IF $S_BLOCK_ICON --><img src="{$IMAGE_SRC}" width="{$IMAGE_WIDTH}" height="{$IMAGE_HEIGHT}" alt="" />&nbsp;<!-- ENDIF -->{$TITLE}{$LR_BLOCK_H_R}
{$LR_BLOCK_H_L}<!-- IF $S_BLOCK_ICON -->
<!-- IF $FA_ENABLED -->
<i class="icon fa {$FA_ICON}" style="font-size: {$FA_SIZE}px;" aria-hidden="true"></i>
<!-- ELSE -->
<img src="{$IMAGE_SRC}" width="{$IMAGE_WIDTH}" height="{$IMAGE_HEIGHT}" alt="" />
<!-- ENDIF -->
<!-- ENDIF -->{$TITLE}{$LR_BLOCK_H_R}
<select class="portal-stylechanger-select" name="demo" id="demo" role="listbox" onchange="document.location.href = this.options[this.selectedIndex].value;">
{STYLE_SELECT}
</select>

View File

@@ -1,4 +1,10 @@
{$LR_BLOCK_H_L}<!-- IF $S_BLOCK_ICON --><img src="{$IMAGE_SRC}" width="{$IMAGE_WIDTH}" height="{$IMAGE_HEIGHT}" alt="" />&nbsp;<!-- ENDIF -->{$TITLE}{$LR_BLOCK_H_R}
{$LR_BLOCK_H_L}<!-- IF $S_BLOCK_ICON -->
<!-- IF $FA_ENABLED -->
<i class="icon fa {$FA_ICON}" style="font-size: {$FA_SIZE}px;" aria-hidden="true"></i>
<!-- ELSE -->
<img src="{$IMAGE_SRC}" width="{$IMAGE_WIDTH}" height="{$IMAGE_HEIGHT}" alt="" />
<!-- ENDIF -->
<!-- ENDIF -->{$TITLE}{$LR_BLOCK_H_R}
<span class="portal-user-span"><strong>{L_USERNAME}</strong></span>
<span class="portal-user-annotation"><strong>{L_POSTS}</strong></span><br class="portal-clear" />
<!-- BEGIN topposters -->

View File

@@ -1,4 +1,10 @@
{$LR_BLOCK_H_L}<!-- IF $S_BLOCK_ICON --><img src="{$IMAGE_SRC}" width="{$IMAGE_WIDTH}" height="{$IMAGE_HEIGHT}" alt="" />&nbsp;<!-- ENDIF -->{$TITLE}{$LR_BLOCK_H_R}
{$LR_BLOCK_H_L}<!-- IF $S_BLOCK_ICON -->
<!-- IF $FA_ENABLED -->
<i class="icon fa {$FA_ICON}" style="font-size: {$FA_SIZE}px;" aria-hidden="true"></i>
<!-- ELSE -->
<img src="{$IMAGE_SRC}" width="{$IMAGE_WIDTH}" height="{$IMAGE_HEIGHT}" alt="" />
<!-- ENDIF -->
<!-- ENDIF -->{$TITLE}{$LR_BLOCK_H_R}
<div class="portal-centered-content">
{USERNAME_FULL}<br />
<!-- IF B3P_AVATAR_IMG -->

View File

@@ -1,4 +1,10 @@
{$LR_BLOCK_H_L}<!-- IF $S_BLOCK_ICON --><img src="{$IMAGE_SRC}" width="{$IMAGE_WIDTH}" height="{$IMAGE_HEIGHT}" alt="" />&nbsp;<!-- ENDIF --><!-- IF U_VIEWONLINE --><a href="{U_VIEWONLINE}">{$TITLE}</a><!-- ELSE -->{$TITLE}<!-- ENDIF -->{$LR_BLOCK_H_R}
{$LR_BLOCK_H_L}<!-- IF $S_BLOCK_ICON -->
<!-- IF $FA_ENABLED -->
<i class="icon fa {$FA_ICON}" style="font-size: {$FA_SIZE}px;" aria-hidden="true"></i>
<!-- ELSE -->
<img src="{$IMAGE_SRC}" width="{$IMAGE_WIDTH}" height="{$IMAGE_HEIGHT}" alt="" />
<!-- ENDIF -->
<!-- ENDIF --><!-- IF U_VIEWONLINE --><a href="{U_VIEWONLINE}">{$TITLE}</a><!-- ELSE -->{$TITLE}<!-- ENDIF -->{$LR_BLOCK_H_R}
<div class="portal-whois-online-content">
<p>{TOTAL_USERS_ONLINE}<br />
<!-- IF U_VIEWONLINE -->

View File

@@ -15,6 +15,9 @@
<!-- DEFINE $CUSTOM_CODE = '{modules_top.CODE}' -->
<!-- DEFINE $TITLE = '{modules_top.TITLE}' -->
<!-- DEFINE $MODULE_ID = '{modules_top.MODULE_ID}' -->
<!-- DEFINE $FA_ICON = '{modules_top.FA_ICON}' -->
<!-- DEFINE $FA_SIZE = '{modules_top.FA_SIZE}' -->
<!-- DEFINE $FA_ENABLED = '{modules_top.FA_ENABLED}' -->
<!-- INCLUDE {$TEMPLATE_FILE} -->
<!-- END modules_top -->
</li>
@@ -34,6 +37,9 @@
<!-- DEFINE $CUSTOM_CODE = '{modules_center.CODE}' -->
<!-- DEFINE $TITLE = '{modules_center.TITLE}' -->
<!-- DEFINE $MODULE_ID = '{modules_center.MODULE_ID}' -->
<!-- DEFINE $FA_ICON = '{modules_center.FA_ICON}' -->
<!-- DEFINE $FA_SIZE = '{modules_center.FA_SIZE}' -->
<!-- DEFINE $FA_ENABLED = '{modules_center.FA_ENABLED}' -->
<!-- INCLUDE {$TEMPLATE_FILE} -->
<!-- END modules_center -->
<!-- IF S_DISPLAY_JUMPBOX and B3P_DISPLAY_JUMPBOX -->
@@ -55,6 +61,9 @@
<!-- DEFINE $CUSTOM_CODE = '{modules_left.CODE}' -->
<!-- DEFINE $TITLE = '{modules_left.TITLE}' -->
<!-- DEFINE $MODULE_ID = '{modules_left.MODULE_ID}' -->
<!-- DEFINE $FA_ICON = '{modules_left.FA_ICON}' -->
<!-- DEFINE $FA_SIZE = '{modules_left.FA_SIZE}' -->
<!-- DEFINE $FA_ENABLED = '{modules_left.FA_ENABLED}' -->
<!-- INCLUDE {$TEMPLATE_FILE} -->
<!-- END modules_left -->
</div>
@@ -72,6 +81,9 @@
<!-- DEFINE $CUSTOM_CODE = '{modules_right.CODE}' -->
<!-- DEFINE $TITLE = '{modules_right.TITLE}' -->
<!-- DEFINE $MODULE_ID = '{modules_right.MODULE_ID}' -->
<!-- DEFINE $FA_ICON = '{modules_right.FA_ICON}' -->
<!-- DEFINE $FA_SIZE = '{modules_right.FA_SIZE}' -->
<!-- DEFINE $FA_ENABLED = '{modules_right.FA_ENABLED}' -->
<!-- INCLUDE {$TEMPLATE_FILE} -->
<!-- END modules_right -->
</div>
@@ -91,6 +103,9 @@
<!-- DEFINE $CUSTOM_CODE = '{modules_bottom.CODE}' -->
<!-- DEFINE $TITLE = '{modules_bottom.TITLE}' -->
<!-- DEFINE $MODULE_ID = '{modules_bottom.MODULE_ID}' -->
<!-- DEFINE $FA_ICON = '{modules_bottom.FA_ICON}' -->
<!-- DEFINE $FA_SIZE = '{modules_bottom.FA_SIZE}' -->
<!-- DEFINE $FA_ENABLED = '{modules_bottom.FA_ENABLED}' -->
<!-- INCLUDE {$TEMPLATE_FILE} -->
<!-- END modules_bottom -->
</li>

View File

@@ -65,6 +65,7 @@ class phpbb_acp_move_module_test extends \board3\portal\tests\testframework\data
$phpbb_container = new \phpbb_mock_container_builder();
// Mock module service collection
$config = new \phpbb\config\config([]);
$db = $this->db;
$auth = $this->getMockBuilder('\phpbb\auth\auth')
->setMethods(['acl_get'])
->getMock();
@@ -74,7 +75,7 @@ class phpbb_acp_move_module_test extends \board3\portal\tests\testframework\data
->will($this->returnValue(true));
$controller_helper = new \board3\portal\tests\mock\controller_helper($phpbb_root_path, $phpEx);
$controller_helper->add_route('board3_portal_controller', 'portal');
$modules_helper = new \board3\portal\includes\modules_helper($auth, $config, $controller_helper, new \phpbb_mock_request);
$modules_helper = new \board3\portal\includes\modules_helper($auth, $config, $controller_helper, $db, new \phpbb_mock_request, $table_prefix . 'styles');
$phpbb_container->set('board3.portal.module_collection',
array(
new \board3\portal\modules\clock($config, $template),
@@ -84,9 +85,10 @@ class phpbb_acp_move_module_test extends \board3\portal\tests\testframework\data
));
$this->portal_helper = new \board3\portal\includes\helper($phpbb_container->get('board3.portal.module_collection'));
$phpbb_container->set('board3.portal.helper', $this->portal_helper);
$phpbb_container->set('board3.portal.modules_helper', new \board3\portal\includes\modules_helper(new \phpbb\auth\auth(), $config, $controller_helper, $request));
$phpbb_container->set('board3.portal.modules_helper', $modules_helper);
$phpbb_container->setParameter('board3.portal.modules.table', $table_prefix . 'portal_modules');
$phpbb_container->setParameter('board3.portal.config.table', $table_prefix . 'portal_config');
$phpbb_container->setParameter('core.table_prefix', $table_prefix);
$this->portal_columns = new \board3\portal\portal\columns();
$phpbb_container->set('board3.portal.columns', $this->portal_columns);
$cache = $this->getMockBuilder('\phpbb\cache\service')
@@ -114,7 +116,6 @@ class phpbb_acp_move_module_test extends \board3\portal\tests\testframework\data
->method('sql_save')
->with($this->anything())
->will($this->returnArgument(2));
$db = $this->db;
$this->language->set(array(
'UNABLE_TO_MOVE' => 'UNABLE_TO_MOVE',
'UNABLE_TO_MOVE_ROW' => 'UNABLE_TO_MOVE_ROW',
@@ -208,6 +209,8 @@ class phpbb_acp_move_module_test extends \board3\portal\tests\testframework\data
'module_image_height' => '0',
'module_group_ids' => '',
'module_status' => '1',
'module_fa_icon' => '',
'module_fa_size' => '16',
), $module_data);
}

View File

@@ -43,6 +43,7 @@ class helper_test extends \board3\portal\tests\testframework\test_case
$this->language = new \board3\portal\tests\mock\language($this->language_file_loader);
$this->user = new \phpbb\user($this->language, '\phpbb\datetime');
$this->user->data['group_id'] = 2;
$this->user->style['style_name'] = 'prosilver';
$this->phpbb_root_path = dirname(__FILE__) . '/../../../../../../';
$phpbb_extension_manager = new \phpbb_mock_extension_manager($this->phpbb_root_path, array('board3/portal'));
$this->language_file_loader->set_extension_manager($phpbb_extension_manager);

View File

@@ -19,7 +19,7 @@ class phpbb_functions_fetch_news_test extends \board3\portal\tests\testframework
{
parent::setUp();
global $auth, $cache, $config, $phpbb_container, $phpbb_dispatcher, $template, $user, $phpbb_root_path, $phpEx;
global $auth, $cache, $config, $phpbb_container, $phpbb_dispatcher, $template, $user, $phpbb_root_path, $phpEx, $table_prefix;
$config = new \phpbb\config\config([
'allow_nocensors' => false,
@@ -71,7 +71,7 @@ class phpbb_functions_fetch_news_test extends \board3\portal\tests\testframework
$phpbb_container = new \phpbb_mock_container_builder();
$controller_helper = new \board3\portal\tests\mock\controller_helper($phpbb_root_path, $phpEx);
$controller_helper->add_route('board3_portal_controller', 'portal');
$this->modules_helper = new \board3\portal\includes\modules_helper($auth, $this->config, $controller_helper, $request);
$this->modules_helper = new \board3\portal\includes\modules_helper($auth, $this->config, $controller_helper, $this->db, $request, $table_prefix . 'styles');
$phpbb_container->set('board3.portal.modules_helper', $this->modules_helper);
$phpbb_container->set('board3.portal.fetch_posts', new \board3\portal\portal\fetch_posts($auth, $cache, $this->config, $this->db, $this->modules_helper, $user));
$template = $this->getMockBuilder('\phpbb\template')

View File

@@ -26,7 +26,7 @@ class board3_includes_modules_helper_test extends \board3\portal\tests\testframe
public function setUp(): void
{
global $phpbb_root_path, $phpEx, $phpbb_dispatcher;
global $phpbb_root_path, $phpEx, $phpbb_dispatcher, $table_prefix;
parent::setUp();
@@ -35,7 +35,6 @@ class board3_includes_modules_helper_test extends \board3\portal\tests\testframe
$request = new \phpbb_mock_request(array('foo' => array('bar')));
$controller_helper = new \board3\portal\tests\mock\controller_helper($phpbb_root_path, $phpEx);
$controller_helper->add_route('board3_portal_controller', 'portal');
$phpbb_container = new \phpbb_mock_container_builder();
$phpbb_dispatcher = $this->getMockBuilder('\phpbb\event\dispatcher')
->setMethods(['trigger_event'])
->getMock();
@@ -44,7 +43,7 @@ class board3_includes_modules_helper_test extends \board3\portal\tests\testframe
->with($this->anything())
->will($this->returnArgument(1));
$this->modules_helper = new \board3\portal\includes\modules_helper($auth, $this->config, $controller_helper, $request);
$this->modules_helper = new \board3\portal\includes\modules_helper($auth, $this->config, $controller_helper, $this->db, $request, $table_prefix . 'styles');
$phpbb_dispatcher = new \phpbb_mock_event_dispatcher();
}

View File

@@ -38,7 +38,7 @@ class phpbb_unit_modules_calendar_test extends \board3\portal\tests\testframewor
public function setUp(): void
{
parent::setUp();
global $cache, $config, $phpbb_root_path, $phpEx, $phpbb_dispatcher, $request, $user;
global $cache, $config, $phpbb_root_path, $phpEx, $phpbb_dispatcher, $request, $user, $table_prefix;
$this->path_helper = new \phpbb\path_helper(
new \phpbb\symfony_request(
@@ -65,7 +65,7 @@ class phpbb_unit_modules_calendar_test extends \board3\portal\tests\testframewor
$this->template = new \board3\portal\tests\mock\template($this);
$controller_helper = new \board3\portal\tests\mock\controller_helper($phpbb_root_path, $phpEx);
$controller_helper->add_route('board3_portal_controller', 'portal');
$modules_helper = new \board3\portal\includes\modules_helper(new \phpbb\auth\auth(), new \phpbb\config\config(array()), $controller_helper, new \phpbb_mock_request());
$modules_helper = new \board3\portal\includes\modules_helper(new \phpbb\auth\auth(), new \phpbb\config\config(array()), $controller_helper, $this->db, new \phpbb_mock_request(), $table_prefix . 'styles');
$request = $this->request = new \phpbb_mock_request();
$this->language_file_loader = new \phpbb\language\language_file_loader($phpbb_root_path, 'php');
$this->language = new \board3\portal\tests\mock\language($this->language_file_loader);

View File

@@ -22,7 +22,7 @@ class phpbb_portal_fetch_posts_test extends \board3\portal\tests\testframework\d
public function setUp(): void
{
global $auth, $cache, $config, $phpbb_dispatcher, $phpbb_root_path, $phpEx, $template, $user;
global $auth, $cache, $config, $phpbb_dispatcher, $phpbb_root_path, $phpEx, $template, $user, $table_prefix;
parent::setUp();
@@ -76,7 +76,7 @@ class phpbb_portal_fetch_posts_test extends \board3\portal\tests\testframework\d
$this->auth = $auth;
$controller_helper = new \board3\portal\tests\mock\controller_helper($phpbb_root_path, $phpEx);
$controller_helper->add_route('board3_portal_controller', 'portal');
$this->modules_helper = new \board3\portal\includes\modules_helper($auth, $this->config, $controller_helper, new phpbb_mock_request());
$this->modules_helper = new \board3\portal\includes\modules_helper($auth, $this->config, $controller_helper, $this->db, new phpbb_mock_request(), $table_prefix . 'styles');
$this->user = $user;
$template = $this->getMockBuilder('\phpbb\template')
->setMethods(['set_filenames', 'destroy_block_vars', 'assign_block_vars', 'assign_display'])

View File

@@ -39,7 +39,7 @@ class modules_manager_confirm_box_test extends \board3\portal\tests\testframewor
public function setUp(): void
{
global $cache, $db, $portal_config, $phpbb_root_path, $phpEx;
global $cache, $db, $portal_config, $phpbb_root_path, $phpEx, $table_prefix;
parent::setUp();
@@ -56,7 +56,7 @@ class modules_manager_confirm_box_test extends \board3\portal\tests\testframewor
$controller_helper = new \board3\portal\tests\mock\controller_helper($phpbb_root_path, $phpEx);
$controller_helper->add_route('board3_portal_controller', 'portal');
$modules_helper = new \board3\portal\includes\modules_helper($auth, $config, $controller_helper, $this->request);
$modules_helper = new \board3\portal\includes\modules_helper($auth, $config, $controller_helper, $this->db, $this->request, $table_prefix . 'styles');
$this->portal_helper = new \board3\portal\includes\helper(array(
new \board3\portal\modules\clock($config, null),

View File

@@ -33,7 +33,7 @@ class board3_portal_modules_manager_test extends \board3\portal\tests\testframew
public function setUp(): void
{
global $cache, $db, $phpbb_root_path, $phpEx;
global $cache, $db, $phpbb_root_path, $phpEx, $table_prefix;
parent::setUp();
@@ -47,7 +47,7 @@ class board3_portal_modules_manager_test extends \board3\portal\tests\testframew
$controller_helper = new \board3\portal\tests\mock\controller_helper($phpbb_root_path, $phpEx);
$controller_helper->add_route('board3_portal_controller', 'portal');
$modules_helper = new \board3\portal\includes\modules_helper($auth, $config, $controller_helper, $request);
$modules_helper = new \board3\portal\includes\modules_helper($auth, $config, $controller_helper, $this->db, $request, $table_prefix . 'styles');
$portal_helper = new \board3\portal\includes\helper(array(
new \board3\portal\modules\clock($config, null),