[Add-on] Welcome Mod 2.0.0 (Beta)

Misc MOD Downloads for phpBB3 -- Any MOD that does not fit into any other category
Forum rules
Image Please feel free to download any MOD's here, support for each MOD is located it's own thread.

To post your own MOD, please first read the MOD Guidelines

Re: Welcome Mod 1.0.0

Postby The Bad Toad » 30 Jun 2008, 11:24

Ladysarajane wrote:Finally able to test out the latest version. I had a problem with subsilver2 overall header.
All the tables underneath the Welcome Mod table were shorter in width. Finally figured it out though.
On the overall header you have:
Spoiler:
<div id="datebar">
<table class="tablebg" align="center" width="100%" cellspacing="1">
<tr>
<td class="row1" width="100%"><span class="gensmall">
<strong>
<div style="float:right;">
<!-- IF S_USER_LOGGED_IN -->{LAST_VISIT_DATE}</strong><!-- ELSE --></strong>{CURRENT_TIME}<!-- ENDIF -->
<!-- IF S_USER_LOGGED_IN --><br />{CURRENT_TIME}<!-- ENDIF --></span></div>
<!-- IF not S_IS_BOT and S_USER_LOGGED_IN -->
<span class="gensmall">
<strong>{S_TIME} {WELCOME_REGISTERED}</strong>
<!-- ELSE -->
<strong>{S_TIME} {WELCOME_GUEST}</strong>
</span>
<!-- ENDIF -->
</div>
</div>
</tr></td></table>


I changed it to this:
Spoiler:
<div id="datebar">
<table class="tablebg" align="center" width="100%" cellspacing="1">
<tr>
<td class="row1" width="100%"><span class="gensmall">
<strong>
<div style="float:right;">
<!-- IF S_USER_LOGGED_IN -->{LAST_VISIT_DATE}</strong><!-- ELSE --></strong>{CURRENT_TIME}<!-- ENDIF -->
<!-- IF S_USER_LOGGED_IN --><br />{CURRENT_TIME}<!-- ENDIF --></span></div>
<!-- IF not S_IS_BOT and S_USER_LOGGED_IN -->
<span class="gensmall">
<strong>{S_TIME} {WELCOME_REGISTERED}</strong>
<!-- ELSE -->
<strong>{S_TIME} {WELCOME_GUEST}</strong>
</span>
<!-- ENDIF -->
</div></td>
</tr></table>
</div>


Now all the tables on the forum are the same size.


I was looking to do the same thing here as well, however when I added these small changes I lost the 'welcome' part of the message! However when I looked again at the MOD Subsilver2 XML Document I realised that there had been an update since and it should now read

Spoiler:
<div id="datebar">
<table class="tablebg" align="center" width="100%" cellspacing="1">
<tr>
<td class="row1" width="100%"><span class="gensmall">
<strong>
<div style="float:right;">
<!-- IF S_USER_LOGGED_IN -->{LAST_VISIT_DATE}</strong><!-- ELSE --></strong>{CURRENT_TIME}<!-- ENDIF -->
<!-- IF S_USER_LOGGED_IN --><br />{CURRENT_TIME}<!-- ENDIF --></span></div>
<!-- IF not S_IS_BOT and S_USER_LOGGED_IN -->
<span class="gensmall">
<strong>{S_WELCOME} {WELCOME_REGISTERED}</strong>
<!-- ELSE -->
<strong>{S_WELCOME} {WELCOME_GUEST}</strong>
</span>
<!-- ENDIF -->
</div></td>
</tr></table>
</div>


So I can confirm it now works as I wanted it to on Subsilver2 and two other Subsilver2 based themes. :thumbsup:
User avatar
The Bad Toad
Cadet III
Cadet III
 
Posts: 36
Joined: 07 May 2008, 08:12
Location: United Kingdom
Gender: Male
phpBB Knowledge: 1




phpBB Academy at StarTrekGuide
Support STG
Using PayPal Donate

Re: [Add-on] Welcome Mod 1.1.2

Postby Jamonte » 08 Aug 2008, 10:42

stitch626 wrote:
Jamonte wrote:Can i change this mod for this period of time

6:00AM ~ 12:00PM
12:00PM ~ 18:00PM
18:00PM ~ 6:00AM

????

Hi Jamonte,
Try this:

Warning!! I have no tested this out. Make sure you back up your files first before doing anything.

First remove the queries for this mod from your DB

