diff --git a/build/build.xml b/build/build.xml
new file mode 100644
index 0000000000..04dca6cafa
--- /dev/null
+++ b/build/build.xml
@@ -0,0 +1,149 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/build/build_diff.php b/build/build_diff.php
index ef815bc0c3..6a6070228f 100755
--- a/build/build_diff.php
+++ b/build/build_diff.php
@@ -9,16 +9,26 @@
*
*/
-// CONFIG - Begin
-$substitute_old = '3.0.6';
-$substitute_new = '3.0.7-PL1';
-$simple_name_old = 'phpbb306';
-$simple_name_new = 'phpbb307-PL1';
+if ($_SERVER['argc'] != 3)
+{
+ die("Please specify the previous and current version as arguments (e.g. build_diff.php '1.0.2' '1.0.3').");
+}
+
+$old_version = trim($_SERVER['argv'][1]);
+$new_version = trim($_SERVER['argv'][2]);
+
+$substitute_old = $old_version;
+$substitute_new = $new_version;
+$simple_name_old = 'release-' . $old_version;
+$simple_name_new = 'release-' . $new_version;
$echo_changes = false;
+
+// DO NOT EVER USE THE FOLLOWING! Fix the script to generate proper changes,
+// do NOT manually create them.
+
// Set this to true to just compress the changes and do not build them again
// This should be used for building custom modified txt file. ;)
$package_changed_files = false;
-// CONFIG - End
//$debug_file = 'includes/functions_user.php'; //'styles/prosilver/style.cfg';
$debug_file = false;
@@ -36,9 +46,6 @@ if (!$package_changed_files)
{
if (!$echo_changes)
{
- // Cleanup...
- run_command("rm -R $location/save/*");
-
// Create directory...
run_command("mkdir $location/save/{$s_name}");
run_command("mkdir $location/save/{$s_name}/language");
@@ -72,14 +79,14 @@ if (!$echo_changes)
foreach ($compress_programs as $extension => $compress_command)
{
echo "Packaging code changes for $extension\n";
- run_command("rm ./../../release_files/{$code_changes_filename}.{$extension}");
+ run_command("rm ./../../new_version/release_files/{$code_changes_filename}.{$extension}");
flush();
// Build Package
- run_command("$compress_command ./../../release_files/{$code_changes_filename}.{$extension} *");
+ run_command("$compress_command ./../../new_version/release_files/{$code_changes_filename}.{$extension} *");
// Build MD5 Sum
- run_command("md5sum ./../../release_files/{$code_changes_filename}.{$extension} > ./../../release_files/{$code_changes_filename}.{$extension}.md5");
+ run_command("md5sum ./../../new_version/release_files/{$code_changes_filename}.{$extension} > ./../../new_version/release_files/{$code_changes_filename}.{$extension}.md5");
flush();
}
}
diff --git a/build/build_helper.php b/build/build_helper.php
index 2bae32218b..94fc0ff3b5 100644
--- a/build/build_helper.php
+++ b/build/build_helper.php
@@ -14,10 +14,6 @@ class build_package
var $old_packages;
var $versions;
var $locations;
- var $clean_directory_structure;
- var $files_to_copy;
- var $files_to_remove;
- var $remove_from_diff_structure;
// -c - context diff
// -r - compare recursive
@@ -53,11 +49,11 @@ class build_package
$this->package_infos = array(
'package_name' => 'phpBB3',
'name_prefix' => 'phpbb',
- 'simple_name' => 'phpbb' . str_replace('.', '', $_latest),
+ 'simple_name' => 'release-' . $_latest,
'new_version_number' => $_latest,
'short_version_number' => str_replace('.', '', $_latest),
'release_filename' => 'phpBB-' . $_latest,
- 'last_version' => 'phpbb' . str_replace('.', '', $_before),
+ 'last_version' => 'release-' . $_before,
'last_version_number' => $_before,
);
@@ -78,112 +74,7 @@ class build_package
continue;
}
- $this->old_packages['phpbb' . str_replace('.', '', $package_version)] = $package_version . '_to_';
- }
-
- // We need to make sure this is up to date with the latest version
- $this->clean_directory_structure = array(
- 'adm' => array(
- 'images' => '',
- 'style' => '',
- ),
- 'cache' => '',
- 'docs' => '',
- 'download' => '',
- 'files' => '',
- 'images' => array(
- 'avatars' => array(
- 'gallery' => '',
- 'upload' => '',
- ),
- 'icons' => array(
- 'misc' => '',
- 'smile' => '',
- ),
- 'ranks' => '',
- 'smilies' => '',
- 'upload_icons' => '',
- ),
- 'includes' => array(
- 'acm' => '',
- 'acp' => array(
- 'info' => '',
- ),
- 'auth' => '',
- 'captcha' => array(
- 'plugins' => '',
- ),
- 'diff' => '',
- 'db' => '',
- 'hooks' => '',
- 'mcp' => array(
- 'info' => '',
- ),
- 'questionnaire' => '',
- 'search' => '',
- 'ucp' => array(
- 'info' => '',
- ),
- 'utf' => array(
- 'data' => '',
- ),
- ),
- 'install' => array(
- 'convertors'=> '',
- 'schemas' => '',
-// 'data' => '',
- ),
- 'language' => array(
- 'en' => array(
- 'acp' => '',
- 'email' => '',
- 'mods' => '',
- ),
- ),
- 'store' => '',
- 'styles' => array(
- 'subsilver2' => array(
- 'imageset' => array(
- 'en' => '',
- ),
- 'template' => '',
- 'theme' => array(
- 'images' => '',
- ),
- ),
- 'prosilver' => array(
- 'imageset' => array(
- 'en' => '',
- ),
- 'template' => '',
- 'theme' => array(
- 'images' => '',
- ),
- ),
- ),
- );
-
- // Files to remove (not include within package)
- $this->files_to_remove = array(); //array('includes/utf/data/recode_cjk.php');
-
- // Files within the main directory to copy - do not include config.php
- $this->files_to_copy = array(
- '.htaccess', 'common.php', 'cron.php', 'faq.php', 'feed.php', 'index.php', 'mcp.php', 'memberlist.php', 'posting.php', 'report.php',
- 'search.php', 'style.php', 'ucp.php', 'viewforum.php', 'viewonline.php', 'viewtopic.php'
- );
-
- // These files/directories will be removed and not used for creating the patch files
- $this->remove_from_diff_structure = array(
- 'config.php', 'cache', 'docs', 'files', 'install', 'store', 'develop'
- );
-
- // Writeable directories
- $this->writeable = array('cache', 'store', 'images/avatars/upload', 'files');
-
- // Fill the rest of the files_to_copy array
- foreach ($this->clean_directory_structure as $cur_dir => $dir_struct)
- {
- $this->_fill_files_to_copy($this->locations['new_version'] . $cur_dir, $cur_dir, $dir_struct);
+ $this->old_packages['release-' . $package_version] = $package_version . '_to_';
}
}
@@ -192,66 +83,6 @@ class build_package
return $this->package_infos[$var];
}
- function _fill_files_to_copy($directory, $cur_dir, $dir_struct)
- {
- $dh = opendir($directory);
-
- while ($file = readdir($dh))
- {
- if (is_file($directory . '/' . $file) && $file != '.' && $file != '..')
- {
- $_loc = str_replace($this->locations['new_version'], '', $directory . '/' . $file);
-
- if (in_array($_loc, $this->files_to_remove))
- {
- continue;
- }
-
- $this->files_to_copy[] = $cur_dir . '/' . $file;
- }
- }
- closedir($dh);
-
- if (is_array($dir_struct))
- {
- foreach ($dir_struct as $_cur_dir => $_dir_struct)
- {
- $this->_fill_files_to_copy($directory . '/' . $_cur_dir, $cur_dir . '/' . $_cur_dir, $_dir_struct);
- }
- }
- }
-
- function adjust_permissions($directory)
- {
- $dh = opendir($directory);
-
- while ($file = readdir($dh))
- {
- if ($file == '.' || $file == '..' || $file == '.svn')
- {
- continue;
- }
-
- // If file, then 644
- if (is_file($directory . '/' . $file))
- {
- chmod($directory . '/' . $file, 0644);
- }
- else if (is_dir($directory . '/' . $file))
- {
- $_loc = str_replace($this->package_infos['dest_dir'] . '/', '', $directory . '/' . $file);
-
- // If directory is within the writeable chmod to 777, else 755
- $mode = (in_array($_loc, $this->writeable)) ? 0777 : 0755;
- chmod($directory . '/' . $file, $mode);
-
- // Now traverse to the directory
- $this->adjust_permissions($directory . '/' . $file);
- }
- }
- closedir($dh);
- }
-
function begin_status($headline)
{
if ($this->status_begun)
diff --git a/build/package.php b/build/package.php
index a0da6404c6..2615d983b2 100755
--- a/build/package.php
+++ b/build/package.php
@@ -9,14 +9,17 @@
*
*/
-// The only thing i need to adjust. ;)
-// Please always add the latest version number to the end
-// Only have 5 releases here...
-// If RC8 drops remove the install/data directory
-//$versions = array('3.0.2', '3.0.3-RC1', '3.0.3', '3.0.4-RC1', '3.0.4', '3.0.5-RC1', '3.0.5', '3.0.6-RC1', '3.0.6-RC2', '3.0.6-RC3');
-//$versions = array('3.0.2', '3.0.3', '3.0.4', '3.0.5', '3.0.6', '3.0.7-RC1', '3.0.7');
-$versions = array('3.0.2', '3.0.3', '3.0.4', '3.0.5', '3.0.6', '3.0.7-RC1', '3.0.7-RC2', '3.0.7', '3.0.7-PL1');
-$verbose = false;
+//$versions = array('3.0.2', '3.0.3', '3.0.4', '3.0.5', '3.0.6', '3.0.7-RC1', '3.0.7-RC2', '3.0.7', '3.0.7-PL1');
+
+if ($_SERVER['argc'] < 2)
+{
+ die("Please specify a list of versions as the first argument (e.g. package.php '1.0.0, 1.0.1, 1.0.2').");
+}
+
+$versions = explode(',', $_SERVER['argv'][1]);
+$versions = array_map('trim', $versions);
+
+$verbose = true;
require('build_helper.php');
@@ -25,130 +28,6 @@ $package = new build_package($versions, $verbose);
echo "Building Release Packages\n";
echo "Now all three package types (patch, files, release) are built as well as the update package (update).\n";
-$package->begin_status('Remove temporary files');
-
-// Cleanup...
-$package->run_command('rm -Rv ' . $package->get('dest_dir'));
-$package->run_command('rm -Rv ' . $package->get('diff_dir'));
-$package->run_command('rm -Rv ' . $package->get('patch_directory'));
-$package->run_command('rm -Rv ' . $package->get('files_directory'));
-$package->run_command('rm -Rv ' . $package->get('update_directory'));
-$package->run_command('rm -Rv ' . $package->get('release_directory'));
-
-$package->begin_status('Create new directories');
-
-// Make sure the directories got removed
-while (file_exists($package->get('update_directory')))
-{
- sleep(1);
-}
-
-if (!file_exists($package->get('dest_dir')))
-{
- $package->run_command('mkdir ' . $package->get('dest_dir'));
-}
-
-if (!file_exists($package->get('diff_dir')))
-{
- $package->run_command('mkdir ' . $package->get('diff_dir'));
-}
-
-if (!file_exists($package->get('patch_directory')))
-{
- $package->run_command('mkdir ' . $package->get('patch_directory'));
-}
-
-if (!file_exists($package->get('files_directory')))
-{
- $package->run_command('mkdir ' . $package->get('files_directory'));
-}
-
-if (!file_exists($package->get('update_directory')))
-{
- $package->run_command('mkdir ' . $package->get('update_directory'));
-}
-
-if (!file_exists($package->get('release_directory')))
-{
- $package->run_command('mkdir ' . $package->get('release_directory'));
-}
-
-$package->begin_status('Copy release files to clean release directory');
-
-// Create config.php file
-$package->run_command('touch ' . $package->get('dest_dir') . '/config.php');
-//$package->run_command('sudo chown www-data:www-data ' . $package->get('dest_dir') . '/config.php');
-
-// Create new directory structure
-foreach ($package->clean_directory_structure as $dir => $dir_struct)
-{
- $package->create_directory($package->get('dest_dir') . '/' . $dir, $dir_struct);
-}
-
-// First step is to copy the new version over (clean structure)
-foreach ($package->files_to_copy as $file)
-{
- $source_file = $package->locations['new_version'] . $file;
- $dest_file = $package->get('dest_dir') . '/' . $file;
-
- $package->run_command("cp -p $source_file $dest_file");
-}
-
-// fix line endings
-chdir($package->get('dest_dir'));
-$package->run_command($package->locations['new_version'] . 'develop/fix_files.sh');
-
-// Now clean up the permissions
-$package->begin_status('Adjust permissions');
-
-$package->adjust_permissions($package->get('dest_dir'));
-
-// Now create a version for diffing the version - copy the tree over to old_versions...
-$package->begin_status('Create diff directory for obtaining file differences');
-
-$package->run_command('cp -Rp ' . $package->get('dest_dir') . '/* ' . $package->get('diff_dir'));
-$package->run_command('cp -Rp ' . $package->get('dest_dir') . '/.htaccess ' . $package->get('diff_dir'));
-
-// Cleanup diff directory (only contents to diff)
-foreach ($package->remove_from_diff_structure as $remove_dir)
-{
- $package->run_command('rm -Rv ' . $package->get('diff_dir') . '/' . $remove_dir);
-}
-
-// Now, first of all we need to rebuild all old packages we want to support
-foreach ($package->old_packages as $package_name => $tag_name)
-{
- $package->begin_status('Create old packages directory for diffing to ' . $package_name);
-
- chdir($package->locations['old_versions']);
-
- if (is_dir($package->locations['old_versions'] . $package_name))
- {
- $package->run_command('rm -Rv ' . $package->locations['old_versions'] . $package_name);
- }
-
- // Now, create a new one...
- $tag_name = 'release_' . str_replace(array('.', '_to_'), array('_', ''), $tag_name);
-
- $package->run_command('svn export --non-interactive http://code.phpbb.com/svn/phpbb/tags/' . $tag_name . '/phpBB/ ' . $package_name);
-
- $location = $package->locations['old_versions'] . $package_name;
- chdir($location . '/');
-
- $package->run_command($package->locations['new_version'] . 'develop/fix_files.sh');
-
- // Now clean up the permissions
- $package->begin_status('Adjust permissions for package ' . $package_name);
-
- $package->adjust_permissions($location);
-
- // Cleanup diff directory (only contents to diff)
- foreach ($package->remove_from_diff_structure as $remove_dir)
- {
- $package->run_command('rm -Rv ' . $location . '/' . $remove_dir);
- }
-}
-
// Go trough all versions making a diff if we even have old versions
// For phpBB 3.0.x we might choose a different update method, rendering the things below useless...
if (sizeof($package->old_packages))
@@ -160,10 +39,7 @@ if (sizeof($package->old_packages))
foreach ($package->old_packages as $_package_name => $dest_package_filename)
{
- $package->begin_status('Creating patch/diff files for phpBB-' . $dest_package_filename . $package->get('new_version_number'));
-
- $dest_package_filename = $package->get('patch_directory') . '/phpBB-' . $dest_package_filename . $package->get('new_version_number') . '.patch';
- $package->run_command('diff ' . $package->diff_options . ' ' . $_package_name . ' ' . $package->get('simple_name') . ' > ' . $dest_package_filename);
+ $package->begin_status('Parsing patch/diff files for phpBB-' . $dest_package_filename . $package->get('new_version_number'));
// Parse this diff to determine file changes from the checked versions and save them
$diff_file_changes[$_package_name] = $package->collect_diff_files($dest_package_filename, $_package_name);
@@ -404,7 +280,6 @@ if (sizeof($package->old_packages))
foreach ($compress_programs as $extension => $compress_command)
{
$package->begin_status('Packaging phpBB Patch Files for ' . $extension);
- $package->run_command('rm -v ../release_files/' . $package->get('release_filename') . '-patch.' . $extension);
// Build Package
$package->run_command($compress_command . ' ../release_files/' . $package->get('release_filename') . '-patch.' . $extension . ' *');
@@ -420,7 +295,6 @@ if (sizeof($package->old_packages))
{
$package->begin_status('Packaging phpBB Files for ' . $extension);
- $package->run_command('rm -v ../release_files/' . $package->get('release_filename') . '-files.' . $extension);
$package->run_command('mkdir ' . $package->get('files_directory') . '/release');
$package->run_command('cp -Rp ' . $package->get('dest_dir') . '/docs ' . $package->get('files_directory') . '/release');
$package->run_command('cp -Rp ' . $package->get('dest_dir') . '/install ' . $package->get('files_directory') . '/release');
@@ -457,7 +331,6 @@ if (sizeof($package->old_packages))
$package->begin_status('Packaging phpBB Update for ' . $extension);
- $package->run_command('rm -v ../release_files/' . $package->get('release_filename') . '-update.' . $extension);
$package->run_command('mkdir ' . $package->get('update_directory') . '/release');
// Pack update files
@@ -521,7 +394,6 @@ foreach ($compress_programs as $extension => $compress_command)
// Microsoft Web PI packaging
$package->begin_status('Packaging phpBB for Microsoft WebPI');
$file = './release_files/' . $package->get('release_filename') . '.webpi.zip';
-$package->run_command("rm -v $file");
$package->run_command('cp -p ./release_files/' . $package->get('release_filename') . ".zip $file");
$package->run_command('cd ./../webpi && ' . $compress_programs['zip'] . " ./../new_version/$file *");
$package->run_command("md5sum $file > $file.md5");
diff --git a/phpBB/includes/functions.php b/phpBB/includes/functions.php
index 0f150a3d63..759aee6db8 100644
--- a/phpBB/includes/functions.php
+++ b/phpBB/includes/functions.php
@@ -992,7 +992,7 @@ function phpbb_own_realpath($path)
// @todo If the file exists fine and open_basedir only has one path we should be able to prepend it
// because we must be inside that basedir, the question is where...
// @internal The slash in is_dir() gets around an open_basedir restriction
- if (!@file_exists($resolved) || (!is_dir($resolved . '/') && !is_file($resolved)))
+ if (!@file_exists($resolved) || (!@is_dir($resolved . '/') && !is_file($resolved)))
{
return false;
}
diff --git a/phpBB/language/en/acp/board.php b/phpBB/language/en/acp/board.php
index 05c8b80b17..e76009a063 100644
--- a/phpBB/language/en/acp/board.php
+++ b/phpBB/language/en/acp/board.php
@@ -233,7 +233,7 @@ $lang = array_merge($lang, array(
'PASSWORD_LENGTH' => 'Password length',
'PASSWORD_LENGTH_EXPLAIN' => 'Minimum and maximum number of characters in passwords.',
'REG_LIMIT' => 'Registration attempts',
- 'REG_LIMIT_EXPLAIN' => 'Number of attempts users can make at solving the CAPTCHA before being locked out of that session.',
+ 'REG_LIMIT_EXPLAIN' => 'Number of attempts users can make at solving the anti-spambot task before being locked out of that session.',
'USERNAME_ALPHA_ONLY' => 'Alphanumeric only',
'USERNAME_ALPHA_SPACERS' => 'Alphanumeric and spacers',
'USERNAME_ASCII' => 'ASCII (no international unicode)',
@@ -288,44 +288,44 @@ $lang = array_merge($lang, array(
// Visual Confirmation Settings
$lang = array_merge($lang, array(
- 'ACP_VC_SETTINGS_EXPLAIN' => 'Here you can select and configure CAPTCHA plugins, which are designed to block automated form submissions by spambots.',
+ 'ACP_VC_SETTINGS_EXPLAIN' => 'Here you can select and configure plugins, which are designed to block automated form submissions by spambots. These plugins typically work by challenging the user with a CAPTCHA, a test which is designed to be difficult for computers to solve.',
'AVAILABLE_CAPTCHAS' => 'Available plugins',
- 'CAPTCHA_UNAVAILABLE' => 'The CAPTCHA cannot be selected as its requirements are not met.',
- 'CAPTCHA_GD' => 'GD CAPTCHA',
- 'CAPTCHA_GD_3D' => 'GD 3D Captcha',
- 'CAPTCHA_GD_FOREGROUND_NOISE' => 'GD CAPTCHA foreground noise',
- 'CAPTCHA_GD_EXPLAIN' => 'Use GD to make a more advanced CAPTCHA.',
- 'CAPTCHA_GD_FOREGROUND_NOISE_EXPLAIN' => 'Use foreground noise to make the GD based CAPTCHA harder.',
- 'CAPTCHA_GD_X_GRID' => 'GD CAPTCHA background noise x-axis',
- 'CAPTCHA_GD_X_GRID_EXPLAIN' => 'Use lower settings of this to make the GD based CAPTCHA harder. 0 will disable x-axis background noise.',
- 'CAPTCHA_GD_Y_GRID' => 'GD CAPTCHA background noise y-axis',
- 'CAPTCHA_GD_Y_GRID_EXPLAIN' => 'Use lower settings of this to make the GD based CAPTCHA harder. 0 will disable y-axis background noise.',
- 'CAPTCHA_GD_WAVE' => 'GD CAPTCHA wave distortion',
- 'CAPTCHA_GD_WAVE_EXPLAIN' => 'This applies a wave distortion to the CAPTCHA.',
+ 'CAPTCHA_UNAVAILABLE' => 'The plugin cannot be selected as its requirements are not met.',
+ 'CAPTCHA_GD' => 'GD image',
+ 'CAPTCHA_GD_3D' => 'GD 3D image',
+ 'CAPTCHA_GD_FOREGROUND_NOISE' => 'Foreground noise',
+ 'CAPTCHA_GD_EXPLAIN' => 'Uses GD to make a more advanced anti-spambot image.',
+ 'CAPTCHA_GD_FOREGROUND_NOISE_EXPLAIN' => 'Use foreground noise to make the image harder to read.',
+ 'CAPTCHA_GD_X_GRID' => 'Background noise x-axis',
+ 'CAPTCHA_GD_X_GRID_EXPLAIN' => 'Use lower settings of this to make the image harder to read. 0 will disable x-axis background noise.',
+ 'CAPTCHA_GD_Y_GRID' => 'Background noise y-axis',
+ 'CAPTCHA_GD_Y_GRID_EXPLAIN' => 'Use lower settings of this to make the image harder to read. 0 will disable y-axis background noise.',
+ 'CAPTCHA_GD_WAVE' => 'Wave distortion',
+ 'CAPTCHA_GD_WAVE_EXPLAIN' => 'This applies a wave distortion to the image.',
'CAPTCHA_GD_3D_NOISE' => 'Add 3D-noise objects',
- 'CAPTCHA_GD_3D_NOISE_EXPLAIN' => 'This adds additional objects to the CAPTCHA, over the letters.',
+ 'CAPTCHA_GD_3D_NOISE_EXPLAIN' => 'This adds additional objects to the image, over the letters.',
'CAPTCHA_GD_FONTS' => 'Use different fonts',
'CAPTCHA_GD_FONTS_EXPLAIN' => 'This setting controls how many different letter shapes are used. You can just use the default shapes or introduce altered letters. Adding lowercase letters is also possible.',
'CAPTCHA_FONT_DEFAULT' => 'Default',
'CAPTCHA_FONT_NEW' => 'New Shapes',
'CAPTCHA_FONT_LOWER' => 'Also use lowercase',
- 'CAPTCHA_NO_GD' => 'CAPTCHA without GD',
- 'CAPTCHA_PREVIEW_MSG' => 'Your changes to the visual confirmation setting were not saved. This is just a preview.',
- 'CAPTCHA_PREVIEW_EXPLAIN' => 'The CAPTCHA as it would look like using the current selection.',
+ 'CAPTCHA_NO_GD' => 'Simple image',
+ 'CAPTCHA_PREVIEW_MSG' => 'Your changes have not been saved, this is just a preview.',
+ 'CAPTCHA_PREVIEW_EXPLAIN' => 'The plugin as it would look like using the current selection.',
- 'CAPTCHA_SELECT' => 'Installed CAPTCHA plugins',
- 'CAPTCHA_SELECT_EXPLAIN' => 'The dropdown holds the CAPTCHA plugins recognized by the board. Gray entries are not available right now and might need configuration prior to use.',
- 'CAPTCHA_CONFIGURE' => 'Configure CAPTCHAs',
- 'CAPTCHA_CONFIGURE_EXPLAIN' => 'Change the settings for the selected CAPTCHA.',
+ 'CAPTCHA_SELECT' => 'Installed plugins',
+ 'CAPTCHA_SELECT_EXPLAIN' => 'The dropdown holds the plugins recognized by the board. Grey entries are not available right now and might need configuration prior to use.',
+ 'CAPTCHA_CONFIGURE' => 'Configure plugins',
+ 'CAPTCHA_CONFIGURE_EXPLAIN' => 'Change the settings for the selected plugin.',
'CONFIGURE' => 'Configure',
- 'CAPTCHA_NO_OPTIONS' => 'This CAPTCHA has no configuration options.',
+ 'CAPTCHA_NO_OPTIONS' => 'This plugin has no configuration options.',
- 'VISUAL_CONFIRM_POST' => 'Enable CAPTCHA for guest postings',
- 'VISUAL_CONFIRM_POST_EXPLAIN' => 'Requires guest users to solve a CAPTCHA to help prevent automated postings.',
- 'VISUAL_CONFIRM_REG' => 'Enable CAPTCHA for registrations',
- 'VISUAL_CONFIRM_REG_EXPLAIN' => 'Requires new users to solve a CAPTCHA to help prevent automated registrations.',
- 'VISUAL_CONFIRM_REFRESH' => 'Enable users to refresh the CAPTCHA',
- 'VISUAL_CONFIRM_REFRESH_EXPLAIN' => 'Allows users to request a new CAPTCHA if they are unable to solve the CAPTCHA during registration. Some plugins might not support this option.',
+ 'VISUAL_CONFIRM_POST' => 'Enable spambot countermeasures for guest postings',
+ 'VISUAL_CONFIRM_POST_EXPLAIN' => 'Requires guest users to pass the anti-spambot task to help prevent automated postings.',
+ 'VISUAL_CONFIRM_REG' => 'Enable spambot countermeasures for registrations',
+ 'VISUAL_CONFIRM_REG_EXPLAIN' => 'Requires new users to pass the anti-spambot task to help prevent automated registrations.',
+ 'VISUAL_CONFIRM_REFRESH' => 'Allow users to refresh the anti-spambot task',
+ 'VISUAL_CONFIRM_REFRESH_EXPLAIN' => 'Allows users to request a new anti-spambot task if they are unable to solve the currunt task during registration. Some plugins might not support this option.',
));
// Cookie Settings
@@ -463,7 +463,7 @@ $lang = array_merge($lang, array(
'IP_VALID' => 'Session IP validation',
'IP_VALID_EXPLAIN' => 'Determines how much of the users IP is used to validate a session; All compares the complete address, A.B.C the first x.x.x, A.B the first x.x, None disables checking. On IPv6 addresses A.B.C compares the first 4 blocks and A.B the first 3 blocks.',
'MAX_LOGIN_ATTEMPTS' => 'Maximum number of login attempts',
- 'MAX_LOGIN_ATTEMPTS_EXPLAIN' => 'After this number of failed logins the user needs to additionally solve the CAPTCHA.',
+ 'MAX_LOGIN_ATTEMPTS_EXPLAIN' => 'After this number of failed logins the user needs to additionally solve the anti-spambot task.',
'NO_IP_VALIDATION' => 'None',
'NO_REF_VALIDATION' => 'None',
'PASSWORD_TYPE' => 'Password complexity',
diff --git a/phpBB/language/en/acp/common.php b/phpBB/language/en/acp/common.php
index bca19c7f12..2c549f8130 100644
--- a/phpBB/language/en/acp/common.php
+++ b/phpBB/language/en/acp/common.php
@@ -190,7 +190,7 @@ $lang = array_merge($lang, array(
'ACP_USER_SIG' => 'Signature',
'ACP_USER_WARNINGS' => 'Warnings',
- 'ACP_VC_SETTINGS' => 'CAPTCHA module settings',
+ 'ACP_VC_SETTINGS' => 'Spambot countermeasures',
'ACP_VC_CAPTCHA_DISPLAY' => 'CAPTCHA image preview',
'ACP_VERSION_CHECK' => 'Check for updates',
'ACP_VIEW_ADMIN_PERMISSIONS' => 'View administrative permissions',
@@ -503,7 +503,7 @@ $lang = array_merge($lang, array(
'LOG_CONFIG_SERVER' => 'Altered server settings',
'LOG_CONFIG_SETTINGS' => 'Altered board settings',
'LOG_CONFIG_SIGNATURE' => 'Altered signature settings',
- 'LOG_CONFIG_VISUAL' => 'Altered antibot settings',
+ 'LOG_CONFIG_VISUAL' => 'Altered anti-spambot settings',
'LOG_APPROVE_TOPIC' => 'Approved topic
» %s',
'LOG_BUMP_TOPIC' => 'User bumped topic
» %s',
diff --git a/phpBB/language/en/captcha_qa.php b/phpBB/language/en/captcha_qa.php
index f503a1ac40..42c8df2d6d 100644
--- a/phpBB/language/en/captcha_qa.php
+++ b/phpBB/language/en/captcha_qa.php
@@ -36,7 +36,7 @@ if (empty($lang) || !is_array($lang))
// in a url you again do not need to specify an order e.g., 'Click %sHERE%s' is fine
$lang = array_merge($lang, array(
- 'CAPTCHA_QA' => 'Q&A CAPTCHA',
+ 'CAPTCHA_QA' => 'Q&A',
'CONFIRM_QUESTION_EXPLAIN' => 'This question is a means of preventing automated form submissions by spambots.',
'CONFIRM_QUESTION_WRONG' => 'You have provided an invalid answer to the question.',
@@ -47,7 +47,7 @@ $lang = array_merge($lang, array(
'ANSWER' => 'Answer',
'EDIT_QUESTION' => 'Edit Question',
'QUESTIONS' => 'Questions',
- 'QUESTIONS_EXPLAIN' => 'For every form submission where you have enabled the Q&A CAPTCHA, users will be asked one of the questions specified here. To use this plugin at least one question must be set in the default language. These questions should be easy for your target audience to answer but beyond the ability of a bot capable of running a Google™ search. Using a large and regularly changed set of questions will yield the best results. Enable the strict setting if your question relies on mixed case, punctuation or whitespace.',
+ 'QUESTIONS_EXPLAIN' => 'For every form submission where you have enabled the Q&A plugin, users will be asked one of the questions specified here. To use this plugin at least one question must be set in the default language. These questions should be easy for your target audience to answer but beyond the ability of a bot capable of running a Google™ search. Using a large and regularly changed set of questions will yield the best results. Enable the strict setting if your question relies on mixed case, punctuation or whitespace.',
'QUESTION_DELETED' => 'Question deleted',
'QUESTION_LANG' => 'Language',
'QUESTION_LANG_EXPLAIN' => 'The language this question and its answers are written in.',