mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-09 16:05:00 +02:00
Merge branch 'develop-olympus' into develop
* develop-olympus: [ticket/9880] Change "antibot" to "anti-spambot". [ticket/9696] Surpress is_dir() notice when using SQLite with open_basedir. [ticket/9880] Changing the term 'CAPTCHA' to something more obvious. [task/phing-build] Automatically trigger build_diff [task/phing-build] Added a build.xml configuration for phing.
This commit is contained in:
commit
f15446fe39
149
build/build.xml
Normal file
149
build/build.xml
Normal file
@ -0,0 +1,149 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<project name="phpBB" description="The phpBB forum software" default="all" basedir="../">
|
||||
<!-- a few settings for the build -->
|
||||
<property name="newversion" value="3.0.8" />
|
||||
<property name="prevversion" value="3.0.7-PL1" />
|
||||
<property name="olderversions" value="3.0.2, 3.0.3, 3.0.4, 3.0.5, 3.0.6" />
|
||||
<!-- no configuration should be needed beyond this point -->
|
||||
|
||||
<property name="oldversions" value="${olderversions}, ${prevversion}" />
|
||||
<property name="versions" value="${oldversions}, ${newversion}" />
|
||||
|
||||
<!-- These are the main targets which you will probably want to use -->
|
||||
<target name="package" depends="clean,prepare,create-package" />
|
||||
<target name="all" depends="clean,prepare,test,create-package" />
|
||||
|
||||
<target name="prepare">
|
||||
<mkdir dir="build/logs" />
|
||||
<mkdir dir="build/api" />
|
||||
<mkdir dir="build/codebrowser" />
|
||||
<mkdir dir="build/coverage" />
|
||||
<mkdir dir="build/cpd" />
|
||||
<mkdir dir="build/dependencies" />
|
||||
<mkdir dir="build/new_version" />
|
||||
<mkdir dir="build/new_version/files" />
|
||||
<mkdir dir="build/new_version/patches" />
|
||||
<mkdir dir="build/new_version/release_files" />
|
||||
<mkdir dir="build/new_version/update" />
|
||||
<mkdir dir="build/old_versions" />
|
||||
<mkdir dir="build/save" />
|
||||
</target>
|
||||
|
||||
<target name="clean">
|
||||
<delete dir="build/logs" />
|
||||
<delete dir="build/api" />
|
||||
<delete dir="build/codebrowser" />
|
||||
<delete dir="build/coverage" />
|
||||
<delete dir="build/cpd" />
|
||||
<delete dir="build/dependencies" />
|
||||
<delete dir="build/new_version" />
|
||||
<delete dir="build/old_versions" />
|
||||
<delete dir="build/save" />
|
||||
</target>
|
||||
|
||||
<target name="test">
|
||||
<exec dir="tests"
|
||||
command="phpunit --log-junit ../build/logs/phpunit.xml
|
||||
--coverage-clover ../build/logs/clover.xml
|
||||
--coverage-html ../build/coverage
|
||||
phpbb_all_tests all_tests.php"
|
||||
passthru="true" />
|
||||
|
||||
|
||||
<!-- Does not allow changing the working directory to tests/
|
||||
so this approach does not work for us unfortunately
|
||||
<phpunit codecoverage="true" haltonfailure="true">
|
||||
<formatter todir="build/logs" type="xml"/>
|
||||
<batchtest>
|
||||
<fileset dir="tests">
|
||||
<include name="all_tests.php"/>
|
||||
</fileset>
|
||||
</batchtest>
|
||||
</phpunit>
|
||||
-->
|
||||
</target>
|
||||
|
||||
<target name="old-version-diffs">
|
||||
<foreach list="${oldversions}" param="version" target="old-version-diff" />
|
||||
</target>
|
||||
|
||||
<!-- This target retrieves an old version from the git tag release-${version}
|
||||
and creates a diff between that release and the new one -->
|
||||
<target name="old-version-diff">
|
||||
<echo msg="Retrieving version ${version}" />
|
||||
<mkdir dir="build/old_versions/release-${version}" />
|
||||
|
||||
<phingcall target="export">
|
||||
<property name="revision" value="release-${version}" />
|
||||
<property name="dir" value="build/old_versions/release-${version}" />
|
||||
</phingcall>
|
||||
|
||||
<phingcall target="clean-diff-dir">
|
||||
<property name="dir" value="build/old_versions/release-${version}" />
|
||||
</phingcall>
|
||||
|
||||
<exec dir="build/old_versions" command="diff -crNEBwd release-${version} release-${newversion} >
|
||||
../new_version/patches/phpBB-${version}_to_${newversion}.patch" escape="false" />
|
||||
</target>
|
||||
|
||||
<target name="prepare-new-version">
|
||||
<!-- select the currently checked out commit (HEAD) for packaging -->
|
||||
<mkdir dir="build/new_version/phpBB3" />
|
||||
<phingcall target="export">
|
||||
<property name="revision" value="HEAD" />
|
||||
<property name="dir" value="build/new_version/phpBB3" />
|
||||
</phingcall>
|
||||
|
||||
<!-- copy into directory for diffs -->
|
||||
<exec dir="build" command="cp -rp new_version/phpBB3 old_versions/release-${newversion}" />
|
||||
<!-- and clean up -->
|
||||
<phingcall target="clean-diff-dir">
|
||||
<property name="dir" value="build/old_versions/release-${newversion}" />
|
||||
</phingcall>
|
||||
|
||||
<!-- create an empty config.php file (not for diffs) -->
|
||||
<touch file="build/new_version/phpBB3/config.php" />
|
||||
|
||||
</target>
|
||||
|
||||
<target name="create-package" depends="prepare-new-version,old-version-diffs">
|
||||
<exec dir="build" command="php -f package.php '${versions}' > logs/package.log" escape="false" />
|
||||
<exec dir="build" command="php -f build_diff.php '${prevversion}' '${newversion}' > logs/build_diff.log" escape="false" />
|
||||
</target>
|
||||
|
||||
<!--
|
||||
This target can be called using phingcall to retrieve a clean
|
||||
checkout of a commit from git. It will only export the phpBB directory.
|
||||
The properties revision and dir are required.
|
||||
This target will remove directories that are not needed in distribution
|
||||
and set correct permissions.
|
||||
-->
|
||||
<target name="export">
|
||||
<exec dir="phpBB"
|
||||
command="git archive ${revision} | tar -x -C ../${dir}"
|
||||
checkreturn="true" />
|
||||
<delete file="${dir}/config.php" />
|
||||
<delete dir="${dir}/develop" />
|
||||
<delete dir="${dir}/install/data" />
|
||||
|
||||
<echo msg="Setting permissions for checkout of ${revision} in ${dir}" />
|
||||
<!-- set permissions of all files to 644, directories to 755 -->
|
||||
<exec dir="${dir}" command="find -type f|xargs chmod 644" escape="false" />
|
||||
<exec dir="${dir}" command="find -type d|xargs chmod 755" escape="false" />
|
||||
<!-- set permissions of some directories to 777 -->
|
||||
<chmod mode="0777" file="${dir}/cache" />
|
||||
<chmod mode="0777" file="${dir}/store" />
|
||||
<chmod mode="0777" file="${dir}/files" />
|
||||
<chmod mode="0777" file="${dir}/images/avatars/upload" />
|
||||
</target>
|
||||
|
||||
<target name="clean-diff-dir">
|
||||
<delete dir="${dir}/cache" />
|
||||
<delete dir="${dir}/docs" />
|
||||
<delete dir="${dir}/files" />
|
||||
<delete dir="${dir}/install" />
|
||||
<delete dir="${dir}/store" />
|
||||
</target>
|
||||
|
||||
</project>
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
@ -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)
|
||||
|
@ -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");
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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 <em>CAPTCHA</em>, 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; <samp>All</samp> compares the complete address, <samp>A.B.C</samp> the first x.x.x, <samp>A.B</samp> the first x.x, <samp>None</samp> disables checking. On IPv6 addresses <samp>A.B.C</samp> compares the first 4 blocks and <samp>A.B</samp> 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',
|
||||
|
@ -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' => '<strong>Altered server settings</strong>',
|
||||
'LOG_CONFIG_SETTINGS' => '<strong>Altered board settings</strong>',
|
||||
'LOG_CONFIG_SIGNATURE' => '<strong>Altered signature settings</strong>',
|
||||
'LOG_CONFIG_VISUAL' => '<strong>Altered antibot settings</strong>',
|
||||
'LOG_CONFIG_VISUAL' => '<strong>Altered anti-spambot settings</strong>',
|
||||
|
||||
'LOG_APPROVE_TOPIC' => '<strong>Approved topic</strong><br />» %s',
|
||||
'LOG_BUMP_TOPIC' => '<strong>User bumped topic</strong><br />» %s',
|
||||
|
@ -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.',
|
||||
|
Loading…
x
Reference in New Issue
Block a user