Then install this query:
Code: Select all
INSERT INTO `phpbb_config` (`config_name`, `config_value`) VALUES ('time_first', 'Good Afternoon');
INSERT INTO `phpbb_config` (`config_name`, `config_value`) VALUES ('time_second', 'Good morning, you're up early');
INSERT INTO `phpbb_config` (`config_name`, `config_value`) VALUES ('time_third', 'Good evening');

Note: you can adjust your greeting messages in the ACP[/code].


Hi.

One question, can i change, for exemple:

('time_first', 'Good Afternoon')
('time_second', 'Good morning, you're up early')
('time_third', 'Good evening')

To

('time_first', 'Bom dia')
('time_second', 'Boa tarde')
('time_third', 'Boa noite')

???

Tks for help :good:

[ Post made via Mobile Device ] Image
Jamonte    
Cadet III
Cadet III
 
Posts: 33
Joined: 24 Feb 2008, 15:39
Gender: Male
phpBB Knowledge: 1

Re: [Add-on] Welcome Mod 1.1.2

Postby stitch626 » 08 Aug 2008, 18:34

Hello Jamonte,

That message that you quoted was a very old message that was for an earlier version of this mod. That query will no longer work. If you haven't, I suggest downloading the latest version of this mod or if you already have an earlier version there are update instructions in the new download.

As for changing
Code: Select all
('time_first', 'Bom dia')
('time_second', 'Boa tarde')
('time_third', 'Boa noite')

That is no problem at all. You can even install the SQL the way it is then you can change them from the ACP.
User avatar
stitch626    
STG Moderator Leader
STG Moderator Leader
 
Posts: 3185
Joined: 08 Feb 2007, 20:47
Location: Michigan
Favorite Team: Detroit Red Wings
Gender: Male
phpBB Knowledge: 7

Re: [Add-on] Welcome Mod 2.0.0 (Beta)

Postby stitch626 » 27 Aug 2008, 22:08

I give you Version 2.0.0. I guess I should have updated this to RC but I will leave it in Beta for now. :yahoo:

Just gave this mod a face lift. Changed the appearance of this mod in both subsilver and prosilver. The prosilver code is moved from index_body to overall_header for a much cleaner look and now shows up on every page and is valid html. I found out that the original code in prosilver was invalid.

Update to 2.0.0 instructions included.

I have heard it through the grape vine that this mod is very close to being validated...awaiting word from team.

You can see the updated changes on my test board. See first post for details.
User avatar
stitch626    
STG Moderator Leader
STG Moderator Leader
 
Posts: 3185
Joined: 08 Feb 2007, 20:47
Location: Michigan
Favorite Team: Detroit Red Wings
Gender: Male
phpBB Knowledge: 7

Re: [Add-on] Welcome Mod 2.0.0 (Beta)

Postby NaughtyVb » 27 Oct 2008, 03:24

hello when i add this code to my acp_board.php

Code: Select all
Open: includes/acp/acp_board.php
Find

Tip: This may be a partial find and not the whole line.
Code: Select All
'warnings_expire_days'   => array('lang' => 'WARNINGS_EXPIRE',      'validate' => 'int',   'type' => 'text:3:4', 'explain' => true, 'append' => ' ' . $user->lang['DAYS']),
Add after

Tip: Add these lines on a new blank line after the preceding line(s) to find.
Code: Select All
//If other mods are installed you may have to change legend3 to the next available legend number.
//--Welcome_Mod Legend-->
'legend3'                                     => 'TIME_OF_DAY_MESSAGE',
'time_afternoon'               => array('lang' => 'TIME_AFTERNOON',         'validate' => 'string',   'type' => 'text:40:255', 'explain' => true),
'time_early'                  => array('lang' => 'TIME_EARLY',            'validate' => 'string',   'type' => 'text:40:255', 'explain' => true),
'time_evening'                  => array('lang' => 'TIME_EVENING',            'validate' => 'string',   'type' => 'text:40:255', 'explain' => true),
'time_late'                  => array('lang' => 'TIME_LATE',            'validate' => 'string',   'type' => 'text:40:255', 'explain' => true),
'time_morning'                  => array('lang' => 'TIME_MORNING',            'validate' => 'string',   'type' => 'text:40:255', 'explain' => true),
//--End-Welcome_Mod Legend-->




THis error comes
Code: Select all
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting ')' in /home2/teenstar/public_html/naughtyvb.com/includes/acp/acp_board.php on line 83




here is my acp_board.php

Code: Select all
<?php
/**
*
* @package acp
* @version $Id: acp_board.php 8493 2008-04-07 16:04:43Z Kellanved $
* @copyright (c) 2005 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
* @todo add cron intervals to server settings? (database_gc, queue_interval, session_gc, search_gc, cache_gc, warnings_gc)
*/

/**
* @ignore
*/
if (!defined('IN_PHPBB'))
{
   exit;
}

/**
* @package acp
*/
class acp_board
{
   var $u_action;
   var $new_config = array();

   function main($id, $mode)
   {
      global $db, $user, $auth, $template;
      global $config, $phpbb_root_path, $phpbb_admin_path, $phpEx;

      $user->add_lang('acp/board');

      $action   = request_var('action', '');
      $submit = (isset($_POST['submit'])) ? true : false;

      $form_key = 'acp_board';
      add_form_key($form_key);

      /**
      *   Validation types are:
      *      string, int, bool,
      *      script_path (absolute path in url - beginning with / and no trailing slash),
      *      rpath (relative), rwpath (realtive, writable), path (relative path, but able to escape the root), wpath (writable)
      */
      switch ($mode)
      {
         case 'settings':
            $display_vars = array(
               'title'   => 'ACP_BOARD_SETTINGS',
               'vars'   => array(
                  'legend1'            => 'ACP_BOARD_SETTINGS',
                  'sitename'            => array('lang' => 'SITE_NAME',            'validate' => 'string',   'type' => 'text:40:255', 'explain' => false),
                  'site_desc'            => array('lang' => 'SITE_DESC',            'validate' => 'string',   'type' => 'text:40:255', 'explain' => false),

                               
// Meta Keywords MOD 1.0
                                               'use_dynamic_description' => array('lang' => 'DYNAMIC_DESCRIPTION',     'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => false),
                                               'description_word_count'=> array('lang' => 'DESCRIPTION_WORD_COUNT', 'validate' => 'int',       'type' => 'text:3:4', 'explain' => false),
                                               'global_keywords'              => array('lang' => 'GLOBAL_KEYWORDS',            'validate' => 'string', 'type' => 'text:40:255', 'explain' => false),
                                               'use_dynamic_keywords'  => array('lang' => 'DYNAMIC_KEYWORDS',          'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => false),
                                               'keyword_word_count'    => array('lang' => 'KEYWORD_WORD_COUNT',        'validate' => 'int',    'type' => 'text:3:4', 'explain' => false),
                                               'append_global_keywords'=> array('lang' => 'APPEND_GLOBAL_KEYWORDS','validate' => 'bool',       'type' => 'radio:yes_no', 'explain' => true),
                                               'append_keywords_first' => array('lang' => 'APPEND_KEYWORDS_FIRST',     'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => true),


                  'board_disable'         => array('lang' => 'DISABLE_BOARD',         'validate' => 'bool',   'type' => 'custom', 'method' => 'board_disable', 'explain' => true),
                  'board_disable_msg'      => false,
                  'default_lang'         => array('lang' => 'DEFAULT_LANGUAGE',      'validate' => 'lang',   'type' => 'select', 'function' => 'language_select', 'params' => array('{CONFIG_VALUE}'), 'explain' => false),
                  'default_dateformat'   => array('lang' => 'DEFAULT_DATE_FORMAT',   'validate' => 'string',   'type' => 'custom', 'method' => 'dateformat_select', 'explain' => true),
                  'board_timezone'      => array('lang' => 'SYSTEM_TIMEZONE',      'validate' => 'string',   'type' => 'select', 'function' => 'tz_select', 'params' => array('{CONFIG_VALUE}', 1), 'explain' => false),
                  'board_dst'            => array('lang' => 'SYSTEM_DST',         'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => false),
                  'default_style'         => array('lang' => 'DEFAULT_STYLE',         'validate' => 'int',   'type' => 'select', 'function' => 'style_select', 'params' => array('{CONFIG_VALUE}', false), 'explain' => false),
                  'override_user_style'   => array('lang' => 'OVERRIDE_STYLE',      'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => true),

                  'legend2'            => 'WARNINGS',
                  'warnings_expire_days'   => array('lang' => 'WARNINGS_EXPIRE',      'validate' => 'int',   'type' => 'text:3:4', 'explain' => true, 'append' => ' ' . $user->lang['DAYS']),
            )

//If other mods are installed you may have to change legend3 to the next available legend number.
//--Welcome_Mod Legend-->
'legend3'                                     => 'TIME_OF_DAY_MESSAGE',
'time_afternoon'               => array('lang' => 'TIME_AFTERNOON',         'validate' => 'string',   'type' => 'text:40:255', 'explain' => true),
'time_early'                  => array('lang' => 'TIME_EARLY',            'validate' => 'string',   'type' => 'text:40:255', 'explain' => true),
'time_evening'                  => array('lang' => 'TIME_EVENING',            'validate' => 'string',   'type' => 'text:40:255', 'explain' => true),
'time_late'                  => array('lang' => 'TIME_LATE',            'validate' => 'string',   'type' => 'text:40:255', 'explain' => true),
'time_morning'                  => array('lang' => 'TIME_MORNING',            'validate' => 'string',   'type' => 'text:40:255', 'explain' => true),
//--End-Welcome_Mod Legend-->




            );
            
            break;

         case 'features':
            $display_vars = array(
               'title'   => 'ACP_BOARD_FEATURES',
               'vars'   => array(
                  'legend1'            => 'ACP_BOARD_FEATURES',
                  'allow_privmsg'         => array('lang' => 'BOARD_PM',            'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => true),
                  'allow_topic_notify'   => array('lang' => 'ALLOW_TOPIC_NOTIFY',   'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => false),
                  'allow_forum_notify'   => array('lang' => 'ALLOW_FORUM_NOTIFY',   'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => false),
                  'allow_namechange'      => array('lang' => 'ALLOW_NAME_CHANGE',      'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => false),
                  'allow_attachments'      => array('lang' => 'ALLOW_ATTACHMENTS',      'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => false),
                  'allow_pm_attach'      => array('lang' => 'ALLOW_PM_ATTACHMENTS',   'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => false),
                  'allow_bbcode'         => array('lang' => 'ALLOW_BBCODE',         'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => false),
                  'allow_smilies'         => array('lang' => 'ALLOW_SMILIES',         'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => false),
                  'allow_sig'            => array('lang' => 'ALLOW_SIG',            'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => false),
                  'allow_nocensors'      => array('lang' => 'ALLOW_NO_CENSORS',      'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => true),
                  'allow_bookmarks'      => array('lang' => 'ALLOW_BOOKMARKS',      'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => true),
                  'allow_birthdays'      => array('lang' => 'ALLOW_BIRTHDAYS',      'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => true),

                  'legend2'            => 'ACP_LOAD_SETTINGS',
                  'load_birthdays'      => array('lang' => 'YES_BIRTHDAYS',         'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => true),
                  'load_moderators'      => array('lang' => 'YES_MODERATORS',      'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => false),
                  'load_jumpbox'         => array('lang' => 'YES_JUMPBOX',         'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => false),
                  'load_cpf_memberlist'   => array('lang' => 'LOAD_CPF_MEMBERLIST',   'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => false),
                  'load_cpf_viewprofile'   => array('lang' => 'LOAD_CPF_VIEWPROFILE',   'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => false),
                  'load_cpf_viewtopic'   => array('lang' => 'LOAD_CPF_VIEWTOPIC',   'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => false),
               )
            );
         break;

         case 'avatar':
            $display_vars = array(
               'title'   => 'ACP_AVATAR_SETTINGS',
               'vars'   => array(
                  'legend1'            => 'ACP_AVATAR_SETTINGS',

                  'avatar_min_width'      => array('lang' => 'MIN_AVATAR_SIZE', 'validate' => 'int:0', 'type' => false, 'method' => false, 'explain' => false,),
                  'avatar_min_height'      => array('lang' => 'MIN_AVATAR_SIZE', 'validate' => 'int:0', 'type' => false, 'method' => false, 'explain' => false,),
                  'avatar_max_width'      => array('lang' => 'MAX_AVATAR_SIZE', 'validate' => 'int:0', 'type' => false, 'method' => false, 'explain' => false,),
                  'avatar_max_height'      => array('lang' => 'MAX_AVATAR_SIZE', 'validate' => 'int:0', 'type' => false, 'method' => false, 'explain' => false,),

                  'allow_avatar_local'   => array('lang' => 'ALLOW_LOCAL',         'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => false),
                  'allow_avatar_remote'   => array('lang' => 'ALLOW_REMOTE',         'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => true),
                  'allow_avatar_upload'   => array('lang' => 'ALLOW_UPLOAD',         'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => false),
                  'avatar_filesize'      => array('lang' => 'MAX_FILESIZE',         'validate' => 'int:0',   'type' => 'text:4:10', 'explain' => true, 'append' => ' ' . $user->lang['BYTES']),
                  'avatar_min'         => array('lang' => 'MIN_AVATAR_SIZE',      'validate' => 'int:0',   'type' => 'dimension:3:4', 'explain' => true, 'append' => ' ' . $user->lang['PIXEL']),
                  'avatar_max'         => array('lang' => 'MAX_AVATAR_SIZE',      'validate' => 'int:0',   'type' => 'dimension:3:4', 'explain' => true, 'append' => ' ' . $user->lang['PIXEL']),
                  'avatar_path'         => array('lang' => 'AVATAR_STORAGE_PATH',   'validate' => 'rwpath',   'type' => 'text:20:255', 'explain' => true),
                  'avatar_gallery_path'   => array('lang' => 'AVATAR_GALLERY_PATH',   'validate' => 'rpath',   'type' => 'text:20:255', 'explain' => true)
               )
            );
         break;

         case 'message':
            $display_vars = array(
               'title'   => 'ACP_MESSAGE_SETTINGS',
               'lang'   => 'ucp',
               'vars'   => array(
                  'legend1'            => 'GENERAL_SETTINGS',
                  'allow_privmsg'         => array('lang' => 'BOARD_PM',            'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => true),
                  'pm_max_boxes'         => array('lang' => 'BOXES_MAX',            'validate' => 'int:0',   'type' => 'text:4:4', 'explain' => true),
                  'pm_max_msgs'         => array('lang' => 'BOXES_LIMIT',         'validate' => 'int:0',   'type' => 'text:4:4', 'explain' => true),
                  'full_folder_action'   => array('lang' => 'FULL_FOLDER_ACTION',   'validate' => 'int',   'type' => 'select', 'method' => 'full_folder_select', 'explain' => true),
                  'pm_edit_time'         => array('lang' => 'PM_EDIT_TIME',         'validate' => 'int:0',   'type' => 'text:5:5', 'explain' => true, 'append' => ' ' . $user->lang['MINUTES']),

                  'legend2'            => 'GENERAL_OPTIONS',
                  'allow_mass_pm'         => array('lang' => 'ALLOW_MASS_PM',         'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => false),
                  'auth_bbcode_pm'      => array('lang' => 'ALLOW_BBCODE_PM',      'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => false),
                  'auth_smilies_pm'      => array('lang' => 'ALLOW_SMILIES_PM',      'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => false),
                  'allow_pm_attach'      => array('lang' => 'ALLOW_PM_ATTACHMENTS',   'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => false),
                  'allow_sig_pm'         => array('lang' => 'ALLOW_SIG_PM',         'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => false),
                  'print_pm'            => array('lang' => 'ALLOW_PRINT_PM',      'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => false),
                  'forward_pm'         => array('lang' => 'ALLOW_FORWARD_PM',      'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => false),
                  'auth_img_pm'         => array('lang' => 'ALLOW_IMG_PM',         'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => false),
                  'auth_flash_pm'         => array('lang' => 'ALLOW_FLASH_PM',      'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => true),
                  'enable_pm_icons'      => array('lang' => 'ENABLE_PM_ICONS',      'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => false)
               )
            );
         break;

         case 'post':
            $display_vars = array(
               'title'   => 'ACP_POST_SETTINGS',
               'vars'   => array(
                  'legend1'            => 'GENERAL_OPTIONS',
                  'allow_topic_notify'   => array('lang' => 'ALLOW_TOPIC_NOTIFY',   'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => false),
                  'allow_forum_notify'   => array('lang' => 'ALLOW_FORUM_NOTIFY',   'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => false),
                  'allow_bbcode'         => array('lang' => 'ALLOW_BBCODE',         'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => false),
                  'allow_post_flash'      => array('lang' => 'ALLOW_POST_FLASH',      'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => true),
                  'allow_smilies'         => array('lang' => 'ALLOW_SMILIES',         'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => false),
                  'allow_post_links'      => array('lang' => 'ALLOW_POST_LINKS',      'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => true),
                  'allow_nocensors'      => array('lang' => 'ALLOW_NO_CENSORS',      'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => true),
                  'allow_bookmarks'      => array('lang' => 'ALLOW_BOOKMARKS',      'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => true),
                  'enable_post_confirm'   => array('lang' => 'VISUAL_CONFIRM_POST',   'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => true),

                  'legend2'            => 'POSTING',
                  'bump_type'            => false,
                  'edit_time'            => array('lang' => 'EDIT_TIME',            'validate' => 'int:0',   'type' => 'text:5:5', 'explain' => true, 'append' => ' ' . $user->lang['MINUTES']),
                  'display_last_edited'   => array('lang' => 'DISPLAY_LAST_EDITED',   'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => true),
                  'flood_interval'      => array('lang' => 'FLOOD_INTERVAL',      'validate' => 'int:0',   'type' => 'text:3:10', 'explain' => true, 'append' => ' ' . $user->lang['SECONDS']),
                  'bump_interval'         => array('lang' => 'BUMP_INTERVAL',         'validate' => 'int:0',   'type' => 'custom', 'method' => 'bump_interval', 'explain' => true),
                  'topics_per_page'      => array('lang' => 'TOPICS_PER_PAGE',      'validate' => 'int:1',   'type' => 'text:3:4', 'explain' => false),
                  'posts_per_page'      => array('lang' => 'POSTS_PER_PAGE',      'validate' => 'int:1',   'type' => 'text:3:4', 'explain' => false),
                  'hot_threshold'         => array('lang' => 'HOT_THRESHOLD',         'validate' => 'int:0',   'type' => 'text:3:4', 'explain' => true),
                  'max_poll_options'      => array('lang' => 'MAX_POLL_OPTIONS',      'validate' => 'int:0',   'type' => 'text:4:4', 'explain' => false),
                  'max_post_chars'      => array('lang' => 'CHAR_LIMIT',         'validate' => 'int:0',   'type' => 'text:4:6', 'explain' => true),
                  'max_post_smilies'      => array('lang' => 'SMILIES_LIMIT',         'validate' => 'int:0',   'type' => 'text:4:4', 'explain' => true),
                  'max_post_urls'         => array('lang' => 'MAX_POST_URLS',         'validate' => 'int:0',   'type' => 'text:5:4', 'explain' => true),
                  'max_post_font_size'   => array('lang' => 'MAX_POST_FONT_SIZE',   'validate' => 'int:0',   'type' => 'text:5:4', 'explain' => true, 'append' => ' %'),
                  'max_quote_depth'      => array('lang' => 'QUOTE_DEPTH_LIMIT',      'validate' => 'int:0',   'type' => 'text:4:4', 'explain' => true),
                  'max_post_img_width'   => array('lang' => 'MAX_POST_IMG_WIDTH',   'validate' => 'int:0',   'type' => 'text:5:4', 'explain' => true, 'append' => ' ' . $user->lang['PIXEL']),
                  'max_post_img_height'   => array('lang' => 'MAX_POST_IMG_HEIGHT',   'validate' => 'int:0',   'type' => 'text:5:4', 'explain' => true, 'append' => ' ' . $user->lang['PIXEL']),
               )
            );
         break;

         case 'signature':
            $display_vars = array(
               'title'   => 'ACP_SIGNATURE_SETTINGS',
               'vars'   => array(
                  'legend1'            => 'GENERAL_OPTIONS',
                  'allow_sig'            => array('lang' => 'ALLOW_SIG',            'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => false),
                  'allow_sig_bbcode'      => array('lang' => 'ALLOW_SIG_BBCODE',      'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => false),
                  'allow_sig_img'         => array('lang' => 'ALLOW_SIG_IMG',         'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => false),
                  'allow_sig_flash'      => array('lang' => 'ALLOW_SIG_FLASH',      'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => false),
                  'allow_sig_smilies'      => array('lang' => 'ALLOW_SIG_SMILIES',      'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => false),
                  'allow_sig_links'      => array('lang' => 'ALLOW_SIG_LINKS',      'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => true),

                  'legend2'            => 'GENERAL_SETTINGS',
                  'max_sig_chars'         => array('lang' => 'MAX_SIG_LENGTH',      'validate' => 'int:0',   'type' => 'text:5:4', 'explain' => true),
                  'max_sig_urls'         => array('lang' => 'MAX_SIG_URLS',         'validate' => 'int:0',   'type' => 'text:5:4', 'explain' => true),
                  'max_sig_font_size'      => array('lang' => 'MAX_SIG_FONT_SIZE',      'validate' => 'int:0',   'type' => 'text:5:4', 'explain' => true, 'append' => ' %'),
                  'max_sig_smilies'      => array('lang' => 'MAX_SIG_SMILIES',      'validate' => 'int:0',   'type' => 'text:5:4', 'explain' => true),
                  'max_sig_img_width'      => array('lang' => 'MAX_SIG_IMG_WIDTH',      'validate' => 'int:0',   'type' => 'text:5:4', 'explain' => true, 'append' => ' ' . $user->lang['PIXEL']),
                  'max_sig_img_height'   => array('lang' => 'MAX_SIG_IMG_HEIGHT',   'validate' => 'int:0',   'type' => 'text:5:4', 'explain' => true, 'append' => ' ' . $user->lang['PIXEL']),
               )
            );
         break;

         case 'registration':
            $display_vars = array(
               'title'   => 'ACP_REGISTER_SETTINGS',
               'vars'   => array(
                  'legend1'            => 'GENERAL_SETTINGS',
                  'max_name_chars'      => array('lang' => 'USERNAME_LENGTH', 'validate' => 'int:8:180', 'type' => false, 'method' => false, 'explain' => false,),
                  'max_pass_chars'      => array('lang' => 'PASSWORD_LENGTH', 'validate' => 'int:8:255', 'type' => false, 'method' => false, 'explain' => false,),

                  'require_activation'   => array('lang' => 'ACC_ACTIVATION',   'validate' => 'int',   'type' => 'custom', 'method' => 'select_acc_activation', 'explain' => true),
                  'min_name_chars'      => array('lang' => 'USERNAME_LENGTH',   'validate' => 'int:1',   'type' => 'custom:5:180', 'method' => 'username_length', 'explain' => true),
                  'min_pass_chars'      => array('lang' => 'PASSWORD_LENGTH',   'validate' => 'int:1',   'type' => 'custom', 'method' => 'password_length', 'explain' => true),
                  'allow_name_chars'      => array('lang' => 'USERNAME_CHARS',   'validate' => 'string',   'type' => 'select', 'method' => 'select_username_chars', 'explain' => true),
                  'pass_complex'         => array('lang' => 'PASSWORD_TYPE',      'validate' => 'string',   'type' => 'select', 'method' => 'select_password_chars', 'explain' => true),
                  'chg_passforce'         => array('lang' => 'FORCE_PASS_CHANGE',   'validate' => 'int:0',   'type' => 'text:3:3', 'explain' => true, 'append' => ' ' . $user->lang['DAYS']),

                  'legend2'            => 'GENERAL_OPTIONS',
                  'allow_namechange'      => array('lang' => 'ALLOW_NAME_CHANGE',      'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => false),
                  'allow_emailreuse'      => array('lang' => 'ALLOW_EMAIL_REUSE',      'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => true),
                  'enable_confirm'      => array('lang' => 'VISUAL_CONFIRM_REG',   'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => true),
                  'max_login_attempts'   => array('lang' => 'MAX_LOGIN_ATTEMPTS',   'validate' => 'int:0',   'type' => 'text:3:3', 'explain' => true),
                  'max_reg_attempts'      => array('lang' => 'REG_LIMIT',            'validate' => 'int:0',   'type' => 'text:4:4', 'explain' => true),

                  'legend3'         => 'COPPA',
                  'coppa_enable'      => array('lang' => 'ENABLE_COPPA',      'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => true),
                  'coppa_mail'      => array('lang' => 'COPPA_MAIL',      'validate' => 'string',   'type' => 'textarea:5:40', 'explain' => true),
                  'coppa_fax'         => array('lang' => 'COPPA_FAX',         'validate' => 'string',   'type' => 'text:25:100', 'explain' => false),
               )
            );
         break;

         case 'cookie':
            $display_vars = array(
               'title'   => 'ACP_COOKIE_SETTINGS',
               'vars'   => array(
                  'legend1'      => 'ACP_COOKIE_SETTINGS',
                  'cookie_domain'   => array('lang' => 'COOKIE_DOMAIN',   'validate' => 'string',   'type' => 'text::255', 'explain' => false),
                  'cookie_name'   => array('lang' => 'COOKIE_NAME',   'validate' => 'string',   'type' => 'text::16', 'explain' => false),
                  'cookie_path'   => array('lang'   => 'COOKIE_PATH',   'validate' => 'string',   'type' => 'text::255', 'explain' => false),
                  'cookie_secure'   => array('lang' => 'COOKIE_SECURE',   'validate' => 'bool',   'type' => 'radio:disabled_enabled', 'explain' => true)
               )
            );
         break;

         case 'load':
            $display_vars = array(
               'title'   => 'ACP_LOAD_SETTINGS',
               'vars'   => array(
                  'legend1'         => 'GENERAL_SETTINGS',
                  'limit_load'      => array('lang' => 'LIMIT_LOAD',      'validate' => 'string',   'type' => 'text:4:4', 'explain' => true),
                  'session_length'   => array('lang' => 'SESSION_LENGTH',   'validate' => 'int:60',   'type' => 'text:5:10', 'explain' => true, 'append' => ' ' . $user->lang['SECONDS']),
                  'active_sessions'   => array('lang' => 'LIMIT_SESSIONS',   'validate' => 'int:0',   'type' => 'text:4:4', 'explain' => true),
                  'load_online_time'   => array('lang' => 'ONLINE_LENGTH',      'validate' => 'int:0',   'type' => 'text:4:3', 'explain' => true, 'append' => ' ' . $user->lang['MINUTES']),

                  'legend2'            => 'GENERAL_OPTIONS',
                  'load_db_track'         => array('lang' => 'YES_POST_MARKING',      'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => true),
                  'load_db_lastread'      => array('lang' => 'YES_READ_MARKING',      'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => true),
                  'load_anon_lastread'   => array('lang' => 'YES_ANON_READ_MARKING',   'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => true),
                  'load_online'         => array('lang' => 'YES_ONLINE',         'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => true),
                  'load_online_guests'   => array('lang' => 'YES_ONLINE_GUESTS',      'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => true),
                  'load_onlinetrack'      => array('lang' => 'YES_ONLINE_TRACK',      'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => true),
                  'load_birthdays'      => array('lang' => 'YES_BIRTHDAYS',         'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => true),
                  'load_moderators'      => array('lang' => 'YES_MODERATORS',      'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => false),
                  'load_jumpbox'         => array('lang' => 'YES_JUMPBOX',         'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => false),
                  'load_user_activity'   => array('lang' => 'LOAD_USER_ACTIVITY',   'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => true),
                  'load_tplcompile'      => array('lang' => 'RECOMPILE_STYLES',   'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => true),

                  'legend3'            => 'CUSTOM_PROFILE_FIELDS',
                  'load_cpf_memberlist'   => array('lang' => 'LOAD_CPF_MEMBERLIST',   'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => false),
                  'load_cpf_viewprofile'   => array('lang' => 'LOAD_CPF_VIEWPROFILE',   'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => false),
                  'load_cpf_viewtopic'   => array('lang' => 'LOAD_CPF_VIEWTOPIC',   'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => false),
               )
            );
         break;

         case 'auth':
            $display_vars = array(
               'title'   => 'ACP_AUTH_SETTINGS',
               'vars'   => array(
                  'legend1'      => 'ACP_AUTH_SETTINGS',
                  'auth_method'   => array('lang' => 'AUTH_METHOD',   'validate' => 'string',   'type' => 'select', 'method' => 'select_auth_method', 'explain' => false)
               )
            );
         break;

         case 'server':
            $display_vars = array(
               'title'   => 'ACP_SERVER_SETTINGS',
               'vars'   => array(
                  'legend1'            => 'ACP_SERVER_SETTINGS',
                  'gzip_compress'         => array('lang' => 'ENABLE_GZIP',      'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => true),

                  'legend2'            => 'PATH_SETTINGS',
                  'smilies_path'         => array('lang' => 'SMILIES_PATH',      'validate' => 'rpath',   'type' => 'text:20:255', 'explain' => true),
                  'icons_path'         => array('lang' => 'ICONS_PATH',      'validate' => 'rpath',   'type' => 'text:20:255', 'explain' => true),
                  'upload_icons_path'      => array('lang' => 'UPLOAD_ICONS_PATH',   'validate' => 'rpath',   'type' => 'text:20:255', 'explain' => true),
                  'ranks_path'         => array('lang' => 'RANKS_PATH',      'validate' => 'rpath',   'type' => 'text:20:255', 'explain' => true),

                  'legend3'            => 'SERVER_URL_SETTINGS',
                  'force_server_vars'      => array('lang' => 'FORCE_SERVER_VARS',   'validate' => 'bool',         'type' => 'radio:yes_no', 'explain' => true),
                  'server_protocol'      => array('lang' => 'SERVER_PROTOCOL',   'validate' => 'string',         'type' => 'text:10:10', 'explain' => true),
                  'server_name'         => array('lang' => 'SERVER_NAME',      'validate' => 'string',         'type' => 'text:40:255', 'explain' => true),
                  'server_port'         => array('lang' => 'SERVER_PORT',      'validate' => 'int:0',         'type' => 'text:5:5', 'explain' => true),
                  'script_path'         => array('lang' => 'SCRIPT_PATH',      'validate' => 'script_path',   'type' => 'text::255', 'explain' => true),
               )
            );
         break;

         case 'security':
            $display_vars = array(
               'title'   => 'ACP_SECURITY_SETTINGS',
               'vars'   => array(
                  'legend1'            => 'ACP_SECURITY_SETTINGS',
                  'allow_autologin'      => array('lang' => 'ALLOW_AUTOLOGIN',      'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => true),
                  'max_autologin_time'   => array('lang' => 'AUTOLOGIN_LENGTH',      'validate' => 'int:0',   'type' => 'text:5:5', 'explain' => true, 'append' => ' ' . $user->lang['DAYS']),
                  'ip_check'            => array('lang' => 'IP_VALID',            'validate' => 'int',   'type' => 'custom', 'method' => 'select_ip_check', 'explain' => true),
                  'browser_check'         => array('lang' => 'BROWSER_VALID',         'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => true),
                  'forwarded_for_check'   => array('lang' => 'FORWARDED_FOR_VALID',   'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => true),
                  'check_dnsbl'         => array('lang' => 'CHECK_DNSBL',         'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => true),
                  'email_check_mx'      => array('lang' => 'EMAIL_CHECK_MX',      'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => true),
                  'pass_complex'         => array('lang' => 'PASSWORD_TYPE',         'validate' => 'string',   'type' => 'select', 'method' => 'select_password_chars', 'explain' => true),
                  'chg_passforce'         => array('lang' => 'FORCE_PASS_CHANGE',      'validate' => 'int:0',   'type' => 'text:3:3', 'explain' => true, 'append' => ' ' . $user->lang['DAYS']),
                  'max_login_attempts'   => array('lang' => 'MAX_LOGIN_ATTEMPTS',   'validate' => 'int:0',   'type' => 'text:3:3', 'explain' => true),
                  'tpl_allow_php'         => array('lang' => 'TPL_ALLOW_PHP',         'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => true),
                  'form_token_lifetime'   => array('lang' => 'FORM_TIME_MAX',         'validate' => 'int:-1',   'type' => 'text:5:5', 'explain' => true, 'append' => ' ' . $user->lang['SECONDS']),
                  'form_token_sid_guests'   => array('lang' => 'FORM_SID_GUESTS',      'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => true),

               )
            );
         break;

         case 'email':
            $display_vars = array(
               'title'   => 'ACP_EMAIL_SETTINGS',
               'vars'   => array(
                  'legend1'            => 'GENERAL_SETTINGS',
                  'email_enable'         => array('lang' => 'ENABLE_EMAIL',         'validate' => 'bool',   'type' => 'radio:enabled_disabled', 'explain' => true),
                  'board_email_form'      => array('lang' => 'BOARD_EMAIL_FORM',      'validate' => 'bool',   'type' => 'radio:enabled_disabled', 'explain' => true),
                  'email_function_name'   => array('lang' => 'EMAIL_FUNCTION_NAME',   'validate' => 'string',   'type' => 'text:20:50', 'explain' => true),
                  'email_package_size'   => array('lang' => 'EMAIL_PACKAGE_SIZE',   'validate' => 'int:0',   'type' => 'text:5:5', 'explain' => true),
                  'board_contact'         => array('lang' => 'CONTACT_EMAIL',         'validate' => 'string',   'type' => 'text:25:100', 'explain' => true),
                  'board_email'         => array('lang' => 'ADMIN_EMAIL',         'validate' => 'string',   'type' => 'text:25:100', 'explain' => true),
                  'board_email_sig'      => array('lang' => 'EMAIL_SIG',            'validate' => 'string',   'type' => 'textarea:5:30', 'explain' => true),
                  'board_hide_emails'      => array('lang' => 'BOARD_HIDE_EMAILS',      'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => true),

                  'legend2'            => 'SMTP_SETTINGS',
                  'smtp_delivery'         => array('lang' => 'USE_SMTP',            'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => true),
                  'smtp_host'            => array('lang' => 'SMTP_SERVER',         'validate' => 'string',   'type' => 'text:25:50', 'explain' => false),
                  'smtp_port'            => array('lang' => 'SMTP_PORT',            'validate' => 'int:0',   'type' => 'text:4:5', 'explain' => true),
                  'smtp_auth_method'      => array('lang' => 'SMTP_AUTH_METHOD',      'validate' => 'string',   'type' => 'select', 'method' => 'mail_auth_select', 'explain' => true),
                  'smtp_username'         => array('lang' => 'SMTP_USERNAME',         'validate' => 'string',   'type' => 'text:25:255', 'explain' => true),
                  'smtp_password'         => array('lang' => 'SMTP_PASSWORD',         'validate' => 'string',   'type' => 'password:25:255', 'explain' => true)
               )
            );
         break;

         default:
            trigger_error('NO_MODE', E_USER_ERROR);
         break;
      }

      if (isset($display_vars['lang']))
      {
         $user->add_lang($display_vars['lang']);
      }

      $this->new_config = $config;
      $cfg_array = (isset($_REQUEST['config'])) ? utf8_normalize_nfc(request_var('config', array('' => ''), true)) : $this->new_config;
      $error = array();

      // We validate the complete config if whished
      validate_config_vars($display_vars['vars'], $cfg_array, $error);

      if ($submit && !check_form_key($form_key))
      {
         $error[] = $user->lang['FORM_INVALID'];
      }
      // Do not write values if there is an error
      if (sizeof($error))
      {
         $submit = false;
      }

      // We go through the display_vars to make sure no one is trying to set variables he/she is not allowed to...
      foreach ($display_vars['vars'] as $config_name => $null)
      {
         if (!isset($cfg_array[$config_name]) || strpos($config_name, 'legend') !== false)
         {
            continue;
         }

         if ($config_name == 'auth_method')
         {
            continue;
         }

         $this->new_config[$config_name] = $config_value = $cfg_array[$config_name];

         if ($config_name == 'email_function_name')
         {
            $this->new_config['email_function_name'] = trim(str_replace(array('(', ')'), array('', ''), $this->new_config['email_function_name']));
            $this->new_config['email_function_name'] = (empty($this->new_config['email_function_name']) || !function_exists($this->new_config['email_function_name'])) ? 'mail' : $this->new_config['email_function_name'];
            $config_value = $this->new_config['email_function_name'];
         }

         if ($submit)
         {
            set_config($config_name, $config_value);
         }
      }

      if ($mode == 'auth')
      {
         // Retrieve a list of auth plugins and check their config values
         $auth_plugins = array();

         $dp = @opendir($phpbb_root_path . 'includes/auth');

         if ($dp)
         {
            while (($file = readdir($dp)) !== false)
            {
               if (preg_match('#^auth_(.*?)\.' . $phpEx . '$#', $file))
               {
                  $auth_plugins[] = basename(preg_replace('#^auth_(.*?)\.' . $phpEx . '$#', '\1', $file));
               }
            }
            closedir($dp);

            sort($auth_plugins);
         }

         $updated_auth_settings = false;
         $old_auth_config = array();
         foreach ($auth_plugins as $method)
         {
            if ($method && file_exists($phpbb_root_path . 'includes/auth/auth_' . $method . '.' . $phpEx))
            {
               include_once($phpbb_root_path . 'includes/auth/auth_' . $method . '.' . $phpEx);

               $method = 'acp_' . $method;
               if (function_exists($method))
               {
                  if ($fields = $method($this->new_config))
                  {
                     // Check if we need to create config fields for this plugin and save config when submit was pressed
                     foreach ($fields['config'] as $field)
                     {
                        if (!isset($config[$field]))
                        {
                           set_config($field, '');
                        }

                        if (!isset($cfg_array[$field]) || strpos($field, 'legend') !== false)
                        {
                           continue;
                        }

                        $old_auth_config[$field] = $this->new_config[$field];
                        $config_value = $cfg_array[$field];
                        $this->new_config[$field] = $config_value;

                        if ($submit)
                        {
                           $updated_auth_settings = true;
                           set_config($field, $config_value);
                        }
                     }
                  }
                  unset($fields);
               }
            }
         }

         if ($submit && (($cfg_array['auth_method'] != $this->new_config['auth_method']) || $updated_auth_settings))
         {
            $method = basename($cfg_array['auth_method']);
            if ($method && in_array($method, $auth_plugins))
            {
               include_once($phpbb_root_path . 'includes/auth/auth_' . $method . '.' . $phpEx);

               $method = 'init_' . $method;
               if (function_exists($method))
               {
                  if ($error = $method())
                  {
                     foreach ($old_auth_config as $config_name => $config_value)
                     {
                        set_config($config_name, $config_value);
                     }
                     trigger_error($error . adm_back_link($this->u_action), E_USER_WARNING);
                  }
               }
               set_config('auth_method', basename($cfg_array['auth_method']));
            }
            else
            {
               trigger_error('NO_AUTH_PLUGIN', E_USER_ERROR);
            }
         }
      }

      if ($submit)
      {
         add_log('admin', 'LOG_CONFIG_' . strtoupper($mode));

         trigger_error($user->lang['CONFIG_UPDATED'] . adm_back_link($this->u_action));
      }

      $this->tpl_name = 'acp_board';
      $this->page_title = $display_vars['title'];

      $template->assign_vars(array(
         'L_TITLE'         => $user->lang[$display_vars['title']],
         'L_TITLE_EXPLAIN'   => $user->lang[$display_vars['title'] . '_EXPLAIN'],

         'S_ERROR'         => (sizeof($error)) ? true : false,
         'ERROR_MSG'         => implode('<br />', $error),

         'U_ACTION'         => $this->u_action)
      );

      // Output relevant page
      foreach ($display_vars['vars'] as $config_key => $vars)
      {
         if (!is_array($vars) && strpos($config_key, 'legend') === false)
         {
            continue;
         }

         if (strpos($config_key, 'legend') !== false)
         {
            $template->assign_block_vars('options', array(
               'S_LEGEND'      => true,
               'LEGEND'      => (isset($user->lang[$vars])) ? $user->lang[$vars] : $vars)
            );

            continue;
         }

         $type = explode(':', $vars['type']);

         $l_explain = '';
         if ($vars['explain'] && isset($vars['lang_explain']))
         {
            $l_explain = (isset($user->lang[$vars['lang_explain']])) ? $user->lang[$vars['lang_explain']] : $vars['lang_explain'];
         }
         else if ($vars['explain'])
         {
            $l_explain = (isset($user->lang[$vars['lang'] . '_EXPLAIN'])) ? $user->lang[$vars['lang'] . '_EXPLAIN'] : '';
         }
         
         $content = build_cfg_template($type, $config_key, $this->new_config, $config_key, $vars);
         
         if (empty($content))
         {
            continue;
         }
         
         $template->assign_block_vars('options', array(
            'KEY'         => $config_key,
            'TITLE'         => (isset($user->lang[$vars['lang']])) ? $user->lang[$vars['lang']] : $vars['lang'],
            'S_EXPLAIN'      => $vars['explain'],
            'TITLE_EXPLAIN'   => $l_explain,
            'CONTENT'      => build_cfg_template($type, $config_key, $this->new_config, $config_key, $vars),
            )
         );

         unset($display_vars['vars'][$config_key]);
      }

      if ($mode == 'auth')
      {
         $template->assign_var('S_AUTH', true);

         foreach ($auth_plugins as $method)
         {
            if ($method && file_exists($phpbb_root_path . 'includes/auth/auth_' . $method . '.' . $phpEx))
            {
               $method = 'acp_' . $method;
               if (function_exists($method))
               {
                  $fields = $method($this->new_config);

                  if ($fields['tpl'])
                  {
                     $template->assign_block_vars('auth_tpl', array(
                        'TPL'   => $fields['tpl'])
                     );
                  }
                  unset($fields);
               }
            }
         }
      }
   }

   /**
   * Select auth method
   */
   function select_auth_method($selected_method, $key = '')
   {
      global $phpbb_root_path, $phpEx;

      $auth_plugins = array();

      $dp = @opendir($phpbb_root_path . 'includes/auth');

      if (!$dp)
      {
         return '';
      }

      while (($file = readdir($dp)) !== false)
      {
         if (preg_match('#^auth_(.*?)\.' . $phpEx . '$#', $file))
         {
            $auth_plugins[] = preg_replace('#^auth_(.*?)\.' . $phpEx . '$#', '\1', $file);
         }
      }
      closedir($dp);

      sort($auth_plugins);

      $auth_select = '';
      foreach ($auth_plugins as $method)
      {
         $selected = ($selected_method == $method) ? ' selected="selected"' : '';
         $auth_select .= '<option value="' . $method . '"' . $selected . '>' . ucfirst($method) . '</option>';
      }

      return $auth_select;
   }

   /**
   * Select mail authentication method
   */
   function mail_auth_select($selected_method, $key = '')
   {
      global $user;

      $auth_methods = array('PLAIN', 'LOGIN', 'CRAM-MD5', 'DIGEST-MD5', 'POP-BEFORE-SMTP');
      $s_smtp_auth_options = '';

      foreach ($auth_methods as $method)
      {
         $s_smtp_auth_options .= '<option value="' . $method . '"' . (($selected_method == $method) ? ' selected="selected"' : '') . '>' . $user->lang['SMTP_' . str_replace('-', '_', $method)] . '</option>';
      }

      return $s_smtp_auth_options;
   }

   /**
   * Select full folder action
   */
   function full_folder_select($value, $key = '')
   {
      global $user;

      return '<option value="1"' . (($value == 1) ? ' selected="selected"' : '') . '>' . $user->lang['DELETE_OLDEST_MESSAGES'] . '</option><option value="2"' . (($value == 2) ? ' selected="selected"' : '') . '>' . $user->lang['HOLD_NEW_MESSAGES_SHORT'] . '</option>';
   }

   /**
   * Select ip validation
   */
   function select_ip_check($value, $key = '')
   {
      $radio_ary = array(4 => 'ALL', 3 => 'CLASS_C', 2 => 'CLASS_B', 0 => 'NO_IP_VALIDATION');

      return h_radio('config[ip_check]', $radio_ary, $value, $key);
   }

   /**
   * Select account activation method
   */
   function select_acc_activation($value, $key = '')
   {
      global $user, $config;

      $radio_ary = array(USER_ACTIVATION_DISABLE => 'ACC_DISABLE', USER_ACTIVATION_NONE => 'ACC_NONE');
      if ($config['email_enable'])
      {
         $radio_ary += array(USER_ACTIVATION_SELF => 'ACC_USER', USER_ACTIVATION_ADMIN => 'ACC_ADMIN');
      }

      return h_radio('config[require_activation]', $radio_ary, $value, $key);
   }

   /**
   * Maximum/Minimum username length
   */
   function username_length($value, $key = '')
   {
      global $user;

      return '<input id="' . $key . '" type="text" size="3" maxlength="3" name="config[min_name_chars]" value="' . $value . '" /> ' . $user->lang['MIN_CHARS'] . '&nbsp;&nbsp;<input type="text" size="3" maxlength="3" name="config[max_name_chars]" value="' . $this->new_config['max_name_chars'] . '" /> ' . $user->lang['MAX_CHARS'];
   }

   /**
   * Allowed chars in usernames
   */
   function select_username_chars($selected_value, $key)
   {
      global $user;

      $user_char_ary = array('USERNAME_CHARS_ANY', 'USERNAME_ALPHA_ONLY', 'USERNAME_ALPHA_SPACERS', 'USERNAME_LETTER_NUM', 'USERNAME_LETTER_NUM_SPACERS', 'USERNAME_ASCII');
      $user_char_options = '';
      foreach ($user_char_ary as $user_type)
      {
         $selected = ($selected_value == $user_type) ? ' selected="selected"' : '';
         $user_char_options .= '<option value="' . $user_type . '"' . $selected . '>' . $user->lang[$user_type] . '</option>';
      }

      return $user_char_options;
   }

   /**
   * Maximum/Minimum password length
   */
   function password_length($value, $key)
   {
      global $user;

      return '<input id="' . $key . '" type="text" size="3" maxlength="3" name="config[min_pass_chars]" value="' . $value . '" /> ' . $user->lang['MIN_CHARS'] . '&nbsp;&nbsp;<input type="text" size="3" maxlength="3" name="config[max_pass_chars]" value="' . $this->new_config['max_pass_chars'] . '" /> ' . $user->lang['MAX_CHARS'];
   }

   /**
   * Required chars in passwords
   */
   function select_password_chars($selected_value, $key)
   {
      global $user;

      $pass_type_ary = array('PASS_TYPE_ANY', 'PASS_TYPE_CASE', 'PASS_TYPE_ALPHA', 'PASS_TYPE_SYMBOL');
      $pass_char_options = '';
      foreach ($pass_type_ary as $pass_type)
      {
         $selected = ($selected_value == $pass_type) ? ' selected="selected"' : '';
         $pass_char_options .= '<option value="' . $pass_type . '"' . $selected . '>' . $user->lang[$pass_type] . '</option>';
      }

      return $pass_char_options;
   }

   /**
   * Select bump interval
   */
   function bump_interval($value, $key)
   {
      global $user;

      $s_bump_type = '';
      $types = array('m' => 'MINUTES', 'h' => 'HOURS', 'd' => 'DAYS');
      foreach ($types as $type => $lang)
      {
         $selected = ($this->new_config['bump_type'] == $type) ? ' selected="selected"' : '';
         $s_bump_type .= '<option value="' . $type . '"' . $selected . '>' . $user->lang[$lang] . '</option>';
      }

      return '<input id="' . $key . '" type="text" size="3" maxlength="4" name="config[bump_interval]" value="' . $value . '" />&nbsp;<select name="config[bump_type]">' . $s_bump_type . '</select>';
   }

   /**
   * Board disable option and message
   */
   function board_disable($value, $key)
   {
      global $user;

      $radio_ary = array(1 => 'YES', 0 => 'NO');

      return h_radio('config[board_disable]', $radio_ary, $value) . '<br /><input id="' . $key . '" type="text" name="config[board_disable_msg]" maxlength="255" size="40" value="' . $this->new_config['board_disable_msg'] . '" />';
   }

   /**
   * Select default dateformat
   */
   function dateformat_select($value, $key)
   {
      global $user, $config;

      // Let the format_date function operate with the acp values
      $old_tz = $user->timezone;
      $old_dst = $user->dst;

      $user->timezone = $config['board_timezone'];
      $user->dst = $config['board_dst'];

      $dateformat_options = '';

      foreach ($user->lang['dateformats'] as $format => $null)
      {
         $dateformat_options .= '<option value="' . $format . '"' . (($format == $value) ? ' selected="selected"' : '') . '>';
         $dateformat_options .= $user->format_date(time(), $format, false) . ((strpos($format, '|') !== false) ? $user->lang['VARIANT_DATE_SEPARATOR'] . $user->format_date(time(), $format, true) : '');
         $dateformat_options .= '</option>';
      }

      $dateformat_options .= '<option value="custom"';
      if (!isset($user->lang['dateformats'][$value]))
      {
         $dateformat_options .= ' selected="selected"';
      }
      $dateformat_options .= '>' . $user->lang['CUSTOM_DATEFORMAT'] . '</option>';

      // Reset users date options
      $user->timezone = $old_tz;
      $user->dst = $old_dst;

      return "<select name=\"dateoptions\" id=\"dateoptions\" onchange=\"if (this.value == 'custom') { document.getElementById('" . addslashes($key) . "').value = '" . addslashes($value) . "'; } else { document.getElementById('" . addslashes($key) . "').value = this.value; }\">$dateformat_options</select>
      <input type=\"text\" name=\"config[$key]\" id=\"$key\" value=\"$value\" maxlength=\"30\" />";
   }
}

?>
NaughtyVb
Cadet II
Cadet II
 
Posts: 21
Joined: 20 Oct 2008, 04:00
Gender: Male

Re: [Add-on] Welcome Mod 2.0.0 (Beta)

Postby stitch626 » 27 Oct 2008, 18:07

Hey Naughty,

Try this...Looks like you had an extra ) in there.
FIND THIS CODE:
Spoiler:
Code: Select all
'legend2'            => 'WARNINGS',
                  'warnings_expire_days'   => array('lang' => 'WARNINGS_EXPIRE',      'validate' => 'int',   'type' => 'text:3:4', 'explain' => true, 'append' => ' ' . $user->lang['DAYS']),
            )


REPLACE WITH:
Spoiler:
Code: Select all
'legend2'            => 'WARNINGS',
                  'warnings_expire_days'   => array('lang' => 'WARNINGS_EXPIRE',      'validate' => 'int',   'type' => 'text:3:4', 'explain' => true, 'append' => ' ' . $user->lang['DAYS']),
User avatar
stitch626    
STG Moderator Leader
STG Moderator Leader
 
Posts: 3185
Joined: 08 Feb 2007, 20:47
Location: Michigan
Favorite Team: Detroit Red Wings
Gender: Male
phpBB Knowledge: 7

Re: [Add-on] Welcome Mod 2.0.0 (Beta)

Postby Howard » 03 May 2009, 13:46

Great Mod stitch626 easy to install and Works well :)
"Man's proper stature is not one of mediocrity, failure, frustration, or defeat, but one of achievement, strength, and nobility. In short, man can and ought to be a hero." - Mike Menzter
User avatar
Howard    
Supporter
Supporter
 
Posts: 60
Joined: 18 May 2008, 15:30
Location: UK - Suffolk
Favorite Team: Rugby: London Wasps
Gender: Male
phpBB Knowledge: 3

Re: [Add-on] Welcome Mod 2.0.0 (Beta)

Postby Blackwolf_Oz » 22 Mar 2011, 17:02

For the life of me I cant remember where or how :coffee: ....There is the option to add images to this mod, depending on the time of day......I had gifs for the times of day...night time YAWNING MAN ETC...How and what file do I edit ? I had to restore some files and cant remember...... :)

SOLVED language/en/common.php

Screenshot.png



Example...
Code: Select all
'UP_LATE'             => 'You\'re up late %1$s, shouldn\'t you be in bed? <img src="http://i51.tinypic.com/1zd6k5s.gif" style="width:50px; height:28px;" alt="" />',
"We are Anonymous, we are legion, we do not forgive, we do not forget, united as one, divided by zero, expect us"
User avatar
Blackwolf_Oz    
Supporter
Supporter
 
Posts: 22
Joined: 28 Jun 2010, 04:35
Location: Melbourne, Australia
Gender: Male
phpBB Knowledge: 5

Previous

Return to Miscellaneous MODs, Hacks and Downloads

Who is online

Users browsing this forum: Tbot [Bot] and 10 guests