mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-08 04:18:52 +00:00
- [Feature] New "Newly Registered Users" group for assigning permissions to newly registered users. They will be removed from this group once they reach a defineable amount of posts.
- [Feature] Ability to define if the "Newly Registered Users" group will be assigned as the default group to newly registered users. As a coincidence also Bug #46535 got fixed. Additionally the error message displayed with trigger_error() if accessing the private message tab in the ucp is now displayed inline in addition to a slightly different message for newly registered users to let them know that access permissions may be lifted over time. git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@9636 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
parent
0d626d77bf
commit
433de350c0
22 changed files with 300 additions and 31 deletions
|
@ -1853,7 +1853,7 @@ function get_schema_struct()
|
||||||
'user_actkey' => array('VCHAR:32', ''),
|
'user_actkey' => array('VCHAR:32', ''),
|
||||||
'user_newpasswd' => array('VCHAR_UNI:40', ''),
|
'user_newpasswd' => array('VCHAR_UNI:40', ''),
|
||||||
'user_form_salt' => array('VCHAR_UNI:32', ''),
|
'user_form_salt' => array('VCHAR_UNI:32', ''),
|
||||||
|
'user_new' => array('BOOL', 1),
|
||||||
),
|
),
|
||||||
'PRIMARY_KEY' => 'user_id',
|
'PRIMARY_KEY' => 'user_id',
|
||||||
'KEYS' => array(
|
'KEYS' => array(
|
||||||
|
|
|
@ -147,6 +147,8 @@
|
||||||
</li>
|
</li>
|
||||||
<li>[Feature] ATOM Feeds (Idea and diversed from RSS Feed 2.0 MOD (Version 1.0.8/9) by leviatan21)</li>
|
<li>[Feature] ATOM Feeds (Idea and diversed from RSS Feed 2.0 MOD (Version 1.0.8/9) by leviatan21)</li>
|
||||||
<li>[Feature] New groups option to excempt group leaders from group permissions</li>
|
<li>[Feature] New groups option to excempt group leaders from group permissions</li>
|
||||||
|
<li>[Feature] New "Newly Registered Users" group for assigning permissions to newly registered users. They will be removed from this group once they reach a defineable amount of posts.</li>
|
||||||
|
<li>[Feature] Ability to define if the "Newly Registered Users" group will be assigned as the default group to newly registered users.</li>
|
||||||
<li>[Feature] Add new option to disable avatars board-wide (Bug #46785 - Patch by cYbercOsmOnauT and nickvergessen)</li>
|
<li>[Feature] Add new option to disable avatars board-wide (Bug #46785 - Patch by cYbercOsmOnauT and nickvergessen)</li>
|
||||||
<li>[Feature] Add unapproved topic icon for moderators on forum list (Bug #46865 - Patch by nickvergessen)</li>
|
<li>[Feature] Add unapproved topic icon for moderators on forum list (Bug #46865 - Patch by nickvergessen)</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
|
@ -171,8 +171,6 @@ class acp_board
|
||||||
'enable_post_confirm' => array('lang' => 'VISUAL_CONFIRM_POST', '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',
|
'legend2' => 'POSTING',
|
||||||
'enable_queue_trigger' => array('lang' => 'ENABLE_QUEUE_TRIGGER', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
|
|
||||||
'queue_trigger_posts' => array('lang' => 'QUEUE_TRIGGER_POSTS', 'validate' => 'int:0:250', 'type' => 'text:4:4', 'explain' => true),
|
|
||||||
'bump_type' => false,
|
'bump_type' => false,
|
||||||
'edit_time' => array('lang' => 'EDIT_TIME', 'validate' => 'int:0', 'type' => 'text:5:5', 'explain' => true, 'append' => ' ' . $user->lang['MINUTES']),
|
'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),
|
'display_last_edited' => array('lang' => 'DISPLAY_LAST_EDITED', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
|
||||||
|
@ -229,6 +227,8 @@ class acp_board
|
||||||
'max_pass_chars' => array('lang' => 'PASSWORD_LENGTH', 'validate' => 'int:8:255', '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),
|
'require_activation' => array('lang' => 'ACC_ACTIVATION', 'validate' => 'int', 'type' => 'custom', 'method' => 'select_acc_activation', 'explain' => true),
|
||||||
|
'new_member_post_limit' => array('lang' => 'NEW_MEMBER_POST_LIMIT', 'validate' => 'int:0:255', 'type' => 'text:4:4', 'explain' => true, 'append' => ' ' . $user->lang['POSTS']),
|
||||||
|
'new_member_group_default'=> array('lang' => 'NEW_MEMBER_GROUP_DEFAULT', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
|
||||||
'min_name_chars' => array('lang' => 'USERNAME_LENGTH', 'validate' => 'int:1', 'type' => 'custom:5:180', 'method' => 'username_length', '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),
|
'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),
|
'allow_name_chars' => array('lang' => 'USERNAME_CHARS', 'validate' => 'string', 'type' => 'select', 'method' => 'select_username_chars', 'explain' => true),
|
||||||
|
|
|
@ -217,6 +217,7 @@ function user_row_apache($username, $password)
|
||||||
'group_id' => (int) $row['group_id'],
|
'group_id' => (int) $row['group_id'],
|
||||||
'user_type' => USER_NORMAL,
|
'user_type' => USER_NORMAL,
|
||||||
'user_ip' => $user->ip,
|
'user_ip' => $user->ip,
|
||||||
|
'user_new' => ($config['new_member_post_limit']) ? 1 : 0,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -227,6 +227,7 @@ function login_ldap(&$username, &$password)
|
||||||
'group_id' => (int) $row['group_id'],
|
'group_id' => (int) $row['group_id'],
|
||||||
'user_type' => USER_NORMAL,
|
'user_type' => USER_NORMAL,
|
||||||
'user_ip' => $user->ip,
|
'user_ip' => $user->ip,
|
||||||
|
'user_new' => ($config['new_member_post_limit']) ? 1 : 0,
|
||||||
);
|
);
|
||||||
|
|
||||||
unset($ldap_result);
|
unset($ldap_result);
|
||||||
|
|
|
@ -3795,6 +3795,7 @@ function page_header($page_title = '', $display_online_list = true)
|
||||||
|
|
||||||
'S_USER_NEW_PRIVMSG' => $user->data['user_new_privmsg'],
|
'S_USER_NEW_PRIVMSG' => $user->data['user_new_privmsg'],
|
||||||
'S_USER_UNREAD_PRIVMSG' => $user->data['user_unread_privmsg'],
|
'S_USER_UNREAD_PRIVMSG' => $user->data['user_unread_privmsg'],
|
||||||
|
'S_USER_NEW' => $user->data['user_new'],
|
||||||
|
|
||||||
'SID' => $SID,
|
'SID' => $SID,
|
||||||
'_SID' => $_SID,
|
'_SID' => $_SID,
|
||||||
|
|
|
@ -1698,7 +1698,8 @@ function add_default_groups()
|
||||||
'REGISTERED_COPPA' => array('', 0, 0),
|
'REGISTERED_COPPA' => array('', 0, 0),
|
||||||
'GLOBAL_MODERATORS' => array('00AA00', 1, 0),
|
'GLOBAL_MODERATORS' => array('00AA00', 1, 0),
|
||||||
'ADMINISTRATORS' => array('AA0000', 1, 1),
|
'ADMINISTRATORS' => array('AA0000', 1, 1),
|
||||||
'BOTS' => array('9E8DA7', 0, 0)
|
'BOTS' => array('9E8DA7', 0, 0),
|
||||||
|
'NEWLY_REGISTERED' => array('', 0, 0),
|
||||||
);
|
);
|
||||||
|
|
||||||
$sql = 'SELECT *
|
$sql = 'SELECT *
|
||||||
|
|
|
@ -1620,8 +1620,8 @@ function submit_post($mode, $subject, $username, $topic_type, &$poll, &$data, $u
|
||||||
// This variable indicates if the user is able to post or put into the queue - it is used later for all code decisions regarding approval
|
// This variable indicates if the user is able to post or put into the queue - it is used later for all code decisions regarding approval
|
||||||
$post_approval = 1;
|
$post_approval = 1;
|
||||||
|
|
||||||
// Check the permissions for post approval, as well as the queue trigger where users are put on approval with a post count lower than specified. Moderators are not affected.
|
// Check the permissions for post approval. Moderators are not affected.
|
||||||
if ((($config['enable_queue_trigger'] && $user->data['user_posts'] < $config['queue_trigger_posts']) || !$auth->acl_get('f_noapprove', $data['forum_id'])) && !$auth->acl_get('m_approve', $data['forum_id']))
|
if (!$auth->acl_get('f_noapprove', $data['forum_id']) && !$auth->acl_get('m_approve', $data['forum_id']))
|
||||||
{
|
{
|
||||||
$post_approval = 0;
|
$post_approval = 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -188,6 +188,8 @@ function user_add($user_row, $cp_data = false)
|
||||||
'user_regdate' => time(),
|
'user_regdate' => time(),
|
||||||
'user_passchg' => time(),
|
'user_passchg' => time(),
|
||||||
'user_options' => 895,
|
'user_options' => 895,
|
||||||
|
// We do not set the new flag here - registration scripts need to specify it
|
||||||
|
'user_new' => 0,
|
||||||
|
|
||||||
'user_inactive_reason' => 0,
|
'user_inactive_reason' => 0,
|
||||||
'user_inactive_time' => 0,
|
'user_inactive_time' => 0,
|
||||||
|
@ -275,6 +277,31 @@ function user_add($user_row, $cp_data = false)
|
||||||
// Now make it the users default group...
|
// Now make it the users default group...
|
||||||
group_set_user_default($user_row['group_id'], array($user_id), false);
|
group_set_user_default($user_row['group_id'], array($user_id), false);
|
||||||
|
|
||||||
|
// Add to newly registered users group if user_new is 1
|
||||||
|
if ($config['new_member_post_limit'] && $sql_ary['user_new'])
|
||||||
|
{
|
||||||
|
$sql = 'SELECT group_id
|
||||||
|
FROM ' . GROUPS_TABLE . "
|
||||||
|
WHERE group_name = 'NEWLY_REGISTERED'
|
||||||
|
AND group_type = " . GROUP_SPECIAL;
|
||||||
|
$result = $db->sql_query($sql);
|
||||||
|
$add_group_id = (int) $db->sql_fetchfield('group_id');
|
||||||
|
$db->sql_freeresult($result);
|
||||||
|
|
||||||
|
if ($add_group_id)
|
||||||
|
{
|
||||||
|
// Add user to "newly registered users" group and set to default group if admin specified so.
|
||||||
|
if ($config['new_member_group_default'])
|
||||||
|
{
|
||||||
|
group_user_add($add_group_id, $user_id, false, false, true);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
group_user_add($add_group_id, $user_id);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// set the newest user and adjust the user count if the user is a normal user and no activation mail is sent
|
// set the newest user and adjust the user count if the user is a normal user and no activation mail is sent
|
||||||
if ($user_row['user_type'] == USER_NORMAL)
|
if ($user_row['user_type'] == USER_NORMAL)
|
||||||
{
|
{
|
||||||
|
@ -2867,7 +2894,7 @@ function group_user_del($group_id, $user_id_ary = false, $username_ary = false,
|
||||||
{
|
{
|
||||||
if (isset($sql_where_ary[$gid]) && sizeof($sql_where_ary[$gid]))
|
if (isset($sql_where_ary[$gid]) && sizeof($sql_where_ary[$gid]))
|
||||||
{
|
{
|
||||||
remove_default_rank($gid, $sql_where_ary[$gid]);
|
remove_default_rank($group_id, $sql_where_ary[$gid]);
|
||||||
remove_default_avatar($group_id, $sql_where_ary[$gid]);
|
remove_default_avatar($group_id, $sql_where_ary[$gid]);
|
||||||
group_set_user_default($gid, $sql_where_ary[$gid], $default_data_ary);
|
group_set_user_default($gid, $sql_where_ary[$gid], $default_data_ary);
|
||||||
}
|
}
|
||||||
|
@ -2889,7 +2916,10 @@ function group_user_del($group_id, $user_id_ary = false, $username_ary = false,
|
||||||
|
|
||||||
$log = 'LOG_GROUP_REMOVE';
|
$log = 'LOG_GROUP_REMOVE';
|
||||||
|
|
||||||
|
if ($group_name)
|
||||||
|
{
|
||||||
add_log('admin', $log, $group_name, implode(', ', $username_ary));
|
add_log('admin', $log, $group_name, implode(', ', $username_ary));
|
||||||
|
}
|
||||||
|
|
||||||
group_update_listings($group_id);
|
group_update_listings($group_id);
|
||||||
|
|
||||||
|
@ -3283,7 +3313,7 @@ function get_group_name($group_id)
|
||||||
$row = $db->sql_fetchrow($result);
|
$row = $db->sql_fetchrow($result);
|
||||||
$db->sql_freeresult($result);
|
$db->sql_freeresult($result);
|
||||||
|
|
||||||
if (!$row)
|
if (!$row || ($row['group_type'] == GROUP_SPECIAL && empty($user->lang)))
|
||||||
{
|
{
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
|
|
|
@ -396,6 +396,11 @@ class session
|
||||||
WHERE session_id = '" . $db->sql_escape($this->session_id) . "'";
|
WHERE session_id = '" . $db->sql_escape($this->session_id) . "'";
|
||||||
$db->sql_query($sql);
|
$db->sql_query($sql);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($this->data['user_id'] != ANONYMOUS && !empty($config['new_member_post_limit']) && $this->data['user_new'] && $config['new_member_post_limit'] <= $this->data['user_posts'])
|
||||||
|
{
|
||||||
|
$this->leave_newly_registered();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->data['is_registered'] = ($this->data['user_id'] != ANONYMOUS && ($this->data['user_type'] == USER_NORMAL || $this->data['user_type'] == USER_FOUNDER)) ? true : false;
|
$this->data['is_registered'] = ($this->data['user_id'] != ANONYMOUS && ($this->data['user_type'] == USER_NORMAL || $this->data['user_type'] == USER_FOUNDER)) ? true : false;
|
||||||
|
@ -2234,6 +2239,62 @@ class user extends session
|
||||||
return $var;
|
return $var;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Funtion to make the user leave the NEWLY_REGISTERED system group.
|
||||||
|
* @access public
|
||||||
|
*/
|
||||||
|
function leave_newly_registered()
|
||||||
|
{
|
||||||
|
global $db;
|
||||||
|
|
||||||
|
if (!function_exists('group_user_del'))
|
||||||
|
{
|
||||||
|
global $phpbb_root_path, $phpEx;
|
||||||
|
|
||||||
|
include($phpbb_root_path . 'includes/functions_user.' . $phpEx);
|
||||||
|
}
|
||||||
|
|
||||||
|
$sql = 'SELECT group_id
|
||||||
|
FROM ' . GROUPS_TABLE . "
|
||||||
|
WHERE group_name = 'NEWLY_REGISTERED'
|
||||||
|
AND group_type = " . GROUP_SPECIAL;
|
||||||
|
$result = $db->sql_query($sql);
|
||||||
|
$group_id = (int) $db->sql_fetchfield('group_id');
|
||||||
|
$db->sql_freeresult($result);
|
||||||
|
|
||||||
|
if (!$group_id)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// We need to call group_user_del here, because this function makes sure everything is correctly changed.
|
||||||
|
// A downside for a call within the session handler is that the language is not set up yet - so no log entry
|
||||||
|
group_user_del($group_id, $this->data['user_id']);
|
||||||
|
|
||||||
|
// Set user_new to 0 to let this not be triggered again
|
||||||
|
$sql = 'UPDATE ' . USERS_TABLE . '
|
||||||
|
SET user_new = 0
|
||||||
|
WHERE user_id = ' . $this->data['user_id'];
|
||||||
|
$db->sql_query($sql);
|
||||||
|
|
||||||
|
$this->data['user_permissions'] = '';
|
||||||
|
$this->data['user_new'] = 0;
|
||||||
|
|
||||||
|
// The new users group was the users default group?
|
||||||
|
if ($this->data['group_id'] == $group_id)
|
||||||
|
{
|
||||||
|
// Which group is now the users default one?
|
||||||
|
$sql = 'SELECT group_id
|
||||||
|
FROM ' . USERS_TABLE . '
|
||||||
|
WHERE user_id = ' . $this->data['user_id'];
|
||||||
|
$result = $db->sql_query($sql);
|
||||||
|
$this->data['group_id'] = $db->sql_fetchfield('group_id');
|
||||||
|
$db->sql_freeresult($result);
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
?>
|
?>
|
|
@ -119,7 +119,13 @@ class ucp_pm
|
||||||
|
|
||||||
if (!$auth->acl_get('u_sendpm'))
|
if (!$auth->acl_get('u_sendpm'))
|
||||||
{
|
{
|
||||||
trigger_error('NO_AUTH_SEND_MESSAGE');
|
// trigger_error('NO_AUTH_SEND_MESSAGE');
|
||||||
|
$template->assign_vars(array(
|
||||||
|
'S_NO_AUTH_SEND_MESSAGE' => true,
|
||||||
|
));
|
||||||
|
|
||||||
|
$tpl_file = 'ucp_pm_viewfolder';
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
include($phpbb_root_path . 'includes/ucp/ucp_pm_compose.' . $phpEx);
|
include($phpbb_root_path . 'includes/ucp/ucp_pm_compose.' . $phpEx);
|
||||||
|
|
|
@ -504,8 +504,9 @@ function get_pm_from($folder_id, $folder, $user_id)
|
||||||
'TOTAL_MESSAGES' => (($pm_count == 1) ? $user->lang['VIEW_PM_MESSAGE'] : sprintf($user->lang['VIEW_PM_MESSAGES'], $pm_count)),
|
'TOTAL_MESSAGES' => (($pm_count == 1) ? $user->lang['VIEW_PM_MESSAGE'] : sprintf($user->lang['VIEW_PM_MESSAGES'], $pm_count)),
|
||||||
|
|
||||||
'POST_IMG' => (!$auth->acl_get('u_sendpm')) ? $user->img('button_topic_locked', 'POST_PM_LOCKED') : $user->img('button_pm_new', 'POST_NEW_PM'),
|
'POST_IMG' => (!$auth->acl_get('u_sendpm')) ? $user->img('button_topic_locked', 'POST_PM_LOCKED') : $user->img('button_pm_new', 'POST_NEW_PM'),
|
||||||
|
'L_NO_MESSAGES' => (!$auth->acl_get('u_sendpm')) ? $user->lang['NO_AUTH_SEND_MESSAGE'] : $user->lang['NO_MESSAGES'],
|
||||||
|
|
||||||
'L_NO_MESSAGES' => (!$auth->acl_get('u_sendpm')) ? $user->lang['POST_PM_LOCKED'] : $user->lang['NO_MESSAGES'],
|
'S_NO_AUTH_SEND_MESSAGE' => !$auth->acl_get('u_sendpm'),
|
||||||
|
|
||||||
'S_SELECT_SORT_DIR' => $s_sort_dir,
|
'S_SELECT_SORT_DIR' => $s_sort_dir,
|
||||||
'S_SELECT_SORT_KEY' => $s_sort_key,
|
'S_SELECT_SORT_KEY' => $s_sort_key,
|
||||||
|
|
|
@ -310,6 +310,11 @@ class ucp_register
|
||||||
'user_inactive_time' => $user_inactive_time,
|
'user_inactive_time' => $user_inactive_time,
|
||||||
);
|
);
|
||||||
|
|
||||||
|
if ($config['new_member_post_limit'])
|
||||||
|
{
|
||||||
|
$user_row['user_new'] = 1;
|
||||||
|
}
|
||||||
|
|
||||||
// Register user...
|
// Register user...
|
||||||
$user_id = user_add($user_row, $cp_data);
|
$user_id = user_add($user_row, $cp_data);
|
||||||
|
|
||||||
|
|
|
@ -687,17 +687,18 @@ function database_update_info()
|
||||||
CONFIRM_TABLE => array(
|
CONFIRM_TABLE => array(
|
||||||
'attempts' => array('UINT', 0),
|
'attempts' => array('UINT', 0),
|
||||||
),
|
),
|
||||||
|
USERS_TABLE => array(
|
||||||
|
'user_new' => array('BOOL', 1),
|
||||||
|
),
|
||||||
|
GROUPS_TABLE => array(
|
||||||
|
'group_skip_auth' => array('BOOL', 0, 'after' => 'group_founder_manage'),
|
||||||
|
),
|
||||||
),
|
),
|
||||||
'add_index' => array(
|
'add_index' => array(
|
||||||
LOG_TABLE => array(
|
LOG_TABLE => array(
|
||||||
'log_time' => array('log_time'),
|
'log_time' => array('log_time'),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
'add_columns' => array(
|
|
||||||
GROUPS_TABLE => array(
|
|
||||||
'group_skip_auth' => array('BOOL', 0, 'after' => 'group_founder_manage'),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -1115,6 +1116,136 @@ function change_database_data(&$no_updates, $version)
|
||||||
|
|
||||||
$_module->remove_cache_file();
|
$_module->remove_cache_file();
|
||||||
|
|
||||||
|
// Add newly_registered group... but check if it already exists (we always supported running the updater on any schema)
|
||||||
|
$sql = 'SELECT group_id
|
||||||
|
FROM ' . GROUPS_TABLE . "
|
||||||
|
WHERE group_name = 'NEWLY_REGISTERED'";
|
||||||
|
$result = $db->sql_query($sql);
|
||||||
|
$group_id = (int) $db->sql_fetchfield('group_id');
|
||||||
|
$db->sql_freeresult($result);
|
||||||
|
|
||||||
|
if (!$group_id)
|
||||||
|
{
|
||||||
|
$sql = 'INSERT INTO ' . GROUPS_TABLE . " (group_name, group_type, group_founder_manage, group_colour, group_legend, group_avatar, group_desc, group_desc_uid, group_max_recipients) VALUES ('NEWLY_REGISTERED', 3, 0, '', 0, '', '', '', 5)";
|
||||||
|
_sql($sql, $errored, $error_ary);
|
||||||
|
|
||||||
|
$group_id = $db->sql_nextid();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Insert new user role... at the end of the chain
|
||||||
|
$sql = 'SELECT role_id
|
||||||
|
FROM ' . ACL_ROLES_TABLE . "
|
||||||
|
WHERE role_name = 'ROLE_USER_NEW_MEMBER'
|
||||||
|
AND role_type = 'u_'";
|
||||||
|
$result = $db->sql_query($sql);
|
||||||
|
$u_role = (int) $db->sql_fetchfield('role_id');
|
||||||
|
$db->sql_freeresult($result);
|
||||||
|
|
||||||
|
if (!$u_role)
|
||||||
|
{
|
||||||
|
$sql = 'SELECT MAX(role_order) as max_order_id
|
||||||
|
FROM ' . ACL_ROLES_TABLE . "
|
||||||
|
WHERE role_type = 'u_'";
|
||||||
|
$result = $db->sql_query($sql);
|
||||||
|
$next_order_id = (int) $db->sql_fetchfield('max_order_id');
|
||||||
|
$db->sql_freeresult($result);
|
||||||
|
|
||||||
|
$next_order_id++;
|
||||||
|
|
||||||
|
$sql = 'INSERT INTO ' . ACL_ROLES_TABLE . " (role_name, role_description, role_type, role_order) VALUES ('ROLE_USER_NEW_MEMBER', 'ROLE_DESCRIPTION_USER_NEW_MEMBER', 'u_', $next_order_id)";
|
||||||
|
_sql($sql, $errored, $error_ary);
|
||||||
|
$u_role = $db->sql_nextid();
|
||||||
|
|
||||||
|
if (!$errored)
|
||||||
|
{
|
||||||
|
// Now add the correct data to the roles...
|
||||||
|
// The standard role says that new users are not able to send a PM, Mass PM, are not able to PM groups
|
||||||
|
$sql = 'INSERT INTO ' . ACL_ROLES_DATA_TABLE . " (role_id, auth_option_id, auth_setting) SELECT $u_role, auth_option_id, 0 FROM " . ACL_OPTIONS_TABLE . " WHERE auth_option LIKE 'u_%' AND auth_option IN ('u_sendpm', 'u_masspm', 'u_masspm_group')";
|
||||||
|
_sql($sql, $errored, $error_ary);
|
||||||
|
|
||||||
|
// Add user role to group
|
||||||
|
$sql = 'INSERT INTO ' . ACL_GROUPS_TABLE . " (group_id, forum_id, auth_option_id, auth_role_id, auth_setting) VALUES ($group_id, 0, 0, $u_role, 0)";
|
||||||
|
_sql($sql, $errored, $error_ary);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Insert new forum role
|
||||||
|
$sql = 'SELECT role_id
|
||||||
|
FROM ' . ACL_ROLES_TABLE . "
|
||||||
|
WHERE role_name = 'ROLE_FORUM_NEW_MEMBER'
|
||||||
|
AND role_type = 'f_'";
|
||||||
|
$result = $db->sql_query($sql);
|
||||||
|
$f_role = (int) $db->sql_fetchfield('role_id');
|
||||||
|
$db->sql_freeresult($result);
|
||||||
|
|
||||||
|
if (!$f_role)
|
||||||
|
{
|
||||||
|
$sql = 'SELECT MAX(role_order) as max_order_id
|
||||||
|
FROM ' . ACL_ROLES_TABLE . "
|
||||||
|
WHERE role_type = 'f_'";
|
||||||
|
$result = $db->sql_query($sql);
|
||||||
|
$next_order_id = (int) $db->sql_fetchfield('max_order_id');
|
||||||
|
$db->sql_freeresult($result);
|
||||||
|
|
||||||
|
$next_order_id++;
|
||||||
|
|
||||||
|
$sql = 'INSERT INTO ' . ACL_ROLES_TABLE . " (role_name, role_description, role_type, role_order) VALUES ('ROLE_FORUM_NEW_MEMBER', 'ROLE_DESCRIPTION_FORUM_NEW_MEMBER', 'f_', $next_order_id)";
|
||||||
|
_sql($sql, $errored, $error_ary);
|
||||||
|
$f_role = $db->sql_nextid();
|
||||||
|
|
||||||
|
if (!$errored)
|
||||||
|
{
|
||||||
|
$sql = 'INSERT INTO ' . ACL_ROLES_DATA_TABLE . " (role_id, auth_option_id, auth_setting) SELECT $f_role, auth_option_id, 0 FROM " . ACL_OPTIONS_TABLE . " WHERE auth_option LIKE 'f_%' AND auth_option IN ('f_noapprove')";
|
||||||
|
_sql($sql, $errored, $error_ary);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Set every members user_new column to 0 (old users)
|
||||||
|
$sql = 'UPDATE ' . USERS_TABLE . ' SET user_new = 0';
|
||||||
|
_sql($sql, $errored, $error_ary);
|
||||||
|
|
||||||
|
// Newly registered users limit
|
||||||
|
if (!isset($config['new_member_post_limit']))
|
||||||
|
{
|
||||||
|
set_config('new_member_post_limit', (!empty($config['enable_queue_trigger'])) ? $config['queue_trigger_posts'] : 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!isset($config['new_member_group_default']))
|
||||||
|
{
|
||||||
|
set_config('new_member_group_default', 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
// To mimick the old "feature" we will assign the forum role to every forum, regardless of the setting (this makes sure there are no "this does not work!!!! YUO!!!" posts...
|
||||||
|
// Check if the role is already assigned...
|
||||||
|
$sql = 'SELECT forum_id
|
||||||
|
FROM ' . ACL_GROUPS_TABLE . '
|
||||||
|
WHERE group_id = ' . $group_id . '
|
||||||
|
AND auth_role_id = ' . $f_role;
|
||||||
|
$result = $db->sql_query($sql);
|
||||||
|
$is_options = (int) $db->sql_fetchfield('forum_id');
|
||||||
|
$db->sql_freeresult($result);
|
||||||
|
|
||||||
|
// Not assigned at all... :/
|
||||||
|
if (!$is_options)
|
||||||
|
{
|
||||||
|
// Get postable forums
|
||||||
|
$sql = 'SELECT forum_id
|
||||||
|
FROM ' . FORUMS_TABLE . '
|
||||||
|
WHERE forum_type != ' . FORUM_LINK;
|
||||||
|
$result = $db->sql_query($sql);
|
||||||
|
|
||||||
|
while ($row = $db->sql_fetchrow($result))
|
||||||
|
{
|
||||||
|
_sql('INSERT INTO ' . ACL_GROUPS_TABLE . ' (group_id, forum_id, auth_option_id, auth_role_id, auth_setting) VALUES (' . $group_id . ', ' . (int) $row['forum_id'] . ', 0, ' . $f_role . ', 0)', $errored, $error_ary);
|
||||||
|
}
|
||||||
|
$db->sql_freeresult($result);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Clear permissions...
|
||||||
|
include_once($phpbb_root_path . 'includes/acp/auth.' . $phpEx);
|
||||||
|
$auth_admin = new auth_admin();
|
||||||
|
$auth_admin->acl_clear_prefetch();
|
||||||
|
|
||||||
if ($config['allow_avatar_upload'] || $config['allow_avatar_local'] || $config['allow_avatar_remote'])
|
if ($config['allow_avatar_upload'] || $config['allow_avatar_local'] || $config['allow_avatar_remote'])
|
||||||
{
|
{
|
||||||
set_config('allow_avatar', '1');
|
set_config('allow_avatar', '1');
|
||||||
|
|
|
@ -94,7 +94,6 @@ INSERT INTO phpbb_config (config_name, config_value) VALUES ('email_package_size
|
||||||
INSERT INTO phpbb_config (config_name, config_value) VALUES ('enable_confirm', '1');
|
INSERT INTO phpbb_config (config_name, config_value) VALUES ('enable_confirm', '1');
|
||||||
INSERT INTO phpbb_config (config_name, config_value) VALUES ('enable_pm_icons', '1');
|
INSERT INTO phpbb_config (config_name, config_value) VALUES ('enable_pm_icons', '1');
|
||||||
INSERT INTO phpbb_config (config_name, config_value) VALUES ('enable_post_confirm', '1');
|
INSERT INTO phpbb_config (config_name, config_value) VALUES ('enable_post_confirm', '1');
|
||||||
INSERT INTO phpbb_config (config_name, config_value) VALUES ('enable_queue_trigger', '0');
|
|
||||||
INSERT INTO phpbb_config (config_name, config_value) VALUES ('feed_enable', '0');
|
INSERT INTO phpbb_config (config_name, config_value) VALUES ('feed_enable', '0');
|
||||||
INSERT INTO phpbb_config (config_name, config_value) VALUES ('feed_limit', '10');
|
INSERT INTO phpbb_config (config_name, config_value) VALUES ('feed_limit', '10');
|
||||||
INSERT INTO phpbb_config (config_name, config_value) VALUES ('feed_overall_forums', '1');
|
INSERT INTO phpbb_config (config_name, config_value) VALUES ('feed_overall_forums', '1');
|
||||||
|
@ -194,6 +193,8 @@ INSERT INTO phpbb_config (config_name, config_value) VALUES ('min_name_chars', '
|
||||||
INSERT INTO phpbb_config (config_name, config_value) VALUES ('min_pass_chars', '6');
|
INSERT INTO phpbb_config (config_name, config_value) VALUES ('min_pass_chars', '6');
|
||||||
INSERT INTO phpbb_config (config_name, config_value) VALUES ('min_search_author_chars', '3');
|
INSERT INTO phpbb_config (config_name, config_value) VALUES ('min_search_author_chars', '3');
|
||||||
INSERT INTO phpbb_config (config_name, config_value) VALUES ('mime_triggers', 'body|head|html|img|plaintext|a href|pre|script|table|title');
|
INSERT INTO phpbb_config (config_name, config_value) VALUES ('mime_triggers', 'body|head|html|img|plaintext|a href|pre|script|table|title');
|
||||||
|
INSERT INTO phpbb_config (config_name, config_value) VALUES ('new_member_post_limit', '3');
|
||||||
|
INSERT INTO phpbb_config (config_name, config_value) VALUES ('new_member_group_default', '0');
|
||||||
INSERT INTO phpbb_config (config_name, config_value) VALUES ('override_user_style', '0');
|
INSERT INTO phpbb_config (config_name, config_value) VALUES ('override_user_style', '0');
|
||||||
INSERT INTO phpbb_config (config_name, config_value) VALUES ('pass_complex', 'PASS_TYPE_ANY');
|
INSERT INTO phpbb_config (config_name, config_value) VALUES ('pass_complex', 'PASS_TYPE_ANY');
|
||||||
INSERT INTO phpbb_config (config_name, config_value) VALUES ('pm_edit_time', '0');
|
INSERT INTO phpbb_config (config_name, config_value) VALUES ('pm_edit_time', '0');
|
||||||
|
@ -203,7 +204,6 @@ INSERT INTO phpbb_config (config_name, config_value) VALUES ('pm_max_recipients'
|
||||||
INSERT INTO phpbb_config (config_name, config_value) VALUES ('posts_per_page', '10');
|
INSERT INTO phpbb_config (config_name, config_value) VALUES ('posts_per_page', '10');
|
||||||
INSERT INTO phpbb_config (config_name, config_value) VALUES ('print_pm', '1');
|
INSERT INTO phpbb_config (config_name, config_value) VALUES ('print_pm', '1');
|
||||||
INSERT INTO phpbb_config (config_name, config_value) VALUES ('queue_interval', '600');
|
INSERT INTO phpbb_config (config_name, config_value) VALUES ('queue_interval', '600');
|
||||||
INSERT INTO phpbb_config (config_name, config_value) VALUES ('queue_trigger_posts', '3');
|
|
||||||
INSERT INTO phpbb_config (config_name, config_value) VALUES ('ranks_path', 'images/ranks');
|
INSERT INTO phpbb_config (config_name, config_value) VALUES ('ranks_path', 'images/ranks');
|
||||||
INSERT INTO phpbb_config (config_name, config_value) VALUES ('require_activation', '0');
|
INSERT INTO phpbb_config (config_name, config_value) VALUES ('require_activation', '0');
|
||||||
INSERT INTO phpbb_config (config_name, config_value) VALUES ('referer_validation', '1');
|
INSERT INTO phpbb_config (config_name, config_value) VALUES ('referer_validation', '1');
|
||||||
|
@ -412,6 +412,11 @@ INSERT INTO phpbb_acl_roles (role_name, role_description, role_type, role_order)
|
||||||
INSERT INTO phpbb_acl_roles (role_name, role_description, role_type, role_order) VALUES ('ROLE_FORUM_POLLS', 'ROLE_DESCRIPTION_FORUM_POLLS', 'f_', 6);
|
INSERT INTO phpbb_acl_roles (role_name, role_description, role_type, role_order) VALUES ('ROLE_FORUM_POLLS', 'ROLE_DESCRIPTION_FORUM_POLLS', 'f_', 6);
|
||||||
INSERT INTO phpbb_acl_roles (role_name, role_description, role_type, role_order) VALUES ('ROLE_FORUM_LIMITED_POLLS', 'ROLE_DESCRIPTION_FORUM_LIMITED_POLLS', 'f_', 4);
|
INSERT INTO phpbb_acl_roles (role_name, role_description, role_type, role_order) VALUES ('ROLE_FORUM_LIMITED_POLLS', 'ROLE_DESCRIPTION_FORUM_LIMITED_POLLS', 'f_', 4);
|
||||||
|
|
||||||
|
# 23
|
||||||
|
INSERT INTO phpbb_acl_roles (role_name, role_description, role_type, role_order) VALUES ('ROLE_USER_NEW_MEMBER', 'ROLE_DESCRIPTION_USER_NEW_MEMBER', 'u_', 6);
|
||||||
|
|
||||||
|
# 24
|
||||||
|
INSERT INTO phpbb_acl_roles (role_name, role_description, role_type, role_order) VALUES ('ROLE_FORUM_NEW_MEMBER', 'ROLE_DESCRIPTION_FORUM_NEW_MEMBER', 'f_', 10);
|
||||||
|
|
||||||
# -- phpbb_styles
|
# -- phpbb_styles
|
||||||
INSERT INTO phpbb_styles (style_name, style_copyright, style_active, template_id, theme_id, imageset_id) VALUES ('prosilver', '© phpBB Group', 1, 1, 1, 1);
|
INSERT INTO phpbb_styles (style_name, style_copyright, style_active, template_id, theme_id, imageset_id) VALUES ('prosilver', '© phpBB Group', 1, 1, 1, 1);
|
||||||
|
@ -513,6 +518,7 @@ INSERT INTO phpbb_groups (group_name, group_type, group_founder_manage, group_co
|
||||||
INSERT INTO phpbb_groups (group_name, group_type, group_founder_manage, group_colour, group_legend, group_avatar, group_desc, group_desc_uid, group_max_recipients) VALUES ('GLOBAL_MODERATORS', 3, 0, '00AA00', 1, '', '', '', 0);
|
INSERT INTO phpbb_groups (group_name, group_type, group_founder_manage, group_colour, group_legend, group_avatar, group_desc, group_desc_uid, group_max_recipients) VALUES ('GLOBAL_MODERATORS', 3, 0, '00AA00', 1, '', '', '', 0);
|
||||||
INSERT INTO phpbb_groups (group_name, group_type, group_founder_manage, group_colour, group_legend, group_avatar, group_desc, group_desc_uid, group_max_recipients) VALUES ('ADMINISTRATORS', 3, 1, 'AA0000', 1, '', '', '', 0);
|
INSERT INTO phpbb_groups (group_name, group_type, group_founder_manage, group_colour, group_legend, group_avatar, group_desc, group_desc_uid, group_max_recipients) VALUES ('ADMINISTRATORS', 3, 1, 'AA0000', 1, '', '', '', 0);
|
||||||
INSERT INTO phpbb_groups (group_name, group_type, group_founder_manage, group_colour, group_legend, group_avatar, group_desc, group_desc_uid, group_max_recipients) VALUES ('BOTS', 3, 0, '9E8DA7', 0, '', '', '', 5);
|
INSERT INTO phpbb_groups (group_name, group_type, group_founder_manage, group_colour, group_legend, group_avatar, group_desc, group_desc_uid, group_max_recipients) VALUES ('BOTS', 3, 0, '9E8DA7', 0, '', '', '', 5);
|
||||||
|
INSERT INTO phpbb_groups (group_name, group_type, group_founder_manage, group_colour, group_legend, group_avatar, group_desc, group_desc_uid, group_max_recipients) VALUES ('NEWLY_REGISTERED', 3, 0, '', 0, '', '', '', 5);
|
||||||
|
|
||||||
# -- User -> Group
|
# -- User -> Group
|
||||||
INSERT INTO phpbb_user_group (group_id, user_id, user_pending, group_leader) VALUES (1, 1, 0, 0);
|
INSERT INTO phpbb_user_group (group_id, user_id, user_pending, group_leader) VALUES (1, 1, 0, 0);
|
||||||
|
@ -594,6 +600,13 @@ INSERT INTO phpbb_acl_roles_data (role_id, auth_option_id, auth_setting) SELECT
|
||||||
# Limited Access + Polls (f_)
|
# Limited Access + Polls (f_)
|
||||||
INSERT INTO phpbb_acl_roles_data (role_id, auth_option_id, auth_setting) SELECT 22, auth_option_id, 1 FROM phpbb_acl_options WHERE auth_option LIKE 'f_%' AND auth_option NOT IN ('f_announce', 'f_attach', 'f_bump', 'f_delete', 'f_flash', 'f_icons', 'f_ignoreflood', 'f_sticky', 'f_user_lock', 'f_votechg');
|
INSERT INTO phpbb_acl_roles_data (role_id, auth_option_id, auth_setting) SELECT 22, auth_option_id, 1 FROM phpbb_acl_options WHERE auth_option LIKE 'f_%' AND auth_option NOT IN ('f_announce', 'f_attach', 'f_bump', 'f_delete', 'f_flash', 'f_icons', 'f_ignoreflood', 'f_sticky', 'f_user_lock', 'f_votechg');
|
||||||
|
|
||||||
|
# New Member (u_)
|
||||||
|
INSERT INTO phpbb_acl_roles_data (role_id, auth_option_id, auth_setting) SELECT 23, auth_option_id, 0 FROM phpbb_acl_options WHERE auth_option LIKE 'u_%' AND auth_option IN ('u_sendpm', 'u_masspm', 'u_masspm_group');
|
||||||
|
|
||||||
|
# New Member (f_)
|
||||||
|
INSERT INTO phpbb_acl_roles_data (role_id, auth_option_id, auth_setting) SELECT 24, auth_option_id, 0 FROM phpbb_acl_options WHERE auth_option LIKE 'f_%' AND auth_option IN ('f_noapprove');
|
||||||
|
|
||||||
|
|
||||||
# Permissions
|
# Permissions
|
||||||
|
|
||||||
# GUESTS - u_download and u_search ability
|
# GUESTS - u_download and u_search ability
|
||||||
|
@ -644,6 +657,12 @@ INSERT INTO phpbb_acl_groups (group_id, forum_id, auth_option_id, auth_role_id,
|
||||||
# Bots having bot access
|
# Bots having bot access
|
||||||
INSERT INTO phpbb_acl_groups (group_id, forum_id, auth_option_id, auth_role_id, auth_setting) VALUES (6, 2, 0, 19, 0);
|
INSERT INTO phpbb_acl_groups (group_id, forum_id, auth_option_id, auth_role_id, auth_setting) VALUES (6, 2, 0, 19, 0);
|
||||||
|
|
||||||
|
# NEW MEMBERS aren't allowed to PM
|
||||||
|
INSERT INTO phpbb_acl_groups (group_id, forum_id, auth_option_id, auth_role_id, auth_setting) VALUES (7, 0, 0, 23, 0);
|
||||||
|
|
||||||
|
# NEW MEMBERS on the queue
|
||||||
|
INSERT INTO phpbb_acl_groups (group_id, forum_id, auth_option_id, auth_role_id, auth_setting) VALUES (7, 2, 0, 24, 0);
|
||||||
|
|
||||||
|
|
||||||
# -- Demo Topic
|
# -- Demo Topic
|
||||||
INSERT INTO phpbb_topics (topic_title, topic_poster, topic_time, topic_views, topic_replies, topic_replies_real, forum_id, topic_status, topic_type, topic_first_post_id, topic_first_poster_name, topic_first_poster_colour, topic_last_post_id, topic_last_poster_id, topic_last_poster_name, topic_last_poster_colour, topic_last_post_subject, topic_last_post_time, topic_last_view_time, poll_title) VALUES ('{L_TOPICS_TOPIC_TITLE}', 2, 972086460, 0, 0, 0, 2, 0, 0, 1, 'Admin', 'AA0000', 1, 2, 'Admin', 'AA0000', '{L_TOPICS_TOPIC_TITLE}', 972086460, 972086460, '');
|
INSERT INTO phpbb_topics (topic_title, topic_poster, topic_time, topic_views, topic_replies, topic_replies_real, forum_id, topic_status, topic_type, topic_first_post_id, topic_first_poster_name, topic_first_poster_colour, topic_last_post_id, topic_last_poster_id, topic_last_poster_name, topic_last_poster_colour, topic_last_post_subject, topic_last_post_time, topic_last_view_time, poll_title) VALUES ('{L_TOPICS_TOPIC_TITLE}', 2, 972086460, 0, 0, 0, 2, 0, 0, 1, 'Admin', 'AA0000', 1, 2, 'Admin', 'AA0000', '{L_TOPICS_TOPIC_TITLE}', 972086460, 972086460, '');
|
||||||
|
|
|
@ -142,11 +142,6 @@ $lang = array_merge($lang, array(
|
||||||
'ALLOW_POST_FLASH' => 'Allow use of <code>[FLASH]</code> BBCode tag in posts',
|
'ALLOW_POST_FLASH' => 'Allow use of <code>[FLASH]</code> BBCode tag in posts',
|
||||||
'ALLOW_POST_FLASH_EXPLAIN' => 'If disallowed the <code>[FLASH]</code> BBCode tag is disabled in posts. Otherwise the permission system controls which users can use the <code>[FLASH]</code> BBCode tag.',
|
'ALLOW_POST_FLASH_EXPLAIN' => 'If disallowed the <code>[FLASH]</code> BBCode tag is disabled in posts. Otherwise the permission system controls which users can use the <code>[FLASH]</code> BBCode tag.',
|
||||||
|
|
||||||
'ENABLE_QUEUE_TRIGGER' => 'Enable queued posts',
|
|
||||||
'ENABLE_QUEUE_TRIGGER_EXPLAIN' => 'Ability to put registered users posts to post approval if their post count is lower than the specified value below. This setting has no effect on the permission setting for post/topic approval.',
|
|
||||||
'QUEUE_TRIGGER_POSTS' => 'Maximum post count for queued posts',
|
|
||||||
'QUEUE_TRIGGER_POSTS_EXPLAIN' => 'If queued posts is enabled, this is the post count the user need to reach in order to post without post approval. If the users post count is below this number, the post is stored in the queue automatically.',
|
|
||||||
|
|
||||||
'BUMP_INTERVAL' => 'Bump interval',
|
'BUMP_INTERVAL' => 'Bump interval',
|
||||||
'BUMP_INTERVAL_EXPLAIN' => 'Number of minutes, hours or days between the last post to a topic and the ability to bump this topic.',
|
'BUMP_INTERVAL_EXPLAIN' => 'Number of minutes, hours or days between the last post to a topic and the ability to bump this topic.',
|
||||||
'CHAR_LIMIT' => 'Maximum characters per post',
|
'CHAR_LIMIT' => 'Maximum characters per post',
|
||||||
|
@ -201,6 +196,11 @@ $lang = array_merge($lang, array(
|
||||||
|
|
||||||
'ACC_ACTIVATION' => 'Account activation',
|
'ACC_ACTIVATION' => 'Account activation',
|
||||||
'ACC_ACTIVATION_EXPLAIN' => 'This determines whether users have immediate access to the board or if confirmation is required. You can also completely disable new registrations.',
|
'ACC_ACTIVATION_EXPLAIN' => 'This determines whether users have immediate access to the board or if confirmation is required. You can also completely disable new registrations.',
|
||||||
|
'NEW_MEMBER_POST_LIMIT' => 'New member post limit',
|
||||||
|
'NEW_MEMBER_POST_LIMIT_EXPLAIN' => 'New members are within the <em>Newly Registered Users</em> group until they reach this number of posts. You can use this group to keep them from using the PM system or to review their posts. <strong>A value of 0 disables this feature.</strong>',
|
||||||
|
'NEW_MEMBER_GROUP_DEFAULT' => 'Set Newly Registered Users group to default',
|
||||||
|
'NEW_MEMBER_GROUP_DEFAULT_EXPLAIN' => 'If set to yes and a new member post limit is specified newly registered users will be not only put into the <em>Newly Registered Users</em> group, but this group also being their default one. This may come in handy if you want to assign a group default rank and/or avatar the user then inherits.',
|
||||||
|
|
||||||
'ACC_ADMIN' => 'By Admin',
|
'ACC_ADMIN' => 'By Admin',
|
||||||
'ACC_DISABLE' => 'Disable',
|
'ACC_DISABLE' => 'Disable',
|
||||||
'ACC_NONE' => 'None',
|
'ACC_NONE' => 'None',
|
||||||
|
|
|
@ -164,6 +164,7 @@ $lang = array_merge($lang, array(
|
||||||
'ROLE_FORUM_POLLS' => 'Standard Access + Polls',
|
'ROLE_FORUM_POLLS' => 'Standard Access + Polls',
|
||||||
'ROLE_FORUM_READONLY' => 'Read Only Access',
|
'ROLE_FORUM_READONLY' => 'Read Only Access',
|
||||||
'ROLE_FORUM_STANDARD' => 'Standard Access',
|
'ROLE_FORUM_STANDARD' => 'Standard Access',
|
||||||
|
'ROLE_FORUM_NEW_MEMBER' => 'Newly registered User',
|
||||||
'ROLE_MOD_FULL' => 'Full Moderator',
|
'ROLE_MOD_FULL' => 'Full Moderator',
|
||||||
'ROLE_MOD_QUEUE' => 'Queue Moderator',
|
'ROLE_MOD_QUEUE' => 'Queue Moderator',
|
||||||
'ROLE_MOD_SIMPLE' => 'Simple Moderator',
|
'ROLE_MOD_SIMPLE' => 'Simple Moderator',
|
||||||
|
@ -173,6 +174,8 @@ $lang = array_merge($lang, array(
|
||||||
'ROLE_USER_NOAVATAR' => 'No Avatar',
|
'ROLE_USER_NOAVATAR' => 'No Avatar',
|
||||||
'ROLE_USER_NOPM' => 'No Private Messages',
|
'ROLE_USER_NOPM' => 'No Private Messages',
|
||||||
'ROLE_USER_STANDARD' => 'Standard Features',
|
'ROLE_USER_STANDARD' => 'Standard Features',
|
||||||
|
'ROLE_USER_NEW_MEMBER' => 'Newly registered User',
|
||||||
|
|
||||||
|
|
||||||
'ROLE_DESCRIPTION_ADMIN_FORUM' => 'Can access the forum management and forum permission settings.',
|
'ROLE_DESCRIPTION_ADMIN_FORUM' => 'Can access the forum management and forum permission settings.',
|
||||||
'ROLE_DESCRIPTION_ADMIN_FULL' => 'Has access to all administrative functions of this board.<br />Not recommended.',
|
'ROLE_DESCRIPTION_ADMIN_FULL' => 'Has access to all administrative functions of this board.<br />Not recommended.',
|
||||||
|
@ -187,6 +190,7 @@ $lang = array_merge($lang, array(
|
||||||
'ROLE_DESCRIPTION_FORUM_POLLS' => 'Like Standard Access but can also create polls.',
|
'ROLE_DESCRIPTION_FORUM_POLLS' => 'Like Standard Access but can also create polls.',
|
||||||
'ROLE_DESCRIPTION_FORUM_READONLY' => 'Can read the forum, but cannot create new topics or reply to posts.',
|
'ROLE_DESCRIPTION_FORUM_READONLY' => 'Can read the forum, but cannot create new topics or reply to posts.',
|
||||||
'ROLE_DESCRIPTION_FORUM_STANDARD' => 'Can use most forum features including attachments and deleting own topics, but cannot lock own topics, and cannot create polls.',
|
'ROLE_DESCRIPTION_FORUM_STANDARD' => 'Can use most forum features including attachments and deleting own topics, but cannot lock own topics, and cannot create polls.',
|
||||||
|
'ROLE_DESCRIPTION_FORUM_NEW_MEMBER' => 'A role for members of the special newly registered users group; contains never permissions to lock features for new users.',
|
||||||
'ROLE_DESCRIPTION_MOD_FULL' => 'Can use all moderating features, including banning.',
|
'ROLE_DESCRIPTION_MOD_FULL' => 'Can use all moderating features, including banning.',
|
||||||
'ROLE_DESCRIPTION_MOD_QUEUE' => 'Can use the Moderation Queue to validate and edit posts, but nothing else.',
|
'ROLE_DESCRIPTION_MOD_QUEUE' => 'Can use the Moderation Queue to validate and edit posts, but nothing else.',
|
||||||
'ROLE_DESCRIPTION_MOD_SIMPLE' => 'Can only use basic topic actions. Cannot send warnings or use moderation queue.',
|
'ROLE_DESCRIPTION_MOD_SIMPLE' => 'Can only use basic topic actions. Cannot send warnings or use moderation queue.',
|
||||||
|
@ -196,6 +200,7 @@ $lang = array_merge($lang, array(
|
||||||
'ROLE_DESCRIPTION_USER_NOAVATAR' => 'Has a limited feature set and is not allowed to use the Avatar feature.',
|
'ROLE_DESCRIPTION_USER_NOAVATAR' => 'Has a limited feature set and is not allowed to use the Avatar feature.',
|
||||||
'ROLE_DESCRIPTION_USER_NOPM' => 'Has a limited feature set, and is not allowed to use Private Messages.',
|
'ROLE_DESCRIPTION_USER_NOPM' => 'Has a limited feature set, and is not allowed to use Private Messages.',
|
||||||
'ROLE_DESCRIPTION_USER_STANDARD' => 'Can access most but not all user features. Cannot change user name or ignore the flood limit, for instance.',
|
'ROLE_DESCRIPTION_USER_STANDARD' => 'Can access most but not all user features. Cannot change user name or ignore the flood limit, for instance.',
|
||||||
|
'ROLE_DESCRIPTION_USER_NEW_MEMBER' => 'A role for members of the special newly registered users group; contains never permissions to lock features for new users.',
|
||||||
|
|
||||||
'ROLE_DESCRIPTION_EXPLAIN' => 'You are able to enter a short explanation of what the role is doing or for what it is meant for. The text you enter here will be displayed within the permissions screens too.',
|
'ROLE_DESCRIPTION_EXPLAIN' => 'You are able to enter a short explanation of what the role is doing or for what it is meant for. The text you enter here will be displayed within the permissions screens too.',
|
||||||
'ROLE_DESCRIPTION_LONG' => 'The role description is too long, please limit it to 4000 characters.',
|
'ROLE_DESCRIPTION_LONG' => 'The role description is too long, please limit it to 4000 characters.',
|
||||||
|
|
|
@ -250,6 +250,7 @@ $lang = array_merge($lang, array(
|
||||||
'G_REGISTERED' => 'Registered users',
|
'G_REGISTERED' => 'Registered users',
|
||||||
'G_REGISTERED_COPPA' => 'Registered COPPA users',
|
'G_REGISTERED_COPPA' => 'Registered COPPA users',
|
||||||
'G_GLOBAL_MODERATORS' => 'Global moderators',
|
'G_GLOBAL_MODERATORS' => 'Global moderators',
|
||||||
|
'G_NEWLY_REGISTERED' => 'Newly registered users',
|
||||||
|
|
||||||
'HIDDEN_USERS_ONLINE' => '%d hidden users online',
|
'HIDDEN_USERS_ONLINE' => '%d hidden users online',
|
||||||
'HIDDEN_USERS_TOTAL' => '%d hidden',
|
'HIDDEN_USERS_TOTAL' => '%d hidden',
|
||||||
|
@ -649,6 +650,8 @@ $lang = array_merge($lang, array(
|
||||||
'USERS' => 'Users',
|
'USERS' => 'Users',
|
||||||
'USE_PERMISSIONS' => 'Test out user’s permissions',
|
'USE_PERMISSIONS' => 'Test out user’s permissions',
|
||||||
|
|
||||||
|
'USER_NEW_PERMISSION_DISALLOWED' => 'We are sorry, but you are not authorised to use this feature. You may have just registered here and may need to participate more to be able to use this feature.',
|
||||||
|
|
||||||
'VARIANT_DATE_SEPARATOR' => ' / ', // Used in date format dropdown, eg: "Today, 13:37 / 01 Jan 2007, 13:37" ... to join a relative date with calendar date
|
'VARIANT_DATE_SEPARATOR' => ' / ', // Used in date format dropdown, eg: "Today, 13:37 / 01 Jan 2007, 13:37" ... to join a relative date with calendar date
|
||||||
'VIEWED' => 'Viewed',
|
'VIEWED' => 'Viewed',
|
||||||
'VIEWING_FAQ' => 'Viewing FAQ',
|
'VIEWING_FAQ' => 'Viewing FAQ',
|
||||||
|
|
|
@ -352,7 +352,7 @@ $lang = array_merge($lang, array(
|
||||||
'POST_EDIT_PM' => 'Edit message',
|
'POST_EDIT_PM' => 'Edit message',
|
||||||
'POST_FORWARD_PM' => 'Forward message',
|
'POST_FORWARD_PM' => 'Forward message',
|
||||||
'POST_NEW_PM' => 'Compose message',
|
'POST_NEW_PM' => 'Compose message',
|
||||||
'POST_PM_LOCKED' => 'Private messaging is locked',
|
'POST_PM_LOCKED' => 'Private messaging is locked.',
|
||||||
'POST_PM_POST' => 'Quote post',
|
'POST_PM_POST' => 'Quote post',
|
||||||
'POST_QUOTE_PM' => 'Quote message',
|
'POST_QUOTE_PM' => 'Quote message',
|
||||||
'POST_REPLY_PM' => 'Reply to message',
|
'POST_REPLY_PM' => 'Reply to message',
|
||||||
|
|
|
@ -1026,8 +1026,8 @@ if ($submit || $preview || $refresh)
|
||||||
$captcha->reset();
|
$captcha->reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check the permissions for post approval, as well as the queue trigger where users are put on approval with a post count lower than specified. Moderators are not affected.
|
// Check the permissions for post approval. Moderators are not affected.
|
||||||
if ((($config['enable_queue_trigger'] && $user->data['user_posts'] < $config['queue_trigger_posts']) || !$auth->acl_get('f_noapprove', $data['forum_id'])) && !$auth->acl_get('m_approve', $data['forum_id']))
|
if (!$auth->acl_get('f_noapprove', $data['forum_id']) && !$auth->acl_get('m_approve', $data['forum_id']))
|
||||||
{
|
{
|
||||||
meta_refresh(10, $redirect_url);
|
meta_refresh(10, $redirect_url);
|
||||||
$message = ($mode == 'edit') ? $user->lang['POST_EDITED_MOD'] : $user->lang['POST_STORED_MOD'];
|
$message = ($mode == 'edit') ? $user->lang['POST_EDITED_MOD'] : $user->lang['POST_STORED_MOD'];
|
||||||
|
|
|
@ -82,6 +82,8 @@
|
||||||
<!-- END messagerow -->
|
<!-- END messagerow -->
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
<!-- ELSEIF S_NO_AUTH_SEND_MESSAGE -->
|
||||||
|
<p><strong><!-- IF S_USER_NEW -->{L_USER_NEW_PERMISSION_DISALLOWED}<!-- ELSE -->{L_NO_AUTH_SEND_MESSAGE}<!-- ENDIF --></p></strong>
|
||||||
<!-- ELSE -->
|
<!-- ELSE -->
|
||||||
<p><strong>{L_NO_MESSAGES}</strong></p>
|
<p><strong>{L_NO_MESSAGES}</strong></p>
|
||||||
<!-- ENDIF -->
|
<!-- ENDIF -->
|
||||||
|
|
|
@ -92,7 +92,7 @@
|
||||||
</tr>
|
</tr>
|
||||||
<!-- BEGINELSE -->
|
<!-- BEGINELSE -->
|
||||||
<tr>
|
<tr>
|
||||||
<td class="row1" colspan="{$COLSPAN}" height="30" align="center" valign="middle"><span class="gen">{L_NO_MESSAGES}</span></td>
|
<td class="row1" colspan="{$COLSPAN}" height="30" align="center" valign="middle"><span class="gen"><!-- IF S_USER_NEW -->{L_USER_NEW_PERMISSION_DISALLOWED}<!-- ELSE -->{L_NO_MESSAGES}<!-- ENDIF --></span></td>
|
||||||
</tr>
|
</tr>
|
||||||
<!-- END messagerow -->
|
<!-- END messagerow -->
|
||||||
</table>
|
</table>
|
||||||
|
|
Loading…
Add table
Reference in a new issue