diff options
31 files changed, 330 insertions, 206 deletions
diff --git a/build/build.xml b/build/build.xml index 9a04d4efdb..dbf16acfeb 100644 --- a/build/build.xml +++ b/build/build.xml @@ -108,14 +108,8 @@ </target> <target name="docs"> - <!-- only works if you setup phpdoctor: - git clone https://github.com/peej/phpdoctor.git - and then create an executable phpdoctor in your path containing - #!/bin/sh - php -f /path/to/phpdoctor/phpdoc.php $@ - --> - <exec dir="build" - command="phpdoctor phpdoc-phpbb.ini" + <exec dir="." + command="phpBB/vendor/bin/sami.php update build/sami.conf.php" passthru="true" /> </target> diff --git a/build/phpdoc-phpbb.ini b/build/phpdoc-phpbb.ini deleted file mode 100644 index f1a7a4bee5..0000000000 --- a/build/phpdoc-phpbb.ini +++ /dev/null @@ -1,145 +0,0 @@ -; Default configuration file for PHPDoctor - -; This config file will cause PHPDoctor to generate API documentation of -; itself. - - -; PHPDoctor settings -; ----------------------------------------------------------------------------- - -; Names of files to parse. This can be a single filename, or a comma separated -; list of filenames. Wildcards are allowed. - -files = "*.php" - -; Names of files or directories to ignore. This can be a single filename, or a -; comma separated list of filenames. Wildcards are NOT allowed. - -;ignore = "CVS, .svn, .git, _compiled" -ignore = templates_c/,*HTML/default/*,spec/,*config.php*,*CVS/,test_chora.php,testupdate/,cache/,store/,*proSilver/,develop/,includes/utf/data/,includes/captcha/fonts/,install/update/,install/update.new/,files/,*phpinfo.php*,*update_script.php*,*upgrade.php*,*convert.php*,install/converter/,language/de/,script/,*swatch.php*,*test.php*,*test2.php*,*install.php*,*functions_diff.php*,*acp_update.php*,acm_xcache.php - -; The directory to look for files in, if not used the PHPDoctor will look in -; the current directory (the directory it is run from). - -source_path = "../phpBB/" - -; If you do not want PHPDoctor to look in each sub directory for files -; uncomment this line. - -;subdirs = off - -; Set how loud PHPDoctor is as it runs. Quiet mode suppresses all output other -; than warnings and errors. Verbose mode outputs additional messages during -; execution. - -quiet = on -;verbose = on - -; Select the doclet to use for generating output. - -doclet = standard -;doclet = debug - -; The directory to find the doclet in. Doclets control the HTML output of -; phpDoctor and can be modified to suit your needs. They are expected to be -; in a directory named after themselves at the location given. - -;doclet_path = ./doclets - -; Select the formatter to use for generating output. - -;formatter = htmlStandardFormatter - -; The directory to find the formatter in. Formatters convert textual markup -; for use by the doclet. - -;formatter_path = ./formatters - -; The directory to find taglets in. Taglets allow you to make PHPDoctor handle -; new tags and to alter the behavour of existing tags and their output. - -;taglet_path = ./taglets - -; If the code you are parsing does not use package tags or not all elements -; have package tags, use this setting to place unbound elements into a -; particular package. - -default_package = "phpBB" - -use_class_path_as_package = off - -ignore_package_tags = off - -; Specifies the name of a HTML file containing text for the overview -; documentation to be placed on the overview page. The path is relative to -; "source_path" unless an absolute path is given. - -overview = ../README.md - -; Package comments will be looked for in a file named package.html in the same -; directory as the first source file parsed in that package or in the directory -; given below. If package comments are placed in the directory given below then -; they should be named "<packageName>.html". - -package_comment_dir = ./ - -; Parse out global variables and/or global constants? - -;globals = off -;constants = off - -; Generate documentation for all class members - -;private = on - -; Generate documentation for public and protected class members - -;protected = on - -; Generate documentation for only public class members - -;public = on - -; Use the PEAR compatible handling of the docblock first sentence - -;pear_compat = on - -; Standard doclet settings -; ----------------------------------------------------------------------------- - -; The directory to place generated documentation in. If the given path is -; relative to it will be relative to "source_path". - -d = "../build/api/" - -; Specifies the title to be placed in the HTML <title> tag. - -windowtitle = "phpBB3" - -; Specifies the title to be placed near the top of the overview summary file. - -doctitle = "phpBB3 Sourcecode Documentation" - -; Specifies the header text to be placed at the top of each output file. The -; header will be placed to the right of the upper navigation bar. - -header = "phpBB3" - -; Specifies the footer text to be placed at the bottom of each output file. The -; footer will be placed to the right of the lower navigation bar. - -footer = "phpBB3" - -; Specifies the text to be placed at the bottom of each output file. The text -; will be placed at the bottom of the page, below the lower navigation bar. - -;bottom = "This document was generated by <a href="http://peej.github.com/phpdoctor/">PHPDoctor: The PHP Documentation Creator</a>" - -; Create a class tree? - -;tree = off - -; Use GeSHi to include formatted source files in the documentation. PHPDoctor will look in the current doclet directory for a /geshi subdirectory. Unpack the GeSHi archive from http://qbnz.com/highlighter to get this directory - it will contain a php script and a subdirectory with formatting files. - -include_source = off - diff --git a/build/sami.conf.php b/build/sami.conf.php new file mode 100644 index 0000000000..dd57ec8780 --- /dev/null +++ b/build/sami.conf.php @@ -0,0 +1,50 @@ +<?php +/** +* @copyright (c) 2014 phpBB Group +* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2 +*/ + +// Prevent 'Class "acm" does not exist.' exception on removeClass(). +class PhpbbArrayStore extends Sami\Store\ArrayStore +{ + public function removeClass(Sami\Project $project, $name) + { + unset($this->classes[$name]); + } +} + +$iterator = Symfony\Component\Finder\Finder::create() + ->files() + ->name('*.php') + ->in(__DIR__ . '/../phpBB/') + ->notPath('#^cache/#') + ->notPath('#^develop/#') + ->notPath('#^ext/#') + ->notPath('#^vendor/#') + ->notPath('data') +; + +$versions = Sami\Version\GitVersionCollection::create(__DIR__ . '/../') + /* + This would be nice, but currently causes various problems that need + debugging. + ->addFromTags('release-3.0.*') + ->add('develop-olympus', '3.0-next (olympus)') + ->addFromTags('release-3.1.*') + ->add('develop-ascraeus', '3.1-next (ascraeus)') + ->add('develop') + */ + ->add('develop-olympus') + ->add('develop-ascraeus') +; + +return new Sami\Sami($iterator, array( + 'theme' => 'enhanced', + 'versions' => $versions, + 'title' => 'phpBB API Documentation', + 'build_dir' => __DIR__.'/api/output/%version%', + 'cache_dir' => __DIR__.'/api/cache/%version%', + 'default_opened_level' => 2, + // Do not use JsonStore. See https://github.com/fabpot/Sami/issues/79 + 'store' => new PhpbbArrayStore, +)); diff --git a/phpBB/adm/style/install_footer.html b/phpBB/adm/style/install_footer.html index 822ab76313..c3d148966d 100644 --- a/phpBB/adm/style/install_footer.html +++ b/phpBB/adm/style/install_footer.html @@ -10,7 +10,7 @@ </div> <script type="text/javascript" src="{T_JQUERY_LINK}"></script> -<!-- IF S_ALLOW_CDN --><script type="text/javascript">window.jQuery || document.write(unescape('%3Cscript src="{T_ASSETS_PATH}/javascript/jquery.js" type="text/javascript"%3E%3C/script%3E'));</script><!-- ENDIF --> +<!-- IF S_ALLOW_CDN --><script type="text/javascript">window.jQuery || document.write(unescape('%3Cscript src="{T_ASSETS_PATH}/javascript/jquery.min.js" type="text/javascript"%3E%3C/script%3E'));</script><!-- ENDIF --> <script type="text/javascript" src="{T_ASSETS_PATH}/javascript/core.js?assets_version={T_ASSETS_VERSION}"></script> <!-- INCLUDEJS admin.js --> {$SCRIPTS} diff --git a/phpBB/adm/style/overall_footer.html b/phpBB/adm/style/overall_footer.html index 8810414fc2..0f4589f5d4 100644 --- a/phpBB/adm/style/overall_footer.html +++ b/phpBB/adm/style/overall_footer.html @@ -32,7 +32,7 @@ </div> <script type="text/javascript" src="{T_JQUERY_LINK}"></script> -<!-- IF S_ALLOW_CDN --><script type="text/javascript">window.jQuery || document.write(unescape('%3Cscript src="{T_ASSETS_PATH}/javascript/jquery.js?assets_version={T_ASSETS_VERSION}" type="text/javascript"%3E%3C/script%3E'));</script><!-- ENDIF --> +<!-- IF S_ALLOW_CDN --><script type="text/javascript">window.jQuery || document.write(unescape('%3Cscript src="{T_ASSETS_PATH}/javascript/jquery.min.js?assets_version={T_ASSETS_VERSION}" type="text/javascript"%3E%3C/script%3E'));</script><!-- ENDIF --> <script type="text/javascript" src="{T_ASSETS_PATH}/javascript/core.js?assets_version={T_ASSETS_VERSION}"></script> <!-- INCLUDEJS ajax.js --> <!-- INCLUDEJS admin.js --> diff --git a/phpBB/adm/style/simple_footer.html b/phpBB/adm/style/simple_footer.html index d3f2f17bc7..c08fd931a0 100644 --- a/phpBB/adm/style/simple_footer.html +++ b/phpBB/adm/style/simple_footer.html @@ -17,7 +17,7 @@ </div> <script type="text/javascript" src="{T_JQUERY_LINK}"></script> -<!-- IF S_ALLOW_CDN --><script type="text/javascript">window.jQuery || document.write(unescape('%3Cscript src="{T_ASSETS_PATH}/javascript/jquery.js?assets_version={T_ASSETS_VERSION}" type="text/javascript"%3E%3C/script%3E'));</script><!-- ENDIF --> +<!-- IF S_ALLOW_CDN --><script type="text/javascript">window.jQuery || document.write(unescape('%3Cscript src="{T_ASSETS_PATH}/javascript/jquery.min.js?assets_version={T_ASSETS_VERSION}" type="text/javascript"%3E%3C/script%3E'));</script><!-- ENDIF --> <script type="text/javascript" src="{T_ASSETS_PATH}/javascript/core.js?assets_version={T_ASSETS_VERSION}"></script> <!-- EVENT acp_simple_footer_after --> diff --git a/phpBB/assets/javascript/core.js b/phpBB/assets/javascript/core.js index cd633ed2ae..3cb41039cf 100644 --- a/phpBB/assets/javascript/core.js +++ b/phpBB/assets/javascript/core.js @@ -333,7 +333,9 @@ phpbb.ajaxify = function(options) { // Hide the alert even if we refresh the page, in case the user // presses the back button. dark.fadeOut(phpbb.alertTime, function() { - alert.hide(); + if (typeof alert !== 'undefined') { + alert.hide(); + } }); }, res.REFRESH_DATA.time * 1000); // Server specifies time in seconds } diff --git a/phpBB/assets/javascript/jquery.js b/phpBB/assets/javascript/jquery.min.js index 73f33fb3aa..73f33fb3aa 100644 --- a/phpBB/assets/javascript/jquery.js +++ b/phpBB/assets/javascript/jquery.min.js diff --git a/phpBB/common.php b/phpBB/common.php index 4ad669a021..d8375d365b 100644 --- a/phpBB/common.php +++ b/phpBB/common.php @@ -108,11 +108,6 @@ foreach ($phpbb_hook_finder->find() as $hook) @include($phpbb_root_path . 'includes/hooks/' . $hook . '.' . $phpEx); } -if (!$config['use_system_cron']) -{ - $cron = $phpbb_container->get('cron.manager'); -} - /** * Main event which is triggered on every page * diff --git a/phpBB/composer.json b/phpBB/composer.json index a55733b3c0..435d6139e4 100644 --- a/phpBB/composer.json +++ b/phpBB/composer.json @@ -19,6 +19,7 @@ "phpunit/dbunit": "1.3.*", "phpunit/phpunit": "4.1.*", "phing/phing": "2.4.*", + "sami/sami": "1.*", "squizlabs/php_codesniffer": "1.*" } } diff --git a/phpBB/composer.lock b/phpBB/composer.lock index 9e0bcf9771..2213c3789b 100644 --- a/phpBB/composer.lock +++ b/phpBB/composer.lock @@ -3,7 +3,7 @@ "This file locks the dependencies of your project to a known state", "Read more about it at http://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file" ], - "hash": "194c86e9ae52700a8f6c1b10d7b2e4d0", + "hash": "be323c0a1b5baeb83934238033e079ec", "packages": [ { "name": "lusitanian/oauth", @@ -979,6 +979,101 @@ "time": "2013-07-30 22:07:23" }, { + "name": "michelf/php-markdown", + "version": "1.4.1", + "source": { + "type": "git", + "url": "https://github.com/michelf/php-markdown.git", + "reference": "de9a19c7bf352d41cc99ed86c3c0ef17e87394b6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/michelf/php-markdown/zipball/de9a19c7bf352d41cc99ed86c3c0ef17e87394b6", + "reference": "de9a19c7bf352d41cc99ed86c3c0ef17e87394b6", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-lib": "1.4.x-dev" + } + }, + "autoload": { + "psr-0": { + "Michelf": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Michel Fortin", + "email": "michel.fortin@michelf.ca", + "homepage": "http://michelf.ca/", + "role": "Developer" + }, + { + "name": "John Gruber", + "homepage": "http://daringfireball.net/" + } + ], + "description": "PHP Markdown", + "homepage": "http://michelf.ca/projects/php-markdown/", + "keywords": [ + "markdown" + ], + "time": "2014-05-05 02:43:50" + }, + { + "name": "nikic/php-parser", + "version": "v0.9.4", + "source": { + "type": "git", + "url": "https://github.com/nikic/PHP-Parser.git", + "reference": "1e5e280ae88a27effa2ae4aa2bd088494ed8594f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/1e5e280ae88a27effa2ae4aa2bd088494ed8594f", + "reference": "1e5e280ae88a27effa2ae4aa2bd088494ed8594f", + "shasum": "" + }, + "require": { + "php": ">=5.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "0.9-dev" + } + }, + "autoload": { + "psr-0": { + "PHPParser": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Nikita Popov" + } + ], + "description": "A PHP parser written in PHP", + "keywords": [ + "parser", + "php" + ], + "time": "2013-08-25 17:11:40" + }, + { "name": "phing/phing", "version": "2.4.14", "source": { @@ -1469,6 +1564,113 @@ "time": "2014-05-02 07:04:11" }, { + "name": "pimple/pimple", + "version": "v1.0.2", + "source": { + "type": "git", + "url": "https://github.com/fabpot/Pimple.git", + "reference": "ae11e57e8c2bb414b2ff93396dbbfc0eb92feb94" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/fabpot/Pimple/zipball/ae11e57e8c2bb414b2ff93396dbbfc0eb92feb94", + "reference": "ae11e57e8c2bb414b2ff93396dbbfc0eb92feb94", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-0": { + "Pimple": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com", + "homepage": "http://fabien.potencier.org", + "role": "Lead Developer" + } + ], + "description": "Pimple is a simple Dependency Injection Container for PHP 5.3", + "homepage": "http://pimple.sensiolabs.org", + "keywords": [ + "container", + "dependency injection" + ], + "time": "2013-03-08 08:21:40" + }, + { + "name": "sami/sami", + "version": "v1.3", + "source": { + "type": "git", + "url": "https://github.com/fabpot/Sami.git", + "reference": "76f2ed80b3420f7e2f6dcd5b7218b5a5781f4110" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/fabpot/Sami/zipball/76f2ed80b3420f7e2f6dcd5b7218b5a5781f4110", + "reference": "76f2ed80b3420f7e2f6dcd5b7218b5a5781f4110", + "shasum": "" + }, + "require": { + "michelf/php-markdown": "~1.3", + "nikic/php-parser": "0.9.*", + "php": ">=5.3.0", + "pimple/pimple": "1.0.*", + "symfony/console": "~2.1", + "symfony/filesystem": "~2.1", + "symfony/finder": "~2.1", + "symfony/process": "~2.1", + "symfony/yaml": "~2.1", + "twig/twig": "1.*" + }, + "bin": [ + "sami.php" + ], + "type": "application", + "extra": { + "branch-alias": { + "dev-master": "1.3-dev" + } + }, + "autoload": { + "psr-0": { + "Sami": "." + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com", + "homepage": "http://fabien.potencier.org", + "role": "Lead Developer" + } + ], + "description": "Sami, an API documentation generator", + "homepage": "http://sami.sensiolabs.org", + "keywords": [ + "phpdoc" + ], + "time": "2013-11-30 17:16:25" + }, + { "name": "sebastian/comparator", "version": "1.0.0", "source": { diff --git a/phpBB/cron.php b/phpBB/cron.php index 787183f689..f63642faa2 100644 --- a/phpBB/cron.php +++ b/phpBB/cron.php @@ -59,11 +59,7 @@ function do_cron($cron_lock, $run_tasks) // // If DEBUG is defined and cron lock cannot be obtained, a message will be printed. -if ($config['use_system_cron']) -{ - $cron = $phpbb_container->get('cron.manager'); -} -else +if (!$config['use_system_cron']) { $cron_type = request_var('cron_type', ''); @@ -74,6 +70,8 @@ else $cron_lock = $phpbb_container->get('cron.lock_db'); if ($cron_lock->acquire()) { + $cron = $phpbb_container->get('cron.manager'); + if ($config['use_system_cron']) { $run_tasks = $cron->find_all_ready_tasks(); diff --git a/phpBB/includes/functions.php b/phpBB/includes/functions.php index a0e2a46f54..adb6e1a0a0 100644 --- a/phpBB/includes/functions.php +++ b/phpBB/includes/functions.php @@ -4974,7 +4974,7 @@ function page_header($page_title = '', $display_online_list = false, $item_id = 'T_UPLOAD_PATH' => "{$web_path}{$config['upload_path']}/", 'T_STYLESHEET_LINK' => "{$web_path}styles/" . rawurlencode($user->style['style_path']) . '/theme/stylesheet.css?assets_version=' . $config['assets_version'], 'T_STYLESHEET_LANG_LINK' => "{$web_path}styles/" . rawurlencode($user->style['style_path']) . '/theme/' . $user->lang_name . '/stylesheet.css?assets_version=' . $config['assets_version'], - 'T_JQUERY_LINK' => !empty($config['allow_cdn']) && !empty($config['load_jquery_url']) ? $config['load_jquery_url'] : "{$web_path}assets/javascript/jquery.js?assets_version=" . $config['assets_version'], + 'T_JQUERY_LINK' => !empty($config['allow_cdn']) && !empty($config['load_jquery_url']) ? $config['load_jquery_url'] : "{$web_path}assets/javascript/jquery.min.js?assets_version=" . $config['assets_version'], 'S_ALLOW_CDN' => !empty($config['allow_cdn']), 'T_THEME_NAME' => rawurlencode($user->style['style_path']), @@ -5116,7 +5116,8 @@ function page_footer($run_cron = true, $display_template = true, $exit_handler = // Call cron job? if ($call_cron) { - global $cron; + global $phpbb_container; + $cron = $phpbb_container->get('cron.manager'); $task = $cron->find_one_ready_task(); if ($task) diff --git a/phpBB/includes/functions_acp.php b/phpBB/includes/functions_acp.php index 1c4d6966da..9a82ef7ea7 100644 --- a/phpBB/includes/functions_acp.php +++ b/phpBB/includes/functions_acp.php @@ -176,7 +176,7 @@ function adm_page_footer($copyright_html = true) 'TRANSLATION_INFO' => (!empty($user->lang['TRANSLATION_INFO'])) ? $user->lang['TRANSLATION_INFO'] : '', 'S_COPYRIGHT_HTML' => $copyright_html, 'CREDIT_LINE' => $user->lang('POWERED_BY', '<a href="https://www.phpbb.com/">phpBB</a>® Forum Software © phpBB Group'), - 'T_JQUERY_LINK' => !empty($config['allow_cdn']) && !empty($config['load_jquery_url']) ? $config['load_jquery_url'] : "{$phpbb_root_path}assets/javascript/jquery.js", + 'T_JQUERY_LINK' => !empty($config['allow_cdn']) && !empty($config['load_jquery_url']) ? $config['load_jquery_url'] : "{$phpbb_root_path}assets/javascript/jquery.min.js", 'S_ALLOW_CDN' => !empty($config['allow_cdn']), 'VERSION' => $config['version']) ); diff --git a/phpBB/install/index.php b/phpBB/install/index.php index 66c8559e98..85fedaddfc 100644 --- a/phpBB/install/index.php +++ b/phpBB/install/index.php @@ -409,7 +409,7 @@ class module 'L_SKIP' => $lang['SKIP'], 'PAGE_TITLE' => $this->get_page_title(), 'T_IMAGE_PATH' => htmlspecialchars($phpbb_admin_path) . 'images/', - 'T_JQUERY_LINK' => $path . '/../../assets/javascript/jquery.js', + 'T_JQUERY_LINK' => $path . '/../../assets/javascript/jquery.min.js', 'S_CONTENT_DIRECTION' => $lang['DIRECTION'], 'S_CONTENT_FLOW_BEGIN' => ($lang['DIRECTION'] == 'ltr') ? 'left' : 'right', diff --git a/phpBB/language/en/common.php b/phpBB/language/en/common.php index 982ca4cf5a..30b3078a41 100644 --- a/phpBB/language/en/common.php +++ b/phpBB/language/en/common.php @@ -167,7 +167,8 @@ $lang = array_merge($lang, array( 'CONGRATULATIONS' => 'Congratulations to', 'CONNECTION_FAILED' => 'Connection failed.', 'CONNECTION_SUCCESS' => 'Connection was successful!', - 'CONTACT_USER' => 'Contact', + 'CONTACT' => 'Contact', + 'CONTACT_USER' => 'Contact %s', 'COOKIES_DELETED' => 'All board cookies successfully deleted.', 'CURRENT_TIME' => 'It is currently %s', @@ -664,7 +665,7 @@ $lang = array_merge($lang, array( 'SELECT_DESTINATION_FORUM' => 'Please select a destination forum', 'SELECT_FORUM' => 'Select a forum', 'SEND_EMAIL' => 'Email', // Used for submit buttons - 'SEND_EMAIL_USER' => 'Email', // Used as: {L_SEND_EMAIL_USER} {USERNAME} -> Email UserX + 'SEND_EMAIL_USER' => 'Email %s', 'SEND_PRIVATE_MESSAGE' => 'Send private message', 'SETTINGS' => 'Settings', 'SIGNATURE' => 'Signature', diff --git a/phpBB/memberlist.php b/phpBB/memberlist.php index 51171a0a74..2001c816eb 100644 --- a/phpBB/memberlist.php +++ b/phpBB/memberlist.php @@ -966,8 +966,8 @@ switch ($mode) if ($user_id) { $template->assign_vars(array( - 'S_SEND_USER' => true, - 'USERNAME' => $row['username'], + 'S_SEND_USER' => true, + 'L_SEND_EMAIL_USER' => $user->lang('SEND_EMAIL_USER', $row['username']), 'L_EMAIL_BODY_EXPLAIN' => $user->lang['EMAIL_BODY_EXPLAIN'], 'S_POST_ACTION' => append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=email&u=' . $user_id)) @@ -1782,7 +1782,7 @@ function show_profile($data, $user_notes_enabled = false, $warn_user_enabled = f 'AGE' => $age, 'RANK_TITLE' => $rank_title, 'JOINED' => $user->format_date($data['user_regdate']), - 'LAST_ACTIVE' => (empty($last_active)) ? ' - ' : $user->format_date($last_active), + 'LAST_ACTIVE' => (empty($last_active)) ? ' - ' : $user->format_date($last_active), 'POSTS' => ($data['user_posts']) ? $data['user_posts'] : 0, 'WARNINGS' => isset($data['user_warnings']) ? $data['user_warnings'] : 0, @@ -1802,7 +1802,7 @@ function show_profile($data, $user_notes_enabled = false, $warn_user_enabled = f 'S_WARNINGS' => ($auth->acl_getf_global('m_') || $auth->acl_get('m_warn')) ? true : false, - 'U_SEARCH_USER' => ($auth->acl_get('u_search')) ? append_sid("{$phpbb_root_path}search.$phpEx", "author_id=$user_id&sr=posts") : '', + 'U_SEARCH_USER' => ($auth->acl_get('u_search')) ? append_sid("{$phpbb_root_path}search.$phpEx", "author_id=$user_id&sr=posts") : '', 'U_NOTES' => ($user_notes_enabled && $auth->acl_getf_global('m_')) ? append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=notes&mode=user_notes&u=' . $user_id, true, $user->session_id) : '', 'U_WARN' => ($warn_user_enabled && $auth->acl_get('m_warn')) ? append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=warn&mode=warn_user&u=' . $user_id, true, $user->session_id) : '', 'U_PM' => ($config['allow_privmsg'] && $auth->acl_get('u_sendpm') && $can_receive_pm) ? append_sid("{$phpbb_root_path}ucp.$phpEx", 'i=pm&mode=compose&u=' . $user_id) : '', @@ -1812,7 +1812,9 @@ function show_profile($data, $user_notes_enabled = false, $warn_user_enabled = f 'USER_JABBER' => $data['user_jabber'], 'USER_JABBER_IMG' => ($data['user_jabber']) ? $user->img('icon_contact_jabber', $data['user_jabber']) : '', - 'L_VIEWING_PROFILE' => sprintf($user->lang['VIEWING_PROFILE'], $username), + 'L_SEND_EMAIL_USER' => $user->lang('SEND_EMAIL_USER', $username), + 'L_CONTACT_USER' => $user->lang('CONTACT_USER', $username), + 'L_VIEWING_PROFILE' => $user->lang('VIEWING_PROFILE', $username), ); /** diff --git a/phpBB/phpbb/extension/manager.php b/phpBB/phpbb/extension/manager.php index b22fbf07a6..604f680af2 100644 --- a/phpBB/phpbb/extension/manager.php +++ b/phpBB/phpbb/extension/manager.php @@ -409,8 +409,13 @@ class manager } $iterator = new \RecursiveIteratorIterator( - new \RecursiveDirectoryIterator($this->phpbb_root_path . 'ext/', \FilesystemIterator::NEW_CURRENT_AND_KEY | \FilesystemIterator::FOLLOW_SYMLINKS), - \RecursiveIteratorIterator::SELF_FIRST); + new \phpbb\recursive_dot_prefix_filter_iterator( + new \RecursiveDirectoryIterator($this->phpbb_root_path . 'ext/', \FilesystemIterator::NEW_CURRENT_AND_KEY | \FilesystemIterator::FOLLOW_SYMLINKS) + ), + \RecursiveIteratorIterator::SELF_FIRST + ); + $iterator->setMaxDepth(2); + foreach ($iterator as $file_info) { if ($file_info->isFile() && $file_info->getFilename() == 'ext.' . $this->php_ext) diff --git a/phpBB/styles/prosilver/template/memberlist_email.html b/phpBB/styles/prosilver/template/memberlist_email.html index 218402a9e9..78d0eba5a8 100644 --- a/phpBB/styles/prosilver/template/memberlist_email.html +++ b/phpBB/styles/prosilver/template/memberlist_email.html @@ -1,6 +1,6 @@ <!-- INCLUDE overall_header.html --> -<h2 class="titlespace">{L_SEND_EMAIL_USER} {USERNAME}</h2> +<h2 class="titlespace">{L_SEND_EMAIL_USER}</h2> <form method="post" action="{S_POST_ACTION}" id="post"> diff --git a/phpBB/styles/prosilver/template/memberlist_view.html b/phpBB/styles/prosilver/template/memberlist_view.html index a8b1e972fe..ffa57f9cc8 100644 --- a/phpBB/styles/prosilver/template/memberlist_view.html +++ b/phpBB/styles/prosilver/template/memberlist_view.html @@ -60,10 +60,10 @@ <div class="inner"> <div class="column1"> - <h3>{L_CONTACT_USER} {USERNAME}</h3> + <h3>{L_CONTACT_USER}</h3> <dl class="details"> - <!-- IF U_EMAIL --><dt>{L_EMAIL_ADDRESS}{L_COLON}</dt> <dd><a href="{U_EMAIL}">{L_SEND_EMAIL_USER} {USERNAME}</a></dd><!-- ENDIF --> + <!-- IF U_EMAIL --><dt>{L_EMAIL_ADDRESS}{L_COLON}</dt> <dd><a href="{U_EMAIL}">{L_SEND_EMAIL_USER}</a></dd><!-- ENDIF --> <!-- IF U_PM --><dt>{L_PM}{L_COLON}</dt> <dd><a href="{U_PM}">{L_SEND_PRIVATE_MESSAGE}</a></dd><!-- ENDIF --> <!-- IF U_JABBER and S_JABBER_ENABLED --><dt>{L_JABBER}{L_COLON}</dt> <dd><a href="{U_JABBER}" onclick="popup(this.href, 550, 320); return false;">{L_SEND_JABBER_MESSAGE}</a></dd><!-- ELSEIF USER_JABBER --><dt>{L_JABBER}{L_COLON}</dt> <dd>{USER_JABBER}</dd><!-- ENDIF --> <!-- BEGIN custom_fields --> diff --git a/phpBB/styles/prosilver/template/overall_footer.html b/phpBB/styles/prosilver/template/overall_footer.html index a43dd3c8a6..28ed215662 100644 --- a/phpBB/styles/prosilver/template/overall_footer.html +++ b/phpBB/styles/prosilver/template/overall_footer.html @@ -38,7 +38,7 @@ </div> <script type="text/javascript" src="{T_JQUERY_LINK}"></script> -<!-- IF S_ALLOW_CDN --><script type="text/javascript">window.jQuery || document.write(unescape('%3Cscript src="{T_ASSETS_PATH}/javascript/jquery.js?assets_version={T_ASSETS_VERSION}" type="text/javascript"%3E%3C/script%3E'));</script><!-- ENDIF --> +<!-- IF S_ALLOW_CDN --><script type="text/javascript">window.jQuery || document.write(unescape('%3Cscript src="{T_ASSETS_PATH}/javascript/jquery.min.js?assets_version={T_ASSETS_VERSION}" type="text/javascript"%3E%3C/script%3E'));</script><!-- ENDIF --> <script type="text/javascript" src="{T_ASSETS_PATH}/javascript/core.js?assets_version={T_ASSETS_VERSION}"></script> <!-- INCLUDEJS forum_fn.js --> <!-- INCLUDEJS ajax.js --> diff --git a/phpBB/styles/prosilver/template/simple_footer.html b/phpBB/styles/prosilver/template/simple_footer.html index 02e24ab796..d5d0f45fa9 100644 --- a/phpBB/styles/prosilver/template/simple_footer.html +++ b/phpBB/styles/prosilver/template/simple_footer.html @@ -21,7 +21,7 @@ </div> <script type="text/javascript" src="{T_JQUERY_LINK}"></script> -<!-- IF S_ALLOW_CDN --><script type="text/javascript">window.jQuery || document.write(unescape('%3Cscript src="{T_ASSETS_PATH}/javascript/jquery.js?assets_version={T_ASSETS_VERSION}" type="text/javascript"%3E%3C/script%3E'));</script><!-- ENDIF --> +<!-- IF S_ALLOW_CDN --><script type="text/javascript">window.jQuery || document.write(unescape('%3Cscript src="{T_ASSETS_PATH}/javascript/jquery.min.js?assets_version={T_ASSETS_VERSION}" type="text/javascript"%3E%3C/script%3E'));</script><!-- ENDIF --> <script type="text/javascript" src="{T_ASSETS_PATH}/javascript/core.js?assets_version={T_ASSETS_VERSION}"></script> <!-- INCLUDEJS forum_fn.js --> <!-- INCLUDEJS ajax.js --> diff --git a/phpBB/styles/prosilver/template/ucp_pm_viewmessage.html b/phpBB/styles/prosilver/template/ucp_pm_viewmessage.html index 81171e97b2..f58b334a60 100644 --- a/phpBB/styles/prosilver/template/ucp_pm_viewmessage.html +++ b/phpBB/styles/prosilver/template/ucp_pm_viewmessage.html @@ -36,7 +36,7 @@ <!-- EVENT ucp_pm_viewmessage_contact_fields_before --> <!-- IF .contact --> <dd class="profile-contact"> - <strong>{L_CONTACT_USER}{L_COLON}</strong> + <strong>{L_CONTACT}{L_COLON}</strong> <div class="dropdown-container dropdown-left"> <a href="#" class="dropdown-trigger"><span class="imageset icon_contact"></span></a> <div class="dropdown hidden"> diff --git a/phpBB/styles/prosilver/template/viewtopic_body.html b/phpBB/styles/prosilver/template/viewtopic_body.html index 17c73b82f4..18fa7ce783 100644 --- a/phpBB/styles/prosilver/template/viewtopic_body.html +++ b/phpBB/styles/prosilver/template/viewtopic_body.html @@ -149,7 +149,7 @@ <!-- EVENT viewtopic_body_contact_fields_before --> <!-- IF not S_IS_BOT and .postrow.contact --> <dd class="profile-contact"> - <strong>{L_CONTACT_USER}{L_COLON}</strong> + <strong>{L_CONTACT}{L_COLON}</strong> <div class="dropdown-container dropdown-left"> <a href="#" class="dropdown-trigger"><span class="imageset icon_contact"></span></a> <div class="dropdown hidden"> diff --git a/phpBB/styles/prosilver/theme/bidi.css b/phpBB/styles/prosilver/theme/bidi.css index 0d5e1cf829..c2d15b9ef2 100644 --- a/phpBB/styles/prosilver/theme/bidi.css +++ b/phpBB/styles/prosilver/theme/bidi.css @@ -112,6 +112,12 @@ padding-right: 10px; } +/* Responsive breadcrumbs +----------------------------------------*/ +.rtl .breadcrumbs .crumb { + float: right; +} + /* Table styles ----------------------------------------*/ .rtl table.table1 thead th { @@ -289,7 +295,7 @@ ul.linklist li.small-icon > a, ul.linklist li.breadcrumbs span:first-child > a { .rtl ul.topiclist dt, .rtl li.header dt { float: right; margin-right: 0; - margin-left: -410px; + margin-left: -440px; } .rtl ul.topiclist.missing-column dt { @@ -309,7 +315,7 @@ ul.linklist li.small-icon > a, ul.linklist li.breadcrumbs span:first-child > a { .rtl ul.topiclist dt .list-inner { margin-right: 0; - margin-left: 410px; + margin-left: 440px; } .rtl ul.topiclist.missing-column dt .list-inner { @@ -338,6 +344,11 @@ ul.linklist li.small-icon > a, ul.linklist li.breadcrumbs span:first-child > a { border-left: none; } +.rtl ul.topiclist dfn { + left: auto; + right: -999px; +} + .rtl ul.topiclist li.row dt a.subforum { padding-right: 12px; background-position: right; diff --git a/phpBB/styles/prosilver/theme/colours.css b/phpBB/styles/prosilver/theme/colours.css index f43dfcfcce..acb2df92a0 100644 --- a/phpBB/styles/prosilver/theme/colours.css +++ b/phpBB/styles/prosilver/theme/colours.css @@ -1161,7 +1161,6 @@ input.disabled { } .dropdown-extended .footer { - padding: 5px 0; border-top-style: solid; border-top-width: 1px; } diff --git a/phpBB/styles/prosilver/theme/common.css b/phpBB/styles/prosilver/theme/common.css index 94fad55ae9..b90a53b4e8 100644 --- a/phpBB/styles/prosilver/theme/common.css +++ b/phpBB/styles/prosilver/theme/common.css @@ -1056,7 +1056,7 @@ form > p.post-notice strong { } .dropdown-extended ul li { - padding: 10px; + padding: 0; margin: 0; float: none; border-bottom: 1px solid; @@ -1098,6 +1098,14 @@ form > p.post-notice strong { font-size: 1.1em; } +.dropdown-extended ul li a{ + padding: 10px; +} + +.dropdown-extended .footer > a { + padding: 5px 0; +} + .dropdown-extended ul li a, .notification_list dt > a, .dropdown-extended .footer > a { display: block; text-decoration: none; diff --git a/phpBB/styles/subsilver2/template/memberlist_email.html b/phpBB/styles/subsilver2/template/memberlist_email.html index 88289e53bf..7693a4167f 100644 --- a/phpBB/styles/subsilver2/template/memberlist_email.html +++ b/phpBB/styles/subsilver2/template/memberlist_email.html @@ -3,10 +3,10 @@ <div id="pagecontent"> <form action="{S_POST_ACTION}" method="post" name="postform"> - + <table class="tablebg" width="100%" cellspacing="1"> - <tr> - <th colspan="2">{L_SEND_EMAIL_USER} {USERNAME}</th> + <tr> + <th colspan="2">{L_SEND_EMAIL_USER}</th> </tr> <!-- IF ERROR_MESSAGE --> <tr> @@ -14,11 +14,11 @@ </tr> <!-- ENDIF --> <!-- IF S_SEND_USER --> - <tr> + <tr> <td class="row1" width="35%"><b class="genmed">{L_RECIPIENT}</b></td> <td class="row2" width="65%"><b class="genmed">{USERNAME}</b></td> </tr> - <tr> + <tr> <td class="row1" width="35%"><b class="genmed">{L_SUBJECT}</b></td> <td class="row2"><input class="post" type="text" name="subject" size="50" tabindex="2" value="{SUBJECT}" /></td> </tr> @@ -27,24 +27,24 @@ <td class="row1" width="35%"><b class="genmed">{L_EMAIL_ADDRESS}</b></td> <td class="row2"><input class="post" type="email" name="email" size="50" maxlength="100" value="{EMAIL}" /></td> </tr> - <tr> + <tr> <td class="row1" width="35%"><b class="genmed">{L_REAL_NAME}</b></td> <td class="row2"><input class="post" type="text" name="name" size="50" value="{NAME}" /></td> </tr> - <tr> + <tr> <td class="row1" width="35%"><b class="genmed">{L_DEST_LANG}</b><br /><span class="gensmall">{L_DEST_LANG_EXPLAIN}</span></td> <td class="row2"><select name="lang">{S_LANG_OPTIONS}</select></td> </tr> <!-- ENDIF --> - <tr> + <tr> <td class="row1" valign="top"><b class="genmed">{L_MESSAGE_BODY}</b><br /><span class="gensmall">{L_EMAIL_BODY_EXPLAIN}</span></td> <td class="row2"><textarea class="post" name="message" rows="15" cols="76" tabindex="3">{MESSAGE}</textarea></td> </tr> - <tr> + <tr> <td class="row1" valign="top"><span class="gen"><b>{L_OPTIONS}</b></span></td> <td class="row2"> <table cellspacing="0" cellpadding="1" border="0"> - <tr> + <tr> <td><input type="checkbox" class="radio" name="cc_email" value="1" checked="checked" /></td> <td class="gen">{L_CC_EMAIL}</td> </tr> @@ -57,7 +57,7 @@ </table> {S_FORM_TOKEN} - + </form> </div> diff --git a/phpBB/styles/subsilver2/template/memberlist_view.html b/phpBB/styles/subsilver2/template/memberlist_view.html index 4c8014a370..550643ff03 100644 --- a/phpBB/styles/subsilver2/template/memberlist_view.html +++ b/phpBB/styles/subsilver2/template/memberlist_view.html @@ -104,7 +104,7 @@ </td> </tr> <tr> - <td class="cat" align="center"><h4>{L_CONTACT_USER}</h4></td> + <td class="cat" align="center"><h4>{L_CONTACT}</h4></td> <td class="cat" align="center"><h4>{L_ABOUT_USER}</h4></td> </tr> <!-- EVENT memberlist_view_contact_before --> diff --git a/phpBB/styles/subsilver2/template/overall_footer.html b/phpBB/styles/subsilver2/template/overall_footer.html index 200401eeda..42ee17f2ed 100644 --- a/phpBB/styles/subsilver2/template/overall_footer.html +++ b/phpBB/styles/subsilver2/template/overall_footer.html @@ -16,7 +16,7 @@ </div> <script type="text/javascript" src="{T_JQUERY_LINK}"></script> -<!-- IF S_ALLOW_CDN --><script type="text/javascript">window.jQuery || document.write(unescape('%3Cscript src="{T_ASSETS_PATH}/javascript/jquery.js?assets_version={T_ASSETS_VERSION}" type="text/javascript"%3E%3C/script%3E'));</script><!-- ENDIF --> +<!-- IF S_ALLOW_CDN --><script type="text/javascript">window.jQuery || document.write(unescape('%3Cscript src="{T_ASSETS_PATH}/javascript/jquery.min.js?assets_version={T_ASSETS_VERSION}" type="text/javascript"%3E%3C/script%3E'));</script><!-- ENDIF --> <script type="text/javascript" src="{T_ASSETS_PATH}/javascript/core.js?assets_version={T_ASSETS_VERSION}"></script> <!-- EVENT overall_footer_after --> diff --git a/phpBB/styles/subsilver2/template/simple_footer.html b/phpBB/styles/subsilver2/template/simple_footer.html index 6a9c3096bc..d69c56fb8c 100644 --- a/phpBB/styles/subsilver2/template/simple_footer.html +++ b/phpBB/styles/subsilver2/template/simple_footer.html @@ -6,7 +6,7 @@ </div> <script type="text/javascript" src="{T_JQUERY_LINK}"></script> -<!-- IF S_ALLOW_CDN --><script type="text/javascript">window.jQuery || document.write(unescape('%3Cscript src="{T_ASSETS_PATH}/javascript/jquery.js?assets_version={T_ASSETS_VERSION}" type="text/javascript"%3E%3C/script%3E'));</script><!-- ENDIF --> +<!-- IF S_ALLOW_CDN --><script type="text/javascript">window.jQuery || document.write(unescape('%3Cscript src="{T_ASSETS_PATH}/javascript/jquery.min.js?assets_version={T_ASSETS_VERSION}" type="text/javascript"%3E%3C/script%3E'));</script><!-- ENDIF --> <!-- EVENT simple_footer_after --> |