1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-09-14 18:14:17 +02:00

Compare commits

...

966 Commits

Author SHA1 Message Date
Joas Schilling
4dc26274bf [prep-release-3.1.0-RC2] Add changelog for 3.1.0-RC2 2014-07-11 16:07:09 +02:00
Joas Schilling
166c3988ff [prep-release-3.1.0-RC2] Prepare Changelog 2014-07-11 16:05:38 +02:00
Joas Schilling
4449793b07 [prep-release-3.1.0-RC2] Add migration for 3.1.0-RC2 2014-07-11 16:04:27 +02:00
Joas Schilling
c0e0011b10 [prep-release-3.1.0-RC2] Update version to 3.1.0-RC2 2014-07-11 16:03:44 +02:00
Tristan Darricau
dd78b564e5 Merge pull request #2723 from nickvergessen/ticket/12839
[ticket/12839] Include update related templates and assets in the package

* nickvergessen/ticket/12839:
  [ticket/12839] Include update related templates and assets in the package
2014-07-11 15:53:37 +02:00
Andreas Fischer
35588c20bd Merge pull request #2713 from n-aleha/ticket/12768
[ticket/12768] 'NOTIFICATION_REPORT_CLOSED' entry has wrong indentation

* n-aleha/ticket/12768:
  [ticket/12768] More fixes in language files
  [ticket/12768] 'NOTIFICATION_REPORT_CLOSED' entry has wrong indentation
2014-07-11 12:11:14 +02:00
Andreas Fischer
1a1fb4a915 Merge branch 'develop-olympus' into develop-ascraeus
* develop-olympus:
  [ticket/12120] Remove imkingdavid from active authors

Conflicts:
	phpBB/docs/AUTHORS
2014-07-11 12:03:02 +02:00
Andreas Fischer
a58cc394bc Merge pull request #2716 from marc1706/ticket/12120
[ticket/12120] Remove imkingdavid from active authors

* marc1706/ticket/12120:
  [ticket/12120] Remove imkingdavid from active authors
2014-07-11 12:00:02 +02:00
Andreas Fischer
248b11c4db Merge pull request #2701 from Nicofuma/ticket/12818
[ticket/12818] Deleting a log entry in MCP produces a General error

* Nicofuma/ticket/12818:
  [ticket/12818] Use assertGreaterThanOrEqual in the tests
  [ticket/12818] Don't use the id for i=
  [ticket/12818] Add tests
  [ticket/12818] Fix the conditions in the call to $log->delete() in mcp_logs
2014-07-11 11:53:38 +02:00
Andreas Fischer
b2a883d504 Merge pull request #2671 from Nicofuma/ticket/12775
[ticket/12775] Replace functions_container with a container_builder class.

* Nicofuma/ticket/12775: (34 commits)
  [ticket/12775] Set dbal.conn.driver as synthetic during installation
  [ticket/12775] Add the definition of dbal.conn in fixtures/config/services.yml
  [ticket/12775] Inject the connection when created in the container
  [ticket/12775] Extract the vars later in install/install_update.php
  [ticket/12775] Rename config_php_handler to config_php_file container_builder
  [ticket/12775] Set defined_vars as a property of config_php_file
  [ticket/12775] Fix doc blocks in the container builder
  [ticket/12775] Remove useless includes of config.php
  [ticket/12775] Move phpbb_convert_30_dbms_to_31 into the config file class
  [ticket/12775] Fix comments
  [ticket/12775] Update doc blocks
  [ticket/12775] Fix container_builder
  [ticket/12775] Rename config_php to config_php_file
  [ticket/12775] Renamed to \phpbb\di\container_builder
  [ticket/12775] Remove the last include of functions_container
  [ticket/12775] Fix unit tests
  [ticket/12775] Add tests for \phpbb\config_php
  [ticket/12775] Add tests for the container factory
  [ticket/12775] Use a field instead of a local var in load_config_var()
  [ticket/12775] Update container and config in install/
  ...
2014-07-11 11:49:51 +02:00
Andreas Fischer
147b942e5c Merge pull request #2711 from n-aleha/ticket/12829
[ticket/12829] Remove check for pgsql 8.3/8.2

* n-aleha/ticket/12829:
  [ticket/12829] Remove check for pgsql 8.3/8.2
2014-07-11 10:17:03 +02:00
Joas Schilling
9f76b3414c [ticket/12839] Include update related templates and assets in the package
PHPBB3-12839
2014-07-11 09:48:49 +02:00
Tristan Darricau
cc0f931473 Merge branch 'develop-olympus' into develop-ascraeus
* develop-olympus:
  [ticket/12695] Add viewtopic language file for parse_attachments in mcp_post
2014-07-10 15:26:27 +02:00
Tristan Darricau
3a11fec5de Merge pull request #2722 from marc1706/ticket/12695
[ticket/12695] Add viewtopic language file for parse_attachments in mcp_...

* marc1706/ticket/12695:
  [ticket/12695] Add viewtopic language file for parse_attachments in mcp_post
2014-07-10 15:25:00 +02:00
Marc Alexander
83f4bd9ee7 [ticket/12695] Add viewtopic language file for parse_attachments in mcp_post
PHPBB3-12695
2014-07-10 14:39:53 +02:00
Joas Schilling
d5fd1ecfc8 Merge pull request #2675 from lucifer4o/ticket/12786
[ticket/12786] Extend profilefield_base_migration.php class

* lucifer4o/ticket/12786:
  [ticket/12786] Correcting some tabs
  [ticket/12786] Array_merge instead copy array parts
  [ticket/12786] Some changes of the comments.
  [ticket/12786] Dixing a typo
  [ticket/12786] Some minor fixes of comments and function naming
  [ticket/12786] Add clean_cpf_db_entries
  [ticket/12786] White spaces found
  [ticket/12786] Add create_language_entries
  [ticket/12786] Add get_custom_field_id
  [ticket/12786] Extend profilefield_base_migration.php class
2014-07-09 17:00:43 +02:00
Tristan Darricau
8de8cbab5e [ticket/12818] Use assertGreaterThanOrEqual in the tests
PHPBB3-12818
2014-07-09 00:12:57 +02:00
Marc Alexander
e68094679e [ticket/12120] Remove imkingdavid from active authors
PHPBB3-12120
2014-07-08 21:20:51 +02:00
Stanislav Atanasov
c468a5d8d4 [ticket/12786] Correcting some tabs
Some tabs needed corection

PHPBB3-12786
2014-07-08 22:01:49 +03:00
Marc Alexander
b132939471 Merge remote-tracking branch 'nickvergessen/ticket/12834' into develop-ascraeus 2014-07-08 18:48:32 +02:00
Joas Schilling
91f5d59f69 Merge pull request #2676 from Nicofuma/ticket/12787
[ticket/12787] Allow the route to say that the referer has to be used.

* Nicofuma/ticket/12787:
  [ticket/12787] Updates phpbb_mock_controller_helper
  [ticket/12787] Add controller_helper::get_current_url()
  [ticket/12787] Remove one app.php when it's both in $path and $web_root_path
  [ticket/12787] Fix the absolute board url
  [ticket/12787] Use a parameter (_referer) instead of the Referer header
  [ticket/12099] Add unit tests for get_web_root_path_from_ajax_referer()
  [ticket/12099] Remove config again
  [ticket/12099] Correctly fix the path when performing AJAX requests
  [ticket/12099] Add request argument to path_helper service
2014-07-08 18:09:41 +02:00
Joas Schilling
e3e236da72 [ticket/12834] Correctly match directories in session page
Also clean path before working with it

PHPBB3-12834
2014-07-08 17:53:32 +02:00
Joas Schilling
633a517791 [ticket/12834] Fix tests to match what we want to have
PHPBB3-12834
2014-07-08 17:53:06 +02:00
Marc Alexander
dca8afcd6f Merge remote-tracking branch 'paybas/ticket/12804' into develop-ascraeus 2014-07-08 15:59:23 +02:00
n-aleha
f2745d1e57 [ticket/12768] More fixes in language files
More spaces converted to tabs for identation in language files.

PHPBB3-12768
2014-07-08 02:09:10 +03:00
Tristan Darricau
b170c6a8db Merge pull request #2695 from VSEphpbb/ticket/12812
[ticket/12812] Add a migrator tool for config_text database changes

* VSEphpbb/ticket/12812:
  [ticket/12812] Remove unused global $db from tests
  [ticket/12812] Improve migrator config_text tool tests
  [ticket/12812] Improve migrator config_text tool tests
  [ticket/12812] Add a migrator tool for config_text database changes
2014-07-08 00:52:51 +02:00
PayBas
bdfca39e07 [ticket/12804] Disable jabber from memberlist sort options
PHPBB3-12804
2014-07-08 00:42:01 +02:00
Tristan Darricau
b4d7192b62 [ticket/12787] Updates phpbb_mock_controller_helper
PHPBB3-12787
2014-07-08 00:20:33 +02:00
n-aleha
4679fa543b [ticket/12768] 'NOTIFICATION_REPORT_CLOSED' entry has wrong indentation
'NOTIFICATION_REPORT_CLOSED' has 3 spaces before the first tab indentation
in language/en/common.php.

PHPBB3-12768
2014-07-08 01:13:59 +03:00
Tristan Darricau
9374d14e27 [ticket/12787] Add controller_helper::get_current_url()
PHPBB3-12787
2014-07-08 00:04:11 +02:00
Tristan Darricau
de1da3170c [ticket/12818] Don't use the id for i=
PHPBB3-12818
2014-07-07 22:13:42 +02:00
n-aleha
b08497f66c [ticket/12829] Remove check for pgsql 8.3/8.2
Remove check for pgsql 8.3/8.2 and set multi_insert to true.

PHPBB3-12829
2014-07-07 23:10:18 +03:00
Tristan Darricau
42fde81b21 Merge pull request #2690 from Noxwizard/ticket/12802
[ticket/12802] Properly handle connection failures in SQLite3

* Noxwizard/ticket/12802:
  [ticket/12802] Properly handle connection failures in SQLite3
2014-07-07 21:56:35 +02:00
Matt Friedman
5ef7510fb3 [ticket/12812] Remove unused global $db from tests
PHPBB3-12812
2014-07-07 12:50:18 -07:00
Tristan Darricau
14e9c7695d [ticket/12818] Add tests
PHPBB3-12818
2014-07-07 21:49:48 +02:00
Joas Schilling
80f8c550f9 Merge pull request #2706 from Nicofuma/ticket/12825
[ticket/12825] Better sniff for the extensions and skip the vendor/ directory

* Nicofuma/ticket/12825:
  [ticket/12825] Better sniff for the extensions and skip the vendor/ directory
2014-07-07 21:05:23 +02:00
Joas Schilling
4c1a9d1e5d Merge pull request #2705 from PayBas/ticket/12824
[ticket/12824] Move MCP/ACP links after navigation_append event

* PayBas/ticket/12824:
  [ticket/12824] Move MCP/ACP links after navigation_append event
2014-07-07 20:46:35 +02:00
Joas Schilling
e8e9ad1bdf Merge pull request #2708 from PayBas/ticket/12827
[ticket/12827] Reorder quick-links

* PayBas/ticket/12827:
  [ticket/12827] Reorder quick-links
2014-07-07 20:38:54 +02:00
Joas Schilling
f340e54e0c Merge pull request #2710 from Crizz0/ticket/12830
[ticket/12830] Removes double .postlink in colours.css

* Crizz0/ticket/12830:
  [ticket/12830] Remove double .postlink in colours.css
2014-07-07 20:33:35 +02:00
Joas Schilling
29a07404d3 Merge pull request #2672 from Nicofuma/ticket/12782
[ticket/12782] Use an interface for the phpbb event_dispatcher

* Nicofuma/ticket/12782:
  [ticket/12782] Add doc block
  [ticket/12782] Use an interface for the phpbb event_dispatcher
2014-07-07 20:23:10 +02:00
Tristan Darricau
b9750bb590 Merge pull request #2656 from nickvergessen/ticket/12197
[ticket/12197] Fix several misleading FAQ entries

* nickvergessen/ticket/12197:
  [ticket/12197] Fix several misleading FAQ entries
2014-07-07 19:00:33 +02:00
Crizzo
22448a9c6d [ticket/12830] Remove double .postlink in colours.css
PHPBB3-12830
2014-07-07 18:25:04 +02:00
PayBas
6759004642 [ticket/12827] Reorder quick-links
PHPBB3-12827
2014-07-07 12:05:46 +02:00
PayBas
0a286e044b [ticket/12804] Dont use ternary form
PHPBB3-12804
2014-07-07 11:28:06 +02:00
PayBas
fbc07d3b14 [ticket/12804] Hide jabber for subSilver2 as well
PHPBB3-12804
2014-07-07 11:21:48 +02:00
Cesar G
3a317edc92 Merge remote-tracking branch 'VSEphpbb/ticket/12811' into develop-ascraeus
* VSEphpbb/ticket/12811:
  [ticket/12811] Responsive adjustments to margin changes
  [ticket/12811] Fix padding/margin bug affecting bottom layout
2014-07-07 01:33:34 -07:00
Cesar G
0b91c5488a Merge remote-tracking branch 'PayBas/ticket/12813' into develop-ascraeus
* PayBas/ticket/12813:
  [ticket/12813] Move inline-CSS to css file
  [ticket/12813] Use -moz-only fix instead of generic padding
  [ticket/12813] Reorder .row pagination so it aligns better
  [ticket/12813] Fix page-jump title lang and use input type=number
2014-07-07 01:32:18 -07:00
PayBas
c5b4d0afb7 [ticket/12804] Hide Jabber from UCP & member search when disabled
PHPBB3-12804
2014-07-07 09:05:57 +02:00
Tristan Darricau
58a52fe5b9 [ticket/12775] Set dbal.conn.driver as synthetic during installation
PHPBB3-12775
2014-07-07 01:10:24 +02:00
Tristan Darricau
e2cbaf4f1a [ticket/12775] Add the definition of dbal.conn in fixtures/config/services.yml
PHPBB3-12775
2014-07-07 01:02:50 +02:00
Tristan Darricau
5b11ee8c97 [ticket/12775] Inject the connection when created in the container
PHPBB3-12775
2014-07-07 01:02:49 +02:00
Tristan Darricau
285656a6d4 [ticket/12775] Extract the vars later in install/install_update.php
PHPBB3-12775
2014-07-07 01:02:47 +02:00
Tristan Darricau
6c57fbecac [ticket/12775] Rename config_php_handler to config_php_file container_builder
PHPBB3-12775
2014-07-07 01:02:46 +02:00
Tristan Darricau
8c0d179e3e [ticket/12775] Set defined_vars as a property of config_php_file
PHPBB3-12775
2014-07-07 01:02:44 +02:00
Tristan Darricau
35c0b6d77a [ticket/12775] Fix doc blocks in the container builder
PHPBB3-12775
2014-07-07 01:02:43 +02:00
Tristan Darricau
d226a73111 [ticket/12775] Remove useless includes of config.php
PHPBB3-12775
2014-07-07 01:02:42 +02:00
Tristan Darricau
ed812a9dfb [ticket/12775] Move phpbb_convert_30_dbms_to_31 into the config file class
PHPBB3-12775
2014-07-07 01:02:40 +02:00
Tristan Darricau
98e8be966b [ticket/12775] Fix comments
PHPBB3-12775
2014-07-07 01:02:39 +02:00
Tristan Darricau
15c23e60b8 [ticket/12775] Update doc blocks
PHPBB3-12775
2014-07-07 01:02:37 +02:00
Tristan Darricau
f2e8e928c0 [ticket/12775] Fix container_builder
PHPBB3-12775
2014-07-07 01:02:36 +02:00
Tristan Darricau
2db160ff87 [ticket/12775] Rename config_php to config_php_file
PHPBB3-12775
2014-07-07 01:02:34 +02:00
Tristan Darricau
40937e21c5 [ticket/12775] Renamed to \phpbb\di\container_builder
PHPBB3-12775
2014-07-07 01:02:33 +02:00
Tristan Darricau
11ff91c87d [ticket/12775] Remove the last include of functions_container
PHPBB3-12775
2014-07-07 01:02:31 +02:00
Tristan Darricau
926e47e5a1 [ticket/12775] Fix unit tests
PHPBB3-12775
2014-07-07 01:02:30 +02:00
Tristan Darricau
afffec8184 [ticket/12775] Add tests for \phpbb\config_php
PHPBB3-12775
2014-07-07 01:02:29 +02:00
Tristan Darricau
1d966fbc86 [ticket/12775] Add tests for the container factory
PHPBB3-12775
2014-07-07 01:02:27 +02:00
Tristan Darricau
c87f44c669 [ticket/12775] Use a field instead of a local var in load_config_var()
PHPBB3-12775
2014-07-07 01:02:26 +02:00
Tristan Darricau
91ca12f20e [ticket/12775] Update container and config in install/
PHPBB3-12775
2014-07-07 01:02:24 +02:00
Tristan Darricau
cefffe0777 [ticket/12775] Load the config file before constants.php
PHPBB3-12775
2014-07-07 01:02:23 +02:00
Tristan Darricau
20912d7af2 [ticket/12775] Skip the tests related to the container
PHPBB3-12775
2014-07-07 01:02:21 +02:00
Tristan Darricau
ef1346c931 [ticket/12775] Update phpBB/install/index.php
PHPBB3-12775
2014-07-07 01:02:20 +02:00
Tristan Darricau
e7804ecce4 [ticket/12775] Update phpBB/install/database_update.php
PHPBB3-12775
2014-07-07 01:02:19 +02:00
Tristan Darricau
f87e76b910 [ticket/12775] Update phpBB/download/file.php
PHPBB3-12775
2014-07-07 01:02:17 +02:00
Tristan Darricau
78648514fa [ticket/12775] Update phpBB/bin/phpbbcli.php
PHPBB3-12775
2014-07-07 01:02:16 +02:00
Tristan Darricau
98890fe1a3 [ticket/12775] Fix config_php::load_config_file()
PHPBB3-12775
2014-07-07 01:02:14 +02:00
Tristan Darricau
4f56f9b904 [ticket/12775] Rename the variables into common.php
PHPBB3-12775
2014-07-07 01:02:13 +02:00
Tristan Darricau
01c25d3d6b [ticket/12775] Use the config.php handler in \phpbb\config_php
PHPBB3-12775
2014-07-07 01:02:12 +02:00
Tristan Darricau
b9995405cf [ticket/12775] Add get() and get_all() into config_php
PHPBB3-12775
2014-07-07 01:02:10 +02:00
Tristan Darricau
301d9ce990 [ticket/12775] Add a config.php class (and service)
PHPBB3-12775
2014-07-07 01:02:09 +02:00
Tristan Darricau
cbe846a64e [ticket/12775] Don't assign $container to null
PHPBB3-12775
2014-07-07 01:02:07 +02:00
Tristan Darricau
86205454af [ticket/12775] Add customs parameters
PHPBB3-12775
2014-07-07 01:02:06 +02:00
Tristan Darricau
cdf87e0078 [ticket/12775] Add a conter_factory class and remove functions_container
PHPBB3-12775
2014-07-07 01:02:04 +02:00
Andreas Fischer
0bec9897d7 Merge pull request #2697 from n-aleha/ticket/12816
[ticket/12816] Fix comment about logs in user_ban function

* n-aleha/ticket/12816:
  [ticket/12816] Fix comment about logs in user_ban function
2014-07-07 00:20:27 +02:00
Andreas Fischer
bd0f692bf3 Merge pull request #2679 from dhruvgoel92/ticket/12788
[ticket/12788] Update symfony components

* dhruvgoel92/ticket/12788:
  [ticket/12788] Force 2.3.* on symfony dependencies
  [ticket/12788] Update symfony components
2014-07-07 00:02:11 +02:00
Andreas Fischer
730991e785 Merge pull request #2704 from hanakin/ticket/12823
[ticket/12823] Remove all trailing whitespace

* hanakin/ticket/12823:
  [ticket/12823] Remove all trailing whitespace
2014-07-06 23:46:24 +02:00
Tristan Darricau
a2af95cb37 [ticket/12825] Better sniff for the extensions and skip the vendor/ directory
PHPBB3-12825
2014-07-06 23:34:17 +02:00
Tristan Darricau
f8eca98b3f Merge pull request #2654 from nickvergessen/ticket/12515
[ticket/12515] Remove check for PostgreSQL 8.3+ in search

* nickvergessen/ticket/12515:
  [ticket/12515] Remove check for PostgreSQL 8.3+
2014-07-06 20:05:38 +02:00
Joas Schilling
e3e0c79b7a [ticket/12515] Remove check for PostgreSQL 8.3+
PHPBB3-12515
2014-07-06 19:31:46 +02:00
PayBas
39261907da [ticket/12824] Move MCP/ACP links after navigation_append event
PHPBB3-12824
2014-07-06 18:55:01 +02:00
Tristan Darricau
5dd19c726e Merge pull request #2699 from marc1706/ticket/12810
[ticket/12810] Use correct template vars for shadow pruning settings

* marc1706/ticket/12810:
  [ticket/12810] Use correct template vars for shadow pruning settings
2014-07-06 18:16:42 +02:00
Marc Alexander
18054332e4 [ticket/12810] Use correct template vars for shadow pruning settings
PHPBB3-12810
2014-07-06 18:03:09 +02:00
Marc Alexander
57567d5611 Merge remote-tracking branch 'Crizzo/ticket/12807' into develop-ascraeus 2014-07-06 17:59:05 +02:00
Matt Friedman
5527044a00 [ticket/12812] Improve migrator config_text tool tests
PHPBB3-12812
2014-07-06 08:13:20 -07:00
hanakin
5136be4225 [ticket/12823] Remove all trailing whitespace
PHPBB3-12823
2014-07-06 17:09:21 +02:00
Cesar G
b412339cad Merge remote-tracking branch 'PayBas/ticket/12808' into develop-ascraeus
* PayBas/ticket/12808:
  [ticket/12808] Fix small gap between username and drop-down arrow
2014-07-06 06:14:56 -07:00
Cesar G
1504ec4ba3 Merge remote-tracking branch 'PayBas/ticket/12815' into develop-ascraeus
* PayBas/ticket/12815:
  [ticket/12815] Remove S_REGISTERED_USER for team link
  [ticket/12815] Show memberlist link for guests (if permitted)
2014-07-06 06:04:08 -07:00
PayBas
21320820ce [ticket/12815] Remove S_REGISTERED_USER for team link
PHPBB3-12815
2014-07-06 14:53:23 +02:00
PayBas
c190ee315e [ticket/12815] Show memberlist link for guests (if permitted)
PHPBB3-12815
2014-07-06 13:40:36 +02:00
PayBas
b323a01fd3 [ticket/12813] Move inline-CSS to css file
PHPBB3-12813
2014-07-06 13:02:26 +02:00
PayBas
8d6d21c7de [ticket/12813] Use -moz-only fix instead of generic padding
PHPBB3-12813
2014-07-06 13:01:57 +02:00
Crizzo
addcbb1585 [ticket/12807] New variables for _EXPLAIN
PHPBB3-12807
2014-07-06 00:28:25 +02:00
Tristan Darricau
b7fb2e557e [ticket/12818] Fix the conditions in the call to $log->delete() in mcp_logs
PHPBB3-12818
2014-07-06 00:00:58 +02:00
Crizzo
dbefb74abe [ticket/12807] Adds missing language variables language/en/acp/forums.php
PHPBB3-12807
2014-07-05 23:57:57 +02:00
Crizzo
b6816c4237 [ticket/12807] Changes PRUNE_FREQ to PRUNE_SHADOW_FREQ/_DAYS
PHPBB3-12807
2014-07-05 22:18:01 +02:00
n-aleha
182d22567d [ticket/12816] Fix comment about logs in user_ban function
PHPBB3-12816
2014-07-05 23:00:13 +03:00
Matt Friedman
9dfce860e7 [ticket/12812] Improve migrator config_text tool tests
PHPBB3-12812
2014-07-05 08:26:01 -07:00
Tristan Darricau
7399f29df8 [ticket/12787] Remove one app.php when it's both in $path and $web_root_path
PHPBB3-12787
2014-07-05 14:01:14 +02:00
PayBas
ba207cd3b5 [ticket/12813] Reorder .row pagination so it aligns better
PHPBB3-12813
2014-07-05 12:40:20 +02:00
PayBas
2d2525f382 [ticket/12813] Fix page-jump title lang and use input type=number
PHPBB3-12813
2014-07-05 11:08:15 +02:00
Matt Friedman
606d82f7dd [ticket/12812] Add a migrator tool for config_text database changes
PHPBB3-12812
2014-07-05 00:57:34 -07:00
Nils Adermann
53ff23671c Merge remote-tracking branch 'github-nicofuma/ticket/12446' into develop-ascraeus
* github-nicofuma/ticket/12446:
  [ticket/12446] Unnecessary db connect inphpbb_bootstrap_enabled_exts
2014-07-04 21:08:20 +02:00
Matt Friedman
3c223c2978 [ticket/12811] Responsive adjustments to margin changes
PHPBB3-12811
2014-07-04 10:36:33 -07:00
Matt Friedman
8643ca6303 [ticket/12811] Fix padding/margin bug affecting bottom layout
PHPBB3-12811
2014-07-04 10:26:17 -07:00
PayBas
e01e7b1529 [ticket/12808] Fix small gap between username and drop-down arrow
PHPBB3-12808
2014-07-04 15:45:11 +02:00
Stanislav Atanasov
4cec5bcd55 [ticket/12786] Array_merge instead copy array parts
nickvergessen proposed this

PHPBB3-12786
2014-07-04 14:49:23 +03:00
Joas Schilling
86e21a9b26 Merge pull request #1864 from prototech/ticket/12013
[ticket/12013] Use new dropdown for quickmod tools and jumpbox.

* prototech/ticket/12013:
  [ticket/12013] Fix functional tests and sniffer issue.
  [ticket/12013] Clear the jumpbox.
  [ticket/12013] Add moderator tools icon.
  [ticket/12013] Remove obsolete jumpbox and quickmod CSS.
  [ticket/12013] Prevent the dropdown scrollbar from overlapping the content.
  [ticket/12013] Update to use the new .button class.
  [ticket/12013] Add missing class to place the buttons on the rightside.
  [ticket/12013] Use the correct variable for the forum id.
  [ticket/12013] Use DEFINE instead of Twig's set.
  [ticket/12013] Use path helper.
  [ticket/12013] Use new dropdown for quickmod tools and jumpbox.
2014-07-04 13:32:03 +02:00
Cesar G
d95c97c3b4 [ticket/12013] Fix functional tests and sniffer issue.
PHPBB3-12013
2014-07-04 01:22:32 -07:00
Cesar G
ddf3ab323b [ticket/12013] Clear the jumpbox.
PHPBB3-12013
2014-07-04 00:56:28 -07:00
Cesar G
e7b9013dba [ticket/12013] Add moderator tools icon.
PHPBB3-12013
2014-07-04 00:56:28 -07:00
Cesar G
76cd9ec953 [ticket/12013] Remove obsolete jumpbox and quickmod CSS.
PHPBB3-12013
2014-07-04 00:56:27 -07:00
Cesar G
45458b240b [ticket/12013] Prevent the dropdown scrollbar from overlapping the content.
PHPBB3-12013
2014-07-04 00:56:27 -07:00
Cesar G
3bfc9ccbc7 [ticket/12013] Update to use the new .button class.
PHPBB3-12013
2014-07-04 00:56:04 -07:00
Cesar G
bf5d3030b4 [ticket/12013] Add missing class to place the buttons on the rightside.
PHPBB3-12013
2014-07-04 00:56:04 -07:00
Cesar G
e1513a985b [ticket/12013] Use the correct variable for the forum id.
PHPBB3-12013
2014-07-04 00:56:04 -07:00
Cesar G
35fab0fc72 [ticket/12013] Use DEFINE instead of Twig's set.
PHPBB3-12013
2014-07-04 00:56:03 -07:00
Cesar G
2ff8302c51 [ticket/12013] Use path helper.
PHPBB3-12013
2014-07-04 00:56:03 -07:00
Cesar G
90a8c7e29a [ticket/12013] Use new dropdown for quickmod tools and jumpbox.
PHPBB3-12013
2014-07-04 00:56:03 -07:00
Cesar G
c1627ef52e Merge remote-tracking branch 'hanakin/ticket/12735' into develop-ascraeus
* hanakin/ticket/12735:
  [ticket/12735] Remove unnecessary span
  [ticket/12735] Fix line breaks
  [ticket/12732] Undo search-box change
  [ticket/12735] Fix some color incosistencies
  [ticket/12735] Remove underlines by default
  [ticket/12735] Undo selector rename
  [ticket/12735] Remove all :link, :visited, :active states
2014-07-03 23:03:39 -07:00
Cesar G
5878314671 Merge remote-tracking branch 'PayBas/ticket/12662' into develop-ascraeus
* PayBas/ticket/12662: (29 commits)
  [ticket/12662] Hide quick-links when empty
  [ticket/12662] Fix white-space issue to make dropdowns uniform
  [ticket/12662] Remove last remaining linklist outside navbars
  [ticket/12662] Use data-last-responsive attr instead of hardcoded list
  [ticket/12662] Remove <li> container from logged_out_content event
  [ticket/12662] Username <span> fix for list columns
  [ticket/12662] Fix notifications dropdown positioning for RTL
  [ticket/12662] Update tests that utilize get_username_string
  [ticket/12662] Update subsilver2 index template event names
  [ticket/12662] Update events docs from b5 to rc1/rc2
  [ticket/12662] Move dropdown container from <li> to new inner div
  [ticket/12662] Remove linklist container and update template events
  [ticket/12662] Add span containers to all usernames for consistency
  [ticket/12662] IE8 fixes
  [ticket/12662] Fix responsive positioning of notifications dropdown
  [ticket/12662] Remove inherited props from ddown-extendended
  [ticket/12662] Change CSS selectors to direct descendants for linklist
  [ticket/12662] Reorder icon CSS rules alphabetically
  [ticket/12662] Use slack variable to determine line-break sensitivity
  [ticket/12662] Change new event names and fix events.md
  ...
2014-07-03 23:02:11 -07:00
Patrick Webster
3ca708edad [ticket/12802] Properly handle connection failures in SQLite3
PHPBB3-12802
2014-07-03 13:05:54 -05:00
Stanislav Atanasov
c9da9ec858 [ticket/12786] Some changes of the comments.
Comments and quotes

PHPBB3-12786

[ticket/12786]

PHPBB3-12786

Revert "[ticket/12786]"

This reverts commit 61a6647101731110f67689b109de953f7449b03e.
2014-07-03 20:18:51 +03:00
Dhruv
b4e8e9e29f [ticket/12788] Force 2.3.* on symfony dependencies
PHPBB3-12788
2014-07-03 20:50:06 +05:30
Nils Adermann
0deacb8438 Merge branch 'ticket/12562' of https://github.com/PayBas/phpbb into develop-ascraeus
* 'ticket/12562' of https://github.com/PayBas/phpbb:
  [ticket/12562] Use border for all sizes except responsive
  [ticket/12562] Use Hanakin's version
  [ticket/12562] Increase mq trigger screen size to hide border
  [ticket/12562] Add max-width to proSilver
2014-07-03 15:58:15 +02:00
PayBas
d8d6e3e943 [ticket/12662] Hide quick-links when empty
Also some noJS fixes

PHPBB3-12662
2014-07-03 15:53:39 +02:00
PayBas
8222eeaaff [ticket/12562] Use border for all sizes except responsive
PHPBB3-12562
2014-07-03 15:35:30 +02:00
Tristan Darricau
0232fcc22a Merge pull request #2673 from nickvergessen/ticket/12783
Ticket/12783 Move require:phpbb/phpbb to extra:phpbb/phpbb in Extensions composer.json files

* nickvergessen/ticket/12783:
  [ticket/12783] Move phpbb requirement to extra->soft-require
  [ticket/12783] Correctly use dataProviders and mark tests as incomplete
  [ticket/12783] Move phpbb/phpbb require version to extra
2014-07-03 14:23:49 +02:00
PayBas
c23c56f31c [ticket/12562] Use Hanakin's version
PHPBB3-12562
2014-07-03 13:42:12 +02:00
Joas Schilling
a0e00889d1 Merge pull request #2670 from Nicofuma/ticket/12781
[ticket/12781] Template regex for IF catch too many things

* Nicofuma/ticket/12781:
  [ticket/12781] Add tests
  [ticket/12781] Template regex for IF catch too many things
2014-07-03 12:44:33 +02:00
Joas Schilling
b0a3f2dc8f Merge pull request #2578 from marc1706/ticket/9801
[ticket/9801] Allow display of page outside board directory on viewonline

* marc1706/ticket/9801:
  [ticket/9801] Use empty instead of sizeof
  [ticket/9801] Remove spaces before * in docblock
  [ticket/9801] Add viewonline_helper service to allow proper testing
  [ticket/9801] Allow display of page outside board directory on viewonline
2014-07-03 12:02:48 +02:00
Joas Schilling
380e9c2ef4 Merge pull request #2674 from Nicofuma/ticket/12784
[ticket/12784] Allow the extensions to add a custom auto loader

* Nicofuma/ticket/12784:
  [ticket/12784] Shearch the "vendor" folders and then the autoload.php files
  [ticket/12784] Allow the extensions to add a custom auto loader
2014-07-03 11:58:04 +02:00
Tristan Darricau
520f3b3bd6 [ticket/12784] Shearch the "vendor" folders and then the autoload.php files
PHPBB3-12784
2014-07-03 11:26:07 +02:00
Joas Schilling
107693ff58 Merge pull request #2647 from Dragooon/ticket/12334
[ticket/12334] Add PROFILE_FIELD_VALUE_RAW template var

* Dragooon/ticket/12334:
  [ticket/12334] Remove profile fields test group
  [ticket/12334] Add additional test for type_string
  [ticket/12334] Add string test for type_int
  [ticket/12334] Improve type_dropdown's test description
  [ticket/12334] Group profile fields test
  [ticket/12334] Change get_profile_value_raw_data to profile_value_raw_data
  [ticket/12334] Add get_profile_value_raw unit test for type_bool
  [ticket/12334] Add get_profile_value_raw unit test for type_date
  [ticket/12334] Add get_profile_value_raw unit tests for type_dropdown
  [ticket/12334] Add get_profile_value_raw unit test for type_string
  [ticket/12334] Add get_profile_value_raw unit test for type_url
  [ticket/12334] Add get_profile_value_raw unit tests for type_int
  [ticket/12334] Removed tests
  [ticket/12334] Dropdowns cannot be tested this way
  [ticket/12334] Added test get_profile_value_raw
  [ticket/12334] Changed from valueid to value_raw
  [ticket/12334] Implemented get_profile_valueid method
  [ticket/12334] Added field_novalue fall-back as requested
  [ticket/12334] Add PROFILE_FIELD_VALUEID template var
2014-07-03 11:21:16 +02:00
Cesar G
ad967b1122 Merge remote-tracking branch 'nickvergessen/ticket/12645' into develop-ascraeus
* nickvergessen/ticket/12645:
  [ticket/12645] Replace support links in SUPPORT_BODY with 3.1 links
2014-07-02 16:46:36 -07:00
Tristan Darricau
868179c295 Merge branch 'develop-olympus' into develop-ascraeus
* develop-olympus:
  [ticket/12120] Add nicofuma to the developers

Conflicts:
	phpBB/docs/AUTHORS
2014-07-02 22:55:00 +02:00
Tristan Darricau
a6d66b2ab0 Merge pull request #2685 from nickvergessen/ticket/12120
[ticket/12120] Add nicofuma to the developers

* nickvergessen/ticket/12120:
  [ticket/12120] Add nicofuma to the developers
2014-07-02 22:43:12 +02:00
Joas Schilling
eff07032c0 [ticket/12120] Add nicofuma to the developers
PHPBB3-12120
2014-07-02 22:26:32 +02:00
PayBas
e99b25e273 [ticket/12562] Increase mq trigger screen size to hide border
PHPBB3-12562
2014-07-02 17:47:16 +02:00
Joas Schilling
3f0dec4ce6 [ticket/12783] Move phpbb requirement to extra->soft-require
PHPBB3-12783
2014-07-02 16:23:20 +02:00
Tristan Darricau
fbc15407a2 [ticket/12784] Allow the extensions to add a custom auto loader
PHPBB3-12784
2014-07-01 22:55:06 +02:00
Joas Schilling
b83c623480 Merge pull request #2681 from Nicofuma/ticket/12790
[ticket/12790] Use \phpbb\db\driver\driver_interface in prune_shadow_topics

* Nicofuma/ticket/12790:
  [ticket/12790] Use \phpbb\db\driver\driver_interface in prune_shadow_topics
2014-07-01 20:47:57 +02:00
Tristan Darricau
2b729c67bd [ticket/12790] Use \phpbb\db\driver\driver_interface in prune_shadow_topics
PHPBB3-12790
2014-07-01 19:46:19 +02:00
PayBas
3568eec4df [ticket/12562] Add max-width to proSilver
PHPBB3-12562
2014-07-01 18:41:56 +02:00
PayBas
04550fcd8c [ticket/12662] Fix white-space issue to make dropdowns uniform
PHPBB3-12662
2014-07-01 12:09:42 +02:00
Marc Alexander
330f21ab76 [ticket/9801] Use empty instead of sizeof
PHPBB3-9801
2014-06-30 21:36:11 +02:00
Dhruv
54a143c968 Merge remote-tracking branch 'Elsensee/ticket/12674' into develop-ascraeus
# By Oliver Schramm
# Via Oliver Schramm
* Elsensee/ticket/12674:
  [ticket/12674] Use user's colour in 'Last edited' line in sent PMs
2014-07-01 00:35:45 +05:30
Dhruv Goel
f870bc0f18 Merge pull request #2677 from nickvergessen/ticket/12779
[ticket/12779] Change order of file lists on automatic update
2014-07-01 00:27:55 +05:30
Dhruv
0190d1b207 [ticket/12788] Update symfony components
PHPBB3-12788
2014-06-30 22:04:29 +05:30
hanakin
5783b00fb6 [ticket/12735] Remove unnecessary span
PHPBB3-12735
2014-06-30 17:14:29 +02:00
hanakin
20e9480ba5 [ticket/12735] Fix line breaks
PHPBB3-12735
2014-06-30 17:08:08 +02:00
hanakin
710e0e7aa6 [ticket/12732] Undo search-box change
PHPBB3-12735
2014-06-30 17:08:08 +02:00
hanakin
bf3ac9b1dc [ticket/12735] Fix some color incosistencies
PHPBB3-12735
2014-06-30 17:08:08 +02:00
hanakin
8ef8056fd4 [ticket/12735] Remove underlines by default
PHPBB3-12735
2014-06-30 17:08:08 +02:00
hanakin
194224b550 [ticket/12735] Undo selector rename
PHPBB3-12735
2014-06-30 17:08:08 +02:00
hanakin
7d04d953c7 [ticket/12735] Remove all :link, :visited, :active states
PHPBB3-12735
2014-06-30 17:08:08 +02:00
Oliver Schramm
6d1403cb13 [ticket/12674] Use user's colour in 'Last edited' line in sent PMs
PHPBB3-12674
2014-06-30 00:01:14 +02:00
Joas Schilling
5652f33ccc Merge pull request #2669 from Nicofuma/ticket/12777
[ticket/12777] Rename extension status functions and add is_configured()

* Nicofuma/ticket/12777:
  [ticket/12777] Add tests for unavailable extension
  [ticket/12777] Add tests
  [ticket/12777] Add is_purged()
  [ticket/12777] Update doc block of is_configured()
  [ticket/12777] Rename extension status functions and add is_configured()
2014-06-29 23:33:47 +02:00
Tristan Darricau
bc47e719b1 [ticket/12787] Fix the absolute board url
PHPBB3-12787
2014-06-29 22:23:32 +02:00
Joas Schilling
97725db3f4 [ticket/12779] Change order of file lists on automatic update
Also allow collapsing all the groups and collapse categories without user
interaction per default

PHPBB3-12779
2014-06-29 22:13:33 +02:00
Stanislav Atanasov
41047bc369 [ticket/12786] Dixing a typo
Typos fixed

PHPBB3-12786
2014-06-29 22:46:45 +03:00
Stanislav Atanasov
ffbd7cf1a7 [ticket/12786] Some minor fixes of comments and function naming
PHPBB3-12786
2014-06-29 22:38:05 +03:00
Tristan Darricau
31099a8efd [ticket/12787] Use a parameter (_referer) instead of the Referer header
PHPBB3-12787
2014-06-29 21:02:03 +02:00
Joas Schilling
8feb383468 [ticket/12099] Add unit tests for get_web_root_path_from_ajax_referer()
PHPBB3-12099
2014-06-29 20:54:43 +02:00
Joas Schilling
b7e1959d56 [ticket/12099] Remove config again
PHPBB3-12099
2014-06-29 20:54:41 +02:00
Joas Schilling
779d8a68ff [ticket/12099] Correctly fix the path when performing AJAX requests
If the current request is a AJAX we need to fix the paths.
We need to get the root path based on the Referer, so we can use
the generated URLs in the template of the Referer. If we do not
generate the relative path based on the Referer, but based on the
currently requested URL, the generated URLs will not point to the
intended locations:
	Referer				desired URL			desired relative root path
	memberlist.php		faq.php				./
	memberlist.php		app.php/foo/bar		./
	app.php/foo			memberlist.php		../
	app.php/foo			app.php/fox			../
	app.php/foo/bar		memberlist.php		../../
	../page.php			memberlist.php		./phpBB/
	../sub/page.php		memberlist.php		./../phpBB/

PHPBB3-12099
2014-06-29 20:54:40 +02:00
Pico88
f383d4221c [ticket/12099] Add request argument to path_helper service
PHPBB3-12099
2014-06-29 20:54:38 +02:00
Stanislav Atanasov
18631801d5 [ticket/12786] Add clean_cpf_db_entries
Add function to clean the cpf fields entries

PHPBB3-12786
2014-06-29 16:29:09 +03:00
Stanislav Atanasov
52204e0e6d [ticket/12786] White spaces found
Removed some white spaces

PHPBB3-12786
2014-06-29 12:21:40 +03:00
Stanislav Atanasov
e3b07274ef [ticket/12786] Add create_language_entries
Add function to create entries in PROFILE_FIELDS_LANG_TABLE

PHPBB3-12786
2014-06-29 11:51:47 +03:00
Stanislav Atanasov
b70a1cc4af [ticket/12786] Add get_custom_field_id
Adding function to get CPFs ID

PHPBB3-12786
2014-06-29 11:50:40 +03:00
Stanislav Atanasov
564924e876 [ticket/12786] Extend profilefield_base_migration.php class
If extensions authors will use profilefield_base_migration.php
class as base class for creation of CPFs, the class need to be
extended a bit.

At the moment there are two issues with it:

It does not create entries for PROFILE_FIELDS_LANG_TABLE
(as it can't know what fields to create).

The migration is not "cleaning" the DBMS after purging
the extension and leaves everything except the CPF column.

Adding profilefield_language_data

PHPBB3-12786
2014-06-29 11:48:06 +03:00
Tristan Darricau
539eadc450 [ticket/12782] Add doc block
PHPBB3-12782
2014-06-28 14:35:40 +02:00
PayBas
ce74a4f263 [ticket/12662] Remove last remaining linklist outside navbars
PHPBB3-12662
2014-06-28 13:53:14 +02:00
PayBas
abc0147daa [ticket/12662] Use data-last-responsive attr instead of hardcoded list
PHPBB3-12662
2014-06-28 13:47:41 +02:00
Joas Schilling
07cb08fd18 [ticket/12783] Correctly use dataProviders and mark tests as incomplete
PHPBB3-12783
2014-06-28 13:36:17 +02:00
PayBas
ca770e476c [ticket/12662] Remove <li> container from logged_out_content event
PHPBB3-12662
2014-06-28 13:25:26 +02:00
Tristan Darricau
eb13b4ae28 [ticket/12782] Use an interface for the phpbb event_dispatcher
PHPBB3-12782
2014-06-28 13:19:55 +02:00
Joas Schilling
2d116ffede [ticket/12783] Move phpbb/phpbb require version to extra
PHPBB3-12783
2014-06-28 13:06:46 +02:00
Tristan Darricau
daeb635d6c [ticket/12777] Add tests for unavailable extension
PHPBB3-12777
2014-06-27 18:35:35 +02:00
Tristan Darricau
e6b8ae6bd5 [ticket/12777] Add tests
PHPBB3-12777
2014-06-27 16:53:14 +02:00
Tristan Darricau
7ef983b426 [ticket/12781] Add tests
PHPBB3-12781
2014-06-27 16:41:21 +02:00
Shitiz Garg
b484439691 [ticket/12334] Remove profile fields test group
PHPBB3-12334
2014-06-27 20:01:25 +05:30
Tristan Darricau
6d40b87661 [ticket/12781] Template regex for IF catch too many things
PHPBB3-12781
2014-06-27 16:04:56 +02:00
Joas Schilling
404c2f1144 Merge pull request #2598 from Nicofuma/ticket/12716
[ticket/12716] Add the missing parameters in the call of clearToken

* Nicofuma/ticket/12716:
  [ticket/12716] Use a string as session_id
  [ticket/12716] Add regression test
  [ticket/12716] Add the missing parameters in the call of clearToken
2014-06-27 16:00:29 +02:00
Shitiz Garg
e6f9b060dc [ticket/12334] Add additional test for type_string
PHPBB3-12334
2014-06-27 19:19:18 +05:30
Shitiz Garg
8cb7afa503 [ticket/12334] Add string test for type_int
PHPBB3-12334
2014-06-27 19:14:36 +05:30
Shitiz Garg
482a22351d [ticket/12334] Improve type_dropdown's test description
PHPBB3-12334
2014-06-27 19:10:23 +05:30
Joas Schilling
919e1a6bc8 Merge pull request #2660 from marc1706/ticket/12764
[ticket/12764] Properly handle errors upon connecting to MySQLi database

* marc1706/ticket/12764:
  [ticket/12764] Properly handle errors upon connecting to MySQLi database
2014-06-27 15:39:07 +02:00
Shitiz Garg
9051248e12 [ticket/12334] Group profile fields test
PHPBB3-12334
2014-06-27 19:03:33 +05:30
Shitiz Garg
dbc223b4c3 [ticket/12334] Change get_profile_value_raw_data to profile_value_raw_data
PHPBB3-12334
2014-06-27 19:03:19 +05:30
Joas Schilling
8fa4ca49e0 Merge pull request #2658 from lucifer4o/ticket/12771
[ticket/12771] Bug in profilefield_base_migration when used in ext

* lucifer4o/ticket/12771:
  [ticket/12771] Shanging substr to strpos
  [ticket/12771] Change var name
  [ticket/12771] Bug in profilefield_base_migration when used in ext
2014-06-27 15:30:49 +02:00
Joas Schilling
b0286bf854 Merge pull request #2636 from Dragooon/ticket/12759
[ticket/12759] Resolve query flooding while displaying large number of custom profile fields

* Dragooon/ticket/12759:
  [ticket/12759] Fix type_bool and type_dropdown's UCP fields
  [ticket/12759] Remove lang_helper from profilefields_manager
  [ticket/12759] Cache all lang_options in lang_helper instead
  [ticket/12759] Extra line in profilefields_manager
  [ticket/12759] Cache lang_options for pm_viewmessage
  [ticket/12759] Cache lang_options on memberlist
  [ticket/12759] Add phpDoc comments to explain get_option_lang
  [ticket/12759] Little code cleanup
  [ticket/12759] Make sure $field_id has unique elements
  [ticket/12759] Cache the lang options earlier
  [ticket/12759] Cache lang options for all fields while displaying
  [ticket/12759] Allow multiple fields to be loaded via get_option_lang
2014-06-27 15:20:21 +02:00
Marc Alexander
aadc6de9c4 Merge remote-tracking branch 'dragoon/ticket/12772' into develop-ascraeus 2014-06-27 15:17:51 +02:00
Shitiz Garg
6d464e0bc4 [ticket/12759] Fix type_bool and type_dropdown's UCP fields
PHPBB3-12759
2014-06-27 17:58:28 +05:30
Shitiz Garg
98262a5a17 [ticket/12759] Remove lang_helper from profilefields_manager
No longer required

PHPBB3-12759
2014-06-27 17:48:37 +05:30
Shitiz Garg
2cf4a4f6fe [ticket/12759] Cache all lang_options in lang_helper instead
PHPBB3-12759
2014-06-27 17:48:37 +05:30
Shitiz Garg
c1df2ce62a [ticket/12759] Extra line in profilefields_manager
PHPBB3-12759
2014-06-27 17:48:37 +05:30
Shitiz Garg
f776ac7d58 [ticket/12759] Cache lang_options for pm_viewmessage
PHPBB3-12759
2014-06-27 17:48:36 +05:30
Shitiz Garg
7484859c71 [ticket/12759] Cache lang_options on memberlist
PHPBB3-12759
2014-06-27 17:48:36 +05:30
Shitiz Garg
c82a0b74cf [ticket/12759] Add phpDoc comments to explain get_option_lang
PHPBB3-12759
2014-06-27 17:48:36 +05:30
Shitiz Garg
51bc31da20 [ticket/12759] Little code cleanup
PHPBB3-12759
2014-06-27 17:48:36 +05:30
Shitiz Garg
6251d68be4 [ticket/12759] Make sure $field_id has unique elements
Otherwise it would cause a bunch of repetitive IDs passed to the IN clause

PHPBB3-12759
2014-06-27 17:48:36 +05:30
Shitiz Garg
aebe03f88c [ticket/12759] Cache the lang options earlier
Previously it would re-run on every post

PHPBB3-12759
2014-06-27 17:48:36 +05:30
Shitiz Garg
6cf6ec3354 [ticket/12759] Cache lang options for all fields while displaying
Previously these would be fetched one field at one time, causing a large
number of queries in case there were large number of custom profile fields
and/or unique number of users in areas such as viewing topics. Resolve this
by caching them at once when generating data for displaying them in templates.

PHPBB3-12759
2014-06-27 17:48:36 +05:30
Shitiz Garg
6d23cc3a0e [ticket/12759] Allow multiple fields to be loaded via get_option_lang
PHPBB3-12759
2014-06-27 17:48:36 +05:30
Joas Schilling
18763d7286 Merge pull request #2493 from Nicofuma/ticket/12325
[ticket/12325] Automatic update should notify about outdated files

* Nicofuma/ticket/12325:
  [ticket/12325] Fix the language var name
  [ticket/12325] Update coding style in template
  [ticket/12325] Fix: add a missing colon
  [ticket/12325] Don't use L_COLON
  [ticket/12325] Fix: it's not stuck in an inifinite loop anymore
  [ticket/12325] Automatic update should notify about outdated files
2014-06-27 14:01:31 +02:00
Tristan Darricau
8e8b493fae [ticket/12777] Add is_purged()
PHPBB3-12777
2014-06-27 11:28:13 +02:00
Tristan Darricau
4d9e451f60 [ticket/12777] Update doc block of is_configured()
PHPBB3-12777
2014-06-27 11:23:11 +02:00
Tristan Darricau
d13e02c7b1 [ticket/12777] Rename extension status functions and add is_configured()
PHPBB3-12777
2014-06-27 10:49:13 +02:00
Joas Schilling
59c0a31fc4 [ticket/12645] Replace support links in SUPPORT_BODY with 3.1 links
PHPBB3-12645
2014-06-27 10:18:36 +02:00
Andreas Fischer
cc4f1e401e Merge pull request #2665 from nickvergessen/ticket/12196-ascraeus
[ticket/12196] Fix typo in "referrer"

* nickvergessen/ticket/12196-ascraeus:
  [ticket/12196] Fix typo in "referrer"
2014-06-26 23:46:40 +02:00
Andreas Fischer
e8d7204580 Merge pull request #2661 from n-aleha/ticket/12773
[ticket/12773] Fix language variable name in cli extension enable command

* n-aleha/ticket/12773:
  [ticket/12773] Fix language variable name in cli extension enable command
2014-06-26 23:44:41 +02:00
Joas Schilling
7e769083bf [ticket/12196] Fix typo in "referrer"
Referer is a typo in the HTTP RFC and should not be used in the UI

PHPBB3-12196
2014-06-26 23:44:21 +02:00
Andreas Fischer
ffa1f9baf5 Merge branch 'develop-olympus' into develop-ascraeus
* develop-olympus:
  [ticket/12196] Revert Fix typo "referer" in acp/attachments
2014-06-26 23:33:47 +02:00
Andreas Fischer
66efb1889d Merge pull request #2662 from dhruvgoel92/ticket/12196
[ticket/12196] Revert Fix typo "referer" in acp/attachments

* dhruvgoel92/ticket/12196:
  [ticket/12196] Revert Fix typo "referer" in acp/attachments
2014-06-26 23:33:46 +02:00
Tristan Darricau
ff6e026a40 [ticket/12446] Unnecessary db connect inphpbb_bootstrap_enabled_exts
PHPBB3-12446
2014-06-26 21:09:19 +02:00
Dhruv
a730c0291f [ticket/12196] Revert Fix typo "referer" in acp/attachments
This reverts commit 9bc1f7924d.
https://tracker.phpbb.com/browse/PHPBB3-12196

PHPBB3-12196
2014-06-27 00:07:15 +05:30
n-aleha
a54d74bf09 [ticket/12773] Fix language variable name in cli extension enable command
PHPBB3-12773
2014-06-26 21:05:32 +03:00
Dhruv
eb3e1b35d6 Merge branch 'develop-olympus' into develop-ascraeus
# By Joas Schilling
# Via Dhruv (1) and Joas Schilling (1)
* develop-olympus:
  [ticket/12196] Fix typo "referer" in acp/attachments
2014-06-26 23:30:06 +05:30
Stanislav Atanasov
deb393bff3 [ticket/12771] Shanging substr to strpos
Logical change ...

PHPBB3-12771
2014-06-26 20:56:00 +03:00
Dhruv
fbbf210747 Merge remote-tracking branch 'nickvergessen/ticket/12196' into develop-olympus
# By Joas Schilling
# Via Joas Schilling
* nickvergessen/ticket/12196:
  [ticket/12196] Fix typo "referer" in acp/attachments
2014-06-26 23:23:33 +05:30
Marc Alexander
9b27d00d5f Merge remote-tracking branch 'nickvergessen/ticket/12099' into develop-ascraeus
* nickvergessen/ticket/12099:
  [ticket/12099] Fix correction in path_helper test
  [ticket/12099] Prepend ./ to path to fix assets
  [ticket/12099] Deduplicate path generation
  [ticket/12099] Fix clean_path() ".." stripping when previous directory was "."
  [ticket/12099] Break clean_path tests with a simple test
  [ticket/12099] Clean paths in tests
  [ticket/12099] Correctly fix go back to root before prepending the root path
  [ticket/12099] Clean some paths before using them
  [ticket/12099] Fix several issues in path_helper test
2014-06-26 15:07:05 +02:00
Marc Alexander
eb9321c3a1 [ticket/9801] Remove spaces before * in docblock
PHPBB3-9801
2014-06-26 14:37:38 +02:00
Marc Alexander
40a65abc3a [ticket/12764] Properly handle errors upon connecting to MySQLi database
As the db_connect_id gets set up by mysql_init(), the db_connect_id will be an
object with empty settings instead of just empty. Even if mysql_real_connect()
encounters an error upon connecting, the db_connect_id is still set. This
will result in trying to just access the database which obviously does
nothing.
By setting db_connect_id to an empty string, the script will not try to query
th database and properly handle any errors that occur upon connecting.

PHPBB3-12764
2014-06-26 14:33:08 +02:00
Stanislav Atanasov
c14db9ccd0 [ticket/12771] Change var name
Change var name

PHPBB3-12771
2014-06-26 14:19:49 +03:00
Shitiz Garg
570acb7ccc [ticket/12772] Remove config_text parameter from message.form.topic
Broke Email topic since the topic_form class doesn't require this to be passed

PHPBB3-12772
2014-06-26 16:44:40 +05:30
Stanislav Atanasov
5a76b36dfb [ticket/12771] Bug in profilefield_base_migration when used in ext
The base migration class should create lang entry for the new CPF
but it is supposed to strip it of phpbb_ prefix. As extensions
CPFs do not use phpbb_ prefix it will not create a lang entry.
This is as simple solution as it can be done.

PHPBB3-12771
2014-06-26 13:18:27 +03:00
PayBas
de250273db [ticket/12662] Username <span> fix for list columns
PHPBB3-12662
2014-06-26 11:23:37 +02:00
Marc Alexander
69b9aa2859 Merge remote-tracking branch 'nickvergessen/ticket/12462' into develop-ascraeus 2014-06-25 23:23:18 +02:00
Joas Schilling
9bc1f7924d [ticket/12196] Fix typo "referer" in acp/attachments
PHPBB3-12196
2014-06-25 23:17:02 +02:00
Joas Schilling
993afd9140 [ticket/12197] Fix several misleading FAQ entries
PHPBB3-12197
2014-06-25 22:26:15 +02:00
Joas Schilling
29ec455a45 [ticket/12462] Do not use string "None" for different options
... it limits translations.

PHPBB3-12462
2014-06-25 22:14:33 +02:00
Joas Schilling
8b00be6fce Merge pull request #2567 from Crizz0/ticket/12680
[Ticket/12680] - Adds alternative text to contact icon in viewtopic.php

* Crizz0/ticket/12680:
  [ticket/12680] Adds variable for guest user
  [ticket/12680] Brings back get_username_string()
  [ticket/12680] Solves last bugs. viewprofile: contact --> contact nickname
  [ticket/12680] Still some problems with displaying the nickname in ucp
  [ticket/12680] Little changes, but some issues are still there
  [ticket/12680] Removes unnessesary $user->lang from CONTACT_USER
  [ticket/12680] Adds alternativ text with new variable to contact:
  [ticket/12680] Adds second alternativ text and font-size: 0 to remove text
  [ticket/12680] Adds alternative text to contact icon in viewtopic.php
2014-06-25 19:36:18 +02:00
PayBas
367c6aafca [ticket/12662] Fix notifications dropdown positioning for RTL
PHPBB3-12662
2014-06-25 14:19:09 +02:00
PayBas
665742945f [ticket/12662] Update tests that utilize get_username_string
PHPBB3-12662
2014-06-25 14:19:09 +02:00
PayBas
419de00a9c [ticket/12662] Update subsilver2 index template event names
PHPBB3-12662
2014-06-25 14:19:08 +02:00
PayBas
6d641ad590 [ticket/12662] Update events docs from b5 to rc1/rc2
PHPBB3-12662
2014-06-25 14:19:07 +02:00
PayBas
9c2ef168c1 [ticket/12662] Move dropdown container from <li> to new inner div
PHPBB3-12662
2014-06-25 14:19:07 +02:00
PayBas
020218fcea [ticket/12662] Remove linklist container and update template events
PHPBB3-12662
2014-06-25 14:19:06 +02:00
PayBas
23caeb7712 [ticket/12662] Add span containers to all usernames for consistency
PHPBB3-12662
2014-06-25 14:19:06 +02:00
PayBas
775dc316b0 [ticket/12662] IE8 fixes
PHPBB3-12662
2014-06-25 14:19:05 +02:00
PayBas
dd18085ba6 [ticket/12662] Fix responsive positioning of notifications dropdown
PHPBB3-12662
2014-06-25 14:19:05 +02:00
PayBas
faa47cd176 [ticket/12662] Remove inherited props from ddown-extendended
PHPBB3-12662
2014-06-25 14:19:04 +02:00
PayBas
8c7127f573 [ticket/12662] Change CSS selectors to direct descendants for linklist
PHPBB3-12662
2014-06-25 14:19:03 +02:00
PayBas
e528a57c2f [ticket/12662] Reorder icon CSS rules alphabetically
Was getting a bit disorganized

PHPBB3-12662
2014-06-25 14:19:03 +02:00
PayBas
99065e18ca [ticket/12662] Use slack variable to determine line-break sensitivity
PHPBB3-12662
2014-06-25 14:19:02 +02:00
PayBas
5c90b82fde [ticket/12662] Change new event names and fix events.md
Previously merged PR said b4 instead of b5, also not alphabetical.

PHPBB3-12662
2014-06-25 14:19:01 +02:00
PayBas
bd0110ae79 [ticket/12662] Fix recently merged PR changes lost in rebase
PHPBB3-12662
2014-06-25 14:19:01 +02:00
PayBas
b8f8b884e7 [ticket/12662] Update PR after ticket/12553 merge
Rebasing was a nightmare with all the code moving around between
commits. Hopefully this will merge without a rebase.

PHPBB3-12662
2014-06-25 14:19:00 +02:00
PayBas
5a00054f52 [ticket/12662] Improve template checks
And changed _CLEAN to _SIMPLE, and move teamlink events

PHPBB3-12662
2014-06-25 14:19:00 +02:00
PayBas
ac89c84808 [ticket/12662] Added ARIA functionality
PHPBB3-12662
2014-06-25 14:18:59 +02:00
PayBas
329b1826af [ticket/12662] Improve icons and footer links
PHPBB3-12662
2014-06-25 14:18:59 +02:00
PayBas
f41947f726 [ticket/12662] Fix rounding problems when detecting relative height
Firefox and IE round subpixels up, while webkit rounds down. So we have
to account for that.

PHPBB3-12662
2014-06-25 14:18:58 +02:00
PayBas
4a98d7e46d [ticket/12662] RTL (bidi.css) fixes
PHPBB3-12662
2014-06-25 14:18:57 +02:00
PayBas
cf1b56af8d [ticket/12662] Enable responsive linkslist for IE8
Also fixed arrow color

PHPBB3-12662
2014-06-25 14:18:57 +02:00
PayBas
a540cdc3b2 [ticket/12662] Initial setup
PHPBB3-12662
2014-06-25 14:18:56 +02:00
Joas Schilling
5265091c83 Merge pull request #2649 from VSEphpbb/ticket/12760
[ticket/12760] Fix wording for unapproved posts icon...

* VSEphpbb/ticket/12760:
  [ticket/12760] Fix wording for unapproved posts icon...
2014-06-25 14:16:53 +02:00
Joas Schilling
d083f29244 Merge pull request #2650 from PayBas/ticket/12766
[ticket/12766] Event exporter does not like RCx as version

* PayBas/ticket/12766:
  [ticket/12766] Event exporter does not like RCx as version
2014-06-25 14:06:39 +02:00
PayBas
1b0b4cd5e2 [ticket/12766] Event exporter does not like RCx as version
PHPBB3-12766
2014-06-25 13:35:57 +02:00
Matt Friedman
e42b316d87 [ticket/12760] Fix wording for unapproved posts icon...
in last post column of forum lists.
https://tracker.phpbb.com/browse/PHPBB3-12760

PHPBB3-12760
2014-06-24 20:47:51 -07:00
Joas Schilling
3e9d62b9b0 Merge branch 'prep-release-3.1.0-RC1' into develop-ascraeus
* prep-release-3.1.0-RC1:
  [prep-release-3.1.0-RC1] Update phpBB Version for RC2 development
  [prep-release-3.1.0-RC1] Add changelog for 3.1.0-RC1
  [prep-release-3.1.0-RC1] Prepare Changelog
  [prep-release-3.1.0-RC1] Add migration for 3.1.0-RC1
  [prep-release-3.1.0-RC1] Update version to 3.1.0-RC1
2014-06-25 00:07:18 +02:00
Joas Schilling
19b4391eef [prep-release-3.1.0-RC1] Update phpBB Version for RC2 development 2014-06-25 00:06:08 +02:00
Joas Schilling
60cb10e62b [prep-release-3.1.0-RC1] Add changelog for 3.1.0-RC1 2014-06-24 23:21:58 +02:00
Joas Schilling
cf92032ebb [prep-release-3.1.0-RC1] Prepare Changelog 2014-06-24 23:21:54 +02:00
Joas Schilling
6a9baaab0b [prep-release-3.1.0-RC1] Add migration for 3.1.0-RC1 2014-06-24 23:21:48 +02:00
Joas Schilling
894dcaaaad [prep-release-3.1.0-RC1] Update version to 3.1.0-RC1 2014-06-24 23:21:43 +02:00
Andreas Fischer
70a98e6f63 Merge pull request #2648 from dhruvgoel92/ticket/12562
Revert "[ticket/12562] Add max-width to proSilver"

* dhruvgoel92/ticket/12562:
  [ticket/12562] Revert "Add max-width to proSilver"
2014-06-24 21:10:44 +02:00
Andreas Fischer
b5b0175d59 Merge branch 'develop-olympus' into develop-ascraeus
* develop-olympus:
  [ticket/12755] Apply de morgan to conditional
  [ticket/12755] Terminate upload loop if upload reaches filesize
  [ticket/12755] Change upload in remote_upload() method to fit get_remote_file
  [ticket/12755] Add language string for timed out remote upload
  [ticket/12755] Add timeout to remote upload to prevent infinite loop
2014-06-24 20:59:11 +02:00
Andreas Fischer
2596dbc850 Merge pull request #2633 from marc1706/ticket/12755
[ticket/12755] Add timeout to remote upload to prevent infinite loop

* marc1706/ticket/12755:
  [ticket/12755] Apply de morgan to conditional
  [ticket/12755] Terminate upload loop if upload reaches filesize
  [ticket/12755] Change upload in remote_upload() method to fit get_remote_file
  [ticket/12755] Add language string for timed out remote upload
  [ticket/12755] Add timeout to remote upload to prevent infinite loop
2014-06-24 20:59:10 +02:00
Dhruv
c563d96633 [ticket/12562] Revert "Add max-width to proSilver"
https://tracker.phpbb.com/browse/PHPBB3-12562

PHPBB3-12562
2014-06-25 00:28:50 +05:30
Marc Alexander
8b3cc9a6c4 [ticket/12755] Apply de morgan to conditional
PHPBB3-12755
2014-06-24 19:53:52 +02:00
Shitiz Garg
24eeab4883 [ticket/12334] Add get_profile_value_raw unit test for type_bool
PHPBB3-12334
2014-06-24 22:46:43 +05:30
Shitiz Garg
e406cc6fad [ticket/12334] Add get_profile_value_raw unit test for type_date
PHPBB3-12334
2014-06-24 22:46:43 +05:30
Shitiz Garg
15929201b8 [ticket/12334] Add get_profile_value_raw unit tests for type_dropdown
PHPBB3-12334
2014-06-24 22:46:43 +05:30
Shitiz Garg
ab6d36dd57 [ticket/12334] Add get_profile_value_raw unit test for type_string
PHPBB3-12334
2014-06-24 22:46:33 +05:30
Marc Alexander
309dbb4ef9 [ticket/12755] Terminate upload loop if upload reaches filesize
Terminate the upload loop if the expected filesize has been reached instead
of trying to read more bytes until the timeout has been reached.

PHPBB3-12755
2014-06-24 19:07:49 +02:00
Marc Alexander
277e9a7a85 [ticket/9801] Add viewonline_helper service to allow proper testing
The viewonline_helper service can and will be extended in the future which
will allow us to also test the viewonline page better.

PHPBB3-9801
2014-06-24 18:49:31 +02:00
Shitiz Garg
e9fbaac212 [ticket/12334] Add get_profile_value_raw unit test for type_url
PHPBB3-12334
2014-06-24 22:15:20 +05:30
Shitiz Garg
7a5afdeb4c [ticket/12334] Add get_profile_value_raw unit tests for type_int
PHPBB3-12334
2014-06-24 22:12:00 +05:30
PayBas
8cef0b6971 [ticket/12334] Removed tests
Will be implemented in #2459

PHPBB3-12334
2014-06-24 21:47:29 +05:30
PayBas
349fbabd2e [ticket/12334] Dropdowns cannot be tested this way
PHPBB3-12334
2014-06-24 21:47:29 +05:30
PayBas
ac97497d95 [ticket/12334] Added test get_profile_value_raw
PHPBB3-12334
2014-06-24 21:47:29 +05:30
PayBas
2b451a174b [ticket/12334] Changed from valueid to value_raw
PHPBB3-12334
2014-06-24 21:47:29 +05:30
PayBas
507eca319d [ticket/12334] Implemented get_profile_valueid method
PHPBB3-12334
2014-06-24 21:47:29 +05:30
PayBas
4169fd65f0 [ticket/12334] Added field_novalue fall-back as requested
PHPBB3-12334
2014-06-24 21:47:29 +05:30
PayBas
08e2c07f0b [ticket/12334] Add PROFILE_FIELD_VALUEID template var
PHPBB3-12334
2014-06-24 21:47:29 +05:30
Andreas Fischer
1edcfcb502 Merge pull request #2646 from prototech/ticket/12750
[ticket/12750] Center installation page copyright text.

* prototech/ticket/12750:
  [ticket/12750] Center installation page copyright text.
2014-06-24 13:01:02 +02:00
Marc Alexander
5ee1e07e17 [ticket/12755] Change upload in remote_upload() method to fit get_remote_file
PHPBB3-12755
2014-06-24 11:53:32 +02:00
Cesar G
e427d203b6 [ticket/12750] Center installation page copyright text.
PHPBB3-12750
2014-06-24 01:48:31 -07:00
Nils Adermann
41becd9c92 Merge remote-tracking branch 'github-nickvergessen/ticket/12612' into develop-ascraeus
* github-nickvergessen/ticket/12612:
  [ticket/12612] Prefix check_ids() with phpbb_
  [ticket/12612] Prefix mcp_sorting() with phpbb_
  [ticket/12612] Prefix get_*_data() with phpbb_ and delete unused global
  [ticket/12612] Prefix module url functions with phpbb_
  [ticket/12612] Prefix upload_popup() with phpbb_
  [ticket/12612] Prefix handle_post_delete() with phpbb and remove unused global
  [ticket/12612] Prefix custom UCP module function with phpbb_
  [ticket/12612] Prefix _sort_last_active() with phpbb_
  [ticket/12612] Prefix show_profile() with phpbb and delete unused global
2014-06-24 01:24:01 -04:00
Cesar G
0b4abd01c8 Merge remote-tracking branch 'PayBas/ticket/12562' into develop-ascraeus
* PayBas/ticket/12562:
  [ticket/12562] Add max-width to proSilver
2014-06-23 20:57:31 -07:00
Cesar G
8c44b2721c Merge remote-tracking branch 'PayBas/ticket/12648' into develop-ascraeus
* PayBas/ticket/12648:
  [ticket/12648] RTL fix & ACP border fix
  [ticket/12648] Slightly clear ACP active tab border
  [ticket/12648] Fix poll tab and revert unrelated color change
  [ticket/12648] Fix poll tab display error
  [ticket/12648] Added ARIA functionality
  [ticket/12648] Fix and modernize ACP header tabs
  [ticket/12648] More style fixes and also cleaned up CP left navigation
  [ticket/12648] IE8 & IE9 color fix
  [ticket/12648] Improve UCP/MCP/Posting tabs
2014-06-23 20:45:20 -07:00
Andreas Fischer
05bcce3169 Merge pull request #2642 from Nicofuma/ticket/12762
[ticket/12762] Make ext.php optional for extensions

* Nicofuma/ticket/12762:
  [ticket/12762] Make ext.php optional for extensions
2014-06-24 00:39:40 +02:00
Andreas Fischer
ba456bb00e Merge pull request #2643 from nickvergessen/ticket/12763
Ticket/12763 Do not regenerate the *_schema.sql files

* nickvergessen/ticket/12763:
  [ticket/12763] Remove invalid comment from oracle and postgres *_schema.sql
  [ticket/12763] Remove empty schema files
  [ticket/12763] Do not regenerate the *_schema.sql files
2014-06-24 00:19:30 +02:00
PayBas
7517cc0e05 [ticket/12648] RTL fix & ACP border fix
PHPBB3-12648
2014-06-24 00:02:26 +02:00
PayBas
919fee6b1b [ticket/12648] Slightly clear ACP active tab border
PHPBB3-12648
2014-06-24 00:02:26 +02:00
PayBas
8547fd4c2e [ticket/12648] Fix poll tab and revert unrelated color change
PHPBB3-12648
2014-06-24 00:02:25 +02:00
PayBas
1189fc9e51 [ticket/12648] Fix poll tab display error
PHPBB3-12648
2014-06-24 00:02:25 +02:00
PayBas
1cf6a0e124 [ticket/12648] Added ARIA functionality
PHPBB3-12648
2014-06-24 00:02:24 +02:00
PayBas
b83b72b271 [ticket/12648] Fix and modernize ACP header tabs
PHPBB3-12648
2014-06-24 00:02:24 +02:00
PayBas
6f9674228c [ticket/12648] More style fixes and also cleaned up CP left navigation
PHPBB3-12648
2014-06-24 00:02:23 +02:00
PayBas
f888b31645 [ticket/12648] IE8 & IE9 color fix
PHPBB3-12648
2014-06-24 00:02:23 +02:00
PayBas
eda3c36b1c [ticket/12648] Improve UCP/MCP/Posting tabs
PHPBB3-12648
2014-06-24 00:02:22 +02:00
Tristan Darricau
2ebd86611a [ticket/12716] Use a string as session_id
PHPBB3-12716
2014-06-23 23:59:45 +02:00
Joas Schilling
952b4de231 [ticket/12612] Prefix check_ids() with phpbb_
PHPBB3-12612
2014-06-23 23:01:52 +02:00
Joas Schilling
4ac43856f7 [ticket/12612] Prefix mcp_sorting() with phpbb_
PHPBB3-12612
2014-06-23 23:00:13 +02:00
Joas Schilling
c315fc6c89 [ticket/12612] Prefix get_*_data() with phpbb_ and delete unused global
PHPBB3-12612
2014-06-23 22:58:41 +02:00
Joas Schilling
bba23f61b3 [ticket/12612] Prefix module url functions with phpbb_
PHPBB3-12612
2014-06-23 22:54:15 +02:00
Joas Schilling
e4437e19e8 [ticket/12612] Prefix upload_popup() with phpbb_
PHPBB3-12612
2014-06-23 22:49:00 +02:00
Joas Schilling
5403b48788 [ticket/12612] Prefix handle_post_delete() with phpbb and remove unused global
PHPBB3-12612
2014-06-23 22:48:08 +02:00
Joas Schilling
0abc1f0f97 [ticket/12612] Prefix custom UCP module function with phpbb_
PHPBB3-12612
2014-06-23 22:46:20 +02:00
Joas Schilling
b72fdd9acf [ticket/12612] Prefix _sort_last_active() with phpbb_
PHPBB3-12612
2014-06-23 22:38:58 +02:00
Joas Schilling
7575c478c7 [ticket/12612] Prefix show_profile() with phpbb and delete unused global
PHPBB3-12612
2014-06-23 22:34:17 +02:00
Joas Schilling
307c9bc15f [ticket/12763] Remove invalid comment from oracle and postgres *_schema.sql
PHPBB3-12763
2014-06-23 21:41:59 +02:00
Joas Schilling
3fd7fd435d [ticket/12763] Remove empty schema files
PHPBB3-12763
2014-06-23 21:41:04 +02:00
Joas Schilling
e45cd32de7 [ticket/12763] Do not regenerate the *_schema.sql files
PHPBB3-12763
2014-06-23 21:39:34 +02:00
Crizzo
aff67b99b5 [ticket/12680] Adds variable for guest user
PHPBB3-12680
2014-06-23 20:49:25 +02:00
Andreas Fischer
8332671813 Merge pull request #2587 from dhruvgoel92/ticket/11528
[ticket/11528] Refactor install_board( ) into a new mink class

* dhruvgoel92/ticket/11528:
  [ticket/11528] Change click_submit() to accept id as param
  [ticket/11528] Handle case when config file cant be written by installer
  [ticket/11528] Change NULL to null
  [ticket/11528] Fix spaces and slashes as per guidelines
  [ticket/11528] Add asserts in installation steps
  [ticket/11528] Use 'use' keyword to import classes to current scope
  [ticket/11528] Move parent::tearDown() to end of tearDown()
  [ticket/11528] Call parent::tearDown in overrided tearDown method
  [ticket/11528] Instantiate $client, $driver from functional test case
  [ticket/11528] Refactor install_board() code into a new class
  [ticket/11528] Add behat/mink and mink-goutte-driver as dependency
2014-06-23 20:38:11 +02:00
Marc Alexander
8817b59377 [ticket/12755] Add language string for timed out remote upload
PHPBB3-12755
2014-06-23 20:35:36 +02:00
Crizzo
8984dc6103 [ticket/12680] Brings back get_username_string()
PHPBB3-12680
2014-06-23 20:12:12 +02:00
Joas Schilling
052a4e6f58 Merge pull request #2640 from dhruvgoel92/ticket/12532
[ticket/12532] Add navbar_header_username_append/prepend

* dhruvgoel92/ticket/12532:
  [ticket/12532] Move logged_out event into its own <li>
  [ticket/12532] Fix tab -> space indentation in events.md
  [ticket/12532] Add navbar_header_logged_out_content event
  [ticket/12532] Add navbar_header_username_append/prepend
2014-06-23 20:05:01 +02:00
Joas Schilling
ec4924cf14 Merge pull request #2581 from lucifer4o/ticket/12696
[Ticket/12696] Add events to ucp_register.html

* lucifer4o/ticket/12696:
  [ticket/12696] Typo
  [ticket/12696] Change some parts
  [ticket/12696] Naming convention changes
  [ticket/12696] A small error with events.md perms
  [ticket/12696] Add events to evets.md
  [ticket/12696] Add prosilver ucp_register
  [ticket/12696] Add events to ucp_register.html
2014-06-23 19:49:21 +02:00
Joas Schilling
c740772d93 Merge pull request #2574 from lucifer4o/ticket/12690
[ticket/12690] Add core.submit_pm_after event

* lucifer4o/ticket/12690:
  [ticket/12690] Find a space
  [ticket/12690] Remove $msg_id and chmod
  [ticket/12690] Add other info to core.submit_pm_after
  [ticket/12690] Add core.submit_pm_after event
2014-06-23 19:46:50 +02:00
Joas Schilling
08f244229c Merge pull request #2609 from VSEphpbb/ticket/12728
[ticket/12728] Enforce box model sizing on image attachment thumbnails

* VSEphpbb/ticket/12728:
  [ticket/12728] Adjust .postimage sizing to 100%
  [ticket/12728] Enforce box model sizing on image attachment thumbnails
2014-06-23 19:42:19 +02:00
Tristan Darricau
26eb15ffab [ticket/12762] Make ext.php optional for extensions
PHPBB3-12762
2014-06-23 19:39:19 +02:00
Crizzo
453f2904c2 [ticket/12680] Solves last bugs. viewprofile: contact --> contact nickname
PHPBB3-12680
2014-06-23 19:38:44 +02:00
Dhruv Goel
dfbe072d51 Merge pull request #2571 from Crizz0/ticket/12563
[ticket/12563] Changes 2 style specific language variables for better understanding
2014-06-23 22:04:20 +05:30
Dhruv
61fa0908bc [ticket/11528] Change click_submit() to accept id as param
PHPBB3-11528
2014-06-23 21:24:29 +05:30
Dhruv
2147a5eba5 [ticket/11528] Handle case when config file cant be written by installer
PHPBB3-11528
2014-06-23 21:23:47 +05:30
Nils Adermann
1f9e1fd177 Merge remote-tracking branch 'github-nickvergessen/ticket/12612-ascraeus' into develop-ascraeus
* github-nickvergessen/ticket/12612-ascraeus:
  [ticket/12612] Move functions from mcp.php to functions_mcp.php
  [ticket/12612] Move function from ucp.php to functions_user.php
  [ticket/12612] Move functions from memberlist.php to functions_display.php
  [ticket/12612] Move functions from posting.php to functions_posting.php
2014-06-23 11:19:15 -04:00
Dhruv
12590af750 [ticket/12532] Move logged_out event into its own <li>
PHPBB3-12532
2014-06-23 19:59:59 +05:30
imkingdavid
5b02613a83 [ticket/12532] Fix tab -> space indentation in events.md
PHPBB3-12532
2014-06-23 19:56:36 +05:30
imkingdavid
99e9f198b0 [ticket/12532] Add navbar_header_logged_out_content event
PHPBB3-12532
2014-06-23 19:56:34 +05:30
David King
3113963cb6 [ticket/12532] Add navbar_header_username_append/prepend
PHPBB3-12532
2014-06-23 19:56:33 +05:30
Andreas Fischer
4cb7cbd093 Merge pull request #2639 from n-aleha/ticket/12761
[ticket/12761] Remove the execute bit from functions_user.php

* n-aleha/ticket/12761:
  [ticket/12761] Remove the execute bit from functions_user.php
2014-06-23 16:17:14 +02:00
n-aleha
ec69a22899 [ticket/12761] Remove the execute bit from functions_user.php
PHPBB3-12761
2014-06-23 17:13:03 +03:00
Andreas Fischer
647869721d Merge pull request #2625 from Nicofuma/ticket/12726
[ticket/12726] Add Code Sniffer sniff ensuring PHP files do not contain any unused use statements

* Nicofuma/ticket/12726:
  [ticket/12726] Fix coding style
  [ticket/12726] Update error message
  [ticket/12726] Fix coding style
  [ticket/12726] Ensure PHP files do not contain any unused use statements
  [ticket/12726] PSR2.Namespaces.NamespaceDeclaration
2014-06-23 00:53:55 +02:00
Cesar G
74a37259f7 Merge remote-tracking branch 'PayBas/ticket/12608' into develop-ascraeus
* PayBas/ticket/12608:
  [ticket/12608] Change CSS classes to prevent styling conflicts
  [ticket/12608] Add subSilver
  [ticket/12608] Changed get_styling() to get_style_class()
  [ticket/12608] Remove somewhat redundant reported color style
  [ticket/12608] Improved LTR and various bugfixes
  [ticket/12608] Clean up whitespace
  [ticket/12608] Add styling (CSS class) options to notifications
  [ticket/12608] Updated tests
  [ticket/12608] Improve notifications drop-down menu styling in header
2014-06-22 15:44:06 -07:00
Stanislav Atanasov
1d5e94ba36 [ticket/12696] Typo
Fixing typo

PHPBB3-12696
2014-06-23 01:02:06 +03:00
Tristan Darricau
7958a97fdd [ticket/12726] Fix coding style
PHPBB3-12726
2014-06-22 23:57:39 +02:00
Tristan Darricau
147ae8374c [ticket/12726] Update error message
PHPBB3-12726
2014-06-22 23:52:19 +02:00
Tristan Darricau
2ff9064ffb [ticket/12726] Fix coding style
PHPBB3-12726
2014-06-22 23:52:17 +02:00
Tristan Darricau
fa5afb60aa [ticket/12726] Ensure PHP files do not contain any unused use statements
PHPBB3-12726
2014-06-22 23:52:16 +02:00
Tristan Darricau
e46ef86104 [ticket/12726] PSR2.Namespaces.NamespaceDeclaration
PHPBB3-12726
2014-06-22 23:52:14 +02:00
Andreas Fischer
4f2acbaed2 Merge pull request #2629 from nickvergessen/ticket/12747
[ticket/12747] Drop support for Firebird

* nickvergessen/ticket/12747:
  [ticket/12747] Remove some methods which are not used anymore
  [ticket/12747] Drop support for Firebird

Conflicts:
	phpBB/phpbb/db/driver/firebird.php
2014-06-22 23:41:14 +02:00
Joas Schilling
de04304e94 Merge pull request #2591 from rxu/ticket/12704
[ticket/12704] Improve the load time information in the footer when enabled

* rxu/ticket/12704:
  [ticket/12704] Improve the load time information in the footer when enabled
2014-06-22 23:09:21 +02:00
Joas Schilling
d3b3e9265c Merge pull request #2597 from Skouat/ticket/12714
[ticket/12714] Switching the description of radio buttons to align the correct description above the listbox

* Skouat/ticket/12714:
  [ticket/12714] Move "allow all forums" in its own dd-element
2014-06-22 23:01:32 +02:00
Joas Schilling
bb8be29fd5 Merge pull request #2575 from lucifer4o/ticket/12691
[ticket/12691] Add core.delete_pm to funtion delete_pm

* lucifer4o/ticket/12691:
  [ticket/12691] Comment change
  [ticket/12691] Change event to core.delete_pm_before
  [ticket/12691] Add core.delete_pm to funtion delete_pm
2014-06-22 22:59:37 +02:00
Joas Schilling
1e97502d90 Merge pull request #2586 from lucifer4o/ticket/12701
[Ticket/12701] Add events to user_add function

* lucifer4o/ticket/12701:
  [ticket/12701] Add change
  [ticket/12701] Rmove before event and expand modify_data
  [ticket/12701] Add events to user_add function
2014-06-22 22:57:40 +02:00
PayBas
1a3c1d5b9a [ticket/12608] Change CSS classes to prevent styling conflicts
PHPBB3-12608
2014-06-22 22:41:56 +02:00
Stanislav Atanasov
334c77cd0d [ticket/12696] Change some parts
Change placment of ucp_register_profile_fields_before

PHPBB3-12696
2014-06-22 23:24:49 +03:00
Stanislav Atanasov
2ee8b738e5 [ticket/12690] Find a space
Lost a spce there ... found it ...

PHPBB3-12690
2014-06-22 23:22:15 +03:00
PayBas
5bbcc39b66 [ticket/12562] Add max-width to proSilver
PHPBB3-12562
2014-06-22 22:11:39 +02:00
Crizzo
c4e48ed0b9 [ticket/12563] Adds &laquo; and &raquo; to the links in acp_styles.php
PHPBB3-12563
2014-06-22 22:02:46 +02:00
Dhruv
f0e115fdcc [ticket/11528] Change NULL to null
PHPBB3-11528
2014-06-23 01:26:22 +05:30
Dhruv
a92c1d1ec0 [ticket/11528] Fix spaces and slashes as per guidelines
PHPBB3-11528
2014-06-23 01:26:21 +05:30
Dhruv
f5aa9732d1 [ticket/11528] Add asserts in installation steps
PHPBB3-11528
2014-06-23 01:26:19 +05:30
Dhruv
2d1a998003 [ticket/11528] Use 'use' keyword to import classes to current scope
PHPBB3-11528
2014-06-23 01:26:18 +05:30
Dhruv
c26fa6a15b [ticket/11528] Move parent::tearDown() to end of tearDown()
PHPBB3-11528
2014-06-23 01:26:17 +05:30
Dhruv
019b345171 [ticket/11528] Call parent::tearDown in overrided tearDown method
PHPBB3-11528
2014-06-23 01:26:16 +05:30
Dhruv
648cbbd9a0 [ticket/11528] Instantiate $client, $driver from functional test case
Make mink test case an abstract class, instantiate $driver, $client
from its child class i.e. functional test case.

PHPBB3-11528
2014-06-23 01:26:14 +05:30
Dhruv
01f350a614 [ticket/11528] Refactor install_board() code into a new class
PHPBB3-11528
2014-06-23 01:26:13 +05:30
Dhruv
0ebf6011b7 [ticket/11528] Add behat/mink and mink-goutte-driver as dependency
PHPBB3-11528
2014-06-23 01:26:02 +05:30
Stanislav Atanasov
dc5e2f5d9a [ticket/12696] Naming convention changes
Some changes propsed by nickvergessen

PHPBB3-12696
2014-06-22 22:21:52 +03:00
Stanislav Atanasov
d387d08db3 [ticket/12696] A small error with events.md perms
docs/events.md was in 755 changed to 644

PHPBB3-12696
2014-06-22 22:21:52 +03:00
Stanislav Atanasov
641f8f6121 [ticket/12696] Add events to evets.md
Add events in documentation

PHPBB3-12696
2014-06-22 22:21:52 +03:00
Stanislav Atanasov
cfae4ed0eb [ticket/12696] Add prosilver ucp_register
Add events to prosilver ucp_register

PHPBB3-12696
2014-06-22 22:21:52 +03:00
Stanislav Atanasov
6afd09fcb0 [ticket/12696] Add events to ucp_register.html
Add events to UCP Register template:
ucp_register_before - add before start of registration form fields
ucp_register_after - add after end of registration form fileds
ucp_register_passowrd_after - add event after passowrd field
ucp_register_language_before - add event before language selector
ucp_register_profiles_before - add event just before begining of
registration profile informatiom

All events are inside the registration form fieldset.
All events are inside the registration form

Justification:

Add abbility of extension author to include custom
checks or fields inside the registration form.
Like age check field/verification.

PHPBB3-12696
2014-06-22 22:21:52 +03:00
Mario Skouat
a487fab0ea [ticket/12714] Move "allow all forums" in its own dd-element
PHPBB3-12714
2014-06-22 21:13:42 +02:00
Stanislav Atanasov
152d5fc263 [ticket/12701] Add change
Change back to since
Add change

PHPBB3-12701
2014-06-22 22:07:04 +03:00
Stanislav Atanasov
165c5f8f15 [ticket/12701] Rmove before event and expand modify_data
Removing core.user_add_before
Adding $user_row and $cp_data to core.user_add_modify_data

PHPBB3-12701
2014-06-22 22:07:04 +03:00
Stanislav Atanasov
dd075e4bbc [ticket/12701] Add events to user_add function
Add two new events to user_add function
in ./includes/functions_user.php.

core.user_add_before - allow modification of
submitted to function data.
Returns:
@var array $user_row - user_row array - User array
@var array $cp_data - cp_data array - CPF array

core.user_add_after - return user_id, user_row and
cp_data after user registration
Returns:
@var int $user_id - user_id of the new user
@var array $user_row - user_row array - User array
@var array $cp_data - cp_data array - CPF array

Justification:
Allow extensions to parse data before and after
creation of the user.

PHPBB3-12701
2014-06-22 22:07:04 +03:00
Stanislav Atanasov
992fb8e452 [ticket/12691] Comment change
Change a bit the core event comment

PHPBB3-12691
2014-06-22 22:03:01 +03:00
Stanislav Atanasov
e8dd7904e9 [ticket/12691] Change event to core.delete_pm_before
Just a requested change by nickvergessen

PHPBB3-12691
2014-06-22 22:03:00 +03:00
Stanislav Atanasov
cd31aea4be [ticket/12691] Add core.delete_pm to funtion delete_pm
Add core.delete_pm to funtion delete_pm.
Event will return:
int $user_id - ID of the user requested the message delete
array $msg_ids - array of all messages to be deleted
int $folder_id - ID of the user folder where the messages are stored
Justification:
Allow extensions to capture this event
and act as intended by ext author

PHPBB3-12691
2014-06-22 22:03:00 +03:00
Stanislav Atanasov
85b37a5f4d [ticket/12690] Remove $msg_id and chmod
Remove inneded $msg_id
Chmod file to 644

PHPBB3-12690
2014-06-22 21:54:51 +03:00
Stanislav Atanasov
9c6f74daff [ticket/12690] Add other info to core.submit_pm_after
Added $mode
Added $subject
Added $data
Added $pm_data

PHPBB3-12690
2014-06-22 21:54:51 +03:00
Stanislav Atanasov
e05df3bf3d [ticket/12690] Add core.submit_pm_after event
Add core.submit_pm_after to funtion submit_pm.
Event will return just submited msg_id. It should be plased
just before return $data['msg_id'];

Justification:
Using only core.submit_pm_before does not allow to
follow up after message submission.
The message ID is recieved at DB submission.
Some times we need the MSG_ID as identifier

PHPBB3-12690
2014-06-22 21:54:51 +03:00
Joas Schilling
80ac276971 Merge pull request #2530 from PayBas/ticket/12646
[ticket/12646] Add data-# attribute to breadcrumb links

* PayBas/ticket/12646:
  [ticket/12646] Changed to navlinks.MICRODATA
  [ticket/12646] Add check for navlinks.FORUM_ID
  [ticket/12646] Changed index/home data attr & updated subsilver
  [ticket/12646] Add data-f attribute to breadcrumb links
2014-06-22 20:50:23 +02:00
Joas Schilling
b41a730471 Merge pull request #2635 from PayBas/ticket/12758
[ticket/12758] Add show_results var to core.search_modify_rowset

* PayBas/ticket/12758:
  [ticket/12758] Add @changed to doc block
  [ticket/12758] Add show_results var to core.search_modify_rowset
2014-06-22 20:42:14 +02:00
Joas Schilling
d421187cb6 Merge pull request #2638 from VSEphpbb/ticket/12332
[ticket/12332] Fix plupload attachments with long names

* VSEphpbb/ticket/12332:
  [ticket/12332] Fix plupload attachments with long names overflow
2014-06-22 20:38:22 +02:00
Joas Schilling
92a385dea6 Merge pull request #2617 from hanakin/ticket/12740
[ticket/12740] Use .logo instead of #logo in css

* hanakin/ticket/12740:
  [ticket/12740] Use class for logo in css
2014-06-22 20:10:13 +02:00
Joas Schilling
eddf77d2c2 Merge pull request #2632 from Dragooon/ticket/12753
[ticket/12753] Add invalid chars string for ALPHA_DOTS and ALPHA_PUNCTUAION

* Dragooon/ticket/12753:
  [ticket/12753] Add invalid chars string for ALPHA_DOTS and ALPHA_PUNCTUATION
2014-06-22 20:00:19 +02:00
Matt Friedman
bd7fdb32cf [ticket/12332] Fix plupload attachments with long names overflow
PHPBB3-12332
2014-06-22 10:58:00 -07:00
Joas Schilling
7afc13b4db Merge pull request #2615 from Dragooon/ticket/12730
[ticket/12730] Add Google+ profile field

* Dragooon/ticket/12730:
  [ticket/12730] Update Google+ button class to use proper identification
  [ticket/12730] Update maxlen for type_googleplus to 255
  [ticket/12730] Fix type_googleplus_test to use same validation rule as the field
  [ticket/12730] Update field_length to be 20 by default for Google+
  [ticket/12730] Google+ field_order should be 13
  [ticket/12730] Switch service name to googleplus for type_googleplus
  [ticket/12730] Restore field_length to 10 for type_googleplus
  [ticket/12730] Add functional test for Google+ field
  [ticket/12730] Value shouldn't be escaped for schema_data.sql
  [ticket/12730] Missing newline at type_googleplus_test.php
  [ticket/12730] Set field_active to 1 for Google+ field
  [ticket/12730] Add unit test for type_googleplus
  [ticket/12730] Add missing brackets to type_googleplus.php
  [ticket/12730] Update field_order for Google+ CPF
  [ticket/12730] Use string template for Google+ CPF instead of a new one
  [ticket/12730] Minor formatting fixes
  [ticket/12730] Incorrect indentation for type_googleplus
  [ticket/12730] Spaces in block header
  [ticket/12730] Add a Google+ field by default
  [ticket/12730] Add Google+ profile field type
2014-06-22 19:40:56 +02:00
Matt Friedman
d3db8b6565 [ticket/12728] Adjust .postimage sizing to 100%
PHPBB3-12728
2014-06-22 10:36:12 -07:00
Joas Schilling
dc7ed58bf5 [ticket/12747] Remove some methods which are not used anymore
PHPBB3-12747
2014-06-22 19:31:40 +02:00
Andreas Fischer
afe9d3c3f3 Merge pull request #2630 from Nicofuma/ticket/12723
[ticket/12723] Add Sniff ensuring PHP files use the correct file header

* Nicofuma/ticket/12723:
  [ticket/12723] Do not mention too many details on documentation.
  [ticket/12723] Do not reference the coding guidelines section.
  [ticket/12757] Add a Code Sniffer ruleset for PHP files of phpBB extensions
  [ticket/12723] Properly describe new Code Sniffer rulsets.
  [ticket/12723] Use core suffix in filename instead of phpbb in the middle.
  [ticket/12723] Add Sniff ensuring PHP files use the correct file header
2014-06-22 11:35:13 +02:00
PayBas
e5b7414589 [ticket/12758] Add @changed to doc block
PHPBB3-12758
2014-06-22 10:23:41 +02:00
PayBas
22966927ea [ticket/12758] Add show_results var to core.search_modify_rowset
PHPBB3-12758
2014-06-22 02:43:24 +02:00
Tristan Darricau
fdcc544ae6 Merge pull request #1 from bantu/ticket/12723
Ticket/12723
2014-06-22 02:09:32 +02:00
Andreas Fischer
ddb35531ac [ticket/12723] Do not mention too many details on documentation.
PHPBB3-12723
2014-06-22 01:49:59 +02:00
Andreas Fischer
e10bf39d08 [ticket/12723] Do not reference the coding guidelines section.
PHPBB3-12723
2014-06-22 01:42:43 +02:00
Andreas Fischer
900a5b07c4 [ticket/12757] Add a Code Sniffer ruleset for PHP files of phpBB extensions
PHPBB3-12757
2014-06-22 01:33:13 +02:00
Andreas Fischer
82c43e258b [ticket/12723] Properly describe new Code Sniffer rulsets.
PHPBB3-12723
2014-06-22 01:20:49 +02:00
Andreas Fischer
e7c6da2c54 [ticket/12723] Use core suffix in filename instead of phpbb in the middle.
PHPBB3-12723
2014-06-22 01:19:02 +02:00
Tristan Darricau
32a2c95f90 [ticket/12723] Add Sniff ensuring PHP files use the correct file header
PHPBB3-12723
2014-06-22 00:45:34 +02:00
Andreas Fischer
566615fa31 Merge pull request #2634 from Nicofuma/ticket/12756
[ticket/12756] Fix mysqli_fetch_assoc on hhvm

* Nicofuma/ticket/12756:
  [ticket/12756] Fix mysqli_fetch_assoc on hhvm
2014-06-22 00:38:36 +02:00
Tristan Darricau
89a7a55190 [ticket/12756] Fix mysqli_fetch_assoc on hhvm
PHPBB3-12756
2014-06-21 16:50:17 +02:00
Marc Alexander
0499655ba4 [ticket/12755] Add timeout to remote upload to prevent infinite loop
PHPBB3-12755
2014-06-21 11:55:54 +02:00
Joas Schilling
40d264654c Merge pull request #2631 from Nicofuma/ticket/12752
[ticket/12752] Cron list tests fail on windows with ansi support

* Nicofuma/ticket/12752:
  [ticket/12752] Cron list tests fail on windows with ansi support
2014-06-21 00:40:55 +02:00
Shitiz Garg
6b90a0d095 [ticket/12753] Add invalid chars string for ALPHA_DOTS and ALPHA_PUNCTUATION
PHPBB3-12753
2014-06-21 04:03:43 +05:30
Shitiz Garg
d4679e6a95 [ticket/12730] Update Google+ button class to use proper identification
PHPBB3-12730
2014-06-21 03:55:09 +05:30
Shitiz Garg
e51a5791dd [ticket/12730] Update maxlen for type_googleplus to 255
PHPBB3-12730
2014-06-21 03:51:08 +05:30
Shitiz Garg
ff057dfc8e [ticket/12730] Fix type_googleplus_test to use same validation rule as the field
PHPBB3-12730
2014-06-21 03:49:59 +05:30
Shitiz Garg
72f3ff2dcc [ticket/12730] Update field_length to be 20 by default for Google+
PHPBB3-12730
2014-06-21 03:48:23 +05:30
Shitiz Garg
4b49d451aa [ticket/12730] Google+ field_order should be 13
PHPBB3-12730
2014-06-21 03:42:38 +05:30
Shitiz Garg
985dbd4482 [ticket/12730] Switch service name to googleplus for type_googleplus
PHPBB3-12730
2014-06-21 03:35:19 +05:30
Shitiz Garg
83966a575b [ticket/12730] Restore field_length to 10 for type_googleplus
PHPBB3-12730
2014-06-21 03:35:19 +05:30
Shitiz Garg
ea0e073c12 [ticket/12730] Add functional test for Google+ field
PHPBB3-12730
2014-06-21 03:35:19 +05:30
Shitiz Garg
4690709212 [ticket/12730] Value shouldn't be escaped for schema_data.sql
PHPBB3-12730
2014-06-21 03:33:02 +05:30
Shitiz Garg
b50744ae09 [ticket/12730] Missing newline at type_googleplus_test.php
PHPBB3-12730
2014-06-21 03:32:34 +05:30
Shitiz Garg
9c18df8690 [ticket/12730] Set field_active to 1 for Google+ field
PHPBB3-12730
2014-06-21 03:32:34 +05:30
Shitiz Garg
30cce1ed49 [ticket/12730] Add unit test for type_googleplus
PHPBB3-12730
2014-06-21 03:31:45 +05:30
Shitiz Garg
474dc57782 [ticket/12730] Add missing brackets to type_googleplus.php
PHPBB3-12730
2014-06-21 03:31:45 +05:30
Shitiz Garg
b516da649f [ticket/12730] Update field_order for Google+ CPF
PHPBB3-12730
2014-06-21 03:31:45 +05:30
Shitiz Garg
1363dccf12 [ticket/12730] Use string template for Google+ CPF instead of a new one
PHPBB3-12730
2014-06-21 03:31:23 +05:30
Shitiz Garg
e1454ec487 [ticket/12730] Minor formatting fixes
PHPBB3-12730
2014-06-21 03:31:23 +05:30
Shitiz Garg
d15706bff5 [ticket/12730] Incorrect indentation for type_googleplus
PHPBB3-12730
2014-06-21 03:31:23 +05:30
Shitiz Garg
0e04748d7f [ticket/12730] Spaces in block header
PHPBB3-12730
2014-06-21 03:31:23 +05:30
Shitiz Garg
ab83995f44 [ticket/12730] Add a Google+ field by default
PHPBB3-12730
2014-06-21 03:31:23 +05:30
Shitiz Garg
3cebb18ce8 [ticket/12730] Add Google+ profile field type
Google+ has a "+" before a custom URL but doesn't for those which are using
their integer ID. To cover that we need to have an extra profile field

PHPBB3-12730
2014-06-21 03:29:31 +05:30
Joas Schilling
18bf45ab1b Merge pull request #2628 from Dragooon/ticket/12731
[ticket/12731] Add YouTube custom profile field

* Dragooon/ticket/12731:
  [ticket/12731] Add functional test for youtube field
  [ticket/12731] Set field_active to 1 for YouTube field
  [ticket/12731] Add YouTube custom profile field

Conflicts:
	phpBB/install/schemas/schema.json
	phpBB/install/schemas/schema_data.sql
	phpBB/language/en/memberlist.php
	tests/functional/ucp_profile_test.php
2014-06-20 23:42:54 +02:00
Joas Schilling
3c38fcce40 Merge pull request #2621 from Dragooon/ticket/12732
[ticket/12732] Add Skype custom profile field

* Dragooon/ticket/12732:
  [ticket/12732] Update schema.json for Skype
  [ticket/12732] Add functional test for Skype profile field
  [ticket/12732] Values shouldn't be escaped for schema_data.sql
  [ticket/12732] Set field_active to 1 for Skype's field
  [ticket/12732] Add unit tests for ALPHA_PUNCTUATION
  [ticket/12732] Missing comma after validation definition
  [ticket/12732] Improve ALPHA_PUNCTUATION description
  [ticket/12732] Use user info instead of chat as default Skype action
  [ticket/12732] Add Skype custom profile field

Conflicts:
	phpBB/install/schemas/schema.json
	phpBB/install/schemas/schema_data.sql
	phpBB/language/en/memberlist.php
	tests/functional/ucp_profile_test.php
	tests/profilefields/type_string_test.php
2014-06-20 23:39:54 +02:00
Joas Schilling
b9890c6a4c Merge pull request #2612 from Dragooon/ticket/12733
[ticket/12733] Add Twitter custom profile field

* Dragooon/ticket/12733:
  [ticket/12733] Add functional test for twitter profile field
  [ticket/12733] Values needn't be escaped for schema_data.sql
  [ticket/12733] Set field_active to 1 for Twitter
  [ticket/12733] Convert spaces to tabs
  [ticket/12733] Fix spacing for block header in profilefield_twitter.php
  [ticket/12733] Update schema.json
  [ticket/12733] Add Twitter custom profile field

Conflicts:
	phpBB/install/schemas/schema.json
	phpBB/install/schemas/schema_data.sql
	phpBB/language/en/memberlist.php
	tests/functional/ucp_profile_test.php
2014-06-20 23:37:51 +02:00
Joas Schilling
8595fee040 Merge pull request #2611 from Dragooon/ticket/12729
[ticket/12729] Add Facebook custom profile field

* Dragooon/ticket/12729:
  [ticket/12729] Add functional test for Facebook field
  [ticket/12730] Values needn't be escaped for schema_data.sql
  [ticket/12729] Set field_active as 1 for Facebook profile field
  [ticket/12729] Add unit test for ALPHA_DOTS validation
  [ticket/12729] Move ALPHA_DOTS to above ALPHA_SPACERS
  [ticket/12729] Convert spaces to tabs
  [ticket/12729] Fix block header spacing for profilefield_facebook.php
  [ticket/12729] Update schema.json
  [ticket/12729] Unnecessary whitespace in profilefield_facebook.php
  [ticket/12729] Cleanup schema_data.sql for Facebook field
  [ticket/12729] Add Facebook custom profile field
2014-06-20 23:36:26 +02:00
Shitiz Garg
6b58f40663 [ticket/12732] Update schema.json for Skype
PHPBB3-12732
2014-06-21 01:16:37 +05:30
Tristan Darricau
0404d3b910 [ticket/12752] Cron list tests fail on windows with ansi support
PHPBB3-12752
2014-06-20 19:12:58 +02:00
Shitiz Garg
aeeaf2f6ef [ticket/12729] Add functional test for Facebook field
PHPBB3-12729
2014-06-20 21:20:04 +05:30
Shitiz Garg
51b4dc7077 [ticket/12731] Add functional test for youtube field
PHPBB3-12731
2014-06-20 21:17:23 +05:30
Shitiz Garg
10b466848a [ticket/12732] Add functional test for Skype profile field
PHPBB3-12732
2014-06-20 21:13:29 +05:30
Shitiz Garg
cdfcbfc6d0 [ticket/12733] Add functional test for twitter profile field
PHPBB3-12733
2014-06-20 21:12:02 +05:30
Shitiz Garg
27d761d08e [ticket/12730] Values needn't be escaped for schema_data.sql
PHPBB3-12730
2014-06-20 21:04:07 +05:30
Shitiz Garg
abc55dcb40 [ticket/12733] Values needn't be escaped for schema_data.sql
PHPBB3-12733
2014-06-20 21:03:04 +05:30
Shitiz Garg
01e05ccc6b [ticket/12732] Values shouldn't be escaped for schema_data.sql
PHPBB3-12732
2014-06-20 21:02:11 +05:30
hanakin
cc67f49fce [ticket/12740] Use class for logo in css
PHPBB3-12740
2014-06-20 17:25:06 +02:00
Joas Schilling
a5ca7479b2 Merge pull request #2626 from dhruvgoel92/ticket/12746
[ticket/12746] Init phpbb_dispatcher being used by delete_post()

* dhruvgoel92/ticket/12746:
  [ticket/12746] Init phpbb_dispatcher being used by delete_post()
2014-06-20 16:02:18 +02:00
Shitiz Garg
acbc0ea1f7 [ticket/12731] Set field_active to 1 for YouTube field
PHPBB3-12731
2014-06-20 19:21:57 +05:30
Shitiz Garg
03c5de594e [ticket/12731] Add YouTube custom profile field
PHPBB3-12731
2014-06-20 19:21:57 +05:30
Shitiz Garg
a4db81b379 [ticket/12733] Set field_active to 1 for Twitter
PHPBB3-12733
2014-06-20 19:21:35 +05:30
Shitiz Garg
deae22b85f [ticket/12733] Convert spaces to tabs
PHPBB3-12733
2014-06-20 19:21:35 +05:30
Shitiz Garg
04e43e2087 [ticket/12733] Fix spacing for block header in profilefield_twitter.php
PHPBB3-12733
2014-06-20 19:21:35 +05:30
Shitiz Garg
d7edf31b95 [ticket/12733] Update schema.json
PHPBB3-12733
2014-06-20 19:21:35 +05:30
Shitiz Garg
fac6ab1fd4 [ticket/12733] Add Twitter custom profile field
PHPBB3-12733
2014-06-20 19:21:35 +05:30
Shitiz Garg
c61a67503e [ticket/12732] Set field_active to 1 for Skype's field
PHPBB3-12732
2014-06-20 19:15:46 +05:30
Shitiz Garg
c23532e052 [ticket/12729] Set field_active as 1 for Facebook profile field
PHPBB3-12729
2014-06-20 19:09:17 +05:30
rxu
f850d5fa90 [ticket/12704] Improve the load time information in the footer when enabled
PR #2570 has added new constant to display load time information without
debug mode is being on (https://tracker.phpbb.com/browse/PHPBB3-12687).
This patch expands the total load time info with SQL/PHP load times,
while hiding the additional info with <abbr> element.

PHPBB3-12704
2014-06-20 20:57:32 +08:00
Shitiz Garg
fc6cb02e1f [ticket/12729] Add unit test for ALPHA_DOTS validation
PHPBB3-12729
2014-06-20 18:12:26 +05:30
Shitiz Garg
5701a4658c [ticket/12729] Move ALPHA_DOTS to above ALPHA_SPACERS
Have easier matches first for better performance

PHPBB3-12729
2014-06-20 18:10:08 +05:30
Shitiz Garg
2ba12a17b2 [ticket/12729] Convert spaces to tabs
PHPBB3-12729
2014-06-20 18:10:08 +05:30
Shitiz Garg
e127a4fcce [ticket/12729] Fix block header spacing for profilefield_facebook.php
PHPBB3-12729
2014-06-20 18:10:08 +05:30
Shitiz Garg
f310bc00a7 [ticket/12729] Update schema.json
PHPBB3-12729
2014-06-20 18:10:08 +05:30
Shitiz Garg
ab47798a3e [ticket/12729] Unnecessary whitespace in profilefield_facebook.php
PHPBB3-12729
2014-06-20 18:10:08 +05:30
Shitiz Garg
c408ac52c3 [ticket/12729] Cleanup schema_data.sql for Facebook field
PHPBB3-12729
2014-06-20 18:10:08 +05:30
Shitiz Garg
310b8af148 [ticket/12729] Add Facebook custom profile field
PHPBB3-12729
2014-06-20 18:10:08 +05:30
Shitiz Garg
9b85e4b141 [ticket/12732] Add unit tests for ALPHA_PUNCTUATION
PHPBB3-12732
2014-06-20 16:43:15 +05:30
Shitiz Garg
352f3b7e78 [ticket/12732] Missing comma after validation definition
PHPBB3-12732
2014-06-20 16:37:43 +05:30
Shitiz Garg
9d3f437149 [ticket/12732] Improve ALPHA_PUNCTUATION description
PHPBB3-12732
2014-06-20 16:37:42 +05:30
Shitiz Garg
da4b1d25a1 [ticket/12732] Use user info instead of chat as default Skype action
PHPBB3-12732
2014-06-20 16:37:42 +05:30
Shitiz Garg
28012dc9e1 [ticket/12732] Add Skype custom profile field
PHPBB3-12732
2014-06-20 16:37:42 +05:30
Joas Schilling
04164affe6 [ticket/12747] Drop support for Firebird
PHPBB3-12747
2014-06-20 12:35:42 +02:00
Joas Schilling
70d4ede9b2 Merge pull request #2459 from Dragooon/ticket/12514
[ticket/12514] Add tests for profile fields

* Dragooon/ticket/12514: (28 commits)
  [ticket/12514] Fix array formatting for tests
  [ticket/12514] Fix indention for type_url_test.php
  [ticket/12514] Missed a few spaces in comments
  [ticket/12514] Convert spaces to tabs
  [ticket/12514] Add a few additional tests for type_dropdown
  [ticket/12514] Add a few additional tests for type_int
  [ticket/12514] Fix some formatting for tests
  [ticket/12514] Add a few more tests for type_date
  [ticket/12514] Remove spaces in header blocks
  [ticket/12514] Use generic domain name for URL test
  [ticket/12514] Update file headers to represent the current format
  [ticket/12514] Remove get_ prefix from data providers
  [ticket/12514] Add a few more validation cases for type_string_test
  [ticket/12514] Minor fault in type_bool_test.php
  [ticket/12514] Remove tests/profiles as they're no longer required
  [ticket/12514] Fix type_int_test to correctly respect boundaries
  [ticket/12514] Multi value GET parameters are invalid for phpBB
  [ticket/12514] Add unit test for type_url custom profile field
  [ticket/12514] Add unit test for type_date custom profile field
  [ticket/12514] Add unit test for type_bool custom profile field
  ...
2014-06-20 12:14:23 +02:00
Dhruv
752b5b6628 [ticket/12746] Init phpbb_dispatcher being used by delete_post()
PHPBB3-12746
2014-06-20 15:30:04 +05:30
Shitiz Garg
4472a492da [ticket/12514] Fix array formatting for tests
PHPBB3-12514
2014-06-20 14:47:20 +05:30
Shitiz Garg
3ac73a831a [ticket/12514] Fix indention for type_url_test.php
PHPBB3-12514
2014-06-20 14:41:59 +05:30
Joas Schilling
b855f5fc6a Merge pull request #2566 from marc1706/ticket/11711
[ticket/11711] Inform user of unsupported characters while posting

* marc1706/ticket/11711:
  [ticket/11711] Improve coding and comments of character check
  [ticket/11711] Reduce size of tests and also test topic titles
  [ticket/11711] Improve checks for unsupported characters and check subject
  [ticket/11711] Inform user of unsupported characters while posting
2014-06-20 10:51:58 +02:00
Joas Schilling
ccb8fd18e2 Merge pull request #2514 from prototech/ticket/12553
[ticket/12553] Right-to-left fixes.

* prototech/ticket/12553:
  [ticket/12553] Fix responsive user profile.
  [ticket/12553] Fix responsive post profile.
  [ticket/12553] Remove dropdown-trigger class from member search input.
  [ticket/12553] Fix the merge topic list.
  [ticket/12553] Fix dropdown position of live search
  [ticket/12553] Fix the responsive topic/forum lists.
  [ticket/12553] Align the text in responsive tables to the right.
  [ticket/12553] Center the responsive CP menus instead of floating right.
  [ticket/12553] Open the notification dropdown to the left.
  [ticket/12553] Fix alignment of contact icon.
  [ticket/12553] Fix incorrect alignment in ACP responsive tables.
  [ticket/12553] Align alert text to the right.
  [ticket/12553] Remove incorrect size for site logo.
  [ticket/12553] Fix links in the last post column that are not clickable.
  [ticket/12553] Align contact icons to the right.
  [ticket/12553] Move Place inline and Delete buttons left of the file name.
2014-06-20 10:37:30 +02:00
Tristan Darricau
8595b2ae86 [ticket/12716] Add regression test
PHPBB3-12716
2014-06-19 21:04:43 +02:00
Andreas Fischer
99e08bffd8 Merge branch 'develop-olympus' into develop-ascraeus
* develop-olympus:
  [ticket/12741] Change the mode of the socket file
2014-06-19 19:32:22 +02:00
Andreas Fischer
51b2cc14f8 Merge pull request #2622 from Nicofuma/ticket/12741
[ticket/12741] Functional tests on Travis fail since php update last night

* Nicofuma/ticket/12741:
  [ticket/12741] Change the mode of the socket file
2014-06-19 19:32:21 +02:00
Tristan Darricau
f62ec14926 [ticket/12741] Change the mode of the socket file
Since php 5.4.29, by default, php-fpm creates the socket with the 0600 mode
instead of 0666.

PHPBB3-12741
2014-06-19 18:44:44 +02:00
Joas Schilling
729c353f27 [ticket/12612] Move functions from mcp.php to functions_mcp.php
PHPBB3-12612
2014-06-18 16:57:32 +02:00
Joas Schilling
de103f60e3 [ticket/12612] Move function from ucp.php to functions_user.php
PHPBB3-12612
2014-06-18 16:57:13 +02:00
Joas Schilling
7e66fa0f8d [ticket/12612] Move functions from memberlist.php to functions_display.php
PHPBB3-12612
2014-06-18 16:56:44 +02:00
Joas Schilling
73c69cc653 [ticket/12612] Move functions from posting.php to functions_posting.php
PHPBB3-12612
2014-06-18 16:56:29 +02:00
Shitiz Garg
f076b43915 [ticket/12514] Missed a few spaces in comments
PHPBB3-12514
2014-06-18 18:18:15 +05:30
Shitiz Garg
d1f517ad65 [ticket/12514] Convert spaces to tabs
PHPBB3-12514
2014-06-18 17:54:15 +05:30
Shitiz Garg
9f478de2ca [ticket/12514] Add a few additional tests for type_dropdown
PHPBB3-12514
2014-06-18 17:48:56 +05:30
Shitiz Garg
566f76a6b0 [ticket/12514] Add a few additional tests for type_int
PHPBB3-12514
2014-06-18 17:48:47 +05:30
Shitiz Garg
e820143e87 [ticket/12514] Fix some formatting for tests
PHPBB3-12514
2014-06-18 01:48:34 +05:30
Shitiz Garg
f549a6ce9f [ticket/12514] Add a few more tests for type_date
PHPBB3-12514
2014-06-18 01:40:40 +05:30
Shitiz Garg
aee20bcf0c [ticket/12514] Remove spaces in header blocks
PHPBB3-12514
2014-06-18 01:25:04 +05:30
Shitiz Garg
934db6ded1 [ticket/12514] Use generic domain name for URL test
PHPBB3-12514
2014-06-18 01:17:10 +05:30
Shitiz Garg
5fc51fd7b7 [ticket/12514] Update file headers to represent the current format
PHPBB3-12514
2014-06-18 01:13:28 +05:30
Shitiz Garg
c15ab1e87e [ticket/12514] Remove get_ prefix from data providers
PHPBB3-12514
2014-06-18 01:11:21 +05:30
Shitiz Garg
80d9e4b2e3 [ticket/12514] Add a few more validation cases for type_string_test
PHPBB3-12514
2014-06-18 01:05:57 +05:30
Andreas Fischer
5964ca21c2 Merge pull request #2525 from Nicofuma/ticket/12638
[ticket/12638] v30x\local_url_bbcode break the migrations if we don't use the auto updater

* Nicofuma/ticket/12638:
  [ticket/12638] Use require if phpbb_require_updated isn't available
2014-06-17 21:04:47 +02:00
Andreas Fischer
82cf239294 Merge pull request #2610 from brunoais/ticket/12699
[Ticket/12699] Remove magic numbers in the message textarea keydown callback

* brunoais/ticket/12699:
  [ticket/12699] Replace magic numbers for the TAB and for ENTER keydown
  [ticket/12699] Add tab key to keymap
2014-06-17 18:13:12 +02:00
brunoais
e1b72c0b86 [ticket/12699] Replace magic numbers for the TAB and for ENTER keydown
Replaced the magic numbers 9 and 13 in the keydown for the text editor
with constants in the existing keymap for phpBB.

PHPBB3-12699
2014-06-17 17:07:32 +01:00
Shitiz Garg
d38816fc14 [ticket/12514] Minor fault in type_bool_test.php
Had a double new line before get_profile_value_data

PHPBB3-12514
2014-06-17 15:09:13 +05:30
Shitiz Garg
70db69cb8c [ticket/12514] Remove tests/profiles as they're no longer required
PHPBB3-12514
2014-06-17 14:59:26 +05:30
Shitiz Garg
2fc5c51d9a [ticket/12514] Fix type_int_test to correctly respect boundaries
PHPBB3-12514
2014-06-17 14:59:26 +05:30
Shitiz Garg
995690e192 [ticket/12514] Multi value GET parameters are invalid for phpBB
PHPBB3-12514
2014-06-17 14:59:26 +05:30
Shitiz Garg
165d7c4b98 [ticket/12514] Add unit test for type_url custom profile field
PHPBB3-12514
2014-06-17 14:59:26 +05:30
Shitiz Garg
8be079bd66 [ticket/12514] Add unit test for type_date custom profile field
PHPBB3-12514
2014-06-17 14:59:26 +05:30
Shitiz Garg
6534e13c33 [ticket/12514] Add unit test for type_bool custom profile field
PHPBB3-12514
2014-06-17 14:59:26 +05:30
Shitiz Garg
e08a4eaf9a [ticket/12514] Cleanup for type_dropdown_test.php
PHPBB3-12514
2014-06-17 14:59:26 +05:30
Shitiz Garg
87729c81fc [ticket/12514] Add newline at the end of file for type_dropdown_test.php
PHPBB3-12514
2014-06-17 14:59:26 +05:30
Shitiz Garg
e8a6fee743 [ticket/12514] Move requires to the top of the files
PHPBB3-12514
2014-06-17 14:59:26 +05:30
Shitiz Garg
86754cf572 [ticket/12514] Use @return null instead of @return void
PHPBB3-12514
2014-06-17 14:59:26 +05:30
Shitiz Garg
cee46f2405 [ticket/12514] Add unit test for drop down type custom profile field
PHPBB3-12514
2014-06-17 14:59:26 +05:30
Shitiz Garg
3cb04756bf [ticket/12514] custom_string_test is no longer required
PHPBB3-12514
2014-06-17 14:59:25 +05:30
Shitiz Garg
16f6edc02a [ticket/12514] Add unit test for type_string and type_string_common field types
PHPBB3-12514
2014-06-17 14:59:25 +05:30
Shitiz Garg
b1da3e9c7e [ticket/12514] Add test for "int" type custom profile field
PHPBB3-12514
2014-06-17 14:59:25 +05:30
Dhruv Goel
7ee3e3f73f Merge pull request #2588 from nickvergessen/ticket/12705
Ticket/12705 Fix make_clickable when called with different server_urls
2014-06-17 14:56:55 +05:30
Matt Friedman
09de0c3df9 [ticket/12728] Enforce box model sizing on image attachment thumbnails
PHPBB3-12728
2014-06-16 17:53:09 -07:00
Andreas Fischer
89af115071 Merge pull request #2603 from Nicofuma/ticket/12721
[ticket/12721] Improve the code sniffer: simple rules

* Nicofuma/ticket/12721:
  [ticket/12721] Update rules descriptions
  [ticket/12721] Add Generic.NamingConventions.ConstructorName in strict
  [ticket/12721] Add Squiz.Functions.LowercaseFunctionKeywords in legacy
  [ticket/12721] Add Squiz.ControlStructures.ForLoopDeclaration in legacy
  [ticket/12721] Add Squiz.ControlStructures.ForEachLoopDeclaration
  [ticket/12721] Add Squiz.ControlStructures.ElseIfDeclaration in legacy
  [ticket/12721] Add Generic.Functions.OpeningFunctionBraceBsdAllman
  [ticket/12721] Add Squiz.Arrays.ArrayBracketSpacing in the legacy ruleset
  [ticket/12721] Add Generic.Files.LowercasedFilename in the legacy ruleset
2014-06-17 00:42:39 +02:00
Tristan Darricau
afcca62784 [ticket/12721] Update rules descriptions
PHPBB3-12721
2014-06-16 23:07:28 +02:00
Tristan Darricau
6b52155a2a [ticket/12721] Add Generic.NamingConventions.ConstructorName in strict
PHPBB3-12721
2014-06-16 22:35:46 +02:00
Tristan Darricau
13c03b6fcf [ticket/12721] Add Squiz.Functions.LowercaseFunctionKeywords in legacy
PHPBB3-12721
2014-06-16 22:35:45 +02:00
Tristan Darricau
a94581e7ca [ticket/12721] Add Squiz.ControlStructures.ForLoopDeclaration in legacy
PHPBB3-12721
2014-06-16 22:35:44 +02:00
Tristan Darricau
99a2f2fdb4 [ticket/12721] Add Squiz.ControlStructures.ForEachLoopDeclaration
PHPBB3-12721
2014-06-16 22:35:42 +02:00
Tristan Darricau
09fc008e62 [ticket/12721] Add Squiz.ControlStructures.ElseIfDeclaration in legacy
PHPBB3-12721
2014-06-16 22:35:41 +02:00
Tristan Darricau
06bf864c41 [ticket/12721] Add Generic.Functions.OpeningFunctionBraceBsdAllman
PHPBB3-12721
2014-06-16 22:35:39 +02:00
Tristan Darricau
34a4ba36cd [ticket/12721] Add Squiz.Arrays.ArrayBracketSpacing in the legacy ruleset
PHPBB3-12721
2014-06-16 22:35:12 +02:00
Tristan Darricau
1aec0d29fd [ticket/12721] Add Generic.Files.LowercasedFilename in the legacy ruleset
PHPBB3-12721
2014-06-16 22:35:11 +02:00
Andreas Fischer
4d6afb2638 Merge pull request #2604 from Nicofuma/ticket/12722
[ticket/12722] Add Generic.Formatting.SpaceAfterCast in the legacy ruleset

* Nicofuma/ticket/12722:
  [ticket/12722] Add Generic.Formatting.SpaceAfterCast in the legacy ruleset
2014-06-16 22:24:59 +02:00
Tristan Darricau
ca3cdadd08 [ticket/12722] Add Generic.Formatting.SpaceAfterCast in the legacy ruleset
PHPBB3-12722
2014-06-16 19:05:09 +02:00
Andreas Fischer
0b106ab0e3 Merge branch 'develop-olympus' into develop-ascraeus
* develop-olympus:
  [ticket/12720] Allow commit heading to begin with lowercase letters
2014-06-16 15:28:26 +02:00
Andreas Fischer
d2aee6d2ea Merge pull request #2608 from dhruvgoel92/ticket/12720
[ticket/12720] Allow commit heading to begin with lowercase letters

* dhruvgoel92/ticket/12720:
  [ticket/12720] Allow commit heading to begin with lowercase letters
2014-06-16 15:28:25 +02:00
Dhruv
6db849cba5 [ticket/12720] Allow commit heading to begin with lowercase letters
PHPBB3-12720
2014-06-16 18:55:19 +05:30
Andreas Fischer
9531691537 Merge pull request #2607 from Noxwizard/ticket/12643
Ticket/12643 Fixes deletion of columns that have the target column as a prefix

* Noxwizard/ticket/12643:
  [ticket/12643] Properly handle changing columns on tables with constraints
  [ticket/12643] Tests dropping similarly named columns
  [ticket/12643] Ensure that similarly named columns are not removed
2014-06-16 15:14:10 +02:00
Patrick Webster
754e36e378 [ticket/12643] Properly handle changing columns on tables with constraints
PHPBB3-12643
2014-06-15 19:07:32 -05:00
Andreas Fischer
663c375f5c Merge pull request #2605 from Nicofuma/ticket/12724
[ticket/12724] Add Squiz.PHP.Eval in the legacy ruleset

* Nicofuma/ticket/12724:
  [ticket/12724] Add Squiz.PHP.Eval in the legacy ruleset
2014-06-16 01:37:21 +02:00
Tristan Darricau
5a320adc75 [ticket/12724] Add Squiz.PHP.Eval in the legacy ruleset
PHPBB3-12724
2014-06-16 01:26:59 +02:00
Andreas Fischer
f27be59cf1 Merge pull request #2600 from Nicofuma/ticket/12715
[ticket/12715] Fix mistakes in the doc blocks

* Nicofuma/ticket/12715: (30 commits)
  [ticket/12715] Add missing new line in the notification manager
  [ticket/12715] Cleanup comments in \phpbb\symfony_request
  [ticket/12715] Cleanup comments in \phpbb\permissions
  [ticket/12715] Cleanup comments in \phpbb\path_helper
  [ticket/12715] Cleanup comments in \phpbb\pagination
  [ticket/12715] Cleanup comments in \phpbb\datetime
  [ticket/12715] Cleanup comments in \phpbb\content_visibility
  [ticket/12715] Cleanup comments in \phpbb\tree\*
  [ticket/12715] Cleanup comments in \phpbb\template\*
  [ticket/12715] Cleanup comments in \phpbb\plupload\*
  [ticket/12715] Cleanup comments in \phpbb\profilefields\*
  [ticket/12715] Cleanup comments in \phpbb\passwords\*
  [ticket/12715] Cleanup comments in \phpbb\notification\*
  [ticket/12715] Cleanup comments in \phpbb\mimetype\*
  [ticket/12715] Cleanup comments in \phpbb\message\*
  [ticket/12715] Cleanup comments in \phpbb\log\*
  [ticket/12715] Cleanup comments in \phpbb\lock\*
  [ticket/12715] Cleanup comments in \phpbb\groupposition\*
  [ticket/12715] Cleanup comments in \phpbb\feed\*
  [ticket/12715] Cleanup comments in \phpbb\extension\*
  ...
2014-06-16 01:12:03 +02:00
Tristan Darricau
f4ef1ab6bd [ticket/12715] Add missing new line in the notification manager
PHPBB3-12715
2014-06-16 01:01:10 +02:00
Patrick Webster
e6a8df7f7e [ticket/12643] Tests dropping similarly named columns
PHPBB3-12643
2014-06-15 14:18:39 -05:00
BorisBerdichevski
2dc389c936 [ticket/12643] Ensure that similarly named columns are not removed
PHPBB3-12643
2014-06-15 14:15:42 -05:00
Tristan Darricau
bae1724476 [ticket/12715] Cleanup comments in \phpbb\symfony_request
PHPBB3-12715
2014-06-15 19:15:23 +02:00
Tristan Darricau
1eb50c67df [ticket/12715] Cleanup comments in \phpbb\permissions
PHPBB3-12715
2014-06-15 19:15:21 +02:00
Tristan Darricau
cfa399110d [ticket/12715] Cleanup comments in \phpbb\path_helper
PHPBB3-12715
2014-06-15 19:15:18 +02:00
Tristan Darricau
9bd23917dc [ticket/12715] Cleanup comments in \phpbb\pagination
PHPBB3-12715
2014-06-15 19:15:16 +02:00
Tristan Darricau
7f3e0e5e42 [ticket/12715] Cleanup comments in \phpbb\datetime
PHPBB3-12715
2014-06-15 19:15:13 +02:00
Tristan Darricau
706484c80d [ticket/12715] Cleanup comments in \phpbb\content_visibility
PHPBB3-12715
2014-06-15 19:15:11 +02:00
Tristan Darricau
dba01c5690 [ticket/12715] Cleanup comments in \phpbb\tree\*
PHPBB3-12715
2014-06-15 19:15:09 +02:00
Tristan Darricau
0d0113e6da [ticket/12715] Cleanup comments in \phpbb\template\*
PHPBB3-12715
2014-06-15 19:15:06 +02:00
Tristan Darricau
e6b422517b [ticket/12715] Cleanup comments in \phpbb\plupload\*
PHPBB3-12715
2014-06-15 19:15:04 +02:00
Tristan Darricau
5ab6998e0e [ticket/12715] Cleanup comments in \phpbb\profilefields\*
PHPBB3-12715
2014-06-15 19:15:01 +02:00
Tristan Darricau
5dfb1cc66a [ticket/12715] Cleanup comments in \phpbb\passwords\*
PHPBB3-12715
2014-06-15 19:14:59 +02:00
Tristan Darricau
52e8359497 [ticket/12715] Cleanup comments in \phpbb\notification\*
PHPBB3-12715
2014-06-15 19:14:56 +02:00
Tristan Darricau
03ad0b3e08 [ticket/12715] Cleanup comments in \phpbb\mimetype\*
PHPBB3-12715
2014-06-15 19:14:54 +02:00
Tristan Darricau
0d0465bc08 [ticket/12715] Cleanup comments in \phpbb\message\*
PHPBB3-12715
2014-06-15 19:14:52 +02:00
Tristan Darricau
d357dd9e47 [ticket/12715] Cleanup comments in \phpbb\log\*
PHPBB3-12715
2014-06-15 19:14:49 +02:00
Tristan Darricau
d3e35149a5 [ticket/12715] Cleanup comments in \phpbb\lock\*
PHPBB3-12715
2014-06-15 19:14:47 +02:00
Tristan Darricau
51ade62400 [ticket/12715] Cleanup comments in \phpbb\groupposition\*
PHPBB3-12715
2014-06-15 19:14:44 +02:00
Tristan Darricau
df041c1086 [ticket/12715] Cleanup comments in \phpbb\feed\*
PHPBB3-12715
2014-06-15 19:14:42 +02:00
Tristan Darricau
047b709c47 [ticket/12715] Cleanup comments in \phpbb\extension\*
PHPBB3-12715
2014-06-15 19:14:40 +02:00
Tristan Darricau
1033da36a3 [ticket/12715] Cleanup comments in \phpbb\di\*
PHPBB3-12715
2014-06-15 19:14:37 +02:00
Tristan Darricau
3039d000c6 [ticket/12715] Cleanup comments in \phpbb\db\*
PHPBB3-12715
2014-06-15 19:14:35 +02:00
Tristan Darricau
4ac9315728 [ticket/12715] Cleanup comments in \phpbb\cron\*
PHPBB3-12715
2014-06-15 19:14:32 +02:00
Tristan Darricau
358a10d8a9 [ticket/12715] Cleanup comments in \phpbb\controller\*
PHPBB3-12715
2014-06-15 19:14:10 +02:00
Andreas Fischer
ad11925c77 Merge pull request #2599 from marc1706/ticket/12712
[ticket/12712] Add user_password to GROUP BY clause to fix query for mssql

* marc1706/ticket/12712:
  [ticket/12712] Remove unneeded GROUP BY clause to fix query for mssql
2014-06-15 17:44:19 +02:00
Marc Alexander
2ca9e25bf2 [ticket/12712] Remove unneeded GROUP BY clause to fix query for mssql
PHPBB3-12712
2014-06-15 17:09:07 +02:00
Tristan Darricau
8966e4a269 [ticket/12715] Update console command cron:* comments
PHPBB3-12715
2014-06-15 16:39:36 +02:00
Tristan Darricau
413754af1f [ticket/12715] Update console command config:* comments
PHPBB3-12715
2014-06-15 16:39:34 +02:00
Tristan Darricau
48b19ac37c [ticket/12715] Update console command cache:purge comments
PHPBB3-12715
2014-06-15 16:39:33 +02:00
Tristan Darricau
b6f3bf9b0c [ticket/12715] Cleanup comments in \phpbb\cache\driver\*
PHPBB3-12715
2014-06-15 16:39:31 +02:00
Tristan Darricau
569ebd1592 [ticket/12715] Cleanup comments in \phpbb\avatar\driver\*
PHPBB3-12715
2014-06-15 16:39:30 +02:00
Tristan Darricau
d7b9e33b94 [ticket/12715] Cleanup comments in \phpbb\auth\provider\*
PHPBB3-12715
2014-06-15 16:39:28 +02:00
Crizzo
05ae46acdc [ticket/12680] Still some problems with displaying the nickname in ucp
PHPBB3-12680
2014-06-15 16:13:29 +02:00
Tristan Darricau
7c51418420 [ticket/12716] Add the missing parameters in the call of clearToken
PHPBB3-12716
2014-06-15 16:10:55 +02:00
PayBas
c805e53da3 [ticket/12608] Add subSilver
PHPBB3-12608
2014-06-15 10:02:12 +02:00
PayBas
8e06d76aaa [ticket/12608] Changed get_styling() to get_style_class()
PHPBB3-12608
2014-06-15 10:02:11 +02:00
PayBas
a9e6caa775 [ticket/12608] Remove somewhat redundant reported color style
PHPBB3-12608
2014-06-15 10:02:11 +02:00
PayBas
976bda83db [ticket/12608] Improved LTR and various bugfixes
PHPBB3-12608
2014-06-15 10:02:10 +02:00
PayBas
49a1896a76 [ticket/12608] Clean up whitespace
PHPBB3-12608
2014-06-15 10:02:10 +02:00
PayBas
693cbd247c [ticket/12608] Add styling (CSS class) options to notifications
This will allow different notifications to have different styles

PHPBB3-12608
2014-06-15 10:02:09 +02:00
PayBas
72d29e76ce [ticket/12608] Updated tests
PHPBB3-12608
2014-06-15 10:02:09 +02:00
PayBas
d5f4d288e9 [ticket/12608] Improve notifications drop-down menu styling in header
PHPBB3-12608
2014-06-15 10:02:08 +02:00
Dhruv Goel
3a96c5b753 Merge pull request #2593 from bantu/ticket/12575
[ticket/12575] Cleanup service_collection_iterator
2014-06-15 13:12:42 +05:30
Dhruv Goel
587759bd6a Merge pull request #2431 from Nicofuma/ticket/12109
[ticket/12109] Bug when setting permissions with "Select all users"
2014-06-15 13:04:35 +05:30
Cesar G
44269b3660 Merge remote-tracking branch 'bantu/ticket/12711' into develop-ascraeus
* bantu/ticket/12711:
  [ticket/12711] Cast values to string such that they are quoted in SQL queries.
2014-06-14 17:41:38 -07:00
Cesar G
24bbd06d49 Merge remote-tracking branch 'PayBas/ticket/12613' into develop-ascraeus
* PayBas/ticket/12613: (25 commits)
  [ticket/12613] Add distinction between top/bottom action-bar
  [ticket/12613] Replaced topic-actions with action-bar
  [ticket/12613] Remove responsive linklist from memberlist
  [ticket/12613] Remove unnecessary checks and clean up CSS
  [ticket/12613] role="navigation" not allowed on <ul>
  [ticket/12613] Improved screen reader functionality
  [ticket/12613] Removed unnecessary checks
  [ticket/12613] Set fixed font-size
  [ticket/12613] Slightly better icons
  [ticket/12613] Typo and L_COLON
  [ticket/12613] Small inconsistency fixes
  [ticket/12613] Don't display page-jump if all pages are visible (6)
  [ticket/12613] Fixes from comments (single quotes and typos)
  [ticket/12613] Minor $bull; and <hr> fix
  [ticket/12613] Pagination should never be in responsive linklist
  [ticket/12613] Minor CSS fixes
  [ticket/12613] Dropdown-visible page-jump icon, fix focus() timing
  [ticket/12613] Renamed jump-to to page-jump to prevent confusion
  [ticket/12613] Removed form in order to prevent nested forms
  [ticket/12613] Fix functional test and post sorting bug
  ...
2014-06-14 16:30:41 -07:00
Andreas Fischer
c7ae61f2f3 [ticket/12711] Cast values to string such that they are quoted in SQL queries.
The value is stored in a text column and the key is stored in a varchar. Some
DBMSes do not like it when we insert integers into text columns. Cast both to
string to be on the safe side.

PHPBB3-12711
2014-06-15 00:21:11 +02:00
Cesar G
d310ffc26c Merge remote-tracking branch 'dhruvgoel92/ticket/12709' into develop-ascraeus
* dhruvgoel92/ticket/12709:
  [ticket/12709] Update plupload.full.min.js
2014-06-14 11:42:13 -07:00
Dhruv
34848afeb0 [ticket/12709] Update plupload.full.min.js
The earlier js file was not returning the correct list of filesAdded

PHPBB3-12709
2014-06-14 23:06:51 +05:30
Cesar G
0f034ca717 [ticket/12553] Fix responsive user profile.
PHPBB3-12553
2014-06-14 10:03:09 -07:00
Andreas Fischer
04e2fcd4d8 [ticket/12575] Just forward service_collection::offsetGet() to container.
PHPBB3-12575
2014-06-14 19:01:53 +02:00
Cesar G
c11ad7bc9d [ticket/12553] Fix responsive post profile.
PHPBB3-12553
2014-06-14 09:54:17 -07:00
Cesar G
25e58669d2 [ticket/12553] Remove dropdown-trigger class from member search input.
PHPBB3-12553
2014-06-14 09:54:17 -07:00
Cesar G
661c9f1f73 [ticket/12553] Fix the merge topic list.
PHPBB3-12553
2014-06-14 09:54:17 -07:00
Joas Schilling
925c4dc739 [ticket/12553] Fix dropdown position of live search
PHPBB3-12553
2014-06-14 09:54:17 -07:00
Cesar G
dd141d55f9 [ticket/12553] Fix the responsive topic/forum lists.
PHPBB3-12553
2014-06-14 09:54:17 -07:00
Cesar G
e17b5796bf [ticket/12553] Align the text in responsive tables to the right.
PHPBB3-12553
2014-06-14 09:54:16 -07:00
Cesar G
0f4c947a03 [ticket/12553] Center the responsive CP menus instead of floating right.
PHPBB3-12553
2014-06-14 09:54:16 -07:00
Cesar G
edd9c0e064 [ticket/12553] Open the notification dropdown to the left.
PHPBB3-12553
2014-06-14 09:54:16 -07:00
Cesar G
def39a670b [ticket/12553] Fix alignment of contact icon.
PHPBB3-12553
2014-06-14 09:54:16 -07:00
Cesar G
c0063a9e2e [ticket/12553] Fix incorrect alignment in ACP responsive tables.
PHPBB3-12553
2014-06-14 09:54:16 -07:00
Cesar G
73c2a3f177 [ticket/12553] Align alert text to the right.
PHPBB3-12553
2014-06-14 09:54:16 -07:00
Cesar G
e539fd53db [ticket/12553] Remove incorrect size for site logo.
The logo is displayed standalone, so there is no need to change the padding
from the left side to right.

PHPBB3-12553
2014-06-14 09:54:16 -07:00
Cesar G
ee9fceedff [ticket/12553] Fix links in the last post column that are not clickable.
The relative position of the <dt> is causing it to sit atop of the <dd> thus
preventing the user from clicking the links. The <dl> has a relative position
in LTR, which takes care of containing the read/unread icon link that has an
absolute position. We no longer support IE6, so removing the tweak that sets
the <dl> position to static will make everything behave the same way in RTL as
in LTR.

PHPBB3-12553
2014-06-14 09:54:16 -07:00
Cesar G
3ed767351c [ticket/12553] Align contact icons to the right.
PHPBB3-12553
2014-06-14 09:54:16 -07:00
Cesar G
55ffcca591 [ticket/12553] Move Place inline and Delete buttons left of the file name.
PHPBB3-12553
2014-06-14 09:54:16 -07:00
Dhruv Goel
b242a15af6 Merge pull request #2594 from bantu/ticket/12708
[ticket/12708] Fix install_main still linking to docs/COPYING
2014-06-14 22:06:24 +05:30
Andreas Fischer
2149bd4e8f [ticket/12575] Do not duplicate logic in service_collection_iterator.
PHPBB3-12575
2014-06-14 18:33:23 +02:00
Andreas Fischer
5f4a058655 [ticket/12708] Make the path absolute by using __DIR__.
PHPBB3-12708
2014-06-14 18:16:57 +02:00
Huynh Buu Tam
a120e4bdf6 [ticket/12708] Correct the path to the LICENSE file in install_main.
PHPBB3-12708
2014-06-14 18:16:08 +02:00
Andreas Fischer
f460287856 [ticket/12575] Workaround for offsetExists seems not required for the Iterator.
PHPBB3-12575
2014-06-14 18:06:43 +02:00
Dhruv Goel
a6e9da5a7c Merge pull request #2583 from nickvergessen/ticket/12209
[ticket/12209] Notify the admin that OAuth still allows DB authentification
2014-06-14 21:10:37 +05:30
Crizzo
8a5cb4a026 [ticket/12680] Little changes, but some issues are still there
PHPBB3-12680
2014-06-14 15:57:20 +02:00
Andreas Fischer
87a13a8c77 [ticket/12575] Pass service_collection instead of ContainerInterface.
PHPBB3-12575
2014-06-14 15:00:35 +02:00
Crizzo
ff808b341c [ticket/12563] Removes ending . from <a>
PHPBB3-12563
2014-06-14 14:31:12 +02:00
Joas Schilling
88987306de Merge pull request #2590 from bantu/ticket/12707
[ticket/12707] Do not try to load 3.1 DBMS driver name as 3.0 driver.

* bantu/ticket/12707:
  [ticket/12707] Do not try to load 3.1 DBMS driver name as 3.0 driver.
2014-06-14 13:32:51 +02:00
Andreas Fischer
21b5a52381 Merge pull request #2483 from Nicofuma/ticket/12575
[ticket/12575] Use a proxy pattern in \phpbb\di\service_collection

* Nicofuma/ticket/12575:
  [ticket/12575] Use strict comparison
  [ticket/12575] Add missing property
  [ticket/12575] Usethe new header
  [ticket/12575] Fix 2 typos in comments
  [ticket/12575] Fix typos in comments
  [ticket/12575] Skip sniffer issue triggered by the solution of a php bug
  [ticket/12575] Remove  inline assignments
  [ticket/12575] Fix the tests
  [ticket/12575] Move service_collection_iterator to its own file
  [ticket/12575] Speed up load_class()
2014-06-14 12:45:27 +02:00
Andreas Fischer
a4c75d8970 Merge pull request #2589 from nickvergessen/ticket/12706
Ticket/12706 Add languages styles and rank images to git ignore

* nickvergessen/ticket/12706:
  [ticket/12706] Ignore additional rank images
  [ticket/12706] Ignore additional languages
  [ticket/12706] Ignore additional styles
2014-06-14 12:44:31 +02:00
Andreas Fischer
0260c0ccaf [ticket/12707] Do not try to load 3.1 DBMS driver name as 3.0 driver.
PHPBB3-12707
2014-06-14 12:28:47 +02:00
Joas Schilling
102faf4d1f [ticket/12706] Ignore additional rank images
PHPBB3-12706
2014-06-14 12:08:39 +02:00
Joas Schilling
08ce6b96a4 [ticket/12706] Ignore additional languages
PHPBB3-12706
2014-06-14 12:08:15 +02:00
Joas Schilling
a620a6c5fe [ticket/12706] Ignore additional styles
PHPBB3-12706
2014-06-14 12:07:48 +02:00
Tristan Darricau
482f60f1bd [ticket/12575] Use strict comparison
PHPBB3-12575
2014-06-14 12:04:25 +02:00
Joas Schilling
f1adf82aea [ticket/12705] Store the regular expression matches based on server_url
PHPBB3-12705
2014-06-14 11:35:27 +02:00
Joas Schilling
828e995f03 [ticket/12705] Break calling make_clickable with a different server_url
PHPBB3-12705
2014-06-14 11:34:32 +02:00
Tristan Darricau
d33ed1edf6 [ticket/12575] Add missing property
PHPBB3-12575
2014-06-14 09:42:32 +02:00
Tristan Darricau
232a1c4fcb [ticket/12575] Usethe new header
PHPBB3-12575
2014-06-14 01:52:12 +02:00
Tristan Darricau
30a62d2e11 [ticket/12575] Fix 2 typos in comments
PHPBB3-12575
2014-06-14 01:45:29 +02:00
Tristan Darricau
0e4c7dbda5 [ticket/12575] Fix typos in comments
PHPBB3-12575
2014-06-14 01:45:27 +02:00
Tristan Darricau
d4cc6990e4 [ticket/12575] Skip sniffer issue triggered by the solution of a php bug
https://bugs.php.net/bug.php?id=66834
https://bugs.php.net/bug.php?id=67067

PHPBB3-12575
2014-06-14 01:45:25 +02:00
Tristan Darricau
6e47886227 [ticket/12575] Remove inline assignments
PHPBB3-12575
2014-06-14 01:45:23 +02:00
Tristan Darricau
bea9372efa [ticket/12575] Fix the tests
PHPBB3-12575
2014-06-14 01:45:21 +02:00
Tristan Darricau
a0985c7a22 [ticket/12575] Move service_collection_iterator to its own file
PHPBB3-12575
2014-06-14 01:45:19 +02:00
Tristan Darricau
a4c15bbf4f [ticket/12575] Speed up load_class()
Load the services referenced in a service_collection only when
they are used to avoid to load some unsuded services.

PHPBB3-12575
2014-06-14 01:45:17 +02:00
Andreas Fischer
7642fbbd63 Merge pull request #2527 from dhruvgoel92/ticket/11445
[ticket/11445] optimize no of queries in get_global_subscriptions( )

* dhruvgoel92/ticket/11445:
  [ticket/11445] Move get user's notification code into its own method
  [ticket/11445] Remove unused foreach key $group_name
  [ticket/11445] Improve unit tests for get_global_subscriptions
  [ticket/11445] Optimize no of queries in get_global_subscriptions
2014-06-14 00:16:52 +02:00
Joas Schilling
99c3ca18be Merge pull request #2582 from bantu/ticket/12682
[ticket/12682] Make Code Sniffer run properly on Travis CI again.

* bantu/ticket/12682:
  [ticket/12682] Make Code Sniffer run properly on Travis CI again.
2014-06-13 22:30:48 +02:00
Andreas Fischer
a262bfc78f Merge pull request #2570 from Nicofuma/ticket/12687
[ticket/12687] Add a constant to display the load time without DEBUG

* Nicofuma/ticket/12687:
  [ticket/12687] Remove french spaces
  [ticket/12687] Display the number of cached queries
  [ticket/12687] Don't check if memory_get_peak_usage() exists
  [ticket/12687] Wrap $GLOBALS['starttime'] in a if
  [ticket/12687] Fix the namespace of $request
  [ticket/12687] Update doc block
  [ticket/12687] Use microtime(true)
  [ticket/12687] Remove globals
  [ticket/12687] Return a string and move the displaying of the sql report
  [ticket/12687] Rename DISPLAY_LOAD_TIME to PHPBB_DISPLAY_LOAD_TIME
  [ticket/12687] Display the explain link only when DEBUG is set
  [ticket/12687] Add a constant to display the load time without DEBUG
2014-06-13 16:28:19 +02:00
Tristan Darricau
8e9b27314b [ticket/12687] Remove french spaces
PHPBB3-12687
2014-06-13 14:56:55 +02:00
Tristan Darricau
bbc63456f9 [ticket/12687] Display the number of cached queries
PHPBB3-12687
2014-06-13 14:55:29 +02:00
Tristan Darricau
c605e8f423 [ticket/12687] Don't check if memory_get_peak_usage() exists
PHPBB3-12687
2014-06-13 14:54:13 +02:00
PayBas
f6ee0152ed [ticket/12613] Add distinction between top/bottom action-bar
PHPBB3-12613
2014-06-13 14:53:45 +02:00
Tristan Darricau
dc4132a494 [ticket/12687] Wrap $GLOBALS['starttime'] in a if
PHPBB3-12687
2014-06-13 14:53:30 +02:00
PayBas
93c39477e0 [ticket/12613] Replaced topic-actions with action-bar
PHPBB3-12613
2014-06-13 14:38:41 +02:00
Joas Schilling
e18365dc63 [ticket/12209] Notify the admin that OAuth still allows DB authentification
PHPBB3-12209
2014-06-13 14:00:34 +02:00
Andreas Fischer
f2e57d339e [ticket/12682] Make Code Sniffer run properly on Travis CI again.
The --ignore parameter takes a case-insensitive pattern and as such
'phpBB/phpbb/*' matches any '/home/travis/build/phpbb/phpbb/...' file name.
This results in nothing being checked against ruleset-php-legacy.xml.

Using absolute paths in the --ignore pattern fixes this issues.

PHPBB3-12682
2014-06-13 13:32:19 +02:00
PayBas
f17eee19de [ticket/12613] Remove responsive linklist from memberlist
PHPBB3-12613
2014-06-13 13:29:50 +02:00
brunoais
2c70cec4fb [ticket/12699] Add tab key to keymap
PHPBB3-12699
2014-06-13 12:08:03 +01:00
Joas Schilling
309aa1d8bf Merge pull request #2580 from VSEphpbb/ticket/12697
[ticket/12697] Delete cached extension schema.json files after testing

* VSEphpbb/ticket/12697:
  [ticket/12697] Delete cached extension schema.json files after testing
2014-06-13 12:49:04 +02:00
PayBas
7c527adee8 [ticket/12613] Remove unnecessary checks and clean up CSS
PHPBB3-12613
2014-06-13 12:25:02 +02:00
Tristan Darricau
f7f65fe6c2 [ticket/12687] Fix the namespace of $request
PHPBB3-12687
2014-06-13 00:03:27 +02:00
Matt Friedman
be54b64893 [ticket/12697] Delete cached extension schema.json files after testing
PHPBB3-12697
2014-06-12 14:57:32 -07:00
Tristan Darricau
d70554760f [ticket/12687] Update doc block
PHPBB3-12687
2014-06-12 23:43:01 +02:00
Tristan Darricau
b93269f7bb [ticket/12687] Use microtime(true)
PHPBB3-12687
2014-06-12 23:35:55 +02:00
Tristan Darricau
6c0fd61b1d [ticket/12687] Remove globals
PHPBB3-12687
2014-06-12 23:27:19 +02:00
Crizzo
453cb70963 [ticket/12563] Removes strintf in acp_styles.php and shorts up <a>
PHPBB3-12563
2014-06-12 19:19:46 +02:00
Tristan Darricau
ceef85ee0e [ticket/12687] Return a string and move the displaying of the sql report
PHPBB3-12687
2014-06-12 14:33:00 +02:00
Marc Alexander
204904441a [ticket/9801] Allow display of page outside board directory on viewonline
Until now, the preg_match didn't take into account that a page might be
outside the board directory. After this change, the regular expression will
allow preceding dots and slashes. Paths like ../../test.php will be allowed.
The page will be unknown in viewonline.php and it will revert to index.php as
current page. However, the core.viewonline_overwrite_location event will
receive proper info of the page the user is on right now allowing a listener
to change the info that is being displayed.

PHPBB3-9801
2014-06-11 23:34:51 +02:00
Dhruv Goel
1fdb47bb20 Merge pull request #2577 from marc1706/ticket/12694
[ticket/12694] Remove whitespace at end of line from acp_groups
2014-06-11 22:43:06 +05:30
Marc Alexander
afbf4ba296 [ticket/12694] Remove whitespace at end of line from acp_groups
PHPBB3-12694
2014-06-11 19:03:36 +02:00
Nils Adermann
694f8391c9 Merge remote-tracking branch 'github-marc1706/ticket/12352' into develop-ascraeus
* github-marc1706/ticket/12352: (33 commits)
  [ticket/12352] Do not check hashes that don't have the necessary length
  [ticket/12352] Update file headers to fit new format
  [ticket/12352] Use custom provider collection for auth providers
  [ticket/12352] Add checks for existing user_pass_convert to migrations
  [ticket/12352] Remove usages of user_pass_convert column
  [ticket/12352] Update schema json file
  [ticket/12352] Remove user_pass_convert column from database
  [ticket/12352] Check each newly added passwords driver in manager_test
  [ticket/12352] Add get_settings_only method to passwords driver base
  [ticket/12352] Add passwords driver for xenforo 1.0, 1.1 passwords
  [ticket/12352] Add tests for wcf1 and wcf2 drivers
  [ticket/12352] Add driver for woltlab community framework 1 passwords
  [ticket/12352] Add driver for woltlab community framework 2 passwords
  [ticket/12352] Add missing $ to md5_mybb and md5_vb driver
  [ticket/12352] Fix spacing in passwords tests
  [ticket/12352] Add passwords driver for vB passwords
  [ticket/12352] Use correct hashing method in md5_mybb driver
  [ticket/12352] Add driver for myBB md5 passwords
  [ticket/12352] Rename phpbb2_md5 driver to fit filenames of other drivers
  [ticket/12352] Add passwords driver for sha1 password hashes
  ...
2014-06-11 14:27:57 +02:00
Tristan Darricau
06e6c91513 [ticket/12687] Rename DISPLAY_LOAD_TIME to PHPBB_DISPLAY_LOAD_TIME
PHPBB3-12687
2014-06-11 14:27:11 +02:00
Marc Alexander
e1f371d14a Merge remote-tracking branch 'nickvergessen/ticket/12483' into develop-ascraeus
* nickvergessen/ticket/12483:
  [ticket/12483] Fix selectors for installing extensions in functional tests
  [ticket/12483] Remove unused globals
  [ticket/12483] Fix finder usage when generating the schema.json file
  [ticket/12483] Fix copyright in prepare_extension.sh
  [ticket/12483] Use file_put_contents()
  [ticket/12483] Close database connection when tearDown() is called
  [ticket/12483] Require the extension manager class
  [ticket/12483] Move schema files into tmp/ and only copy them when needed
  [ticket/12483] Add a .sh that moves an extension in place
  [ticket/12483] Allow to setup extensions before database and functional tests
2014-06-11 09:27:12 +02:00
Marc Alexander
cab1f2cf16 Merge remote-tracking branch 'nickvergessen/ticket/12688' into develop-ascraeus
* nickvergessen/ticket/12688:
  [ticket/12688] Correctly use web root path instead of phpbb root path
2014-06-10 22:12:01 +02:00
Joas Schilling
d7ebc2c1fc [ticket/12688] Correctly use web root path instead of phpbb root path
PHPBB3-12688
2014-06-10 21:24:24 +02:00
Joas Schilling
e71f65c2bb [ticket/12099] Fix correction in path_helper test
PHPBB3-12099
2014-06-10 21:06:36 +02:00
Joas Schilling
916db1a0b1 [ticket/12483] Fix selectors for installing extensions in functional tests
PHPBB3-12483
2014-06-10 20:30:07 +02:00
Crizzo
3a48f76558 [ticket/12563] Changes 2 language variables to better understandable names
PHPBB3-12563
2014-06-10 20:29:30 +02:00
Joas Schilling
38c2d42304 [ticket/12483] Remove unused globals
PHPBB3-12483
2014-06-10 19:44:06 +02:00
Joas Schilling
d0766a2321 [ticket/12483] Fix finder usage when generating the schema.json file
PHPBB3-12483
2014-06-10 19:43:13 +02:00
Joas Schilling
3d347d47f2 [ticket/12483] Fix copyright in prepare_extension.sh
PHPBB3-12483
2014-06-10 19:41:38 +02:00
Joas Schilling
18d145f38f [ticket/12483] Use file_put_contents()
PHPBB3-12483
2014-06-10 19:41:37 +02:00
Joas Schilling
7b0b6a99c0 [ticket/12483] Close database connection when tearDown() is called
Similar to phpbb_database_test_case::tearDown()

PHPBB3-12483
2014-06-10 19:41:36 +02:00
Joas Schilling
13217fe3ff [ticket/12483] Require the extension manager class
PHPBB3-12483
2014-06-10 19:41:36 +02:00
Joas Schilling
5bae2911a2 [ticket/12483] Move schema files into tmp/ and only copy them when needed
PHPBB3-12483
2014-06-10 19:41:35 +02:00
Joas Schilling
709296e54a [ticket/12483] Add a .sh that moves an extension in place
PHPBB3-12483
2014-06-10 19:41:34 +02:00
Joas Schilling
997028a0ec [ticket/12483] Allow to setup extensions before database and functional tests
PHPBB3-12483
2014-06-10 19:41:34 +02:00
Crizzo
af60861cfd [ticket/12680] Removes unnessesary $user->lang from CONTACT_USER
PHPBB3-12680
2014-06-10 19:34:32 +02:00
Crizzo
02c53595b5 [ticket/12680] Adds alternativ text with new variable to contact:
PHPBB3-12680
2014-06-10 19:32:27 +02:00
Nils Adermann
9842137028 Merge remote-tracking branch 'github-nickvergessen/ticket/12508' into develop-ascraeus
* github-nickvergessen/ticket/12508:
  [ticket/12508] Ignore extensions in migration_tips dev tool
  [ticket/12508] Fix doc block
  [ticket/12508] Add new line to separate the if and foreach better
  [ticket/12508] Add a unit test for set_extensions()
  [ticket/12508] Only take a list of names for set_extensions()
  [ticket/12508] Fix class doc block
  [ticket/12508] Move \phpbb\extension\finder to \phpbb\finder
  [ticket/12508] Fix usages of the finder
  [ticket/12508] Remove extension manager from finder
2014-06-10 18:40:07 +02:00
Tristan Darricau
1e769ba87f [ticket/12687] Display the explain link only when DEBUG is set
PHPBB3-12687
2014-06-10 17:52:41 +02:00
Tristan Darricau
39b76a628b [ticket/12687] Add a constant to display the load time without DEBUG
PHPBB3-12687
2014-06-10 16:13:09 +02:00
Marc Alexander
5ee7f20f4e [ticket/11711] Improve coding and comments of character check
PHPBB3-11711
2014-06-10 15:51:25 +02:00
PayBas
ad59f371bf [ticket/12646] Changed to navlinks.MICRODATA
PHPBB3-12646
2014-06-10 12:47:31 +02:00
PayBas
a77a19af93 [ticket/12646] Add check for navlinks.FORUM_ID
PHPBB3-12646
2014-06-10 12:08:19 +02:00
Joas Schilling
0134acd53f [ticket/12508] Ignore extensions in migration_tips dev tool
PHPBB3-12508
2014-06-10 11:50:11 +02:00
Joas Schilling
c82ae94f8a [ticket/12508] Fix doc block
PHPBB3-12508
2014-06-10 11:47:43 +02:00
Joas Schilling
1e9492bcaa [ticket/12508] Add new line to separate the if and foreach better
PHPBB3-12508
2014-06-10 11:47:42 +02:00
Joas Schilling
fb3c6b94ae [ticket/12508] Add a unit test for set_extensions()
PHPBB3-12508
2014-06-10 11:47:42 +02:00
Joas Schilling
6980fbd27b [ticket/12508] Only take a list of names for set_extensions()
PHPBB3-12508
2014-06-10 11:47:41 +02:00
Joas Schilling
e1707b27ca [ticket/12508] Fix class doc block
PHPBB3-12508
2014-06-10 11:47:41 +02:00
Joas Schilling
183492b019 [ticket/12508] Move \phpbb\extension\finder to \phpbb\finder
PHPBB3-12508
2014-06-10 11:47:40 +02:00
Joas Schilling
d45c681b40 [ticket/12508] Fix usages of the finder
PHPBB3-12508
2014-06-10 11:47:39 +02:00
Joas Schilling
c20653dfbe [ticket/12508] Remove extension manager from finder
PHPBB3-12508
2014-06-10 11:47:36 +02:00
Joas Schilling
0aa6381834 Merge pull request #2569 from bantu/ticket/12664
[ticket/12664] Refactor develop/migration_tips.php into a console command.

* bantu/ticket/12664:
  [ticket/12664] Refactor develop/migration_tips.php into a console command.
2014-06-10 11:40:55 +02:00
Andreas Fischer
2964fb37e8 [ticket/12664] Refactor develop/migration_tips.php into a console command.
PHPBB3-12664
2014-06-10 01:57:59 +02:00
Joas Schilling
456ff2559a Merge pull request #2518 from Pico88/ticket/12606
[ticket/12606] Add ACP group core events

* Pico88/ticket/12606:
  [ticket/12606] Add ACP group core events
2014-06-10 00:13:11 +02:00
Joas Schilling
3a167ee801 Merge pull request #2568 from prototech/ticket/12667
[ticket/12667] Do not point viewtopic URL to unread post outside of view=unread.

* prototech/ticket/12667:
  [ticket/12667] Do not point viewtopic URL to unread post outside of view=unread
2014-06-10 00:01:30 +02:00
Crizzo
2d90c754fe [ticket/12680] Adds second alternativ text and font-size: 0 to remove text
PHPBB3-12680
2014-06-09 23:27:46 +02:00
Crizzo
f7f80a424f [ticket/12680] Adds alternative text to contact icon in viewtopic.php
PHPBB3-12680
2014-06-09 23:08:21 +02:00
Joas Schilling
771cbb2b3a Merge pull request #2434 from Nicofuma/ticket/8610
[ticket/8610] Merging topics does not handle bookmarks correctly

* Nicofuma/ticket/8610:
  [ticket/8610] Use css selector instead of xPath
  [ticket/8610] Add functional test when two topics are merged
  [ticket/8610] Throw an error when the dest topic isn't set
  [ticket/8610] Fix bookmarks when merging all the posts of a topic
  [ticket/8610] Merging topics does not handle bookmarks correctly
2014-06-09 22:57:27 +02:00
Cesar G
169a9a560d [ticket/12667] Do not point viewtopic URL to unread post outside of view=unread
PHPBB3-12667
2014-06-09 13:54:43 -07:00
Marc Alexander
65884bf2bd [ticket/11711] Reduce size of tests and also test topic titles
PHPBB3-11711
2014-06-09 18:57:05 +02:00
Marc Alexander
b8151b1299 [ticket/11711] Improve checks for unsupported characters and check subject
PHPBB3-11711
2014-06-09 18:56:13 +02:00
Pico88
74842b2354 [ticket/12606] Add ACP group core events
PHPBB3-12606
2014-06-09 18:56:04 +02:00
PayBas
86a320ff5c [ticket/12613] role="navigation" not allowed on <ul>
PHPBB3-12613
2014-06-09 18:05:53 +02:00
Nils Adermann
b6232aa9b2 Merge remote-tracking branch 'github-nickvergessen/ticket/10073' into develop-ascraeus
* github-nickvergessen/ticket/10073: (36 commits)
  [ticket/10073] Fix button descriptions
  [ticket/10073] Do not check disable boxes by default
  [ticket/10073] Store values with config_text in the ACP
  [ticket/10073] Move config values to config_text
  [ticket/10073] Fix request usage
  [ticket/10073] Deduplicate template variable names
  [ticket/10073] Get service from container
  [ticket/10073] Fix more "Contact Us" strings
  [ticket/10073] Move template code into the template
  [ticket/10073] Make contact page available when board is disabled
  [ticket/10073] Change name of the ACP module
  [ticket/10073] Deduplicate posting buttons code in ACP
  [ticket/10073] Use phpbb_validate_email to verify email address
  [ticket/10073] Add tests for new validate_email()
  [ticket/10073] Split email validation from email ban and taken checks
  [ticket/10073] Deduplicate the if statement
  [ticket/10073] Fallback to board_contact when contact page is disabled
  [ticket/10073] Remove language string from rebase conflict
  [ticket/10073] Add ACP module to add bbcode text for contact admin info
  [ticket/10073] Add new configs to the schema
  ...
2014-06-09 17:55:25 +02:00
Marc Alexander
89f7067377 [ticket/11711] Inform user of unsupported characters while posting
PHPBB3-11711
2014-06-09 17:48:06 +02:00
Joas Schilling
0c5af536f1 Merge pull request #2553 from rxu/ticket/12668
[ticket/12668] Add subforums_row to core.display_forums_modify_template_vars event

* rxu/ticket/12668:
  [ticket/12668] Add subforums_row to core.display_forums_modify_template_vars
2014-06-09 17:20:29 +02:00
rxu
1ee39d8c93 [ticket/12668] Add subforums_row to core.display_forums_modify_template_vars
Add subforums template data array to
'core.display_forums_modify_template_vars' event
to allow extensions to modify it if needed.

PHPBB3-12668
2014-06-09 22:22:54 +08:00
Joas Schilling
41a5c3bf2b Merge pull request #2554 from rxu/ticket/12669
[ticket/12669] Add core event to the function display_forums()

* rxu/ticket/12669:
  [ticket/12669] Add core event to the function display_forums()
2014-06-09 16:09:23 +02:00
Joas Schilling
223c8c4784 Merge branch 'k0nsl-ticket/12677' into develop-ascraeus
* k0nsl-ticket/12677:
  [ticket/12677] Replace ‘thread’ with ‘topic’ in functions_display comment
2014-06-09 15:43:58 +02:00
Knecht Ruprecht
4d3fcd19ac [ticket/12677] Replace ‘thread’ with ‘topic’ in functions_display comment
PHPBB3-12677
2014-06-09 15:42:14 +02:00
Dhruv
5e9cb35457 Merge branch 'develop-olympus' into develop-ascraeus
# By Andreas Fischer
# Via Andreas Fischer (1) and Dhruv Goel (1)
* develop-olympus:
  [ticket/12660] Improve check for when phpinfo() is disabled.
2014-06-09 13:23:49 +05:30
Dhruv Goel
233cdbfd66 Merge pull request #2548 from bantu/ticket/12660
[ticket/12660] Improve check for when phpinfo() is disabled.
2014-06-09 13:22:15 +05:30
Andreas Fischer
a0c442d16e [ticket/12660] Improve check for when phpinfo() is disabled.
PHPBB3-12660
2014-06-09 03:28:57 +02:00
Andreas Fischer
14d0a5f66b Merge pull request #2556 from brunoais/ticket/12672
[ticket/12672] Make tab intercept; CB for keypress only react without key mods

* brunoais/ticket/12672:
  [ticket/12672] Make tab intercept; CB for keypress only react without key mods
2014-06-09 03:04:45 +02:00
Andreas Fischer
373918583d Merge pull request #2561 from marc1706/ticket/12675
[ticket/12675] Fix code sniffer complaints introduced by recent commits

* marc1706/ticket/12675:
  [ticket/12675] Fix code sniffer complaints introduced by recent commits
2014-06-09 02:38:34 +02:00
Joas Schilling
92f43c5371 [ticket/10073] Fix button descriptions
PHPBB3-10073
2014-06-09 01:40:17 +02:00
Joas Schilling
e3c3a5d2a7 [ticket/10073] Do not check disable boxes by default
PHPBB3-10073
2014-06-09 01:36:19 +02:00
Joas Schilling
1a6d8dd94d [ticket/12099] Prepend ./ to path to fix assets
PHPBB3-12099
2014-06-09 01:10:18 +02:00
Dhruv Goel
6c1ff04ca0 Merge pull request #2555 from marc1706/ticket/11331
[ticket/11331] Inform user that double dots will be stripped from avatar paths
2014-06-09 04:38:01 +05:30
Marc Alexander
e8174f3d66 [ticket/12675] Fix code sniffer complaints introduced by recent commits
PHPBB3-12675
2014-06-09 00:51:01 +02:00
Joas Schilling
edc5908e48 [ticket/12099] Deduplicate path generation
PHPBB3-12099
2014-06-09 00:48:02 +02:00
Marc Alexander
b667923bcc Merge remote-tracking branch 'bantu/ticket/12673' into develop-ascraeus
* bantu/ticket/12673:
  [ticket/12673] IMAGETYPE_SWC might be missing when SWC is not supported.
2014-06-08 22:17:56 +02:00
Andreas Fischer
ae35c4b05c [ticket/12673] IMAGETYPE_SWC might be missing when SWC is not supported.
PHPBB3-12673
2014-06-08 16:46:55 +02:00
PayBas
8841f7f960 [ticket/12613] Improved screen reader functionality
PHPBB3-12613
2014-06-08 12:31:44 +02:00
rxu
d5865e316c [ticket/12669] Add core event to the function display_forums()
Add core event to the function display_forums()
in includes/functions_display.php to allow assigning additional template data
for every forum, f.e. additional forumrow subloops.

PHPBB3-12669
2014-06-08 16:32:28 +08:00
brunoais
f8a9eccb2a [ticket/12672] Make tab intercept; CB for keypress only react without key mods
Changed the callback of keypress inside the <textarea> for the posting
such that, if key 9 is pressed (tab character) and ctrl, shift, alt and meta
are not pressed the tab is placed. Otherwise, nothing is made and default is
not prevented.

PHPBB3-12672
2014-06-07 17:08:05 +01:00
Marc Alexander
9a02dc3e27 [ticket/11331] Inform user that double dots will be stripped from avatar paths
PHPBB3-11331
2014-06-07 16:28:03 +02:00
Dhruv
f5415619eb [ticket/11445] Move get user's notification code into its own method
PHPBB3-11445
2014-06-07 01:34:20 +05:30
Dhruv
ac74dc876c [ticket/11445] Remove unused foreach key $group_name
PHPBB3-11445
2014-06-07 01:00:09 +05:30
Andreas Fischer
fc4275ab2b Merge pull request #2543 from Nicofuma/ticket/12655
[ticket/12655] Run phpbbcli as a shell when --shell or -s is used

* Nicofuma/ticket/12655:
  [ticket/12655] Set register_container_commands as public
  [ticket/12655] Don't try to restore the definition in the help
  [ticket/12655] Fix coding style
  [ticket/12655] Make the --shell option available only for phpbbcli.php
  [ticket/12655] Fix coding style in \phpbb\console\application
  [ticket/12655] Set the arguments of \phpbb\console\application as required
  [ticket/12655] Don't require acp/common again in the commands
  [ticket/12655] Run the shell when --shell is used
2014-06-06 19:49:29 +02:00
Andreas Fischer
69e50dffae Merge pull request #2509 from Stephannos/ticket/12602
[ticket/12602] Add command to print the cron list

* Stephannos/ticket/12602:
  [ticket/12602] Fix language key removal.
  [ticket/12602] Rectify language keys.
  [ticket/12602] Fix test mistake.
  [ticket/12602] Fix language var mistakes.
  [ticket/12602] Add types, change description of cron:list.
  [ticket/12602] Fix internationalisation of cron_list.php
  [ticket/12602] Fix spaces issues.
  [ticket/12602] Coding style correction.
  [ticket/12602] Fix coding style mistakes.
  [ticket/12602] Headers updated.
  [ticket/12602] Changes to respect coding style and to factorize code.
  [ticket/12602] Cleanup tests
  [ticket/12602] Add function get_tasks.
  [ticket/12602] Correction of the output message for the cron list
  [ticket/12602] Add files to print the cron list and test files.
2014-06-06 19:43:09 +02:00
Etienne Baroux
088ce641be [ticket/12602] Fix language key removal.
PHPBB3-12602
2014-06-06 17:49:18 +02:00
Andreas Fischer
1f78ab536b Merge pull request #2552 from marc1706/ticket/12666
[ticket/12666] Use "None" for images in root of gallery avatar path

* marc1706/ticket/12666:
  [ticket/12666] Use "None" for images in root of gallery avatar path
2014-06-06 16:03:08 +02:00
Etienne Baroux
347de7f060 [ticket/12602] Rectify language keys.
PHPBB3-12602
2014-06-06 14:55:37 +02:00
PayBas
371e363c30 [ticket/12613] Removed unnecessary checks
PHPBB3-12613
2014-06-06 14:37:58 +02:00
Etienne Baroux
49beb2075b [ticket/12602] Fix test mistake.
PHPBB3-12602
2014-06-06 10:29:58 +02:00
Etienne Baroux
8f0a04f318 [ticket/12602] Fix language var mistakes.
PHPBB3-12602
2014-06-06 10:21:00 +02:00
PayBas
36b42d376e [ticket/12613] Set fixed font-size
and clean up spaces > tabs

PHPBB3-12613
2014-06-06 00:40:03 +02:00
Marc Alexander
4d24681259 [ticket/12666] Use "None" for images in root of gallery avatar path
"None" serves no real purpose right now. After this it will be used instead
of "Main" for images in the root of the gallery avatar path.

PHPBB3-12666
2014-06-05 23:28:00 +02:00
Etienne Baroux
c6999481e7 [ticket/12602] Add types, change description of cron:list.
PHPBB3-12602
2014-06-05 15:11:15 +02:00
PayBas
2d8ca3ea90 [ticket/12613] Slightly better icons
PHPBB3-12613
2014-06-05 11:01:44 +02:00
PayBas
5bd46c467b [ticket/12613] Typo and L_COLON
PHPBB3-12613
2014-06-05 10:02:16 +02:00
PayBas
087a91f628 [ticket/12613] Small inconsistency fixes
PHPBB3-12613
2014-06-05 10:02:16 +02:00
PayBas
cd326ae093 [ticket/12613] Don't display page-jump if all pages are visible (6)
PHPBB3-12613
2014-06-05 10:02:15 +02:00
PayBas
d218f707b1 [ticket/12613] Fixes from comments (single quotes and typos)
PHPBB3-12613
2014-06-05 10:02:14 +02:00
PayBas
ef435cb89d [ticket/12613] Minor $bull; and <hr> fix
PHPBB3-12613
2014-06-05 10:02:14 +02:00
PayBas
09a433be61 [ticket/12613] Pagination should never be in responsive linklist
PHPBB3-12613
2014-06-05 10:02:13 +02:00
PayBas
57a051c023 [ticket/12613] Minor CSS fixes
PHPBB3-12613
2014-06-05 09:59:37 +02:00
PayBas
27c678125a [ticket/12613] Dropdown-visible page-jump icon, fix focus() timing
Also removed outdated CSS

PHPBB3-12613
2014-06-05 09:59:36 +02:00
PayBas
c47b546bf0 [ticket/12613] Renamed jump-to to page-jump to prevent confusion
Jump-to can easily be confused with forum-jump.
Also switched the lang vars to reflect changes better

PHPBB3-12613
2014-06-05 09:59:35 +02:00
PayBas
9808b55258 [ticket/12613] Removed form in order to prevent nested forms
PHPBB3-12613
2014-06-05 09:59:35 +02:00
PayBas
f2c7890c64 [ticket/12613] Fix functional test and post sorting bug
PHPBB3-12613
2014-06-05 09:59:34 +02:00
PayBas
cd90b39a83 [ticket/12613] Removed jump-to placeholder and added .focus() check
PHPBB3-12613
2014-06-05 09:59:34 +02:00
PayBas
140ecf1c98 [ticket/12613] Removed all previous_page / next_page text links
PHPBB3-12613
2014-06-05 09:59:33 +02:00
PayBas
da1d24a1f0 [ticket/12613] Fix tests
PHPBB3-12613
2014-06-05 09:59:32 +02:00
PayBas
015ddc8fa8 [ticket/12613] Fix dropdown-up positioning
PHPBB3-12613
2014-06-05 09:59:32 +02:00
PayBas
c3b24e2005 [ticket/12613] Improved pagination
PHPBB3-12613
2014-06-05 09:59:31 +02:00
Etienne Baroux
f119e060b7 [ticket/12602] Fix internationalisation of cron_list.php
PHPBB3-12602
2014-06-05 09:12:44 +02:00
Cesar G
49c875413c Merge remote-tracking branch 'PayBas/ticket/12541' into develop-ascraeus
* PayBas/ticket/12541:
  [ticket/12541] Activate attachments tab when files are dropped into textarea

Conflicts:
	phpBB/styles/prosilver/template/forum_fn.js
2014-06-04 23:07:02 -07:00
Cesar G
e67a19a940 Merge remote-tracking branch 'PayBas/ticket/12615' into develop-ascraeus
* PayBas/ticket/12615:
  [ticket/12615] Fixed inproper clearing of .topic-actions
2014-06-04 22:59:37 -07:00
Cesar G
3c3a182f07 Merge remote-tracking branch 'PayBas/ticket/12565' into develop-ascraeus
* PayBas/ticket/12565:
  [ticket/12565] Empty anchors introduce white-space in IE11
2014-06-04 22:58:19 -07:00
Cesar G
5ae331a27a Merge pull request #2536 from PayBas/ticket/12521
[ticket/12521] Fix MCP merge topics row overflow
2014-06-04 21:54:41 -07:00
Andreas Fischer
d79ad22a21 Merge pull request #2539 from marc1706/ticket/12457
[ticket/12457] Default to first category if none is selected in gallery avatar

* marc1706/ticket/12457:
  [ticket/12457] Default to first category if none is selected in gallery avatar
2014-06-05 02:26:48 +02:00
Tristan Darricau
5b51acf245 [ticket/12655] Set register_container_commands as public
PHPBB3-12655
2014-06-05 01:03:16 +02:00
Tristan Darricau
5e9c8a0cea [ticket/12655] Don't try to restore the definition in the help
PHPBB3-12655
2014-06-05 01:00:33 +02:00
Tristan Darricau
012702307b [ticket/12655] Fix coding style
PHPBB3-12655
2014-06-05 00:21:53 +02:00
Andreas Fischer
f9c0a6b96e Merge pull request #2526 from Nicofuma/ticket/12639
[ticket/12639] Delete entry in admin-log leads to mysql-error

* Nicofuma/ticket/12639:
  [ticket/12639] Add a space in the code generated by generate_sql_keyword()
  [ticket/12639] Handle $conditions['keywords'] outside of the loop
  [ticket/12639] Don't make a copy of $marked when deleting logs in acp_logs
  [ticket/12639] Send a correct IN entry when deleting marked logs
  [ticket/12639] Use assertSame
  [ticket/12639] Remove old commented tests
  [ticket/12639] Order the results correctly in the test
  [ticket/12639] Fix tests on postgres
  [ticket/12639] Update tests to use a dataProvider
  [ticket/12639] Add a test case with an empty keywords list
  [ticket/12639] Delete entry in admin-log leads to mysql-error
2014-06-04 23:59:20 +02:00
Marc Alexander
1e7a782fb3 Merge remote-tracking branch 'prototech/ticket/12640' into develop-ascraeus
* prototech/ticket/12640:
  [ticket/12640] Preserve the active tab when previewing in posting page.
2014-06-04 23:25:48 +02:00
Tristan Darricau
ce104e2c72 [ticket/12655] Make the --shell option available only for phpbbcli.php
PHPBB3-12655
2014-06-04 22:33:05 +02:00
Etienne Baroux
442e12828b [ticket/12602] Fix spaces issues.
PHPBB3-12602
2014-06-04 21:56:55 +02:00
Tristan Darricau
99ebf4b8dd [ticket/12655] Fix coding style in \phpbb\console\application
PHPBB3-12655
2014-06-04 21:08:11 +02:00
Tristan Darricau
fb46e42ab3 [ticket/12639] Add a space in the code generated by generate_sql_keyword()
PHPBB3-12639
2014-06-04 20:22:22 +02:00
Etienne Baroux
7c22d653e9 [ticket/12602] Coding style correction.
PHPBB3-12602
2014-06-04 15:50:09 +02:00
Tristan Darricau
a14d16172c [ticket/12655] Set the arguments of \phpbb\console\application as required
PHPBB3-12655
2014-06-04 15:34:11 +02:00
Tristan Darricau
6c9518ea32 [ticket/12655] Don't require acp/common again in the commands
PHPBB3-12655
2014-06-04 14:47:00 +02:00
Tristan Darricau
5efd55a348 [ticket/12655] Run the shell when --shell is used
PHPBB3-12655
2014-06-04 14:46:40 +02:00
Etienne Baroux
5aca27e8cf [ticket/12602] Fix coding style mistakes.
PHPBB3-12602
2014-06-03 10:54:28 +02:00
Etienne Baroux
721a1d0bc4 [ticket/12602] Headers updated.
PHPBB3-12602
2014-06-03 10:50:00 +02:00
Etienne Baroux
760aa9d402 [ticket/12602] Changes to respect coding style and to factorize code.
PHPBB3-12602
2014-06-03 10:42:50 +02:00
Marc Alexander
2d47f85801 [ticket/12457] Default to first category if none is selected in gallery avatar
If any category exists, the key() function should always return the first
key of the $avatar_list array.

PHPBB3-12457
2014-06-03 00:31:17 +02:00
Tristan Darricau
f980fed5d2 [ticket/12639] Handle $conditions['keywords'] outside of the loop
PHPBB3-12639
2014-06-02 23:35:35 +02:00
Tristan Darricau
3e31764007 [ticket/12639] Don't make a copy of $marked when deleting logs in acp_logs
PHPBB3-12639
2014-06-02 23:22:36 +02:00
Tristan Darricau
5b5f3a5d0c [ticket/12639] Send a correct IN entry when deleting marked logs
PHPBB3-12639
2014-06-02 23:15:25 +02:00
Cesar G
8ba083f886 Merge remote-tracking branch 'PayBas/ticket/12566' into develop-ascraeus
* PayBas/ticket/12566:
  [ticket/12566] Also changed for ucp_pm_viewmessage.php
  [ticket/12566] "Private messages" should be "Send pivate message"
2014-06-02 13:47:37 -07:00
PayBas
0baf501569 [ticket/12566] Also changed for ucp_pm_viewmessage.php
PHPBB3-12566
2014-06-02 22:12:58 +02:00
Stephannos
71fb956498 Merge pull request #3 from Nicofuma/Stephannos-ticket/12602
[ticket/12602] Cleanup tests
2014-06-02 16:25:19 +02:00
Tristan Darricau
c3ccef10d1 [ticket/12602] Cleanup tests
PHPBB3-12602
2014-06-02 16:21:25 +02:00
Etienne Baroux
85e8d1c2ef [ticket/12602] Add function get_tasks.
PHPBB3-12602
2014-06-02 16:12:47 +02:00
Etienne Baroux
dc7be4f273 [ticket/12602] Correction of the output message for the cron list
PHPBB3-12602
2014-06-02 15:58:02 +02:00
PayBas
dc43073450 [ticket/12521] Fix MCP merge topics row overflow
PHPBB3-12521
2014-06-02 14:22:31 +02:00
PayBas
560e0f97be [ticket/12565] Empty anchors introduce white-space in IE11
PHPBB3-12565
2014-06-02 14:05:46 +02:00
PayBas
8ecb6b2aa2 [ticket/12566] "Private messages" should be "Send pivate message"
PHPBB3-12566
2014-06-02 13:36:49 +02:00
PayBas
082a6b29a9 [ticket/12541] Activate attachments tab when files are dropped into textarea
PHPBB3-12541
2014-06-02 12:42:45 +02:00
Etienne Baroux
58d7302b49 [ticket/12602] Add files to print the cron list and test files.
PHPBB3-12602
2014-06-02 12:17:37 +02:00
Marc Alexander
ac311e1b39 [ticket/12352] Do not check hashes that don't have the necessary length
This should significantly reduce the time spent on checking hashes of
passwords that should be converted.

PHPBB3-12352
2014-06-02 10:14:26 +02:00
Marc Alexander
94b2b64ca1 [ticket/12352] Update file headers to fit new format
PHPBB3-12352
2014-06-01 21:36:53 +02:00
Marc Alexander
6f5f0d6d8d [ticket/12352] Use custom provider collection for auth providers
Using this custom provider collection, we can properly check whether the
configured auth provider does exist. The method get_provider() has been added
for returning the default auth provider or the standard db auth provider if
the specified one does not exist.
Additionally, the method get_provider() will throw an RuntimeException if
none of the above exist.

PHPBB3-12352
2014-06-01 21:31:06 +02:00
Marc Alexander
306beab4cb [ticket/12352] Add checks for existing user_pass_convert to migrations
PHPBB3-12352
2014-06-01 21:31:05 +02:00
Marc Alexander
4698f6928e [ticket/12352] Remove usages of user_pass_convert column
PHPBB3-12352
2014-06-01 21:31:05 +02:00
Marc Alexander
0a1e21c17f [ticket/12352] Update schema json file
PHPBB3-12352
2014-06-01 21:31:05 +02:00
Marc Alexander
dde9201975 [ticket/12352] Remove user_pass_convert column from database
PHPBB3-12352
2014-06-01 21:31:05 +02:00
Marc Alexander
fcaae9b047 [ticket/12352] Check each newly added passwords driver in manager_test
PHPBB3-12352
2014-06-01 21:31:05 +02:00
Marc Alexander
4b3aacfd18 [ticket/12352] Add get_settings_only method to passwords driver base
PHPBB3-12352
2014-06-01 21:31:05 +02:00
Marc Alexander
f3eba6275a [ticket/12352] Add passwords driver for xenforo 1.0, 1.1 passwords
PHPBB3-12352
2014-06-01 21:31:05 +02:00
Marc Alexander
97c36b00b3 [ticket/12352] Add tests for wcf1 and wcf2 drivers
PHPBB3-12352
2014-06-01 21:31:05 +02:00
Marc Alexander
cf61d35d75 [ticket/12352] Add driver for woltlab community framework 1 passwords
PHPBB3-12352
2014-06-01 21:31:05 +02:00
Marc Alexander
2d7593995e [ticket/12352] Add driver for woltlab community framework 2 passwords
PHPBB3-12352
2014-06-01 21:31:05 +02:00
Marc Alexander
61a5fd59cf [ticket/12352] Add missing $ to md5_mybb and md5_vb driver
PHPBB3-12352
2014-06-01 21:31:05 +02:00
Marc Alexander
146d3cfe75 [ticket/12352] Fix spacing in passwords tests
PHPBB3-12352
2014-06-01 21:31:05 +02:00
Marc Alexander
c6e1b51d78 [ticket/12352] Add passwords driver for vB passwords
PHPBB3-12352
2014-06-01 21:31:05 +02:00
Marc Alexander
252a061864 [ticket/12352] Use correct hashing method in md5_mybb driver
PHPBB3-12352
2014-06-01 21:31:05 +02:00
Marc Alexander
af25aef04c [ticket/12352] Add driver for myBB md5 passwords
PHPBB3-12352
2014-06-01 21:31:05 +02:00
Marc Alexander
dc5a5a7cdf [ticket/12352] Rename phpbb2_md5 driver to fit filenames of other drivers
PHPBB3-12352
2014-06-01 21:31:05 +02:00
Marc Alexander
033272f968 [ticket/12352] Add passwords driver for sha1 password hashes
PHPBB3-12352
2014-06-01 21:31:04 +02:00
Marc Alexander
d9e49fae23 [ticket/12352] Check phpBB2 passwords that have been encrypted with phpass
PHPBB3-12352
2014-06-01 21:31:04 +02:00
Marc Alexander
b35ed3bc69 [ticket/12352] Add tests for functions in convert password driver
PHPBB3-12352
2014-06-01 21:31:04 +02:00
Marc Alexander
3508409c89 [ticket/12352] Add tests for phpBB2 md5 passwords driver
PHPBB3-12352
2014-06-01 21:31:04 +02:00
Marc Alexander
5a243af879 [ticket/12352] Add driver for phpBB2 hashes with md5 length of 32
PHPBB3-12352
2014-06-01 21:31:04 +02:00
Marc Alexander
60cb648ab0 [ticket/12352] Remove code for converting passwords in db auth provider
PHPBB3-12352
2014-06-01 21:31:04 +02:00
Marc Alexander
f78b99dce4 [ticket/12352] Add $CP$ prefix to passwords that need to be converted
Also set user_pass_convert to 0 in the process of doing so.

PHPBB3-12352
2014-06-01 21:31:04 +02:00
Marc Alexander
2a96b9e285 [ticket/12352] Use $CP$ prefix for converting passwords in manager
PHPBB3-12352
2014-06-01 21:31:04 +02:00
Marc Alexander
1e758ba7f0 [ticket/12352] Add passwords driver for passwords that should be converted
This driver will only be used for getting the new $CP$ prefix that will signal
that the hash is a legacy hash that needs to be converted.

PHPBB3-12352
2014-06-01 21:31:04 +02:00
Marc Alexander
57e4fb3810 [ticket/12352] Add tests for checking smf passwords
PHPBB3-12352
2014-06-01 21:31:04 +02:00
Marc Alexander
ed1d4fe4a0 [ticket/12352] Revert to db auth provider if default does not exist
This will make sure that we will not encounter a non-existing auth provider.
We will revert to the default db auth provider if the one set in the config
does not exist in our auth provider collection.

PHPBB3-12352
2014-06-01 21:31:04 +02:00
Marc Alexander
68f59defb0 [ticket/12352] Mark salted md5 and phpass passwords driver as legacy
PHPBB3-12352
2014-06-01 21:31:04 +02:00
Marc Alexander
ee72e7b3ad [ticket/12352] Introduce user row to passwords check methods
This will ensure that legacy hash types that might need the user row can
properly check if the supplied password is correct.

PHPBB3-12352
2014-06-01 21:31:04 +02:00
Marc Alexander
2ea45a06e7 [ticket/12352] Add legacy passwords driver for sha1 smf type passwords
PHPBB3-12352
2014-06-01 21:31:04 +02:00
PayBas
eeb077c336 [ticket/12646] Changed index/home data attr & updated subsilver
PHPBB3-12646
2014-06-01 20:59:19 +02:00
PayBas
92c7d07c65 [ticket/12646] Add data-f attribute to breadcrumb links
PHPBB3-12646
2014-06-01 20:24:01 +02:00
Dhruv
c7687ba5aa [ticket/11445] Improve unit tests for get_global_subscriptions
PHPBB3-11445
2014-06-01 13:44:09 +05:30
Dhruv
572debd0e8 [ticket/11445] Optimize no of queries in get_global_subscriptions
PHPBB3-11445
2014-06-01 13:38:37 +05:30
Tristan Darricau
8e2a0caf54 [ticket/12639] Use assertSame
PHPBB3-12639
2014-06-01 02:57:16 +02:00
Tristan Darricau
6794c6b79b [ticket/12639] Remove old commented tests
PHPBB3-12639
2014-06-01 01:59:29 +02:00
Andreas Fischer
48679eeff8 Merge pull request #2529 from prototech/ticket/12641
[ticket/12641] Use jQuery's trim() method. IE8 does not support the native one.

* prototech/ticket/12641:
  [ticket/12641] Use jQuery's trim() method. IE8 does not support the native one
2014-05-31 23:00:07 +02:00
Cesar G
6a00ff3fa6 [ticket/12641] Use jQuery's trim() method. IE8 does not support the native one
PHPBB3-12641
2014-05-31 10:56:08 -07:00
Cesar G
95b9c93892 [ticket/12640] Preserve the active tab when previewing in posting page.
PHPBB3-12640
2014-05-31 10:12:24 -07:00
Tristan Darricau
6d3bc7a60b [ticket/12639] Order the results correctly in the test
PHPBB3-12639
2014-05-31 19:00:15 +02:00
Tristan Darricau
dce7c7e0e0 [ticket/12639] Fix tests on postgres
PHPBB3-12639
2014-05-31 18:10:12 +02:00
Tristan Darricau
fd9c17ca04 [ticket/12639] Update tests to use a dataProvider
PHPBB3-12639
2014-05-31 17:42:40 +02:00
Tristan Darricau
9c497a7b46 [ticket/12639] Add a test case with an empty keywords list
PHPBB3-12639
2014-05-31 13:34:04 +02:00
Tristan Darricau
36071ded9d [ticket/12639] Delete entry in admin-log leads to mysql-error
PHPBB3-12639
2014-05-31 12:56:44 +02:00
Tristan Darricau
f7b8043b43 [ticket/12638] Use require if phpbb_require_updated isn't available
PHPBB3-12638
2014-05-31 01:54:38 +02:00
Joas Schilling
9c2687ddc9 Merge pull request #2494 from Nicofuma/ticket/12589
[ticket/12589] Search directly in $directory if it's an absolute sub-path

* Nicofuma/ticket/12589:
  [ticket/12589] Add test searching in a non absolute directory
  [ticket/12589] Fix tests
  [ticket/12589] Search directly in $directory if it's an absolute sub-path
2014-05-31 01:35:10 +02:00
Tristan Darricau
7c4bd8cc76 [ticket/8610] Use css selector instead of xPath
PHPBB3-8610
2014-05-31 00:29:42 +02:00
Andreas Fischer
f4dcb69dae [develop-ascraeus] Correct capitalisation of NeoThermic. 2014-05-31 00:25:28 +02:00
Tristan Darricau
7c16d1c2ab [ticket/12325] Fix the language var name
PHPBB3-12325
2014-05-30 23:23:01 +02:00
Joas Schilling
b92787a132 Merge pull request #2524 from bantu/ticket/12637
[ticket/12637] Correct file header in coding-guidelines

* bantu/ticket/12637:
  [ticket/12637] Fixup all incorrect uses of file header.
  [ticket/12637] Correctly escape the file header in coding-guidelines.html.
2014-05-30 23:22:49 +02:00
Joas Schilling
40218ba5e6 Merge pull request #2433 from Nicofuma/ticket/10899
[ticket/10899] Using Delete All in log viewer with keyword search

* Nicofuma/ticket/10899:
  [ticket/10899] Update doc block
  [ticket/10899] Use isset($field_value['IN'])
  [ticket/10899] Add event core.delete_log
  [ticket/10899] Remove trailing ;
  [ticket/10899] Fix typo in the class name
  [ticket/10899] Add unit tests
  [ticket/10899] Get $phpbb_log from the container
  [ticket/10899] Remove extra ';'
  [ticket/10899] Typo
  [ticket/10899] Refactoring in \phpbb\log\log_interface
  [ticket/10899] Using Delete All in log viewer with keyword search
2014-05-30 23:13:00 +02:00
Joas Schilling
be52ea882a Merge pull request #2357 from Nicofuma/ticket/11942
[ticket/11942] Delete post/topic reason should be added to logs

* Nicofuma/ticket/11942:
  [ticket/11942] Don't change the reason to '' when hard deleting
  [ticket/11942] Don't show the checkbox if the post is already soft-deleted
  [ticket/11942] Remove useless IF in templates
  [ticket/11942] Apply the modifications to subsilver
  [ticket/11942] Always display delete reason
  [ticket/11942] Edits messages
  [ticket/11942] Change the formulation
  [ticket/11942] Adding the reason to hard deleted topic/post
  [ticket/11942] Delete post/topic reason should be added to logs
2014-05-30 23:04:02 +02:00
Joas Schilling
9f87c497fe Merge pull request #2447 from n-aleha/ticket/11467
[ticket/11467] Add language variables for extension exception messages

* n-aleha/ticket/11467:
  [ticket/11467] Add user object to extension manager for tests
  [ticket/11467] Add language variables to tests
  [ticket/11467] Add language variables for extension exception messages
2014-05-30 23:01:19 +02:00
Joas Schilling
669a6c3e3d Merge pull request #2512 from bantu/ticket/11266
[ticket/11266] Better message for when composer dependencies are missing...

* bantu/ticket/11266:
  [ticket/11266] Better message for when composer dependencies are missing.
2014-05-30 22:57:43 +02:00
Joas Schilling
a6a2d1bc2d Merge pull request #2523 from bantu/ticket/12597
[ticket/12597] Command for executing all available cron tasks

* bantu/ticket/12597:
  [ticket/12597] Update USE_SYSTEM_CRON_EXPLAIN to be a bit more verbose.
  [ticket/12597] Improve language for cron:run command.
  [ticket/12597] Do not output anything besides the gif image.
2014-05-30 22:52:01 +02:00
Andreas Fischer
21c6102d55 [ticket/12637] Fixup all incorrect uses of file header.
PHPBB3-12637
2014-05-30 22:34:26 +02:00
Andreas Fischer
b372d515ff [ticket/12637] Correctly escape the file header in coding-guidelines.html.
PHPBB3-12637
2014-05-30 22:30:43 +02:00
Andreas Fischer
cc41e2eef7 [ticket/12597] Update USE_SYSTEM_CRON_EXPLAIN to be a bit more verbose.
PHPBB3-12597
2014-05-30 20:39:06 +02:00
Andreas Fischer
bbb83c09c0 Merge pull request #2508 from ptitlazy/ticket/12597
[ticket/12597] Command for executing all available cron tasks

* ptitlazy/ticket/12597: (27 commits)
  [ticket/12597] Reformating an acp message
  [ticket/12597] Modifiying acp message
  [ticket/12597] Fix wrong global variable name
  [ticket/12597] Typo correction
  [ticket/12597] Typo corrections
  [ticket/12597] Changing place of lock release in execute() method
  [ticket/12597] Fix test file
  [ticket/12597] Typing corrections and improvement of code consistency
  [ticket/12597] Fix various mistakes
  [ticket/12597] Fix various mistakes
  [ticket/12597] Fix visibilty of two functions in run.php
  [ticket/12597] Refactoring and test improving
  [ticket/12597] Fix language key name
  [ticket/12597] Fix coding style and typing mistakes
  [ticket/12597] Changes name of command  cron:run-all to cron:run.
  [ticket/12597] Fix various problems
  [ticket/12597] Fix constructor bug and servral doc blocs
  [ticket/12597] Modification of return statuses and of test files
  [ticket/12597] Fix misplaced release of db lock
  [ticket/12597] Change EXECUTE to RUN in language
  ...
2014-05-30 20:12:15 +02:00
Andreas Fischer
4d80d90f73 [ticket/12597] Improve language for cron:run command.
PHPBB3-12597
2014-05-30 19:51:11 +02:00
Andreas Fischer
a8e412e2b7 [ticket/12597] Do not output anything besides the gif image.
PHPBB3-12597
2014-05-30 19:41:49 +02:00
Joas Schilling
807e000b91 Merge branch 'prep-release-3.1.0-b4' into develop-ascraeus
* prep-release-3.1.0-b4:
  [prep-release-3.1.0-b4] Update phpBB Version for b5 development
  [prep-release-3.1.0-b4] Add changelog for 3.1.0-b4
  [prep-release-3.1.0-b4] Prepare Changelog
  [prep-release-3.1.0-b4] Add migration for 3.1.0-b4
  [prep-release-3.1.0-b4] Update version to 3.1.0-b4
2014-05-30 17:53:03 +02:00
Joas Schilling
da48b7df22 [prep-release-3.1.0-b4] Update phpBB Version for b5 development 2014-05-30 17:52:38 +02:00
LEZY Thomas
fa3a634ae1 [ticket/12597] Reformating an acp message
PHPBB3-12597
2014-05-30 10:55:03 +02:00
PayBas
376d6a2d91 [ticket/12615] Fixed inproper clearing of .topic-actions
PHPBB3-12615
2014-05-30 00:11:01 +02:00
Joas Schilling
638d43d6fe [ticket/12099] Fix clean_path() ".." stripping when previous directory was "."
PHPBB3-12099
2014-05-29 23:44:10 +02:00
Joas Schilling
41e52d9c9d [ticket/12099] Break clean_path tests with a simple test
PHPBB3-12099
2014-05-29 23:44:10 +02:00
Joas Schilling
b8f3972afa [ticket/12099] Clean paths in tests
PHPBB3-12099
2014-05-29 23:44:09 +02:00
Joas Schilling
58cfdfe143 [ticket/12099] Correctly fix go back to root before prepending the root path
This allows moving app.php outside of phpBB and still work as expected

PHPBB3-12099
2014-05-29 23:44:08 +02:00
Joas Schilling
64f51bd3dd [ticket/12099] Clean some paths before using them
PHPBB3-12099
2014-05-29 23:44:08 +02:00
Joas Schilling
b378bd7a2e [ticket/12099] Fix several issues in path_helper test
PHPBB3-12099
2014-05-29 23:44:07 +02:00
LEZY Thomas
9cda850b3a [ticket/12597] Modifiying acp message
Modifying an acp message in order to include the use of the command

PHPBB3-12597
2014-05-29 20:46:23 +02:00
LEZY Thomas
01dba249d7 [ticket/12597] Fix wrong global variable name
$pathEx changed to $phpEx

PHPBB3-12597
2014-05-29 18:27:00 +02:00
LEZY Thomas
43fbb84cc3 [ticket/12597] Typo correction
PHPBB3-12597
2014-05-29 18:09:42 +02:00
LEZY Thomas
3b845b1893 [ticket/12597] Typo corrections
PHPBB3-12597
2014-05-29 18:08:02 +02:00
LEZY Thomas
fda2cc636c [ticket/12597] Changing place of lock release in execute() method
PHPBB3-12597
2014-05-29 18:03:23 +02:00
LEZY Thomas
2f2e404639 [ticket/12597] Fix test file
Fix bug of test_no_task that expected a message where none was supposed
to exist.

PHPBB3-12597
2014-05-29 17:40:57 +02:00
LEZY Thomas
335faafae8 Merge branch 'ticket/12597' of github.com:ptitlazy/phpbb into ticket/12597 2014-05-29 17:31:50 +02:00
LEZY Thomas
03e0e736ab [ticket/12597] Typing corrections and improvement of code consistency
PHPBB3-12597
2014-05-29 17:29:22 +02:00
LEZY Thomas
7508d2b546 [ticket/12597] Fix various mistakes
Typing mistakes
Coding style issue
Verbose mode messag

PHPBB3-12597
2014-05-29 17:26:31 +02:00
LEZY Thomas
79bdcdf988 [ticket/12597] Fix various mistakes
Typing mistakes
Coding style issue
Verbose mode messag

PHPBB3-12597
2014-05-29 17:03:34 +02:00
LEZY Thomas
c17a1e92c5 [ticket/12597] Fix visibilty of two functions in run.php
PHPBB3-12597
2014-05-29 16:59:41 +02:00
LEZY Thomas
e7fd259766 [ticket/12597] Refactoring and test improving
Adding tests of return status
Refactoring code
Adding consistency in verbose mode

PHPBB3-12597
2014-05-29 16:37:45 +02:00
Andreas Fischer
505b26ed86 [ticket/11266] Better message for when composer dependencies are missing.
PHPBB3-11266
2014-05-29 16:13:29 +02:00
Tristan Darricau
63c62f86ee [ticket/8610] Add functional test when two topics are merged
PHPBB3-8610
2014-05-29 11:48:48 +02:00
Tristan Darricau
4b3bba6693 [ticket/10899] Update doc block
PHPBB3-10899
2014-05-29 02:30:15 +02:00
Joas Schilling
6a9fd06b73 [ticket/10073] Store values with config_text in the ACP
PHPBB3-10073
2014-05-29 02:14:48 +02:00
Joas Schilling
e2e7e2a55b [ticket/10073] Move config values to config_text
PHPBB3-10073
2014-05-29 02:14:48 +02:00
Joas Schilling
1c0036f118 [ticket/10073] Fix request usage
PHPBB3-10073
2014-05-29 02:14:47 +02:00
Joas Schilling
975afa9048 [ticket/10073] Deduplicate template variable names
PHPBB3-10073
2014-05-29 02:14:46 +02:00
Joas Schilling
81f22a1c8e [ticket/10073] Get service from container
PHPBB3-10073
2014-05-29 02:14:46 +02:00
Joas Schilling
8e48840034 [ticket/10073] Fix more "Contact Us" strings
PHPBB3-10073
2014-05-29 02:14:45 +02:00
Joas Schilling
3e0f8d7f1e [ticket/10073] Move template code into the template
PHPBB3-10073
2014-05-29 02:14:45 +02:00
Joas Schilling
67281199be [ticket/10073] Make contact page available when board is disabled
PHPBB3-10073
2014-05-29 02:14:44 +02:00
Joas Schilling
c5a51efd20 [ticket/10073] Change name of the ACP module
PHPBB3-10073
2014-05-29 02:14:43 +02:00
Joas Schilling
a2ca0bc611 [ticket/10073] Deduplicate posting buttons code in ACP
PHPBB3-10073
2014-05-29 02:14:43 +02:00
Joas Schilling
427d70d138 [ticket/10073] Use phpbb_validate_email to verify email address
PHPBB3-10073
2014-05-29 02:14:42 +02:00
Joas Schilling
0108e19d21 [ticket/10073] Add tests for new validate_email()
PHPBB3-10073
2014-05-29 02:14:41 +02:00
Joas Schilling
911725a581 [ticket/10073] Split email validation from email ban and taken checks
PHPBB3-10073
2014-05-29 02:14:41 +02:00
Joas Schilling
f01e0a2eef [ticket/10073] Deduplicate the if statement
PHPBB3-10073
2014-05-29 02:14:40 +02:00
Joas Schilling
ed8c16bf0d [ticket/10073] Fallback to board_contact when contact page is disabled
PHPBB3-10073
2014-05-29 02:14:39 +02:00
Joas Schilling
d1fb8d3c9e [ticket/10073] Remove language string from rebase conflict
PHPBB3-10073
2014-05-29 02:14:38 +02:00
Joas Schilling
d3f65cd66e [ticket/10073] Add ACP module to add bbcode text for contact admin info
PHPBB3-10073
2014-05-29 02:14:38 +02:00
Joas Schilling
deee3be9ef [ticket/10073] Add new configs to the schema
PHPBB3-10073
2014-05-29 02:14:37 +02:00
Joas Schilling
4f2f3d9757 [ticket/10073] Display contact info
PHPBB3-10073
2014-05-29 02:14:36 +02:00
Joas Schilling
971b3f59bf [ticket/10073] Add configs for contact info text
PHPBB3-10073
2014-05-29 02:14:36 +02:00
Joas Schilling
1ffcbdd3c5 [ticket/10073] Fix invalid type hint
PHPBB3-10073
2014-05-29 02:14:35 +02:00
Joas Schilling
d6484a8177 [ticket/10073] Fix missing language string
PHPBB3-10073
2014-05-29 02:14:35 +02:00
Joas Schilling
299fe086b4 [ticket/10073] Fix title for "Email topic"
PHPBB3-10073
2014-05-29 02:14:34 +02:00
Joas Schilling
84a02f5cef [ticket/10073] Use get_username_string and correctly sprintf for languages
PHPBB3-10073
2014-05-29 02:14:33 +02:00
Joas Schilling
ef8d7b995e [ticket/10073] Add @config_text to admin_form
PHPBB3-10073
2014-05-29 02:14:33 +02:00
Joas Schilling
35b88624f5 [ticket/10073] Remove unneccessary todos he config switch is enough
PHPBB3-10073
2014-05-29 02:14:32 +02:00
Joas Schilling
67cf0a912c [ticket/10073] Add doc blocks to new classes
PHPBB3-10073
2014-05-29 02:14:32 +02:00
Joas Schilling
5c13829111 [ticket/10073] Fix grammar in comment
PHPBB3-10073
2014-05-29 02:14:31 +02:00
Joas Schilling
af024ea3e5 [ticket/10073] Global announcements have a forum_id now
PHPBB3-10073
2014-05-29 02:14:30 +02:00
Joas Schilling
ea9756917e [ticket/10073] Fix code sniffer complain
PHPBB3-10073
2014-05-29 02:14:30 +02:00
Joas Schilling
fffb07fd91 [ticket/10073] Use namespaces and fix all class names
PHPBB3-10073
2014-05-29 02:14:29 +02:00
Nils Adermann
6c287e57fc [ticket/10073] Add Admin contact email template
PHPBB3-10073
2014-05-29 02:14:29 +02:00
Nils Adermann
389bc0b8dd [ticket/10073] Replace board_contact mail with links to contact page
Error pages still contain the email address.

PHPBB3-10073
2014-05-29 02:14:28 +02:00
Nils Adermann
d52f34f5ec [ticket/10073] Add a contact administrators page and refactor email forms.
The message to be displayed on top of the email form cannot be configured yet.

PHPBB3-10073
2014-05-29 02:14:27 +02:00
Tristan Darricau
70f313eb4f [ticket/11942] Don't change the reason to '' when hard deleting
PHPBB3-11942
2014-05-29 00:49:12 +02:00
n-aleha
7f00c38c50 [ticket/11467] Add user object to extension manager for tests
PHPBB3-11467
2014-05-29 01:07:44 +03:00
n-aleha
56959a2f83 [ticket/11467] Add language variables to tests
Convert the hardcoded strings to language variables.

PHPBB3-11467
2014-05-29 01:07:44 +03:00
n-aleha
031273de72 [ticket/11467] Add language variables for extension exception messages
Remove hard-coded messages and add language variables for extension
exception messages.

PHPBB3-11467
2014-05-29 01:07:44 +03:00
Tristan Darricau
ff5fd3442d [ticket/10899] Use isset($field_value['IN'])
PHPBB3-10899
2014-05-28 23:30:47 +02:00
Tristan Darricau
59f39273d4 [ticket/10899] Add event core.delete_log
PHPBB3-10899
2014-05-28 23:20:50 +02:00
LEZY Thomas
532e4470ea [ticket/12597] Fix language key name
PHPBB3-12597
2014-05-28 22:09:38 +02:00
LEZY Thomas
54d60e3f78 [ticket/12597] Fix coding style and typing mistakes
PHPBB3-12597
2014-05-28 21:26:33 +02:00
LEZY Thomas
9f942776ad [ticket/12597] Changes name of command cron:run-all to cron:run.
Also adds an optional argument to specify one precise cron task to
lauch, and modifies test file accordingly.

PHPBB3-12597
2014-05-28 20:03:28 +02:00
LEZY Thomas
61ad42790f [ticket/12597] Fix various problems
Actually fix the return status of command cron:run-all
Fix some doc block coding style issue
Fix missing and obsolete file headers
Delete a useless constructor method

PHPBB3-12597
2014-05-28 19:22:25 +02:00
LEZY Thomas
18875894ec [ticket/12597] Fix constructor bug and servral doc blocs
PHPBB3-12597
2014-05-28 18:19:46 +02:00
LEZY Thomas
0d839cbefc [ticket/12597] Modification of return statuses and of test files
PHPBB3-12597
2014-05-28 18:02:30 +02:00
LEZY Thomas
5fca308138 [ticket/12597] Fix misplaced release of db lock
PHPBB3-12597
2014-05-28 16:47:57 +02:00
LEZY Thomas
9a78772745 [ticket/12597] Change EXECUTE to RUN in language
Fix previous commit : change execute to run in language keys

PHPBB3-12597
2014-05-28 14:57:16 +02:00
LEZY Thomas
6f279c1bf4 [ticket/12597] Update pull-request
Removes a useless comment.
Switchs command name from cron:execute-all to cron:run-all.
Replaces assertEquals by assertSame

PHPBB3-12597
2014-05-28 14:49:55 +02:00
LEZY Thomas
9761c1bf61 [ticket/12597] Fix various refactoring mistakes
PHPBB3-12597
2014-05-28 12:57:49 +02:00
LEZY Thomas
6f0121e2a4 [ticket/12597] Correcting bug in cron.php
PHPBB3-12597
2014-05-28 12:36:55 +02:00
LEZY Thomas
8a1e189970 [ticket/12597] Add doc blocs in execute_all.php
PHPBB3-12597
2014-05-28 12:20:02 +02:00
LEZY Thomas
50cb9d5838 [ticket/12597] Correcing coding style mistakes
PHPBB3-12597
2014-05-28 11:57:20 +02:00
Tristan Darricau
d3f4dbedde [ticket/10899] Remove trailing ;
PHPBB3-10899
2014-05-28 11:50:13 +02:00
LEZY Thomas
6f3276653f [ticket/12597] Improvement of test files
PHPBB3-12597
2014-05-28 11:12:50 +02:00
Tristan Darricau
dfec62c68d [ticket/10899] Fix typo in the class name
PHPBB3-10899
2014-05-28 01:14:36 +02:00
Tristan Darricau
05e76e55e1 [ticket/10899] Add unit tests
PHPBB3-10899
2014-05-28 00:54:22 +02:00
Tristan Darricau
ac1eb2d789 [ticket/10899] Get $phpbb_log from the container
PHPBB3-10899
2014-05-27 19:57:25 +02:00
LEZY Thomas
abb8a2892d [ticket/12597] Command for executing all available cron tasks
Command cron:execute-all executes all available cron tasks.
Test files in tests/console/cron folder

PHPBB3-12597
2014-05-27 18:37:37 +02:00
Tristan Darricau
c517cd6778 [ticket/8610] Throw an error when the dest topic isn't set
PHPBB3-8610
2014-05-27 01:38:43 +02:00
Tristan Darricau
d20d86bf10 [ticket/8610] Fix bookmarks when merging all the posts of a topic
PHPBB3-8610
2014-05-27 01:35:52 +02:00
Tristan Darricau
1ba516a052 [ticket/11942] Don't show the checkbox if the post is already soft-deleted
PHPBB3-11942
2014-05-26 23:59:27 +02:00
Tristan Darricau
2ff3efc4a1 [ticket/12325] Update coding style in template
PHPBB3-12325
2014-05-26 23:38:30 +02:00
Tristan Darricau
814d10fe5e [ticket/11942] Remove useless IF in templates
PHPBB3-11942
2014-05-26 23:35:47 +02:00
Tristan Darricau
91305a43af [ticket/12589] Add test searching in a non absolute directory
PHPBB3-12589
2014-05-26 18:30:04 +02:00
Tristan Darricau
930c5d85ed [ticket/12589] Fix tests
PHPBB3-12589
2014-05-24 18:58:52 +02:00
Tristan Darricau
f7896f46a5 [ticket/12589] Search directly in $directory if it's an absolute sub-path
PHPBB3-12589
2014-05-24 17:57:01 +02:00
Tristan Darricau
672ffbe8f6 [ticket/12325] Fix: add a missing colon
PHPBB3-12325
2014-05-24 14:25:04 +02:00
Tristan Darricau
2f52934fad [ticket/12325] Don't use L_COLON
PHPBB3-12325
2014-05-24 14:12:11 +02:00
Tristan Darricau
088f5b47c3 [ticket/12325] Fix: it's not stuck in an inifinite loop anymore
PHPBB3-12325
2014-05-24 14:06:14 +02:00
Tristan Darricau
6e6891f841 [ticket/12325] Automatic update should notify about outdated files
PHPBB3-12325
2014-05-23 22:59:46 +02:00
Tristan Darricau
12e0e358d1 [ticket/11942] Apply the modifications to subsilver
PHPBB3-11942
2014-05-11 19:35:42 +02:00
Tristan Darricau
237619792d [ticket/11942] Always display delete reason
PHPBB3-11942
2014-05-11 19:28:26 +02:00
Tristan Darricau
49bc10de4d [ticket/8610] Merging topics does not handle bookmarks correctly
https://tracker.phpbb.com/browse/PHPBB3-8610

PHPBB3-8610
2014-05-10 22:17:01 +02:00
Tristan Darricau
164f52c3f3 [ticket/10899] Remove extra ';'
PHPBB3-10899
2014-05-10 19:04:37 +02:00
Tristan Darricau
56aaba696f [ticket/10899] Typo
PHPBB3-10899
2014-05-10 18:25:24 +02:00
Tristan Darricau
c6d7875b9b [ticket/10899] Refactoring in \phpbb\log\log_interface
PHPBB3-10899
2014-05-10 18:24:07 +02:00
Tristan Darricau
c5a4ad3d31 [ticket/10899] Using Delete All in log viewer with keyword search
https://tracker.phpbb.com/browse/PHPBB3-10899

PHPBB3-10899
2014-05-10 17:03:09 +02:00
Tristan Darricau
9519c4e8c4 [ticket/12109] Fix coding style
PHPBB3-12109
2014-05-10 02:35:51 +02:00
Tristan Darricau
9b9c048702 [ticket/12109] Bug when setting permissions with "Select all users"
https://tracker.phpbb.com/browse/PHPBB3-12109

PHPBB3-12109
2014-05-10 01:53:51 +02:00
Nicofuma
cc1a304da6 [ticket/11942] Edits messages
PHPBB3-11942
2014-05-04 15:43:13 +02:00
Nicofuma
fee4e61933 [ticket/11942] Change the formulation
PHPBB3-11942
2014-05-04 15:43:11 +02:00
Nicofuma
1c336c3559 [ticket/11942] Adding the reason to hard deleted topic/post
PHPBB3-11942
2014-05-04 15:43:08 +02:00
Nicofuma
dccc9ceeb5 [ticket/11942] Delete post/topic reason should be added to logs
https://tracker.phpbb.com/browse/PHPBB3-11942

PHPBB3-11942
2014-05-04 15:43:06 +02:00
554 changed files with 15778 additions and 7412 deletions

6
.gitignore vendored
View File

@@ -10,7 +10,13 @@
/phpBB/files/*
/phpBB/images/avatars/gallery/*
/phpBB/images/avatars/upload/*
/phpBB/images/ranks/*
/phpBB/language/*
!/phpBB/language/en
/phpBB/store/*
/phpBB/styles/*
!/phpBB/styles/prosilver
!/phpBB/styles/subsilver2
/phpBB/vendor
/tests/phpbb_unit_tests.sqlite*
/tests/test_config*.php

View File

@@ -2,9 +2,9 @@
<project name="phpBB" description="The phpBB forum software" default="all" basedir="../">
<!-- a few settings for the build -->
<property name="newversion" value="3.1.0-b4" />
<property name="prevversion" value="3.1.0-b3" />
<property name="olderversions" value="3.0.12, 3.1.0-a1, 3.1.0-a2, 3.1.0-a3, 3.1.0-b1, 3.1.0-b2" />
<property name="newversion" value="3.1.0-RC2" />
<property name="prevversion" value="3.1.0-RC1" />
<property name="olderversions" value="3.0.12, 3.1.0-a1, 3.1.0-a2, 3.1.0-a3, 3.1.0-b1, 3.1.0-b2, 3.1.0-b3, 3.1.0-b4" />
<!-- no configuration should be needed beyond this point -->
<property name="oldversions" value="${olderversions}, ${prevversion}" />
@@ -77,29 +77,39 @@
<exec command="phpBB/vendor/bin/phpcs
-s
--extensions=php
--standard=build/code_sniffer/ruleset-php-strict.xml
--ignore=phpBB/phpbb/db/migration/data/v30x/*
--standard=build/code_sniffer/ruleset-php-strict-core.xml
--ignore=${project.basedir}/phpBB/phpbb/db/migration/data/v30x/*
phpBB/phpbb"
dir="." returnProperty="retval-php-strict" passthru="true" />
<exec command="phpBB/vendor/bin/phpcs
-s
--extensions=php
--standard=build/code_sniffer/ruleset-php-legacy.xml
--ignore=phpBB/cache/*
--ignore=phpBB/develop/*
--ignore=phpBB/includes/diff/*.php
--ignore=phpBB/includes/sphinxapi.php
--ignore=phpBB/includes/utf/data/*
--ignore=phpBB/install/data/*
--ignore=phpBB/install/database_update.php
--ignore=phpBB/phpbb/*
--ignore=phpBB/vendor/*
--standard=build/code_sniffer/ruleset-php-legacy-core.xml
--ignore=${project.basedir}/phpBB/cache/*
--ignore=${project.basedir}/phpBB/develop/*
--ignore=${project.basedir}/phpBB/ext/*
--ignore=${project.basedir}/phpBB/includes/diff/*.php
--ignore=${project.basedir}/phpBB/includes/sphinxapi.php
--ignore=${project.basedir}/phpBB/includes/utf/data/*
--ignore=${project.basedir}/phpBB/install/data/*
--ignore=${project.basedir}/phpBB/install/database_update.php
--ignore=${project.basedir}/phpBB/phpbb/*
--ignore=${project.basedir}/phpBB/vendor/*
phpBB"
dir="." returnProperty="retval-php-legacy" passthru="true" />
<exec command="phpBB/vendor/bin/phpcs
-s
--extensions=php
--standard=build/code_sniffer/ruleset-php-extensions.xml
--ignore=${project.basedir}/phpBB/ext/*/tests/*
--ignore=${project.basedir}/phpBB/ext/*/vendor/*
phpBB/ext"
dir="." returnProperty="retval-php-ext" passthru="true" />
<if>
<or>
<not><equals arg1="${retval-php-strict}" arg2="0" /></not>
<not><equals arg1="${retval-php-legacy}" arg2="0" /></not>
<not><equals arg1="${retval-php-ext}" arg2="0" /></not>
</or>
<then>
<fail message="PHP Code Sniffer failed." />

View File

@@ -12,9 +12,8 @@
*/
/**
* Checks that each source file contains the standard header.
*
* Based on Coding Guidelines 1.ii File Header.
* Checks that each PHP source file contains a valid header as defined by the
* phpBB Coding Guidelines.
*
* @package code_sniffer
* @author Manuel Pichler <mapi@phpundercontrol.org>
@@ -47,10 +46,10 @@ class phpbb_Sniffs_Commenting_FileCommentSniff implements PHP_CodeSniffer_Sniff
{
if ($phpcsFile->findPrevious(T_OPEN_TAG, $stackPtr - 1) !== false)
{
return;
return;
}
}
// Fetch next non whitespace token
$tokens = $phpcsFile->getTokens();
$start = $phpcsFile->findNext(T_WHITESPACE, $stackPtr + 1, null, true);
@@ -66,65 +65,68 @@ class phpbb_Sniffs_Commenting_FileCommentSniff implements PHP_CodeSniffer_Sniff
$phpcsFile->addError('Missing required file doc comment.', $stackPtr);
return;
}
// Find comment end token
$end = $phpcsFile->findNext(T_DOC_COMMENT, $start + 1, null, true) - 1;
// If there is no end, skip processing here
if ($end === false)
{
return;
}
// List of found comment tags
$tags = array();
// check comment lines without the first(/**) an last(*/) line
for ($i = $start + 1, $c = ($end - $start); $i <= $c; ++$i)
for ($i = $start + 1, $c = $end - 1; $i <= $c; ++$i)
{
$line = $tokens[$i]['content'];
// Check that each line starts with a '*'
if (substr($line, 0, 1) !== '*')
{
$message = 'The file doc comment should not be idented.';
$message = 'The file doc comment should not be idented.';
$phpcsFile->addWarning($message, $i);
}
else if (preg_match('/^\*\s+@([\w]+)\s+(.*)$/', $line, $match) !== 0)
{
$tags[$match[1]] = array($match[2], $i);
if (!isset($tags[$match[1]]))
{
$tags[$match[1]] = array();
}
$tags[$match[1]][] = array($match[2], $i);
}
}
// Check that the first and last line is empty
if (trim($tokens[$start + 1]['content']) !== '*')
{
$message = 'The first file comment line should be empty.';
$phpcsFile->addWarning($message, ($start + 1));
$phpcsFile->addWarning($message, ($start + 1));
}
if (trim($tokens[$end - $start]['content']) !== '*')
{
$message = 'The last file comment line should be empty.';
$phpcsFile->addWarning($message, ($end - $start));
}
$this->processPackage($phpcsFile, $start, $tags);
$this->processVersion($phpcsFile, $start, $tags);
$this->processCopyright($phpcsFile, $start, $tags);
$this->processLicense($phpcsFile, $start, $tags);
//print_r($tags);
if (trim($tokens[$end - 1]['content']) !== '*')
{
$message = 'The last file comment line should be empty.';
$phpcsFile->addWarning($message, $end - 1);
}
//$this->processPackage($phpcsFile, $start, $tags);
//$this->processVersion($phpcsFile, $start, $tags);
$this->processCopyright($phpcsFile, $start, $tags);
$this->processLicense($phpcsFile, $start, $tags);
}
/**
* Checks that the tags array contains a valid package tag
*
* @param PHP_CodeSniffer_File $phpcsFile The context source file instance.
* @param integer The stack pointer for the first comment token.
* @param array(string=>array) $tags The found file doc comment tags.
*
* @return null
*/
* Checks that the tags array contains a valid package tag
*
* @param PHP_CodeSniffer_File $phpcsFile The context source file instance.
* @param integer The stack pointer for the first comment token.
* @param array(string=>array) $tags The found file doc comment tags.
*
* @return null
*/
protected function processPackage(PHP_CodeSniffer_File $phpcsFile, $ptr, $tags)
{
if (!isset($tags['package']))
@@ -134,80 +136,87 @@ class phpbb_Sniffs_Commenting_FileCommentSniff implements PHP_CodeSniffer_Sniff
}
else if (preg_match('/^([\w]+)$/', $tags['package'][0]) === 0)
{
$message = 'Invalid content found for @package tag.';
$phpcsFile->addWarning($message, $tags['package'][1]);
$message = 'Invalid content found for @package tag.';
$phpcsFile->addWarning($message, $tags['package'][1]);
}
}
/**
* Checks that the tags array contains a valid version tag
*
* @param PHP_CodeSniffer_File $phpcsFile The context source file instance.
* @param integer The stack pointer for the first comment token.
* @param array(string=>array) $tags The found file doc comment tags.
*
* @return null
*/
* Checks that the tags array contains a valid version tag
*
* @param PHP_CodeSniffer_File $phpcsFile The context source file instance.
* @param integer The stack pointer for the first comment token.
* @param array(string=>array) $tags The found file doc comment tags.
*
* @return null
*/
protected function processVersion(PHP_CodeSniffer_File $phpcsFile, $ptr, $tags)
{
if (!isset($tags['version']))
{
$message = 'Missing require @version tag in file doc comment.';
$phpcsFile->addError($message, $ptr);
}
else if (preg_match('/^\$Id:[^\$]+\$$/', $tags['version'][0]) === 0)
{
$message = 'Invalid content found for @version tag, use "$Id: $".';
$phpcsFile->addError($message, $tags['version'][1]);
}
}
/**
* Checks that the tags array contains a valid copyright tag
*
* @param PHP_CodeSniffer_File $phpcsFile The context source file instance.
* @param integer The stack pointer for the first comment token.
* @param array(string=>array) $tags The found file doc comment tags.
*
* @return null
*/
protected function processCopyright(PHP_CodeSniffer_File $phpcsFile, $ptr, $tags)
{
if (!isset($tags['copyright']))
{
$message = 'Missing require @copyright tag in file doc comment.';
$phpcsFile->addError($message, $ptr);
}
else if (preg_match('/^\(c\) 2[0-9]{3} phpBB Group\s*$/', $tags['copyright'][0]) === 0)
{
$message = 'Invalid content found for @copyright tag, use "(c) <year> phpBB Group".';
$phpcsFile->addError($message, $tags['copyright'][1]);
}
}
/**
* Checks that the tags array contains a valid license tag
*
* @param PHP_CodeSniffer_File $phpcsFile The context source file instance.
* @param integer The stack pointer for the first comment token.
* @param array(string=>array) $tags The found file doc comment tags.
*
* @return null
*/
protected function processLicense(PHP_CodeSniffer_File $phpcsFile, $ptr, $tags)
{
$license = 'http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2';
if (!isset($tags['license']))
{
$message = 'Missing require @license tag in file doc comment.';
$phpcsFile->addError($message, $ptr);
}
else if (trim($tags['license'][0]) !== $license)
{
$message = 'Invalid content found for @license tag, use '
. '"' . $license . '".';
$phpcsFile->addError($message, $tags['license'][1]);
}
}
{
if (!isset($tags['version']))
{
$message = 'Missing require @version tag in file doc comment.';
$phpcsFile->addError($message, $ptr);
}
else if (preg_match('/^\$Id:[^\$]+\$$/', $tags['version'][0]) === 0)
{
$message = 'Invalid content found for @version tag, use "$Id: $".';
$phpcsFile->addError($message, $tags['version'][1]);
}
}
/**
* Checks that the tags array contains a valid copyright tag
*
* @param PHP_CodeSniffer_File $phpcsFile The context source file instance.
* @param integer The stack pointer for the first comment token.
* @param array(string=>array) $tags The found file doc comment tags.
*
* @return null
*/
protected function processCopyright(PHP_CodeSniffer_File $phpcsFile, $ptr, $tags)
{
$copyright = '(c) phpBB Limited <https://www.phpbb.com>';
if (!isset($tags['copyright']))
{
$message = 'Missing require @copyright tag in file doc comment.';
$phpcsFile->addError($message, $ptr);
}
else if ($tags['copyright'][0][0] !== $copyright)
{
$message = 'Invalid content found for the first @copyright tag, use "' . $copyright . '".';
$phpcsFile->addError($message, $tags['copyright'][0][1]);
}
}
/**
* Checks that the tags array contains a valid license tag
*
* @param PHP_CodeSniffer_File $phpcsFile The context source file instance.
* @param integer The stack pointer for the first comment token.
* @param array(string=>array) $tags The found file doc comment tags.
*
* @return null
*/
protected function processLicense(PHP_CodeSniffer_File $phpcsFile, $ptr, $tags)
{
$license = 'GNU General Public License, version 2 (GPL-2.0)';
if (!isset($tags['license']))
{
$message = 'Missing require @license tag in file doc comment.';
$phpcsFile->addError($message, $ptr);
}
else if (sizeof($tags['license']) !== 1)
{
$message = 'It must be only one @license tag in file doc comment.';
$phpcsFile->addError($message, $ptr);
}
else if (trim($tags['license'][0][0]) !== $license)
{
$message = 'Invalid content found for @license tag, use '
. '"' . $license . '".';
$phpcsFile->addError($message, $tags['license'][0][1]);
}
}
}

View File

@@ -0,0 +1,209 @@
<?php
/**
*
* This file is part of the phpBB Forum Software package.
*
* @copyright (c) phpBB Limited <https://www.phpbb.com>
* @license GNU General Public License, version 2 (GPL-2.0)
*
* For full copyright and license information, please see
* the docs/CREDITS.txt file.
*
*/
/**
* Checks that each use statement is used.
*/
class phpbb_Sniffs_Namespaces_UnusedUseSniff implements PHP_CodeSniffer_Sniff
{
/**
* {@inheritdoc}
*/
public function register()
{
return array(T_USE);
}
/**
* {@inheritdoc}
*/
public function process(PHP_CodeSniffer_File $phpcsFile, $stackPtr)
{
if ($this->should_ignore_use($phpcsFile, $stackPtr) === true)
{
return;
}
$tokens = $phpcsFile->getTokens();
$class_name_start = $phpcsFile->findNext(array(T_NS_SEPARATOR, T_STRING), ($stackPtr + 1));
$find = array(
T_NS_SEPARATOR,
T_STRING,
T_WHITESPACE,
);
$class_name_end = $phpcsFile->findNext($find, ($stackPtr + 1), null, true);
$aliasing_as_position = $phpcsFile->findNext(T_AS, $class_name_end, null, false, null, true);
if ($aliasing_as_position !== false)
{
$alias_position = $phpcsFile->findNext(T_STRING, $aliasing_as_position, null, false, null, true);
$class_name_short = $tokens[$alias_position]['content'];
$class_name_full = $phpcsFile->getTokensAsString($class_name_start, ($class_name_end - $class_name_start - 1));
}
else
{
$class_name_full = $phpcsFile->getTokensAsString($class_name_start, ($class_name_end - $class_name_start));
$class_name_short = $tokens[$class_name_end - 1]['content'];
}
$ok = false;
// Checks in simple statements (new, instanceof and extends)
foreach (array(T_INSTANCEOF, T_NEW, T_EXTENDS) as $keyword)
{
$old_simple_statement = $stackPtr;
while (($simple_statement = $phpcsFile->findNext($keyword, ($old_simple_statement + 1))) !== false)
{
$old_simple_statement = $simple_statement;
$simple_class_name_start = $phpcsFile->findNext(array(T_NS_SEPARATOR, T_STRING), ($simple_statement + 1));
$simple_class_name_end = $phpcsFile->findNext($find, ($simple_statement + 1), null, true);
$simple_class_name = trim($phpcsFile->getTokensAsString($simple_class_name_start, ($simple_class_name_end - $simple_class_name_start)));
if ($simple_class_name === $class_name_full)
{
$error = 'Either use statement or full name must be used.';
$phpcsFile->addError($error, $simple_statement, 'FullName');
}
if ($simple_class_name === $class_name_short)
{
$ok = true;
}
}
}
// Checks paamayim nekudotayim
$old_paamayim_nekudotayim = $stackPtr;
while (($paamayim_nekudotayim = $phpcsFile->findNext(T_PAAMAYIM_NEKUDOTAYIM, ($old_paamayim_nekudotayim + 1))) !== false)
{
$old_paamayim_nekudotayim = $paamayim_nekudotayim;
$paamayim_nekudotayim_class_name_start = $phpcsFile->findPrevious($find, $paamayim_nekudotayim - 1, null, true);
$paamayim_nekudotayim_class_name_end = $paamayim_nekudotayim - 1;
$paamayim_nekudotayim_class_name = trim($phpcsFile->getTokensAsString($paamayim_nekudotayim_class_name_start + 1, ($paamayim_nekudotayim_class_name_end - $paamayim_nekudotayim_class_name_start)));
if ($paamayim_nekudotayim_class_name === $class_name_full)
{
$error = 'Either use statement or full name must be used.';
$phpcsFile->addError($error, $paamayim_nekudotayim, 'FullName');
}
if ($paamayim_nekudotayim_class_name === $class_name_short)
{
$ok = true;
}
}
// Checks in implements
$old_implements = $stackPtr;
while (($implements = $phpcsFile->findNext(T_IMPLEMENTS, ($old_implements + 1))) !== false)
{
$old_implements = $implements;
$old_implemented_class = $implements;
while (($implemented_class = $phpcsFile->findNext(T_STRING, ($old_implemented_class + 1), null, false, null, true)) !== false)
{
$old_implemented_class = $implemented_class;
$implements_class_name_start = $phpcsFile->findNext(array(T_NS_SEPARATOR, T_STRING), ($implemented_class - 1));
$implements_class_name_end = $phpcsFile->findNext($find, ($implemented_class - 1), null, true);
$implements_class_name = trim($phpcsFile->getTokensAsString($implements_class_name_start, ($implements_class_name_end - $implements_class_name_start)));
if ($implements_class_name === $class_name_full)
{
$error = 'Either use statement or full name must be used.';
$phpcsFile->addError($error, $implements, 'FullName');
}
if ($implements_class_name === $class_name_short)
{
$ok = true;
}
}
}
// Checks in type hinting
$old_function_declaration = $stackPtr;
while (($function_declaration = $phpcsFile->findNext(T_FUNCTION, ($old_function_declaration + 1))) !== false)
{
$old_function_declaration = $function_declaration;
$end_function = $phpcsFile->findNext(array(T_CLOSE_PARENTHESIS), ($function_declaration + 1));
$old_argument = $function_declaration;
while (($argument = $phpcsFile->findNext(T_VARIABLE, ($old_argument + 1), $end_function)) !== false)
{
$old_argument = $argument;
$start_argument = $phpcsFile->findPrevious(array(T_OPEN_PARENTHESIS, T_COMMA), $argument);
$argument_class_name_start = $phpcsFile->findNext(array(T_NS_SEPARATOR, T_STRING), ($start_argument + 1), $argument);
$argument_class_name_end = $phpcsFile->findNext($find, ($argument_class_name_start + 1), null, true);
$argument_class_name = $phpcsFile->getTokensAsString($argument_class_name_start, ($argument_class_name_end - $argument_class_name_start - 1));
if ($argument_class_name === $class_name_full)
{
$error = 'Either use statement or full name must be used.';
$phpcsFile->addError($error, $function_declaration, 'FullName');
}
if ($argument_class_name === $class_name_short)
{
$ok = true;
}
}
}
if (!$ok)
{
$error = 'There must not be unused USE statements.';
$phpcsFile->addError($error, $stackPtr, 'Unused');
}
}
/**
* Check if this use statement is part of the namespace block.
*
* @param PHP_CodeSniffer_File $phpcsFile The file being scanned.
* @param int $stackPtr The position of the current token in
* the stack passed in $tokens.
*
* @return bool
*/
private function should_ignore_use(PHP_CodeSniffer_File $phpcsFile, $stackPtr)
{
$tokens = $phpcsFile->getTokens();
// Ignore USE keywords inside closures.
$next = $phpcsFile->findNext(T_WHITESPACE, ($stackPtr + 1), null, true);
if ($tokens[$next]['code'] === T_OPEN_PARENTHESIS)
{
return true;
}
// Ignore USE keywords for traits.
if ($phpcsFile->hasCondition($stackPtr, array(T_CLASS, T_TRAIT)) === true)
{
return true;
}
return false;
}
}

View File

@@ -1,19 +0,0 @@
<?php
/**
*
* @package code_sniffer³
* @version $Id: $
* @copyright (c) 2008 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php BSD License
*
*/
?>
<?php
/**
* Broken but not first file doc comment.
*
* @version @package_version@
* @license http://www.opensource.org/licenses/bsd-license.php BSD License
* @copyright (c) 2007 phpBB Group
*
*/

View File

@@ -1,54 +0,0 @@
<?php
/**
*
* This file is part of the phpBB Forum Software package.
*
* @copyright (c) phpBB Limited <https://www.phpbb.com>
* @license GNU General Public License, version 2 (GPL-2.0)
*
* For full copyright and license information, please see
* the docs/CREDITS.txt file.
*
*/
/**
* Unit test class for the EmptyStatement sniff.
*
* @package code_sniffer
* @author Manuel Pichler <mapi@phpundercontrol.org>
*/
class phpbb_Tests_Commenting_FileCommentUnitTest extends AbstractSniffUnitTest
{
/**
* Returns the lines where errors should occur.
*
* The key of the array should represent the line number and the value
* should represent the number of errors that should occur on that line.
*
* @return array(int => int)
*/
public function getErrorList()
{
return array(
7 => 1 // BSD License error :)
);
}//end getErrorList()
/**
* Returns the lines where warnings should occur.
*
* The key of the array should represent the line number and the value
* should represent the number of warnings that should occur on that line.
*
* @return array(int => int)
*/
public function getWarningList()
{
return array(
4 => 1,
8 => 1
);
}//end getWarningList()
}

View File

@@ -1,23 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project name="code_sniffer" basedir="." default="install">
<property name="working.dir" value="${basedir}" />
<property name="target.dir" value="/usr/share/php/PHP/CodeSniffer/Standards" />
<!--
Install phpbb sniff
-->
<target name="install">
<delete dir="${target.dir}/phpbb" />
<mkdir dir="${target.dir}/phpbb"/>
<copy todir="${target.dir}/phpbb">
<fileset file="${working.dir}/phpbbCodingStandard.php" />
</copy>
<copy todir="${target.dir}/phpbb/Sniffs">
<fileset dir="${working.dir}/Sniffs" />
</copy>
</target>
</project>

View File

@@ -1,46 +0,0 @@
<?php
/**
*
* This file is part of the phpBB Forum Software package.
*
* @copyright (c) phpBB Limited <https://www.phpbb.com>
* @license GNU General Public License, version 2 (GPL-2.0)
*
* For full copyright and license information, please see
* the docs/CREDITS.txt file.
*
*/
/**
* @ignore
*/
if (class_exists('PHP_CodeSniffer_Standards_CodingStandard', true) === false) {
throw new PHP_CodeSniffer_Exception(
'Class PHP_CodeSniffer_Standards_CodingStandard not found'
);
}
/**
* Primary class for the phpbb coding standard.
*
* @package code_sniffer
*/
class PHP_CodeSniffer_Standards_phpbb_phpbbCodingStandard extends PHP_CodeSniffer_Standards_CodingStandard
{
/**
* Return a list of external sniffs to include with this standard.
*
* External locations can be single sniffs, a whole directory of sniffs, or
* an entire coding standard. Locations start with the standard name. For
* example:
* PEAR => include all sniffs in this standard
* PEAR/Sniffs/Files => include all sniffs in this dir
* PEAR/Sniffs/Files/LineLengthSniff => include this single sniff
*
* @return array
*/
public function getIncludedSniffs()
{
return array();
}
}

View File

@@ -0,0 +1,8 @@
<?xml version="1.0"?>
<ruleset name="phpBB PHP Strict Standard Extensions">
<description>phpBB coding standard for PHP files of phpBB extensions</description>
<rule ref="./ruleset-php-strict.xml" />
</ruleset>

View File

@@ -0,0 +1,11 @@
<?xml version="1.0"?>
<ruleset name="phpBB PHP Legacy Standard Core">
<description>phpBB legacy coding standard for PHP files of phpBB core</description>
<rule ref="./ruleset-php-legacy.xml" />
<!-- Each file MUST start with a valid header as defined by the Coding Guidelines -->
<rule ref="./phpbb/Sniffs/Commenting/FileCommentSniff.php" />
</ruleset>

View File

@@ -20,6 +20,16 @@
<!-- Call-time pass-by-reference MUST not be used. -->
<rule ref="Generic.Functions.CallTimePassByReference.NotAllowed" />
<!-- Filenames MUST be lowercase. -->
<rule ref="Generic.Files.LowercasedFilename" />
<!-- The function brace MUST be on the line following the function declaration
and MUST be indented to the same column as the start of the function declaration. -->
<rule ref="Generic.Functions.OpeningFunctionBraceBsdAllman" />
<!-- There MUST be exactly one space after a cast. -->
<rule ref="Generic.Formatting.SpaceAfterCast" />
<!-- Class constants MUST be declared in all upper case with underscore separators. -->
<rule ref="Generic.NamingConventions.UpperCaseConstantName" />
@@ -32,6 +42,20 @@
<!-- Each file MUST end with exactly one newline character -->
<rule ref="PSR2.Files.EndFileNewline" />
<!-- When referencing arrays there MUST NOT be any whitespace around the opening bracket
or before the closing bracket. -->
<rule ref="Squiz.Arrays.ArrayBracketSpacing" />
<!-- The "else if" statement MUST be written with a space between the words else and if. -->
<rule ref="Squiz.ControlStructures.ElseIfDeclaration" />
<!-- There MUST be a space between each element of a foreach loop. -->
<rule ref="Squiz.ControlStructures.ForEachLoopDeclaration" />
<!-- In a for loop declaration, there MUST be no space inside the brackets
and there MUST be 0 spaces before and 1 space after semicolons. -->
<rule ref="Squiz.ControlStructures.ForLoopDeclaration" />
<!-- In the argument list, there MUST NOT be a space before each comma,
and there MUST be one space after each comma. -->
<rule ref="Squiz.Functions.FunctionDeclarationArgumentSpacing">
@@ -41,6 +65,12 @@
</rule>
<rule ref="Squiz.Functions.FunctionDeclarationArgumentSpacing.SpacingAfterHint" />
<!-- All built-in PHP functions MUST be called lowercased. -->
<rule ref="Squiz.Functions.LowercaseFunctionKeywords" />
<!-- The eval() function MUST NOT be used. -->
<rule ref="Squiz.PHP.Eval" />
<!-- There MUST NOT be trailing whitespace at the end of lines. -->
<rule ref="Squiz.WhiteSpace.SuperfluousWhitespace" />

View File

@@ -0,0 +1,9 @@
<?xml version="1.0"?>
<ruleset name="phpBB PHP Strict Standard Core">
<description>phpBB coding standard for PHP files of phpBB core</description>
<rule ref="./ruleset-php-legacy-core.xml" />
<rule ref="./ruleset-php-strict.xml" />
</ruleset>

View File

@@ -22,6 +22,9 @@
<!-- PHP keywords MUST be in lower case. -->
<rule ref="Generic.PHP.LowerCaseKeyword" />
<!-- Constructors MUST be called __construct() instead of after the class. -->
<rule ref="Generic.NamingConventions.ConstructorName" />
<!-- Classes etc. MUST be namespaced -->
<rule ref="PSR1.Classes.ClassDeclaration.MissingNamespace" />
@@ -36,4 +39,10 @@
There MUST be one blank line after the use block. -->
<rule ref="PSR2.Namespaces.UseDeclaration" />
<!-- There MUST be one blank line after the namespace declaration -->
<rule ref="PSR2.Namespaces.NamespaceDeclaration" />
<!-- There MUST NOT be unused use statements. -->
<rule ref="./phpbb/Sniffs/Namespaces/UnusedUseSniff.php" />
</ruleset>

View File

@@ -195,12 +195,6 @@ if (sizeof($package->old_packages))
* referenced files from the same or subsequent directories.
*/
$copy_relative_directories = array(
'adm/style/admin.css' => array(
'copied' => false,
'copy' => array(
'adm/images/*' => 'adm/images',
),
),
'config/' => array(
'copied' => false,
'copy' => array(
@@ -269,6 +263,42 @@ if (sizeof($package->old_packages))
}
}
/**
* We need to always copy the template and asset files that we need in
* the update, to ensure that the page is displayed correctly.
*/
$copy_update_files = array(
'adm/images/*' => 'adm/images',
'adm/style/admin.css' => 'adm/style',
'adm/style/admin.js' => 'adm/style',
'adm/style/ajax.js' => 'adm/style',
'adm/style/install_*' => 'adm/style',
'assets/javascript/*' => 'assets/javascript',
);
foreach ($copy_update_files as $source_files => $destination_dir)
{
// Create directories along the way?
$directories = explode('/', $destination_dir);
chdir($dest_filename_dir . '/install/update/new');
foreach ($directories as $dir)
{
$dir = trim($dir);
if ($dir)
{
if (!file_exists('./' . $dir))
{
$package->run_command('mkdir ' . $dir);
}
chdir('./' . $dir);
}
}
$source_dir_files = $package->locations['old_versions'] . $package->get('simple_name') . '/' . $source_files;
$destination_dir = $dest_filename_dir . '/install/update/new/' . $destination_dir;
$package->run_command('cp ' . $source_dir_files . ' ' . $destination_dir);
}
// Build index.php file for holding the file structure
$index_contents = '<?php

View File

@@ -191,12 +191,12 @@ do
err=$ERR_HEADER;
echo "$line" | grep -Eq "^\[(ticket/[0-9]+|feature/$branch_regex|task/$branch_regex)\] .+$"
result=$?
if ! echo "$line" | grep -Eq "^\[(ticket/[0-9]+|feature/$branch_regex|task/$branch_regex)\] [A-Z].+$"
if ! echo "$line" | grep -Eq "^\[(ticket/[0-9]+|feature/$branch_regex|task/$branch_regex)\] [a-zA-Z].+$"
then
# Don't be too strict.
# Commits may be temporary, intended to be squashed later.
# Just issue a warning here.
complain "$severity: heading should be a sentence beginning with a capital letter." 1>&2
complain "$severity: heading should be a sentence beginning with a letter." 1>&2
complain "You entered:" 1>&2
complain "$line" 1>&2
fi

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 541 B

View File

@@ -205,8 +205,8 @@
</dl>
<dl>
<dt><label for="allowed_forums">{L_ALLOWED_FORUMS}{L_COLON}</label><br /><span>{L_ALLOWED_FORUMS_EXPLAIN}</span></dt>
<dd><label><input type="radio" id="allowed_forums" class="radio" name="forum_select" value="0"<!-- IF not S_FORUM_IDS --> checked="checked"<!-- ENDIF --> /> {L_ALLOW_ALL_FORUMS}</label>
<label><input type="radio" class="radio" name="forum_select" value="1"<!-- IF S_FORUM_IDS --> checked="checked"<!-- ENDIF --> /> {L_ALLOW_SELECTED_FORUMS}</label></dd>
<dd><label><input type="radio" id="allowed_forums" class="radio" name="forum_select" value="0"<!-- IF not S_FORUM_IDS --> checked="checked"<!-- ENDIF --> /> {L_ALLOW_ALL_FORUMS}</label></dd>
<dd><label><input type="radio" class="radio" name="forum_select" value="1"<!-- IF S_FORUM_IDS --> checked="checked"<!-- ENDIF --> /> {L_ALLOW_SELECTED_FORUMS}</label></dd>
<dd><select name="allowed_forums[]" multiple="multiple" size="8">{S_FORUM_ID_OPTIONS}</select></dd>
</dl>

View File

@@ -1,7 +1,6 @@
<dl>
<dt><label for="category">{L_AVATAR_CATEGORY}{L_COLON}</label></dt>
<dd><select name="avatar_local_cat" id="category">
<option value="">{L_NO_AVATAR_CATEGORY}</option>
<!-- BEGIN avatar_local_cats -->
<option value="{avatar_local_cats.NAME}"<!-- IF avatar_local_cats.SELECTED --> selected="selected"<!-- ENDIF -->>{avatar_local_cats.NAME}</option>
<!-- END avatar_local_cats -->

View File

@@ -0,0 +1,76 @@
<!-- INCLUDE overall_header.html -->
<script type="text/javascript">
// <![CDATA[
var form_name = 'acp_contact';
var text_name = 'contact_admin_info';
var load_draft = false;
var upload = false;
var imageTag = false;
// ]]>
</script>
<a id="maincontent"></a>
<h1>{L_ACP_CONTACT_SETTINGS}</h1>
<p>{L_ACP_CONTACT_SETTINGS_EXPLAIN}</p>
<form id="acp_contact" method="post" action="{U_ACTION}">
<fieldset>
<legend>{L_GENERAL_OPTIONS}</legend>
<dl>
<dt><label for="contact_admin_form_enable">{L_CONTACT_US_ENABLE}{L_COLON}</label><br /><span>{L_CONTACT_US_ENABLE_EXPLAIN}</span></dt>
<dd>
<label><input type="radio" class="radio" id="contact_admin_form_enable" name="contact_admin_form_enable" value="1"<!-- IF CONTACT_ENABLED --> checked="checked"<!-- ENDIF --> /> {L_ENABLED}</label>
<label><input type="radio" class="radio" name="contact_admin_form_enable" value="0"<!-- IF not CONTACT_ENABLED --> checked="checked"<!-- ENDIF --> /> {L_DISABLED}</label>
</dd>
</dl>
</fieldset>
<!-- IF CONTACT_US_INFO_PREVIEW -->
<fieldset>
<legend>{L_CONTACT_US_INFO_PREVIEW}</legend>
<p>{CONTACT_US_INFO_PREVIEW}</p>
</fieldset>
<!-- ENDIF -->
<fieldset>
<legend>{L_CONTACT_US_INFO}</legend>
<p>{L_CONTACT_US_INFO_EXPLAIN}</p>
<!-- INCLUDE acp_posting_buttons.html -->
<dl class="responsive-columns">
<dt style="width: 90px;" id="color_palette_placeholder" data-orientation="v" data-height="12" data-width="15" data-bbcode="true">
</dt>
<dd style="margin-{S_CONTENT_FLOW_BEGIN}: 90px;">
<textarea name="contact_admin_info" rows="10" cols="60" style="width: 95%;" onselect="storeCaret(this);" onclick="storeCaret(this);" onkeyup="storeCaret(this);" onfocus="initInsertions();" data-bbcode="true">{CONTACT_US_INFO}</textarea>
</dd>
<dd style="margin-{S_CONTENT_FLOW_BEGIN}: 90px; margin-top: 5px;">
<!-- IF S_BBCODE_ALLOWED -->
<label><input type="checkbox" class="radio" name="disable_bbcode"<!-- IF S_BBCODE_DISABLE_CHECKED --> checked="checked"<!-- ENDIF --> /> {L_DISABLE_BBCODE}</label>
<!-- ENDIF -->
<!-- IF S_SMILIES_ALLOWED -->
<label><input type="checkbox" class="radio" name="disable_smilies"<!-- IF S_SMILIES_DISABLE_CHECKED --> checked="checked"<!-- ENDIF --> /> {L_DISABLE_SMILIES}</label>
<!-- ENDIF -->
<!-- IF S_LINKS_ALLOWED -->
<label><input type="checkbox" class="radio" name="disable_magic_url"<!-- IF S_MAGIC_URL_DISABLE_CHECKED --> checked="checked"<!-- ENDIF --> /> {L_DISABLE_MAGIC_URL}</label>
<!-- ENDIF -->
</dd>
<dd style="margin-{S_CONTENT_FLOW_BEGIN}: 90px; margin-top: 10px;"><strong>{L_OPTIONS}{L_COLON} </strong>{BBCODE_STATUS} :: {IMG_STATUS} :: {FLASH_STATUS} :: {URL_STATUS} :: {SMILIES_STATUS}</dd>
</dl>
</fieldset>
<fieldset class="submit-buttons">
<input class="button1" type="submit" id="submit" name="submit" value="{L_SUBMIT}" />&nbsp;
<input class="button2" type="submit" name="preview" value="{L_PREVIEW}" />
{S_FORM_TOKEN}
</fieldset>
</form>
<!-- INCLUDE overall_footer.html -->

View File

@@ -284,12 +284,12 @@
<label><input type="radio" class="radio" name="enable_shadow_prune" value="0"<!-- IF not S_PRUNE_SHADOW_ENABLE --> id="enable_shadow_prune" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
</dl>
<dl>
<dt><label for="prune_shadow_freq">{L_AUTO_PRUNE_FREQ}{L_COLON}</label><br /><span>{L_AUTO_PRUNE_FREQ_EXPLAIN}</span></dt>
<dd><input type="number" id="prune_shadow_freq" name="prune_shadow_freq" value="{PRUNE_FREQ}" maxlength="4" size="4" min="0" max="9999" /> {L_DAYS}</dd>
<dt><label for="prune_shadow_freq">{L_AUTO_PRUNE_SHADOW_FREQ}{L_COLON}</label><br /><span>{L_AUTO_PRUNE_SHADOW_FREQ_EXPLAIN}</span></dt>
<dd><input type="number" id="prune_shadow_freq" name="prune_shadow_freq" value="{PRUNE_SHADOW_FREQ}" maxlength="4" size="4" min="0" max="9999" /> {L_DAYS}</dd>
</dl>
<dl>
<dt><label for="prune_shadow_days">{L_AUTO_PRUNE_DAYS}{L_COLON}</label><br /><span>{L_AUTO_PRUNE_DAYS_EXPLAIN}</span></dt>
<dd><input type="number" id="prune_shadow_days" name="prune_shadow_days" value="{PRUNE_DAYS}" maxlength="4" size="4" min="0" max="9999" /> {L_DAYS}</dd>
<dt><label for="prune_shadow_days">{L_AUTO_PRUNE_SHADOW_DAYS}{L_COLON}</label><br /><span>{L_AUTO_PRUNE_SHADOW_DAYS_EXPLAIN}</span></dt>
<dd><input type="number" id="prune_shadow_days" name="prune_shadow_days" value="{PRUNE_SHADOW_DAYS}" maxlength="4" size="4" min="0" max="9999" /> {L_DAYS}</dd>
</dl>
</fieldset>
</div>

View File

@@ -117,7 +117,7 @@
<dl>
<dt><label>{L_AVATAR_TYPE}{L_COLON}</label></dt>
<dd><select name="avatar_driver" id="avatar_driver" data-togglable-settings="true">
<option value="">{L_NO_AVATAR_CATEGORY}</option>
<option value="">{L_NO_AVATAR}</option>
<!-- BEGIN avatar_drivers -->
<option value="{avatar_drivers.DRIVER}"<!-- IF avatar_drivers.SELECTED --> selected="selected"<!-- ENDIF --> data-toggle-setting="#avatar_option_{avatar_drivers.DRIVER}">{avatar_drivers.L_TITLE}</option>
<!-- END avatar_drivers -->

View File

@@ -0,0 +1,70 @@
<script type="text/javascript">
// <![CDATA[
// Define the bbCode tags
var bbcode = new Array();
var bbtags = new Array('[b]','[/b]','[i]','[/i]','[u]','[/u]','[quote]','[/quote]','[code]','[/code]','[list]','[/list]','[list=]','[/list]','[img]','[/img]','[url]','[/url]','[flash=]', '[/flash]','[size=]','[/size]'<!-- BEGIN custom_tags -->, {custom_tags.BBCODE_NAME}<!-- END custom_tags -->);
// Helpline messages
var help_line = {
b: '{LA_BBCODE_B_HELP}',
i: '{LA_BBCODE_I_HELP}',
u: '{LA_BBCODE_U_HELP}',
q: '{LA_BBCODE_Q_HELP}',
c: '{LA_BBCODE_C_HELP}',
l: '{LA_BBCODE_L_HELP}',
o: '{LA_BBCODE_O_HELP}',
p: '{LA_BBCODE_P_HELP}',
w: '{LA_BBCODE_W_HELP}',
a: '{LA_BBCODE_A_HELP}',
s: '{LA_BBCODE_S_HELP}',
f: '{LA_BBCODE_F_HELP}',
y: '{LA_BBCODE_Y_HELP}',
d: '{LA_BBCODE_D_HELP}'
<!-- BEGIN custom_tags -->
,cb_{custom_tags.BBCODE_ID}{L_COLON} '{custom_tags.A_BBCODE_HELPLINE}'
<!-- END custom_tags -->
}
// ]]>
</script>
<!-- INCLUDEJS {T_ASSETS_PATH}/javascript/editor.js -->
<!-- EVENT acp_posting_buttons_before -->
<div id="format-buttons">
<input type="button" class="button2" accesskey="b" name="addbbcode0" value=" B " style="font-weight:bold; width: 30px" onclick="bbstyle(0)" title="{L_BBCODE_B_HELP}" />
<input type="button" class="button2" accesskey="i" name="addbbcode2" value=" i " style="font-style:italic; width: 30px" onclick="bbstyle(2)" title="{L_BBCODE_I_HELP}" />
<input type="button" class="button2" accesskey="u" name="addbbcode4" value=" u " style="text-decoration: underline; width: 30px" onclick="bbstyle(4)" title="{L_BBCODE_U_HELP}" />
<!-- IF S_BBCODE_QUOTE -->
<input type="button" class="button2" accesskey="q" name="addbbcode6" value="Quote" style="width: 50px" onclick="bbstyle(6)" title="{L_BBCODE_Q_HELP}" />
<!-- ENDIF -->
<input type="button" class="button2" accesskey="c" name="addbbcode8" value="Code" style="width: 40px" onclick="bbstyle(8)" title="{L_BBCODE_C_HELP}" />
<input type="button" class="button2" accesskey="l" name="addbbcode10" value="List" style="width: 40px" onclick="bbstyle(10)" title="{L_BBCODE_L_HELP}" />
<input type="button" class="button2" accesskey="o" name="addbbcode12" value="List=" style="width: 40px" onclick="bbstyle(12)" title="{L_BBCODE_O_HELP}" />
<input type="button" class="button2" accesskey="y" name="addlistitem" value="[*]" style="width: 40px" onclick="bbstyle(-1)" title="{L_BBCODE_LISTITEM_HELP}" />
<!-- IF S_BBCODE_IMG -->
<input type="button" class="button2" accesskey="p" name="addbbcode14" value="Img" style="width: 40px" onclick="bbstyle(14)" title="{L_BBCODE_P_HELP}" />
<!-- ENDIF -->
<!-- IF S_LINKS_ALLOWED -->
<input type="button" class="button2" accesskey="w" name="addbbcode16" value="URL" style="text-decoration: underline; width: 40px" onclick="bbstyle(16)" title="{L_BBCODE_W_HELP}" />
<!-- ENDIF -->
<!-- IF S_BBCODE_FLASH -->
<input type="button" class="button2" accesskey="d" name="addbbcode18" value="Flash" onclick="bbstyle(18)" title="{L_BBCODE_D_HELP}" />
<!-- ENDIF -->
<select name="addbbcode20" onchange="bbfontstyle('[size=' + this.form.addbbcode20.options[this.form.addbbcode20.selectedIndex].value + ']', '[/size]');this.form.addbbcode20.selectedIndex = 2;" title="{L_BBCODE_F_HELP}">
<option value="50">{L_FONT_TINY}</option>
<option value="85">{L_FONT_SMALL}</option>
<option value="100" selected="selected">{L_FONT_NORMAL}</option>
<!-- IF not MAX_FONT_SIZE or MAX_FONT_SIZE >= 150 -->
<option value="150">{L_FONT_LARGE}</option>
<!-- IF not MAX_FONT_SIZE or MAX_FONT_SIZE >= 200 -->
<option value="200">{L_FONT_HUGE}</option>
<!-- ENDIF -->
<!-- ENDIF -->
</select>
<!-- BEGIN custom_tags -->
<input type="button" class="button2" name="addbbcode{custom_tags.BBCODE_ID}" value="{custom_tags.BBCODE_TAG}" onclick="bbstyle({custom_tags.BBCODE_ID})" title="{custom_tags.BBCODE_HELPLINE}" />
<!-- END custom_tags -->
</div>
<!-- EVENT acp_posting_buttons_after -->

View File

@@ -14,7 +14,7 @@
<dl>
<dt><label>{L_AVATAR_TYPE}</label></dt>
<dd><select name="avatar_driver" id="avatar_driver" data-togglable-settings="true">
<option value="">{L_NO_AVATAR_CATEGORY}</option>
<option value="">{L_NO_AVATAR}</option>
<!-- BEGIN avatar_drivers -->
<option value="{avatar_drivers.DRIVER}"<!-- IF avatar_drivers.SELECTED --> selected="selected"<!-- ENDIF --> data-toggle-setting="#avatar_option_{avatar_drivers.DRIVER}">{avatar_drivers.L_TITLE}</option>
<!-- END avatar_drivers -->

View File

@@ -5,36 +5,10 @@
var text_name = 'signature';
var load_draft = false;
var upload = false;
// Define the bbCode tags
var bbcode = new Array();
var bbtags = new Array('[b]','[/b]','[i]','[/i]','[u]','[/u]','[quote]','[/quote]','[code]','[/code]','[list]','[/list]','[list=]','[/list]','[img]','[/img]','[url]','[/url]','[flash=]', '[/flash]','[size=]','[/size]'<!-- BEGIN custom_tags -->, {custom_tags.BBCODE_NAME}<!-- END custom_tags -->);
var imageTag = false;
// Helpline messages
var help_line = {
b: '{LA_BBCODE_B_HELP}',
i: '{LA_BBCODE_I_HELP}',
u: '{LA_BBCODE_U_HELP}',
q: '{LA_BBCODE_Q_HELP}',
c: '{LA_BBCODE_C_HELP}',
l: '{LA_BBCODE_L_HELP}',
o: '{LA_BBCODE_O_HELP}',
p: '{LA_BBCODE_P_HELP}',
w: '{LA_BBCODE_W_HELP}',
a: '{LA_BBCODE_A_HELP}',
s: '{LA_BBCODE_S_HELP}',
f: '{LA_BBCODE_F_HELP}',
y: '{LA_BBCODE_Y_HELP}',
d: '{LA_BBCODE_D_HELP}'
<!-- BEGIN custom_tags -->
,cb_{custom_tags.BBCODE_ID}{L_COLON} '{custom_tags.A_BBCODE_HELPLINE}'
<!-- END custom_tags -->
}
// ]]>
</script>
<!-- INCLUDEJS {T_ASSETS_PATH}/javascript/editor.js -->
<form id="user_signature" method="post" action="{U_ACTION}">
@@ -49,43 +23,7 @@
<legend>{L_SIGNATURE}</legend>
<p>{L_SIGNATURE_EXPLAIN}</p>
<!-- EVENT acp_users_signature_editor_buttons_before -->
<div id="format-buttons">
<input type="button" class="button2" accesskey="b" name="addbbcode0" value=" B " style="font-weight:bold; width: 30px" onclick="bbstyle(0)" title="{L_BBCODE_B_HELP}" />
<input type="button" class="button2" accesskey="i" name="addbbcode2" value=" i " style="font-style:italic; width: 30px" onclick="bbstyle(2)" title="{L_BBCODE_I_HELP}" />
<input type="button" class="button2" accesskey="u" name="addbbcode4" value=" u " style="text-decoration: underline; width: 30px" onclick="bbstyle(4)" title="{L_BBCODE_U_HELP}" />
<!-- IF S_BBCODE_QUOTE -->
<input type="button" class="button2" accesskey="q" name="addbbcode6" value="Quote" style="width: 50px" onclick="bbstyle(6)" title="{L_BBCODE_Q_HELP}" />
<!-- ENDIF -->
<input type="button" class="button2" accesskey="c" name="addbbcode8" value="Code" style="width: 40px" onclick="bbstyle(8)" title="{L_BBCODE_C_HELP}" />
<input type="button" class="button2" accesskey="l" name="addbbcode10" value="List" style="width: 40px" onclick="bbstyle(10)" title="{L_BBCODE_L_HELP}" />
<input type="button" class="button2" accesskey="o" name="addbbcode12" value="List=" style="width: 40px" onclick="bbstyle(12)" title="{L_BBCODE_O_HELP}" />
<input type="button" class="button2" accesskey="y" name="addlistitem" value="[*]" style="width: 40px" onclick="bbstyle(-1)" title="{L_BBCODE_LISTITEM_HELP}" />
<!-- IF S_BBCODE_IMG -->
<input type="button" class="button2" accesskey="p" name="addbbcode14" value="Img" style="width: 40px" onclick="bbstyle(14)" title="{L_BBCODE_P_HELP}" />
<!-- ENDIF -->
<!-- IF S_LINKS_ALLOWED -->
<input type="button" class="button2" accesskey="w" name="addbbcode16" value="URL" style="text-decoration: underline; width: 40px" onclick="bbstyle(16)" title="{L_BBCODE_W_HELP}" />
<!-- ENDIF -->
<!-- IF S_BBCODE_FLASH -->
<input type="button" class="button2" accesskey="d" name="addbbcode18" value="Flash" onclick="bbstyle(18)" title="{L_BBCODE_D_HELP}" />
<!-- ENDIF -->
<select name="addbbcode20" onchange="bbfontstyle('[size=' + this.form.addbbcode20.options[this.form.addbbcode20.selectedIndex].value + ']', '[/size]');this.form.addbbcode20.selectedIndex = 2;" title="{L_BBCODE_F_HELP}">
<option value="50">{L_FONT_TINY}</option>
<option value="85">{L_FONT_SMALL}</option>
<option value="100" selected="selected">{L_FONT_NORMAL}</option>
<!-- IF not MAX_FONT_SIZE or MAX_FONT_SIZE >= 150 -->
<option value="150">{L_FONT_LARGE}</option>
<!-- IF not MAX_FONT_SIZE or MAX_FONT_SIZE >= 200 -->
<option value="200">{L_FONT_HUGE}</option>
<!-- ENDIF -->
<!-- ENDIF -->
</select>
<!-- BEGIN custom_tags -->
<input type="button" class="button2" name="addbbcode{custom_tags.BBCODE_ID}" value="{custom_tags.BBCODE_TAG}" onclick="bbstyle({custom_tags.BBCODE_ID})" title="{custom_tags.BBCODE_HELPLINE}" />
<!-- END custom_tags -->
</div>
<!-- EVENT acp_users_signature_editor_buttons_after -->
<!-- INCLUDE acp_posting_buttons.html -->
<dl class="responsive-columns">
<dt style="width: 90px;" id="color_palette_placeholder" data-orientation="v" data-height="12" data-width="15" data-bbcode="true">

View File

@@ -209,6 +209,9 @@ li {
#page-footer {
clear: both;
}
.copyright {
font-size: 0.75em;
text-align: center;
}
@@ -317,176 +320,156 @@ li {
/* Tabbed menu
Based on: http://www.alistapart.com/articles/slidingdoors2/
----------------------------------------*/
#tabs {
font-family: Arial, Helvetica, sans-serif;
line-height: normal;
margin: 0 7px;
min-width: 600px;
position: relative;
z-index: 2;
}
#tabs ul {
margin:0;
padding: 0;
#tabs > ul {
list-style: none;
}
#tabs ul:after {
content: '';
display: block;
clear: both;
}
#tabs li {
display: block;
float: left;
margin: 0;
padding: 0;
font-size: 0.85em;
font-weight: bold;
}
#tabs li:after {
#tabs > ul:after {
content: '';
display: block;
clear: both;
}
#tabs a {
#tabs .tab {
display: inline-block;
float: left;
background:url("../images/bg_tabs1.gif") no-repeat 0% -34px;
margin: 0 1px 0 0;
padding: 0 0 0 7px;
text-decoration: none;
position: relative;
}
.rtl #tabs li {
float: right;
}
#tabs a span {
float: left;
display: block;
background: url("../images/bg_tabs2.gif") no-repeat 100% -34px;
padding: 7px 10px 4px 4px;
min-height: 14px;
color: #767676;
white-space: nowrap;
font-family: Arial, Helvetica, sans-serif;
text-transform: uppercase;
font-size: 0.85em;
font-weight: bold;
line-height: 14px;
}
.rtl #tabs a span {
.rtl #tabs .tab {
float: right;
}
/* Commented Backslash Hack hides rule from IE5-Mac \*/
#tabs a span, .rtl #tabs a span { float:none;}
/* End hack */
#tabs .tab > a {
background: #D4D6DA;
background: -moz-linear-gradient(top, #CACBCF 0%, #D4D6DA 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #CACBCF), color-stop(100%, #D4D6DA));
background: -webkit-linear-gradient(top, #CACBCF 0%, #D4D6DA 100%);
background: -o-linear-gradient(top, #CACBCF 0%, #D4D6DA 100%);
background: -ms-linear-gradient(top, #CACBCF 0%, #D4D6DA 100%);
background: linear-gradient(to bottom, #CACBCF 0%, #D4D6DA 100%);
border: 1px solid #BBB;
border-bottom-width: 0;
border-radius: 5px 5px 0 0;
color: #767676;
display: block;
font-weight: bold;
margin: 1px 1px 2px 0;
padding: 6px 9px 4px;
position: relative;
text-decoration: none;
text-transform: uppercase;
white-space: nowrap;
cursor: pointer;
}
#tabs a:hover span {
#tabs .tab > a:hover {
background: #F1F1EE;
border-color: #C0BFBB;
color: #BC2A4D;
}
#tabs a:hover {
background-position: 0 -69px;
}
#tabs a:hover span {
background-position: 100% -69px;
}
#tabs .activetab a {
background-position: 0 0;
border-bottom: 1px solid #DCDEE2;
}
#tabs .activetab a span {
background-position: 100% 0;
padding-bottom: 5px;
#tabs .activetab > a,
#tabs .activetab > a:hover {
background: #DCDEE2;
background: -moz-linear-gradient(top, #F2F2F2 0%, #DCDEE2 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #F2F2F2), color-stop(100%, #DCDEE2));
background: -webkit-linear-gradient(top, #F2F2F2 0%, #DCDEE2 100%);
background: -o-linear-gradient(top, #F2F2F2 0%, #DCDEE2 100%);
background: -ms-linear-gradient(top, #F2F2F2 0%, #DCDEE2 100%);
background: linear-gradient(to bottom, #F2F2F2 0%, #DCDEE2 100%);
border-color: #999;
border-bottom: 2px solid #DCDEE2;
box-shadow: 0 1px 1px #FFF inset;
color: #23649F;
margin: 0 1px 0 0;
padding: 7px 10px 4px;
}
#tabs .activetab a:hover span {
#tabs .activetab > a:hover {
color: #115098;
}
/* Responsive tabs
----------------------------------------*/
.responsive-tab {
position: relative;
}
.responsive-tab .responsive-tab-link span {
display: inline-block;
.responsive-tab > a.responsive-tab-link {
display: block;
font-size: 16px;
position: relative;
width: 16px;
line-height: 14px;
text-decoration: none;
padding-left: 9px !important;
padding-right: 9px !important;
}
.responsive-tab .responsive-tab-link span:before {
.responsive-tab .responsive-tab-link:before {
content: '';
position: absolute;
left: 5px;
top: 8px;
left: 10px;
top: 7px;
height: .125em;
width: 14px;
border-bottom: 0.125em solid #767676;
border-top: 0.375em double #767676;
}
.responsive-tab .responsive-tab-link:hover span:before {
.responsive-tab .responsive-tab-link:hover:before {
border-color: #BC2A4D;
}
.responsive-tab.activetab .responsive-tab-link span:before {
.responsive-tab.activetab .responsive-tab-link:before {
border-color: #23649F;
}
.responsive-tab.activetab .responsive-tab-link:hover span:before {
.responsive-tab.activetab .responsive-tab-link:hover:before {
border-color: #115098;
}
#tabs .dropdown {
top: 18px;
margin-right: -1px;
#tabs .dropdown, #minitabs .dropdown {
top: 20px;
margin-right: -2px;
font-weight: normal;
}
#tabs .dropdown-right .dropdown {
margin-left: -2px;
}
#tabs .dropdown li {
display: block !important;
float: none;
background: transparent none;
padding: 0;
}
#tabs .dropdown a, #tabs .dropdown a span {
background: transparent;
display: block;
border-width: 0;
float: none;
#tabs .dropdown-contents {
list-style: none;
margin: 0;
padding: 0;
text-align: right;
}
#tabs .dropdown a span {
#tabs .dropdown li {
border-bottom: 1px dotted #DCDCDC;
}
#tabs .dropdown li:last-child {
border-bottom: none;
}
#tabs .dropdown a {
display: block;
padding: 4px 8px;
color: inherit !important;
}
@media only screen and (max-width: 700px), only screen and (max-device-width: 700px)
{
#tabs {
min-width: 0;
}
text-align: right;
}
/* Main Panel
@@ -984,6 +967,10 @@ table.fixed-width-table {
margin-bottom: 1px;
}
.rtl table.responsive td {
text-align: right !important;
}
table.responsive td.empty {
display: none !important;
}
@@ -1004,6 +991,10 @@ table.fixed-width-table {
box-sizing: border-box;
}
.rtl table.responsive.two-columns td {
float: right;
}
table.responsive.two-columns td:nth-child(2n+1) {
clear: left;
}
@@ -1594,7 +1585,6 @@ input.button1:focus, input.button2:focus {
z-index: 50;
padding: 25px;
padding: 0 25px 20px 25px;
text-align: left;
}
.phpbb_alert .alert_close {

View File

@@ -75,7 +75,7 @@ function parse_document(container)
var cell = $(this),
colspan = parseInt(cell.attr('colspan')),
dfn = cell.attr('data-dfn'),
text = dfn ? dfn : cell.text().trim();
text = dfn ? dfn : $.trim(cell.text());
if (text == '&nbsp;') text = '';
colspan = isNaN(colspan) || colspan < 1 ? 1 : colspan;
@@ -114,7 +114,7 @@ function parse_document(container)
cells.each(function() {
var cell = $(this),
colspan = parseInt(cell.attr('colspan')),
text = cell.text().trim();
text = $.trim(cell.text());
if (headersLength <= column) {
return;
@@ -169,7 +169,7 @@ function parse_document(container)
ul = $this.children(),
tabs = ul.children().not('[data-skip-responsive]'),
links = tabs.children('a'),
item = ul.append('<li class="responsive-tab" style="display:none;"><a href="javascript:void(0);" class="responsive-tab-link"><span>&nbsp;</span></a><div class="dropdown tab-dropdown" style="display: none;"><div class="pointer"><div class="pointer-inner" /></div><ul class="dropdown-contents" /></div></li>').find('li.responsive-tab'),
item = ul.append('<li class="tab responsive-tab" style="display:none;"><a href="javascript:void(0);" class="responsive-tab-link">&nbsp;</a><div class="dropdown tab-dropdown" style="display: none;"><div class="pointer"><div class="pointer-inner" /></div><ul class="dropdown-contents" /></div></li>').find('li.responsive-tab'),
menu = item.find('.dropdown-contents'),
maxHeight = 0,
lastWidth = false,
@@ -211,7 +211,7 @@ function parse_document(container)
for (i = total - 1; i >= 0; i --) {
tab = availableTabs.eq(i);
menu.prepend(tab.clone(true));
menu.prepend(tab.clone(true).removeClass('tab'));
tab.hide();
if ($this.height() <= maxHeight) {
menu.find('a').click(function() { check(true); });

View File

@@ -5,7 +5,9 @@
</div>
<div id="page-footer">
Powered by <a href="https://www.phpbb.com/">phpBB</a>&reg; Forum Software &copy; phpBB Limited
<div class="copyright">
Powered by <a href="https://www.phpbb.com/">phpBB</a>&reg; Forum Software &copy; phpBB Limited
</div>
</div>
</div>

View File

@@ -29,7 +29,7 @@
<div id="tabs">
<ul>
<!-- BEGIN t_block1 -->
<li<!-- IF t_block1.S_SELECTED --> class="activetab"<!-- ENDIF -->><a href="{t_block1.U_TITLE}"><span>{t_block1.L_TITLE}</span></a></li>
<li class="tab<!-- IF t_block1.S_SELECTED --> activetab<!-- ENDIF -->"><a href="{t_block1.U_TITLE}">{t_block1.L_TITLE}</a></li>
<!-- END t_block1 -->
</ul>
</div>

View File

@@ -184,26 +184,138 @@
<form id="install_update" method="post" action="{U_UPDATE_ACTION}">
<!-- IF .up_to_date -->
<h2>{L_FILES_UP_TO_DATE}</h2>
<p>{L_FILES_UP_TO_DATE_EXPLAIN}</p>
<!-- IF .deleted -->
<h2>{L_FILES_DELETED}</h2>
<div style="float: {S_CONTENT_FLOW_END};">&raquo; <a href="#" onclick="phpbb.toggleDisplay('deleted', 0); return false;">{L_TOGGLE_DISPLAY}</a></div>
<p>{L_FILES_DELETED_EXPLAIN}</p>
<fieldset>
<legend><img src="{T_IMAGE_PATH}file_up_to_date.gif" alt="{L_STATUS_UP_TO_DATE}" /></legend>
<!-- BEGIN up_to_date -->
<fieldset id="deleted">
<legend><img src="{T_IMAGE_PATH}icon_delete.gif" alt="{L_STATUS_DELETED}" /></legend>
<!-- BEGIN deleted -->
<dl>
<dd class="full" style="text-align: {S_CONTENT_FLOW_BEGIN};"><strong>{up_to_date.FILENAME}</strong></dd>
<dt style="width: 60%;"><strong><!-- IF deleted.DIR_PART -->{deleted.DIR_PART}<br /><!-- ENDIF -->{deleted.FILE_PART}</strong></dt>
<dd style="margin-{S_CONTENT_FLOW_BEGIN}: 60%;">
<!-- IF not deleted.S_BINARY -->[<a href="{deleted.U_SHOW_DIFF}" onclick="diff_popup(this.href); return false;">{deleted.L_SHOW_DIFF}</a>]<!-- ELSE -->{L_BINARY_FILE}<!-- ENDIF -->
</dd>
</dl>
<!-- END up_to_date -->
<!-- END deleted -->
</fieldset>
<!-- ENDIF -->
<!-- IF .conflict -->
<h2>{L_FILES_CONFLICT}</h2>
<div style="float: {S_CONTENT_FLOW_END};">&raquo; <a href="#" onclick="phpbb.toggleDisplay('conflict', 0); return false;">{L_TOGGLE_DISPLAY}</a></div>
<p>{L_FILES_CONFLICT_EXPLAIN}</p>
<!-- BEGIN conflict -->
<fieldset id="conflict">
<legend><img src="{T_IMAGE_PATH}file_conflict.gif" alt="{L_STATUS_CONFLICT}" /></legend>
<dl>
<dt style="width: 60%;"><strong><!-- IF conflict.DIR_PART -->{conflict.DIR_PART}<br /><!-- ENDIF -->{conflict.FILE_PART}</strong>
<!-- IF conflict.S_CUSTOM --><br /><span><em>{L_FILE_USED}{L_COLON} </em>{conflict.CUSTOM_ORIGINAL}</span><!-- ENDIF -->
<!-- IF conflict.NUM_CONFLICTS --><br /><span>{L_NUM_CONFLICTS}{L_COLON} {conflict.NUM_CONFLICTS}</span><!-- ENDIF -->
</dt>
<dd style="margin-{S_CONTENT_FLOW_BEGIN}{L_COLON} 60%;">
<!-- IF not conflict.S_BINARY -->[<a href="{conflict.U_SHOW_DIFF}">{L_DOWNLOAD_CONFLICTS}</a>]<br />{L_DOWNLOAD_CONFLICTS_EXPLAIN}
<!-- ELSE -->{L_BINARY_FILE}<!-- ENDIF -->
</dd>
<!-- IF conflict.S_CUSTOM -->
<dd style="margin-{S_CONTENT_FLOW_BEGIN}{L_COLON} 60%;"><label><input type="checkbox" name="no_update[]" value="{conflict.FILENAME}" class="radio" /> {L_DO_NOT_UPDATE}</label></dd>
<!-- ENDIF -->
</dl>
<!-- IF conflict.S_BINARY -->
<dl>
<dt style="width: 60%"><label><input type="radio" class="radio" name="conflict[{conflict.FILENAME}]" value="1" checked="checked" /> {L_MERGE_NO_MERGE_NEW_OPTION}</label></dt>
<dd style="margin-{S_CONTENT_FLOW_BEGIN}{L_COLON} 60%;">&nbsp;</dd>
</dl>
<!-- ELSE -->
<dl>
<dt style="width: 60%"><label><input type="radio" class="radio" name="conflict[{conflict.FILENAME}]" value="3" checked="checked" /> {L_MERGE_NEW_FILE_OPTION}</label></dt>
<dd style="margin-{S_CONTENT_FLOW_BEGIN}{L_COLON} 60%;">[<a href="{conflict.U_VIEW_NEW_FILE}" onclick="diff_popup(this.href); return false;">{L_SHOW_DIFF_MODIFIED}</a>]</dd>
</dl>
<dl>
<dt style="width: 60%"><label><input type="radio" class="radio" name="conflict[{conflict.FILENAME}]" value="4" /> {L_MERGE_MOD_FILE_OPTION}</label></dt>
<dd style="margin-{S_CONTENT_FLOW_BEGIN}{L_COLON} 60%;">[<a href="{conflict.U_VIEW_MOD_FILE}" onclick="diff_popup(this.href); return false;">{L_SHOW_DIFF_MODIFIED}</a>]</dd>
</dl>
<dl>
<dt style="width: 60%"><label><input type="radio" class="radio" name="conflict[{conflict.FILENAME}]" value="1" /> {L_MERGE_NO_MERGE_NEW_OPTION}</label></dt>
<dd style="margin-{S_CONTENT_FLOW_BEGIN}{L_COLON} 60%;">[<a href="{conflict.U_VIEW_NO_MERGE_NEW}" onclick="diff_popup(this.href); return false;">{L_SHOW_DIFF_FINAL}</a>]</dd>
</dl>
<dl>
<dt style="width: 60%"><label><input type="radio" class="radio" name="conflict[{conflict.FILENAME}]" value="2" /> {L_MERGE_NO_MERGE_MOD_OPTION}</label></dt>
<dd style="margin-{S_CONTENT_FLOW_BEGIN}{L_COLON} 60%;">[<a href="{conflict.U_VIEW_NO_MERGE_MOD}" onclick="diff_popup(this.href); return false;">{L_SHOW_DIFF_FINAL}</a>]</dd>
</dl>
<!-- ENDIF -->
</fieldset>
<!-- END conflict -->
<!-- ENDIF -->
<!-- IF .new_conflict -->
<h2>{L_FILES_NEW_CONFLICT}</h2>
<div style="float: {S_CONTENT_FLOW_END};">&raquo; <a href="#" onclick="phpbb.toggleDisplay('new_conflict', 0); return false;">{L_TOGGLE_DISPLAY}</a></div>
<p>{L_FILES_NEW_CONFLICT_EXPLAIN}</p>
<fieldset id="new_conflict">
<legend><img src="{T_IMAGE_PATH}file_new_conflict.gif" alt="{L_STATUS_NEW_CONFLICT}" /></legend>
<!-- BEGIN new_conflict -->
<dl>
<dt style="width: 60%;"><strong><!-- IF new_conflict.DIR_PART -->{new_conflict.DIR_PART}<br /><!-- ENDIF -->{new_conflict.FILE_PART}</strong>
<!-- IF new_conflict.S_CUSTOM --><br /><span><em>{L_FILE_USED}{L_COLON} </em>{new_conflict.CUSTOM_ORIGINAL}</span><!-- ENDIF -->
</dt>
<dd style="margin-{S_CONTENT_FLOW_BEGIN}{L_COLON} 60%;">
<!-- IF not new_conflict.S_BINARY -->[<a href="{new_conflict.U_SHOW_DIFF}" onclick="diff_popup(this.href); return false;">{new_conflict.L_SHOW_DIFF}</a>]<!-- ELSE -->{L_BINARY_FILE}<!-- ENDIF -->
</dd>
<!-- IF new_conflict.S_CUSTOM -->
<dd style="margin-{S_CONTENT_FLOW_BEGIN}{L_COLON} 60%;"><label><input type="checkbox" name="no_update[]" value="{new_conflict.FILENAME}" class="radio" /> {L_DO_NOT_UPDATE}</label></dd>
<!-- ENDIF -->
</dl>
<!-- END new_conflict -->
</fieldset>
<!-- ENDIF -->
<!-- IF .modified -->
<h2>{L_FILES_MODIFIED}</h2>
<div style="float: {S_CONTENT_FLOW_END};">&raquo; <a href="#" onclick="phpbb.toggleDisplay('modified', 0); return false;">{L_TOGGLE_DISPLAY}</a></div>
<p>{L_FILES_MODIFIED_EXPLAIN}</p>
<!-- BEGIN modified -->
<fieldset id="modified">
<legend><img src="{T_IMAGE_PATH}file_modified.gif" alt="{L_STATUS_MODIFIED}" /></legend>
<dl>
<dt style="width: 60%;"><strong><!-- IF modified.DIR_PART -->{modified.DIR_PART}<br /><!-- ENDIF -->{modified.FILE_PART}</strong>
<!-- IF modified.S_CUSTOM --><br /><span><em>{L_FILE_USED}{L_COLON} </em>{modified.CUSTOM_ORIGINAL}</span><!-- ENDIF -->
</dt>
<dd style="margin-{S_CONTENT_FLOW_BEGIN}{L_COLON} 60%;">&nbsp;</dd>
<!-- IF modified.S_CUSTOM -->
<dd style="margin-{S_CONTENT_FLOW_BEGIN}{L_COLON} 60%;"><label><input type="checkbox" name="no_update[]" value="{modified.FILENAME}" class="radio" /> {L_DO_NOT_UPDATE}</label></dd>
<!-- ENDIF -->
</dl>
<dl>
<dt style="width: 60%"><label><input type="radio" class="radio" name="modified[{modified.FILENAME}]" value="0" checked="checked" /> {L_MERGE_MODIFICATIONS_OPTION}</label></dt>
<dd style="margin-{S_CONTENT_FLOW_BEGIN}{L_COLON} 60%;"><!-- IF not modified.S_BINARY -->[<a href="{modified.U_SHOW_DIFF}" onclick="diff_popup(this.href); return false;">{modified.L_SHOW_DIFF}</a>]<!-- ELSE -->{L_BINARY_FILE}<!-- ENDIF --></dd>
</dl>
<dl>
<dt style="width: 60%"><label><input type="radio" class="radio" name="modified[{modified.FILENAME}]" value="1" /> {L_MERGE_NO_MERGE_NEW_OPTION}</label></dt>
<dd style="margin-{S_CONTENT_FLOW_BEGIN}{L_COLON} 60%;"><!-- IF not modified.S_BINARY -->[<a href="{modified.U_VIEW_NO_MERGE_NEW}" onclick="diff_popup(this.href); return false;">{L_SHOW_DIFF_FINAL}</a>]<!-- ELSE -->&nbsp;<!-- ENDIF --></dd>
</dl>
<dl>
<dt style="width: 60%"><label><input type="radio" class="radio" name="modified[{modified.FILENAME}]" value="2" /> {L_MERGE_NO_MERGE_MOD_OPTION}</label></dt>
<dd style="margin-{S_CONTENT_FLOW_BEGIN}{L_COLON} 60%;"><!-- IF not modified.S_BINARY -->[<a href="{modified.U_VIEW_NO_MERGE_MOD}" onclick="diff_popup(this.href); return false;">{L_SHOW_DIFF_FINAL}</a>]<!-- ELSE -->&nbsp;<!-- ENDIF --></dd>
</dl>
</fieldset>
<!-- END modified -->
<!-- ENDIF -->
<!-- IF .new -->
<h2>{L_FILES_NEW}</h2>
<div style="float: {S_CONTENT_FLOW_END};">&raquo; <a href="#" onclick="phpbb.toggleDisplay('new_files', 0); return false;">{L_TOGGLE_DISPLAY}</a></div>
<p>{L_FILES_NEW_EXPLAIN}</p>
<fieldset>
<fieldset id="new_files" style="display: none;">
<legend><img src="{T_IMAGE_PATH}file_new.gif" alt="{L_STATUS_NEW}" /></legend>
<!-- BEGIN new -->
<dl>
@@ -244,107 +356,19 @@
<!-- ENDIF -->
<!-- IF .modified -->
<h2>{L_FILES_MODIFIED}</h2>
<p>{L_FILES_MODIFIED_EXPLAIN}</p>
<!-- IF .up_to_date -->
<h2>{L_FILES_UP_TO_DATE}</h2>
<div style="float: {S_CONTENT_FLOW_END};">&raquo; <a href="#" onclick="phpbb.toggleDisplay('up_to_date', 0); return false;">{L_TOGGLE_DISPLAY}</a></div>
<p>{L_FILES_UP_TO_DATE_EXPLAIN}</p>
<!-- BEGIN modified -->
<fieldset>
<legend><img src="{T_IMAGE_PATH}file_modified.gif" alt="{L_STATUS_MODIFIED}" /></legend>
<fieldset id="up_to_date" style="display: none;">
<legend><img src="{T_IMAGE_PATH}file_up_to_date.gif" alt="{L_STATUS_UP_TO_DATE}" /></legend>
<!-- BEGIN up_to_date -->
<dl>
<dt style="width: 60%;"><strong><!-- IF modified.DIR_PART -->{modified.DIR_PART}<br /><!-- ENDIF -->{modified.FILE_PART}</strong>
<!-- IF modified.S_CUSTOM --><br /><span><em>{L_FILE_USED}{L_COLON} </em>{modified.CUSTOM_ORIGINAL}</span><!-- ENDIF -->
</dt>
<dd style="margin-{S_CONTENT_FLOW_BEGIN}{L_COLON} 60%;">&nbsp;</dd>
<!-- IF modified.S_CUSTOM -->
<dd style="margin-{S_CONTENT_FLOW_BEGIN}{L_COLON} 60%;"><label><input type="checkbox" name="no_update[]" value="{modified.FILENAME}" class="radio" /> {L_DO_NOT_UPDATE}</label></dd>
<!-- ENDIF -->
</dl>
<dl>
<dt style="width: 60%"><label><input type="radio" class="radio" name="modified[{modified.FILENAME}]" value="0" checked="checked" /> {L_MERGE_MODIFICATIONS_OPTION}</label></dt>
<dd style="margin-{S_CONTENT_FLOW_BEGIN}{L_COLON} 60%;"><!-- IF not modified.S_BINARY -->[<a href="{modified.U_SHOW_DIFF}" onclick="diff_popup(this.href); return false;">{modified.L_SHOW_DIFF}</a>]<!-- ELSE -->{L_BINARY_FILE}<!-- ENDIF --></dd>
</dl>
<dl>
<dt style="width: 60%"><label><input type="radio" class="radio" name="modified[{modified.FILENAME}]" value="1" /> {L_MERGE_NO_MERGE_NEW_OPTION}</label></dt>
<dd style="margin-{S_CONTENT_FLOW_BEGIN}{L_COLON} 60%;"><!-- IF not modified.S_BINARY -->[<a href="{modified.U_VIEW_NO_MERGE_NEW}" onclick="diff_popup(this.href); return false;">{L_SHOW_DIFF_FINAL}</a>]<!-- ELSE -->&nbsp;<!-- ENDIF --></dd>
</dl>
<dl>
<dt style="width: 60%"><label><input type="radio" class="radio" name="modified[{modified.FILENAME}]" value="2" /> {L_MERGE_NO_MERGE_MOD_OPTION}</label></dt>
<dd style="margin-{S_CONTENT_FLOW_BEGIN}{L_COLON} 60%;"><!-- IF not modified.S_BINARY -->[<a href="{modified.U_VIEW_NO_MERGE_MOD}" onclick="diff_popup(this.href); return false;">{L_SHOW_DIFF_FINAL}</a>]<!-- ELSE -->&nbsp;<!-- ENDIF --></dd>
<dd class="full" style="text-align: {S_CONTENT_FLOW_BEGIN};"><strong>{up_to_date.FILENAME}</strong></dd>
</dl>
<!-- END up_to_date -->
</fieldset>
<!-- END modified -->
<!-- ENDIF -->
<!-- IF .new_conflict -->
<h2>{L_FILES_NEW_CONFLICT}</h2>
<p>{L_FILES_NEW_CONFLICT_EXPLAIN}</p>
<fieldset>
<legend><img src="{T_IMAGE_PATH}file_new_conflict.gif" alt="{L_STATUS_NEW_CONFLICT}" /></legend>
<!-- BEGIN new_conflict -->
<dl>
<dt style="width: 60%;"><strong><!-- IF new_conflict.DIR_PART -->{new_conflict.DIR_PART}<br /><!-- ENDIF -->{new_conflict.FILE_PART}</strong>
<!-- IF new_conflict.S_CUSTOM --><br /><span><em>{L_FILE_USED}{L_COLON} </em>{new_conflict.CUSTOM_ORIGINAL}</span><!-- ENDIF -->
</dt>
<dd style="margin-{S_CONTENT_FLOW_BEGIN}{L_COLON} 60%;">
<!-- IF not new_conflict.S_BINARY -->[<a href="{new_conflict.U_SHOW_DIFF}" onclick="diff_popup(this.href); return false;">{new_conflict.L_SHOW_DIFF}</a>]<!-- ELSE -->{L_BINARY_FILE}<!-- ENDIF -->
</dd>
<!-- IF new_conflict.S_CUSTOM -->
<dd style="margin-{S_CONTENT_FLOW_BEGIN}{L_COLON} 60%;"><label><input type="checkbox" name="no_update[]" value="{new_conflict.FILENAME}" class="radio" /> {L_DO_NOT_UPDATE}</label></dd>
<!-- ENDIF -->
</dl>
<!-- END new_conflict -->
</fieldset>
<!-- ENDIF -->
<!-- IF .conflict -->
<h2>{L_FILES_CONFLICT}</h2>
<p>{L_FILES_CONFLICT_EXPLAIN}</p>
<!-- BEGIN conflict -->
<fieldset>
<legend><img src="{T_IMAGE_PATH}file_conflict.gif" alt="{L_STATUS_CONFLICT}" /></legend>
<dl>
<dt style="width: 60%;"><strong><!-- IF conflict.DIR_PART -->{conflict.DIR_PART}<br /><!-- ENDIF -->{conflict.FILE_PART}</strong>
<!-- IF conflict.S_CUSTOM --><br /><span><em>{L_FILE_USED}{L_COLON} </em>{conflict.CUSTOM_ORIGINAL}</span><!-- ENDIF -->
<!-- IF conflict.NUM_CONFLICTS --><br /><span>{L_NUM_CONFLICTS}{L_COLON} {conflict.NUM_CONFLICTS}</span><!-- ENDIF -->
</dt>
<dd style="margin-{S_CONTENT_FLOW_BEGIN}{L_COLON} 60%;">
<!-- IF not conflict.S_BINARY -->[<a href="{conflict.U_SHOW_DIFF}">{L_DOWNLOAD_CONFLICTS}</a>]<br />{L_DOWNLOAD_CONFLICTS_EXPLAIN}
<!-- ELSE -->{L_BINARY_FILE}<!-- ENDIF -->
</dd>
<!-- IF conflict.S_CUSTOM -->
<dd style="margin-{S_CONTENT_FLOW_BEGIN}{L_COLON} 60%;"><label><input type="checkbox" name="no_update[]" value="{conflict.FILENAME}" class="radio" /> {L_DO_NOT_UPDATE}</label></dd>
<!-- ENDIF -->
</dl>
<!-- IF conflict.S_BINARY -->
<dl>
<dt style="width: 60%"><label><input type="radio" class="radio" name="conflict[{conflict.FILENAME}]" value="1" checked="checked" /> {L_MERGE_NO_MERGE_NEW_OPTION}</label></dt>
<dd style="margin-{S_CONTENT_FLOW_BEGIN}{L_COLON} 60%;">&nbsp;</dd>
</dl>
<!-- ELSE -->
<dl>
<dt style="width: 60%"><label><input type="radio" class="radio" name="conflict[{conflict.FILENAME}]" value="3" checked="checked" /> {L_MERGE_NEW_FILE_OPTION}</label></dt>
<dd style="margin-{S_CONTENT_FLOW_BEGIN}{L_COLON} 60%;">[<a href="{conflict.U_VIEW_NEW_FILE}" onclick="diff_popup(this.href); return false;">{L_SHOW_DIFF_MODIFIED}</a>]</dd>
</dl>
<dl>
<dt style="width: 60%"><label><input type="radio" class="radio" name="conflict[{conflict.FILENAME}]" value="4" /> {L_MERGE_MOD_FILE_OPTION}</label></dt>
<dd style="margin-{S_CONTENT_FLOW_BEGIN}{L_COLON} 60%;">[<a href="{conflict.U_VIEW_MOD_FILE}" onclick="diff_popup(this.href); return false;">{L_SHOW_DIFF_MODIFIED}</a>]</dd>
</dl>
<dl>
<dt style="width: 60%"><label><input type="radio" class="radio" name="conflict[{conflict.FILENAME}]" value="1" /> {L_MERGE_NO_MERGE_NEW_OPTION}</label></dt>
<dd style="margin-{S_CONTENT_FLOW_BEGIN}{L_COLON} 60%;">[<a href="{conflict.U_VIEW_NO_MERGE_NEW}" onclick="diff_popup(this.href); return false;">{L_SHOW_DIFF_FINAL}</a>]</dd>
</dl>
<dl>
<dt style="width: 60%"><label><input type="radio" class="radio" name="conflict[{conflict.FILENAME}]" value="2" /> {L_MERGE_NO_MERGE_MOD_OPTION}</label></dt>
<dd style="margin-{S_CONTENT_FLOW_BEGIN}{L_COLON} 60%;">[<a href="{conflict.U_VIEW_NO_MERGE_MOD}" onclick="diff_popup(this.href); return false;">{L_SHOW_DIFF_FINAL}</a>]</dd>
</dl>
<!-- ENDIF -->
</fieldset>
<!-- END conflict -->
<!-- ENDIF -->

View File

@@ -5,15 +5,17 @@
</div>
<div id="page-footer">
<!-- IF S_COPYRIGHT_HTML -->
{CREDIT_LINE}
<!-- IF TRANSLATION_INFO --><br />{TRANSLATION_INFO}<!-- ENDIF -->
<!-- ENDIF -->
<div class="copyright">
<!-- IF S_COPYRIGHT_HTML -->
{CREDIT_LINE}
<!-- IF TRANSLATION_INFO --><br />{TRANSLATION_INFO}<!-- ENDIF -->
<!-- ENDIF -->
<!-- IF DEBUG_OUTPUT -->
<!-- IF S_COPYRIGHT_HTML --><br /><!-- ENDIF -->
{DEBUG_OUTPUT}
<!-- ENDIF -->
<!-- IF DEBUG_OUTPUT -->
<!-- IF S_COPYRIGHT_HTML --><br /><!-- ENDIF -->
{DEBUG_OUTPUT}
<!-- ENDIF -->
</div>
<div id="darkenwrapper" data-ajax-error-title="{L_AJAX_ERROR_TITLE}" data-ajax-error-text="{L_AJAX_ERROR_TEXT}" data-ajax-error-text-abort="{L_AJAX_ERROR_TEXT_ABORT}" data-ajax-error-text-timeout="{L_AJAX_ERROR_TEXT_TIMEOUT}" data-ajax-error-text-parsererror="{L_AJAX_ERROR_TEXT_PARSERERROR}">
<div id="darken">&nbsp;</div>

View File

@@ -106,7 +106,7 @@ function popup(url, width, height, name)
<div id="tabs">
<ul>
<!-- BEGIN t_block1 -->
<li<!-- IF t_block1.S_SELECTED --> class="activetab"<!-- ENDIF -->><a href="{t_block1.U_TITLE}"><span>{t_block1.L_TITLE}</span></a></li>
<li class="tab<!-- IF t_block1.S_SELECTED --> activetab<!-- ENDIF -->"><a href="{t_block1.U_TITLE}">{t_block1.L_TITLE}</a></li>
<!-- END t_block1 -->
</ul>
</div>

View File

@@ -1,5 +1,5 @@
<a href="#" onclick="jumpto(); return false;" title="{L_JUMP_TO_PAGE}">{PAGE_NUMBER}</a> &bull;
<a href="#" onclick="jumpto(); return false;" title="{L_JUMP_TO_PAGE_CLICK}">{PAGE_NUMBER}</a> &bull;
<ul>
<!-- BEGIN pagination -->
<!-- IF pagination.S_IS_PREV --><li><a href="{pagination.PAGE_URL}">{L_PREVIOUS}</a></li>

View File

@@ -7,6 +7,7 @@ phpbb.alertTime = 100;
// define a couple constants for keydown functions.
var keymap = {
TAB: 9,
ENTER: 13,
ESC: 27
};
@@ -873,19 +874,6 @@ phpbb.timezonePreselectSelect = function(forceSelector) {
}
};
// Toggle notification list
$('#notification_list_button').click(function(e) {
$('#notification_list').toggle();
e.preventDefault();
});
$('#phpbb').click(function(e) {
var target = $(e.target);
if (!target.is('#notification_list, #notification_list_button') && !target.parents().is('#notification_list, #notification_list_button')) {
$('#notification_list').hide();
}
});
phpbb.ajaxCallbacks = {};
/**
@@ -1201,7 +1189,11 @@ phpbb.applyCodeEditor = function(textarea) {
var key = event.keyCode || event.which;
// intercept tabs
if (key == 9) {
if (key == keymap.TAB &&
!event.ctrlKey &&
!event.shiftKey &&
!event.altKey &&
!event.metaKey) {
if (inTag()) {
appendText("\t");
event.preventDefault();
@@ -1210,7 +1202,7 @@ phpbb.applyCodeEditor = function(textarea) {
}
// intercept new line characters
if (key == 13) {
if (key == keymap.ENTER) {
if (inTag()) {
var lastLine = getLastLine(true),
code = '' + /^\s*/g.exec(lastLine);
@@ -1304,11 +1296,29 @@ phpbb.toggleDropdown = function() {
else if ((offset + width + 2) > windowWidth) {
$this.css('margin-left', (windowWidth - offset - width - 2) + 'px');
}
// Check whether the vertical scrollbar is present.
$this.toggleClass('dropdown-nonscroll', this.scrollHeight === $this.innerHeight());
});
var freeSpace = parent.offset().left - 4;
if (direction == 'left') {
options.dropdown.css('margin-left', '-' + freeSpace + 'px');
// Try to position the notification dropdown correctly in RTL-responsive mode
if (options.dropdown.hasClass('dropdown-extended')) {
var contentWidth,
fullFreeSpace = freeSpace + parent.outerWidth();
options.dropdown.find('.dropdown-contents').each(function() {
contentWidth = parseInt($(this).outerWidth());
$(this).css({marginLeft: 0, left: 0});
});
var maxOffset = Math.min(contentWidth, fullFreeSpace) + 'px';
options.dropdown.css({'width': maxOffset, 'margin-left': '-' + maxOffset});
}
} else {
options.dropdown.css('margin-right', '-' + (windowWidth + freeSpace) + 'px');
}
@@ -1511,11 +1521,37 @@ phpbb.getFunctionByName = function (functionName) {
};
/**
* Apply code editor to all textarea elements with data-bbcode attribute
* Register page dropdowns.
*/
$(document).ready(function() {
$('textarea[data-bbcode]').each(function() {
phpbb.applyCodeEditor(this);
phpbb.registerPageDropdowns = function() {
$('body').find('.dropdown-container').each(function() {
var $this = $(this),
trigger = $this.find('.dropdown-trigger:first'),
contents = $this.find('.dropdown'),
options = {
direction: 'auto',
verticalDirection: 'auto'
},
data;
if (!trigger.length) {
data = $this.attr('data-dropdown-trigger');
trigger = data ? $this.children(data) : $this.children('a:first');
}
if (!contents.length) {
data = $this.attr('data-dropdown-contents');
contents = data ? $this.children(data) : $this.children('div:first');
}
if (!trigger.length || !contents.length) return;
if ($this.hasClass('dropdown-up')) options.verticalDirection = 'up';
if ($this.hasClass('dropdown-down')) options.verticalDirection = 'down';
if ($this.hasClass('dropdown-left')) options.direction = 'left';
if ($this.hasClass('dropdown-right')) options.direction = 'right';
phpbb.registerDropdown(trigger, contents, options);
});
// Hide active dropdowns when click event happens outside
@@ -1525,6 +1561,17 @@ $(document).ready(function() {
$(phpbb.dropdownHandles).each(phpbb.toggleDropdown);
}
});
}
/**
* Apply code editor to all textarea elements with data-bbcode attribute
*/
$(document).ready(function() {
$('textarea[data-bbcode]').each(function() {
phpbb.applyCodeEditor(this);
});
phpbb.registerPageDropdowns();
$('#color_palette_placeholder').each(function() {
phpbb.registerPalette($(this));

View File

@@ -586,6 +586,11 @@ uploader.bind('FilesAdded', function(up, files) {
return;
}
// Switch the active tab if the style supports it
if (typeof activateSubPanel == 'function') {
activateSubPanel('attach-panel');
}
// Show the file list if there aren't any files currently.
if (!$('#file-list-container').is(':visible')) {
$('#file-list-container').show(100);

File diff suppressed because one or more lines are too long

View File

@@ -22,23 +22,33 @@ define('IN_PHPBB', true);
$phpbb_root_path = __DIR__ . '/../';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
require($phpbb_root_path . 'includes/startup.' . $phpEx);
require($phpbb_root_path . 'config.' . $phpEx);
require($phpbb_root_path . 'includes/constants.' . $phpEx);
require($phpbb_root_path . 'includes/functions.' . $phpEx);
require($phpbb_root_path . 'includes/functions_admin.' . $phpEx);
require($phpbb_root_path . 'includes/functions_container.' . $phpEx);
require($phpbb_root_path . 'includes/utf/utf_tools.' . $phpEx);
require($phpbb_root_path . 'phpbb/class_loader.' . $phpEx);
$phpbb_class_loader = new \phpbb\class_loader('phpbb\\', "{$phpbb_root_path}phpbb/", $phpEx);
$phpbb_class_loader->register();
$phpbb_config_php_file = new \phpbb\config_php_file($phpbb_root_path, $phpEx);
extract($phpbb_config_php_file->get_all());
require($phpbb_root_path . 'includes/constants.' . $phpEx);
require($phpbb_root_path . 'includes/functions.' . $phpEx);
require($phpbb_root_path . 'includes/functions_admin.' . $phpEx);
require($phpbb_root_path . 'includes/utf/utf_tools.' . $phpEx);
$phpbb_class_loader_ext = new \phpbb\class_loader('\\', "{$phpbb_root_path}ext/", $phpEx);
$phpbb_class_loader_ext->register();
$phpbb_container = phpbb_create_update_container($phpbb_root_path, $phpEx, "$phpbb_root_path/config");
$phpbb_container_builder = new \phpbb\di\container_builder($phpbb_config_php_file, $phpbb_root_path, $phpEx);
$phpbb_container_builder->set_use_extensions(false);
$phpbb_container_builder->set_dump_container(false);
$phpbb_container = $phpbb_container_builder->get_container();
$phpbb_container->get('request')->enable_super_globals();
require($phpbb_root_path . 'includes/compatibility_globals.' . $phpEx);
$application = new \phpbb\console\application('phpBB Console', PHPBB_VERSION);
$user = $phpbb_container->get('user');
$user->add_lang('acp/common');
$application = new \phpbb\console\application('phpBB Console', PHPBB_VERSION, $user);
$application->register_container_commands($phpbb_container);
$application->run();

View File

@@ -21,11 +21,13 @@ if (!defined('IN_PHPBB'))
}
require($phpbb_root_path . 'includes/startup.' . $phpEx);
require($phpbb_root_path . 'phpbb/class_loader.' . $phpEx);
if (file_exists($phpbb_root_path . 'config.' . $phpEx))
{
require($phpbb_root_path . 'config.' . $phpEx);
}
$phpbb_class_loader = new \phpbb\class_loader('phpbb\\', "{$phpbb_root_path}phpbb/", $phpEx);
$phpbb_class_loader->register();
$phpbb_config_php_file = new \phpbb\config_php_file($phpbb_root_path, $phpEx);
extract($phpbb_config_php_file->get_all());
if (!defined('PHPBB_INSTALLED'))
{
@@ -76,11 +78,8 @@ $phpbb_adm_relative_path = (isset($phpbb_adm_relative_path)) ? $phpbb_adm_relati
$phpbb_admin_path = (defined('PHPBB_ADMIN_PATH')) ? PHPBB_ADMIN_PATH : $phpbb_root_path . $phpbb_adm_relative_path;
// Include files
require($phpbb_root_path . 'phpbb/class_loader.' . $phpEx);
require($phpbb_root_path . 'includes/functions.' . $phpEx);
require($phpbb_root_path . 'includes/functions_content.' . $phpEx);
require($phpbb_root_path . 'includes/functions_container.' . $phpEx);
include($phpbb_root_path . 'includes/functions_compatibility.' . $phpEx);
require($phpbb_root_path . 'includes/constants.' . $phpEx);
@@ -89,14 +88,14 @@ require($phpbb_root_path . 'includes/utf/utf_tools.' . $phpEx);
// Set PHP error handler to ours
set_error_handler(defined('PHPBB_MSG_HANDLER') ? PHPBB_MSG_HANDLER : 'msg_handler');
// Setup class loader first
$phpbb_class_loader = new \phpbb\class_loader('phpbb\\', "{$phpbb_root_path}phpbb/", $phpEx);
$phpbb_class_loader->register();
$phpbb_class_loader_ext = new \phpbb\class_loader('\\', "{$phpbb_root_path}ext/", $phpEx);
$phpbb_class_loader_ext->register();
phpbb_load_extensions_autoloaders($phpbb_root_path);
// Set up container
$phpbb_container = phpbb_create_default_container($phpbb_root_path, $phpEx);
$phpbb_container_builder = new \phpbb\di\container_builder($phpbb_config_php_file, $phpbb_root_path, $phpEx);
$phpbb_container = $phpbb_container_builder->get_container();
$phpbb_class_loader->set_cache($phpbb_container->get('cache.driver'));
$phpbb_class_loader_ext->set_cache($phpbb_container->get('cache.driver'));

View File

@@ -15,11 +15,20 @@
"twig/twig": "1.13.*"
},
"require-dev": {
"behat/mink": "1.4.*",
"behat/mink-goutte-driver": "1.0.*",
"fabpot/goutte": "1.0.*",
"phpunit/dbunit": "1.3.*",
"phpunit/phpunit": "4.1.*",
"phing/phing": "2.4.*",
"sami/sami": "1.*",
"squizlabs/php_codesniffer": "1.*"
"squizlabs/php_codesniffer": "1.*",
"symfony/browser-kit": "2.3.*",
"symfony/debug": "2.3.*",
"symfony/dom-crawler": "2.3.*",
"symfony/filesystem": "2.3.*",
"symfony/finder": "2.3.*",
"symfony/http-foundation": "2.3.*",
"symfony/process": "2.3.*"
}
}

323
phpBB/composer.lock generated
View File

@@ -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": "be323c0a1b5baeb83934238033e079ec",
"hash": "dcd46c1373cfc4dacd2e1f8a79da0b91",
"packages": [
{
"name": "lusitanian/oauth",
@@ -108,17 +108,17 @@
},
{
"name": "symfony/config",
"version": "v2.3.12",
"version": "v2.3.16",
"target-dir": "Symfony/Component/Config",
"source": {
"type": "git",
"url": "https://github.com/symfony/Config.git",
"reference": "91faa2d4944d0c8a94d5b73cb7ccfb219aee9d21"
"reference": "259722b5f2e87d3f487630abfd40f922cf2f6900"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/Config/zipball/91faa2d4944d0c8a94d5b73cb7ccfb219aee9d21",
"reference": "91faa2d4944d0c8a94d5b73cb7ccfb219aee9d21",
"url": "https://api.github.com/repos/symfony/Config/zipball/259722b5f2e87d3f487630abfd40f922cf2f6900",
"reference": "259722b5f2e87d3f487630abfd40f922cf2f6900",
"shasum": ""
},
"require": {
@@ -154,21 +154,21 @@
],
"description": "Symfony Config Component",
"homepage": "http://symfony.com",
"time": "2014-03-31 10:15:50"
"time": "2014-04-22 08:09:28"
},
{
"name": "symfony/console",
"version": "v2.3.12",
"version": "v2.3.16",
"target-dir": "Symfony/Component/Console",
"source": {
"type": "git",
"url": "https://github.com/symfony/Console.git",
"reference": "df17996d37eb113a5675ca4cc2ac45f4fc057cb7"
"reference": "c6c5a354a9945a5e9a9a6a495ca19558eb8639e9"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/Console/zipball/df17996d37eb113a5675ca4cc2ac45f4fc057cb7",
"reference": "df17996d37eb113a5675ca4cc2ac45f4fc057cb7",
"url": "https://api.github.com/repos/symfony/Console/zipball/c6c5a354a9945a5e9a9a6a495ca19558eb8639e9",
"reference": "c6c5a354a9945a5e9a9a6a495ca19558eb8639e9",
"shasum": ""
},
"require": {
@@ -209,21 +209,21 @@
],
"description": "Symfony Console Component",
"homepage": "http://symfony.com",
"time": "2014-03-01 17:25:29"
"time": "2014-05-14 13:35:53"
},
{
"name": "symfony/debug",
"version": "v2.4.4",
"version": "v2.3.16",
"target-dir": "Symfony/Component/Debug",
"source": {
"type": "git",
"url": "https://github.com/symfony/Debug.git",
"reference": "6a8eb9aba50595014fef52d6b4d99b31dfaa6f02"
"reference": "ca764f8af9cc4ba5d81b598c1b18b30db5508e18"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/Debug/zipball/6a8eb9aba50595014fef52d6b4d99b31dfaa6f02",
"reference": "6a8eb9aba50595014fef52d6b4d99b31dfaa6f02",
"url": "https://api.github.com/repos/symfony/Debug/zipball/ca764f8af9cc4ba5d81b598c1b18b30db5508e18",
"reference": "ca764f8af9cc4ba5d81b598c1b18b30db5508e18",
"shasum": ""
},
"require": {
@@ -234,13 +234,14 @@
"symfony/http-kernel": "~2.1"
},
"suggest": {
"symfony/class-loader": "",
"symfony/http-foundation": "",
"symfony/http-kernel": ""
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.4-dev"
"dev-master": "2.3-dev"
}
},
"autoload": {
@@ -266,21 +267,21 @@
],
"description": "Symfony Debug Component",
"homepage": "http://symfony.com",
"time": "2014-04-16 10:34:42"
"time": "2014-04-29 19:42:43"
},
{
"name": "symfony/dependency-injection",
"version": "v2.3.12",
"version": "v2.3.16",
"target-dir": "Symfony/Component/DependencyInjection",
"source": {
"type": "git",
"url": "https://github.com/symfony/DependencyInjection.git",
"reference": "41e9e2078e8edf261c11be478300c8fcddb64e30"
"reference": "5ebd813eac59b4051705a2e29e32f211a966b6ca"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/DependencyInjection/zipball/41e9e2078e8edf261c11be478300c8fcddb64e30",
"reference": "41e9e2078e8edf261c11be478300c8fcddb64e30",
"url": "https://api.github.com/repos/symfony/DependencyInjection/zipball/5ebd813eac59b4051705a2e29e32f211a966b6ca",
"reference": "5ebd813eac59b4051705a2e29e32f211a966b6ca",
"shasum": ""
},
"require": {
@@ -324,21 +325,21 @@
],
"description": "Symfony DependencyInjection Component",
"homepage": "http://symfony.com",
"time": "2014-03-27 18:14:33"
"time": "2014-05-02 22:42:57"
},
{
"name": "symfony/event-dispatcher",
"version": "v2.3.12",
"version": "v2.3.16",
"target-dir": "Symfony/Component/EventDispatcher",
"source": {
"type": "git",
"url": "https://github.com/symfony/EventDispatcher.git",
"reference": "15645237c6ff70e74a28e8836362d82492765055"
"reference": "cb7cd38c081507d10997553c4c522956a4d2afab"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/EventDispatcher/zipball/15645237c6ff70e74a28e8836362d82492765055",
"reference": "15645237c6ff70e74a28e8836362d82492765055",
"url": "https://api.github.com/repos/symfony/EventDispatcher/zipball/cb7cd38c081507d10997553c4c522956a4d2afab",
"reference": "cb7cd38c081507d10997553c4c522956a4d2afab",
"shasum": ""
},
"require": {
@@ -380,21 +381,21 @@
],
"description": "Symfony EventDispatcher Component",
"homepage": "http://symfony.com",
"time": "2014-02-11 10:29:24"
"time": "2014-04-16 10:30:19"
},
{
"name": "symfony/filesystem",
"version": "v2.4.4",
"version": "v2.3.16",
"target-dir": "Symfony/Component/Filesystem",
"source": {
"type": "git",
"url": "https://github.com/symfony/Filesystem.git",
"reference": "a3af8294bcce4a7c1b2892363b0c9d8109affad4"
"reference": "69e476c4db31c43ab7ab797adc5fc73d20aa5571"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/Filesystem/zipball/a3af8294bcce4a7c1b2892363b0c9d8109affad4",
"reference": "a3af8294bcce4a7c1b2892363b0c9d8109affad4",
"url": "https://api.github.com/repos/symfony/Filesystem/zipball/69e476c4db31c43ab7ab797adc5fc73d20aa5571",
"reference": "69e476c4db31c43ab7ab797adc5fc73d20aa5571",
"shasum": ""
},
"require": {
@@ -403,7 +404,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.4-dev"
"dev-master": "2.3-dev"
}
},
"autoload": {
@@ -429,33 +430,30 @@
],
"description": "Symfony Filesystem Component",
"homepage": "http://symfony.com",
"time": "2014-04-16 10:34:31"
"time": "2014-04-16 10:30:19"
},
{
"name": "symfony/http-foundation",
"version": "v2.4.4",
"version": "v2.3.16",
"target-dir": "Symfony/Component/HttpFoundation",
"source": {
"type": "git",
"url": "https://github.com/symfony/HttpFoundation.git",
"reference": "22c4dee84271ad0cd08d19f26d89f2878e11159b"
"reference": "ad7891d4dfe221c5a9edca64b71bdb500f5b026a"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/HttpFoundation/zipball/22c4dee84271ad0cd08d19f26d89f2878e11159b",
"reference": "22c4dee84271ad0cd08d19f26d89f2878e11159b",
"url": "https://api.github.com/repos/symfony/HttpFoundation/zipball/ad7891d4dfe221c5a9edca64b71bdb500f5b026a",
"reference": "ad7891d4dfe221c5a9edca64b71bdb500f5b026a",
"shasum": ""
},
"require": {
"php": ">=5.3.3"
},
"require-dev": {
"symfony/expression-language": "~2.4"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.4-dev"
"dev-master": "2.3-dev"
}
},
"autoload": {
@@ -484,21 +482,21 @@
],
"description": "Symfony HttpFoundation Component",
"homepage": "http://symfony.com",
"time": "2014-04-18 21:02:05"
"time": "2014-05-22 16:20:26"
},
{
"name": "symfony/http-kernel",
"version": "v2.3.12",
"version": "v2.3.16",
"target-dir": "Symfony/Component/HttpKernel",
"source": {
"type": "git",
"url": "https://github.com/symfony/HttpKernel.git",
"reference": "48d61b3622ca35dd924b167441a9810ad55906ce"
"reference": "d8c00747f592183692afaacf622c444c36092613"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/HttpKernel/zipball/48d61b3622ca35dd924b167441a9810ad55906ce",
"reference": "48d61b3622ca35dd924b167441a9810ad55906ce",
"url": "https://api.github.com/repos/symfony/HttpKernel/zipball/d8c00747f592183692afaacf622c444c36092613",
"reference": "d8c00747f592183692afaacf622c444c36092613",
"shasum": ""
},
"require": {
@@ -557,21 +555,21 @@
],
"description": "Symfony HttpKernel Component",
"homepage": "http://symfony.com",
"time": "2014-04-03 05:42:39"
"time": "2014-05-31 02:04:21"
},
{
"name": "symfony/routing",
"version": "v2.3.12",
"version": "v2.3.16",
"target-dir": "Symfony/Component/Routing",
"source": {
"type": "git",
"url": "https://github.com/symfony/Routing.git",
"reference": "08afcafd9af22a24a8055669f85d63b863c4711b"
"reference": "6e4c9024a04340b83e456a1a24597dba066dcdc9"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/Routing/zipball/08afcafd9af22a24a8055669f85d63b863c4711b",
"reference": "08afcafd9af22a24a8055669f85d63b863c4711b",
"url": "https://api.github.com/repos/symfony/Routing/zipball/6e4c9024a04340b83e456a1a24597dba066dcdc9",
"reference": "6e4c9024a04340b83e456a1a24597dba066dcdc9",
"shasum": ""
},
"require": {
@@ -617,21 +615,21 @@
],
"description": "Symfony Routing Component",
"homepage": "http://symfony.com",
"time": "2014-03-28 10:34:27"
"time": "2014-04-23 13:35:47"
},
{
"name": "symfony/yaml",
"version": "v2.3.12",
"version": "v2.3.16",
"target-dir": "Symfony/Component/Yaml",
"source": {
"type": "git",
"url": "https://github.com/symfony/Yaml.git",
"reference": "3acf34f6993db3d873fa77ac2cb6e595db00b88d"
"reference": "2e257c292cfce88bf6c894a03d0fe8d782055aee"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/Yaml/zipball/3acf34f6993db3d873fa77ac2cb6e595db00b88d",
"reference": "3acf34f6993db3d873fa77ac2cb6e595db00b88d",
"url": "https://api.github.com/repos/symfony/Yaml/zipball/2e257c292cfce88bf6c894a03d0fe8d782055aee",
"reference": "2e257c292cfce88bf6c894a03d0fe8d782055aee",
"shasum": ""
},
"require": {
@@ -666,7 +664,7 @@
],
"description": "Symfony Yaml Component",
"homepage": "http://symfony.com",
"time": "2014-03-04 16:04:39"
"time": "2014-05-12 09:13:35"
},
{
"name": "twig/twig",
@@ -722,6 +720,167 @@
}
],
"packages-dev": [
{
"name": "behat/mink",
"version": "v1.4.3",
"source": {
"type": "git",
"url": "https://github.com/Behat/Mink.git",
"reference": "0817070a6e2ec9f475fad9bfb81a962c462eb934"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Behat/Mink/zipball/0817070a6e2ec9f475fad9bfb81a962c462eb934",
"reference": "0817070a6e2ec9f475fad9bfb81a962c462eb934",
"shasum": ""
},
"require": {
"php": ">=5.3.1",
"symfony/css-selector": ">=2.0,<2.4-dev"
},
"suggest": {
"behat/mink-browserkit-driver": "extremely fast headless driver for Symfony\\Kernel-based apps (Sf2, Silex)",
"behat/mink-goutte-driver": "fast headless driver for any app without JS emulation",
"behat/mink-selenium2-driver": "slow, but JS-enabled driver for any app (requires Selenium2)",
"behat/mink-zombie-driver": "fast and JS-enabled headless driver for any app (requires node.js)"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-develop": "1.4.x-dev"
}
},
"autoload": {
"psr-0": {
"Behat\\Mink": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Konstantin Kudryashov",
"email": "ever.zet@gmail.com",
"homepage": "http://everzet.com"
}
],
"description": "Web acceptance testing framework for PHP 5.3",
"homepage": "http://mink.behat.org/",
"keywords": [
"browser",
"testing",
"web"
],
"time": "2013-03-02 15:53:18"
},
{
"name": "behat/mink-browserkit-driver",
"version": "v1.0.5",
"source": {
"type": "git",
"url": "https://github.com/Behat/MinkBrowserKitDriver.git",
"reference": "f2771b5fc4dbc233859addf37a7d150852f78418"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Behat/MinkBrowserKitDriver/zipball/f2771b5fc4dbc233859addf37a7d150852f78418",
"reference": "f2771b5fc4dbc233859addf37a7d150852f78418",
"shasum": ""
},
"require": {
"behat/mink": "~1.4.3",
"php": ">=5.3.1",
"symfony/browser-kit": "~2.0",
"symfony/dom-crawler": "~2.0"
},
"require-dev": {
"silex/silex": "@dev"
},
"type": "mink-driver",
"extra": {
"branch-alias": {
"dev-master": "1.0.x-dev"
}
},
"autoload": {
"psr-0": {
"Behat\\Mink\\Driver": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Konstantin Kudryashov",
"email": "ever.zet@gmail.com",
"homepage": "http://everzet.com"
}
],
"description": "Symfony2 BrowserKit driver for Mink framework",
"homepage": "http://mink.behat.org/",
"keywords": [
"Mink",
"Symfony2",
"browser",
"testing"
],
"time": "2013-04-13 12:17:15"
},
{
"name": "behat/mink-goutte-driver",
"version": "v1.0.9",
"source": {
"type": "git",
"url": "https://github.com/Behat/MinkGoutteDriver.git",
"reference": "fa1b073b48761464feb0b05e6825da44b20118d8"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Behat/MinkGoutteDriver/zipball/fa1b073b48761464feb0b05e6825da44b20118d8",
"reference": "fa1b073b48761464feb0b05e6825da44b20118d8",
"shasum": ""
},
"require": {
"behat/mink-browserkit-driver": ">=1.0.5,<1.2.0",
"fabpot/goutte": "~1.0.1",
"php": ">=5.3.1"
},
"type": "mink-driver",
"extra": {
"branch-alias": {
"dev-master": "1.0.x-dev"
}
},
"autoload": {
"psr-0": {
"Behat\\Mink\\Driver": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Konstantin Kudryashov",
"email": "ever.zet@gmail.com",
"homepage": "http://everzet.com"
}
],
"description": "Goutte driver for Mink framework",
"homepage": "http://mink.behat.org/",
"keywords": [
"browser",
"goutte",
"headless",
"testing"
],
"time": "2013-07-03 18:43:54"
},
{
"name": "fabpot/goutte",
"version": "v1.0.3",
@@ -2009,17 +2168,17 @@
},
{
"name": "symfony/browser-kit",
"version": "v2.3.4",
"version": "v2.3.16",
"target-dir": "Symfony/Component/BrowserKit",
"source": {
"type": "git",
"url": "https://github.com/symfony/BrowserKit.git",
"reference": "2639dc4eec81f92760e05396a93bb78000b4f5ca"
"reference": "bc6cb0fe5196ecfe183483791928ed525ac41728"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/BrowserKit/zipball/2639dc4eec81f92760e05396a93bb78000b4f5ca",
"reference": "2639dc4eec81f92760e05396a93bb78000b4f5ca",
"url": "https://api.github.com/repos/symfony/BrowserKit/zipball/bc6cb0fe5196ecfe183483791928ed525ac41728",
"reference": "bc6cb0fe5196ecfe183483791928ed525ac41728",
"shasum": ""
},
"require": {
@@ -2062,21 +2221,21 @@
],
"description": "Symfony BrowserKit Component",
"homepage": "http://symfony.com",
"time": "2013-07-21 12:12:18"
"time": "2014-04-22 14:58:51"
},
{
"name": "symfony/css-selector",
"version": "v2.3.4",
"version": "v2.3.16",
"target-dir": "Symfony/Component/CssSelector",
"source": {
"type": "git",
"url": "https://github.com/symfony/CssSelector.git",
"reference": "885544201cb24e79754da1dbd61bd779c2e4353e"
"reference": "2ff53e8a7870b453836e879b083b971d455e174d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/CssSelector/zipball/885544201cb24e79754da1dbd61bd779c2e4353e",
"reference": "885544201cb24e79754da1dbd61bd779c2e4353e",
"url": "https://api.github.com/repos/symfony/CssSelector/zipball/2ff53e8a7870b453836e879b083b971d455e174d",
"reference": "2ff53e8a7870b453836e879b083b971d455e174d",
"shasum": ""
},
"require": {
@@ -2115,21 +2274,21 @@
],
"description": "Symfony CssSelector Component",
"homepage": "http://symfony.com",
"time": "2013-07-21 12:12:18"
"time": "2014-05-12 09:13:35"
},
{
"name": "symfony/dom-crawler",
"version": "v2.3.4",
"version": "v2.3.16",
"target-dir": "Symfony/Component/DomCrawler",
"source": {
"type": "git",
"url": "https://github.com/symfony/DomCrawler.git",
"reference": "e05e07fe8958a304b5e135f8e65d4ae6148cf59b"
"reference": "5dd259d7842480fa7c5d4a45c4f911bd6fb60bc8"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/DomCrawler/zipball/e05e07fe8958a304b5e135f8e65d4ae6148cf59b",
"reference": "e05e07fe8958a304b5e135f8e65d4ae6148cf59b",
"url": "https://api.github.com/repos/symfony/DomCrawler/zipball/5dd259d7842480fa7c5d4a45c4f911bd6fb60bc8",
"reference": "5dd259d7842480fa7c5d4a45c4f911bd6fb60bc8",
"shasum": ""
},
"require": {
@@ -2170,21 +2329,21 @@
],
"description": "Symfony DomCrawler Component",
"homepage": "http://symfony.com",
"time": "2013-07-21 12:12:18"
"time": "2014-05-26 22:15:18"
},
{
"name": "symfony/finder",
"version": "v2.3.4",
"version": "v2.3.16",
"target-dir": "Symfony/Component/Finder",
"source": {
"type": "git",
"url": "https://github.com/symfony/Finder.git",
"reference": "4a0fee5b86f5bbd9dfdc11ec124eba2915737ce1"
"reference": "32949721cc76afd75e4ac60d14ac3cf55b10a768"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/Finder/zipball/4a0fee5b86f5bbd9dfdc11ec124eba2915737ce1",
"reference": "4a0fee5b86f5bbd9dfdc11ec124eba2915737ce1",
"url": "https://api.github.com/repos/symfony/Finder/zipball/32949721cc76afd75e4ac60d14ac3cf55b10a768",
"reference": "32949721cc76afd75e4ac60d14ac3cf55b10a768",
"shasum": ""
},
"require": {
@@ -2219,21 +2378,21 @@
],
"description": "Symfony Finder Component",
"homepage": "http://symfony.com",
"time": "2013-08-13 20:18:00"
"time": "2014-05-22 13:42:36"
},
{
"name": "symfony/process",
"version": "v2.3.4",
"version": "v2.3.16",
"target-dir": "Symfony/Component/Process",
"source": {
"type": "git",
"url": "https://github.com/symfony/Process.git",
"reference": "1e91553e1cedd0b8fb1da6ea4f89b02e21713d5b"
"reference": "2cd7d075df6cb0d564c069a66408b3877c07d4e3"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/Process/zipball/1e91553e1cedd0b8fb1da6ea4f89b02e21713d5b",
"reference": "1e91553e1cedd0b8fb1da6ea4f89b02e21713d5b",
"url": "https://api.github.com/repos/symfony/Process/zipball/2cd7d075df6cb0d564c069a66408b3877c07d4e3",
"reference": "2cd7d075df6cb0d564c069a66408b3877c07d4e3",
"shasum": ""
},
"require": {
@@ -2268,7 +2427,7 @@
],
"description": "Symfony Process Component",
"homepage": "http://symfony.com",
"time": "2013-08-22 06:42:25"
"time": "2014-05-17 21:49:26"
}
],
"aliases": [

View File

@@ -1,8 +1,9 @@
services:
auth.provider_collection:
class: phpbb\di\service_collection
class: phpbb\auth\provider_collection
arguments:
- @service_container
- @config
tags:
- { name: service_collection, tag: auth.provider }
auth.provider.db:

View File

@@ -46,6 +46,23 @@ services:
tags:
- { name: console.command }
console.command.cron.list:
class: phpbb\console\command\cron\cron_list
arguments:
- @cron.manager
- @user
tags:
- { name: console.command }
console.command.cron.run:
class: phpbb\console\command\cron\run
arguments:
- @cron.manager
- @cron.lock_db
- @user
tags:
- { name: console.command }
console.command.db.migrate:
class: phpbb\console\command\db\migrate
arguments:
@@ -58,6 +75,13 @@ services:
tags:
- { name: console.command }
console.command.dev.migration_tips:
class: phpbb\console\command\dev\migration_tips
arguments:
- @ext.manager
tags:
- { name: console.command }
console.command.extension.disable:
class: phpbb\console\command\extension\disable
arguments:

View File

@@ -29,6 +29,13 @@ services:
tags:
- { name: migrator.tool }
migrator.tool.config_text:
class: phpbb\db\migration\tool\config_text
arguments:
- @config_text
tags:
- { name: migrator.tool }
migrator.tool.module:
class: phpbb\db\migration\tool\module
arguments:

View File

@@ -22,6 +22,14 @@ services:
tags:
- { name: passwords.driver }
passwords.driver.bcrypt_wcf2:
class: phpbb\passwords\driver\bcrypt_wcf2
arguments:
- @passwords.driver.bcrypt
- @passwords.driver_helper
tags:
- { name: passwords.driver }
passwords.driver.salted_md5:
class: phpbb\passwords\driver\salted_md5
arguments:
@@ -38,6 +46,64 @@ services:
tags:
- { name: passwords.driver }
passwords.driver.convert_password:
class: phpbb\passwords\driver\convert_password
arguments:
- @config
- @passwords.driver_helper
tags:
- { name: passwords.driver }
passwords.driver.sha1_smf:
class: phpbb\passwords\driver\sha1_smf
arguments:
- @config
- @passwords.driver_helper
tags:
- { name: passwords.driver }
passwords.driver.sha1_wcf1:
class: phpbb\passwords\driver\sha1_wcf1
arguments:
- @config
- @passwords.driver_helper
tags:
- { name: passwords.driver }
passwords.driver.sha1:
class: phpbb\passwords\driver\sha1
arguments:
- @config
- @passwords.driver_helper
tags:
- { name: passwords.driver }
passwords.driver.md5_phpbb2:
class: phpbb\passwords\driver\md5_phpbb2
arguments:
- @request
- @passwords.driver.salted_md5
- %core.root_path%
- %core.php_ext%
tags:
- { name: passwords.driver }
passwords.driver.md5_mybb:
class: phpbb\passwords\driver\md5_mybb
arguments:
- @config
- @passwords.driver_helper
tags:
- { name: passwords.driver }
passwords.driver.md5_vb:
class: phpbb\passwords\driver\md5_vb
arguments:
- @config
- @passwords.driver_helper
tags:
- { name: passwords.driver }
passwords.driver_collection:
class: phpbb\di\service_collection
arguments:

View File

@@ -55,6 +55,15 @@ services:
tags:
- { name: profilefield.type }
profilefields.type.googleplus:
class: phpbb\profilefields\type\type_googleplus
arguments:
- @request
- @template
- @user
tags:
- { name: profilefield.type }
profilefields.type.int:
class: phpbb\profilefields\type\type_int
arguments:

View File

@@ -39,9 +39,6 @@ services:
cache.driver:
class: %cache.driver.class%
cache.driver.install:
class: phpbb\cache\driver\file
class_loader:
class: phpbb\class_loader
arguments:
@@ -69,6 +66,9 @@ services:
- @cache.driver
- %tables.config%
config.php:
synthetic: true
config_text:
class: phpbb\config\db_text
arguments:
@@ -96,6 +96,7 @@ services:
- @config
- @controller.provider
- @ext.manager
- @symfony_request
- %core.root_path%
- %core.php_ext%
@@ -139,6 +140,11 @@ services:
- @service_container
dbal.conn:
class: phpbb\db\driver\factory
arguments:
- @service_container
dbal.conn.driver:
class: %dbal.driver.class%
calls:
- [sql_connect, [%dbal.dbhost%, %dbal.dbuser%, %dbal.dbpasswd%, %dbal.dbname%, %dbal.dbport%, false, %dbal.new_link%]]
@@ -170,6 +176,7 @@ services:
- @dbal.conn
- @config
- @filesystem
- @user
- %tables.ext%
- %core.root_path%
- %core.php_ext%
@@ -238,6 +245,37 @@ services:
- %core.php_ext%
- %tables.log%
message.form.admin:
class: phpbb\message\admin_form
arguments:
- @auth
- @config
- @config_text
- @dbal.conn
- @user
- %core.root_path%
- %core.php_ext%
message.form.topic:
class: phpbb\message\topic_form
arguments:
- @auth
- @config
- @dbal.conn
- @user
- %core.root_path%
- %core.php_ext%
message.form.user:
class: phpbb\message\user_form
arguments:
- @auth
- @config
- @dbal.conn
- @user
- %core.root_path%
- %core.php_ext%
notification_manager:
class: phpbb\notification\manager
arguments:
@@ -267,6 +305,7 @@ services:
arguments:
- @symfony_request
- @filesystem
- @request
- %core.root_path%
- %core.php_ext%
- %core.adm_relative_path%
@@ -322,3 +361,8 @@ services:
- @cache
- @config
- @user
viewonline_helper:
class: phpbb\viewonline_helper
arguments:
- @filesystem

View File

@@ -37,73 +37,33 @@ function output_image()
flush();
}
function do_cron($cron_lock, $run_tasks)
{
global $config;
foreach ($run_tasks as $task)
{
if (defined('DEBUG') && $config['use_system_cron'])
{
echo "[phpBB cron] Running task '{$task->get_name()}'\n";
}
$task->run();
}
// Unloading cache and closing db after having done the dirty work.
$cron_lock->release();
garbage_collection();
}
// Thanks to various fatal errors and lack of try/finally, it is quite easy to leave
// the cron lock locked, especially when working on cron-related code.
//
// Attempt to alleviate the problem by doing setup outside of the lock as much as possible.
//
// If DEBUG is defined and cron lock cannot be obtained, a message will be printed.
if (!$config['use_system_cron'])
{
$cron_type = request_var('cron_type', '');
$cron_type = request_var('cron_type', '');
// Comment this line out for debugging so the page does not return an image.
output_image();
}
// Comment this line out for debugging so the page does not return an image.
output_image();
$cron_lock = $phpbb_container->get('cron.lock_db');
if ($cron_lock->acquire())
{
$cron = $phpbb_container->get('cron.manager');
if ($config['use_system_cron'])
$task = $cron->find_task($cron_type);
if ($task)
{
$run_tasks = $cron->find_all_ready_tasks();
}
else
{
// If invalid task is specified, empty $run_tasks is passed to do_cron which then does nothing
$run_tasks = array();
$task = $cron->find_task($cron_type);
if ($task)
if ($task->is_parametrized())
{
if ($task->is_parametrized())
{
$task->parse_parameters($request);
}
if ($task->is_ready())
{
$run_tasks = array($task);
}
$task->parse_parameters($request);
}
if ($task->is_ready())
{
$task->run();
garbage_collection();
}
}
do_cron($cron_lock, $run_tasks);
}
else
{
if (defined('DEBUG'))
{
echo "Could not obtain cron lock.\n";
}
$cron_lock->release();
}

View File

@@ -371,7 +371,7 @@ function mass_auth($ug_type, $forum_id, $ug_id, $acl_list, $setting)
switch ($sql_type)
{
case 'insert':
switch ($db->sql_layer)
switch ($db->get_sql_layer())
{
case 'mysql':
case 'mysql4':

View File

@@ -313,7 +313,7 @@ function make_post($new_topic_id, $forum_id, $user_id, $post_username, $text, $m
else
{
// Rollback
if($db->sql_layer == "mysql")
if($db->get_sql_layer() == "mysql")
{
$sql = "DELETE FROM " . POSTS_TABLE . "
WHERE post_id = $new_post_id";

View File

@@ -20,7 +20,6 @@
$schema_path = dirname(__FILE__) . '/../install/schemas/';
$supported_dbms = array(
'firebird',
'mssql',
'mysql_40',
'mysql_41',
@@ -44,17 +43,9 @@ require($phpbb_root_path . 'phpbb/class_loader.' . $phpEx);
$phpbb_class_loader = new \phpbb\class_loader('phpbb\\', "{$phpbb_root_path}phpbb/", $phpEx);
$phpbb_class_loader->register();
class phpbb_extension_empty_manager extends \phpbb\extension\manager
{
public function __construct()
{
$this->extensions = array();
}
}
$finder = new \phpbb\extension\finder(new \phpbb_extension_empty_manager(), new \phpbb\filesystem(), $phpbb_root_path);
$finder = new \phpbb\finder(new \phpbb\filesystem(), $phpbb_root_path);
$classes = $finder->core_path('phpbb/')
->directory('db/migration/data')
->directory('/db/migration/data')
->get_classes();
$db = new \phpbb\db\driver\sqlite();
@@ -66,188 +57,4 @@ $fp = fopen($schema_path . 'schema.json', 'wb');
fwrite($fp, json_encode($schema_data, JSON_PRETTY_PRINT));
fclose($fp);
foreach ($supported_dbms as $dbms)
{
$fp = fopen($schema_path . $dbms . '_schema.sql', 'wb');
// Write Header
switch ($dbms)
{
case 'mysql_40':
case 'mysql_41':
case 'firebird':
case 'sqlite':
case 'sqlite3':
fwrite($fp, "# DO NOT EDIT THIS FILE, IT IS GENERATED\n");
fwrite($fp, "#\n");
fwrite($fp, "# To change the contents of this file, edit\n");
fwrite($fp, "# phpBB/develop/create_schema_files.php and\n");
fwrite($fp, "# run it.\n");
break;
case 'mssql':
case 'oracle':
case 'postgres':
fwrite($fp, "/*\n");
fwrite($fp, " * DO NOT EDIT THIS FILE, IT IS GENERATED\n");
fwrite($fp, " *\n");
fwrite($fp, " * To change the contents of this file, edit\n");
fwrite($fp, " * phpBB/develop/create_schema_files.php and\n");
fwrite($fp, " * run it.\n");
fwrite($fp, " */\n\n");
break;
}
$line = '';
switch ($dbms)
{
case 'oracle':
$line .= custom_data('oracle') . "\n";
break;
case 'postgres':
$line .= "BEGIN;\n\n";
$line .= custom_data('postgres') . "\n";
$line .= "COMMIT;\n\n";
break;
}
fwrite($fp, $line);
fclose($fp);
}
/**
* Data put into the header for various dbms
*/
function custom_data($dbms)
{
switch ($dbms)
{
case 'oracle':
return <<<EOF
/*
This first section is optional, however its probably the best method
of running phpBB on Oracle. If you already have a tablespace and user created
for phpBB you can leave this section commented out!
The first set of statements create a phpBB tablespace and a phpBB user,
make sure you change the password of the phpBB user before you run this script!!
*/
/*
CREATE TABLESPACE "PHPBB"
LOGGING
DATAFILE 'E:\ORACLE\ORADATA\LOCAL\PHPBB.ora'
SIZE 10M
AUTOEXTEND ON NEXT 10M
MAXSIZE 100M;
CREATE USER "PHPBB"
PROFILE "DEFAULT"
IDENTIFIED BY "phpbb_password"
DEFAULT TABLESPACE "PHPBB"
QUOTA UNLIMITED ON "PHPBB"
ACCOUNT UNLOCK;
GRANT ANALYZE ANY TO "PHPBB";
GRANT CREATE SEQUENCE TO "PHPBB";
GRANT CREATE SESSION TO "PHPBB";
GRANT CREATE TABLE TO "PHPBB";
GRANT CREATE TRIGGER TO "PHPBB";
GRANT CREATE VIEW TO "PHPBB";
GRANT "CONNECT" TO "PHPBB";
COMMIT;
DISCONNECT;
CONNECT phpbb/phpbb_password;
*/
EOF;
break;
case 'postgres':
return <<<EOF
/*
Domain definition
*/
CREATE DOMAIN varchar_ci AS varchar(255) NOT NULL DEFAULT ''::character varying;
/*
Operation Functions
*/
CREATE FUNCTION _varchar_ci_equal(varchar_ci, varchar_ci) RETURNS boolean AS 'SELECT LOWER($1) = LOWER($2)' LANGUAGE SQL STRICT;
CREATE FUNCTION _varchar_ci_not_equal(varchar_ci, varchar_ci) RETURNS boolean AS 'SELECT LOWER($1) != LOWER($2)' LANGUAGE SQL STRICT;
CREATE FUNCTION _varchar_ci_less_than(varchar_ci, varchar_ci) RETURNS boolean AS 'SELECT LOWER($1) < LOWER($2)' LANGUAGE SQL STRICT;
CREATE FUNCTION _varchar_ci_less_equal(varchar_ci, varchar_ci) RETURNS boolean AS 'SELECT LOWER($1) <= LOWER($2)' LANGUAGE SQL STRICT;
CREATE FUNCTION _varchar_ci_greater_than(varchar_ci, varchar_ci) RETURNS boolean AS 'SELECT LOWER($1) > LOWER($2)' LANGUAGE SQL STRICT;
CREATE FUNCTION _varchar_ci_greater_equals(varchar_ci, varchar_ci) RETURNS boolean AS 'SELECT LOWER($1) >= LOWER($2)' LANGUAGE SQL STRICT;
/*
Operators
*/
CREATE OPERATOR <(
PROCEDURE = _varchar_ci_less_than,
LEFTARG = varchar_ci,
RIGHTARG = varchar_ci,
COMMUTATOR = >,
NEGATOR = >=,
RESTRICT = scalarltsel,
JOIN = scalarltjoinsel);
CREATE OPERATOR <=(
PROCEDURE = _varchar_ci_less_equal,
LEFTARG = varchar_ci,
RIGHTARG = varchar_ci,
COMMUTATOR = >=,
NEGATOR = >,
RESTRICT = scalarltsel,
JOIN = scalarltjoinsel);
CREATE OPERATOR >(
PROCEDURE = _varchar_ci_greater_than,
LEFTARG = varchar_ci,
RIGHTARG = varchar_ci,
COMMUTATOR = <,
NEGATOR = <=,
RESTRICT = scalargtsel,
JOIN = scalargtjoinsel);
CREATE OPERATOR >=(
PROCEDURE = _varchar_ci_greater_equals,
LEFTARG = varchar_ci,
RIGHTARG = varchar_ci,
COMMUTATOR = <=,
NEGATOR = <,
RESTRICT = scalargtsel,
JOIN = scalargtjoinsel);
CREATE OPERATOR <>(
PROCEDURE = _varchar_ci_not_equal,
LEFTARG = varchar_ci,
RIGHTARG = varchar_ci,
COMMUTATOR = <>,
NEGATOR = =,
RESTRICT = neqsel,
JOIN = neqjoinsel);
CREATE OPERATOR =(
PROCEDURE = _varchar_ci_equal,
LEFTARG = varchar_ci,
RIGHTARG = varchar_ci,
COMMUTATOR = =,
NEGATOR = <>,
RESTRICT = eqsel,
JOIN = eqjoinsel,
HASHES,
MERGES,
SORT1= <);
EOF;
break;
}
return '';
}
echo 'done';

View File

@@ -48,7 +48,7 @@ $sql = "CREATE TABLE {$table_prefix}attachments
AND a.post_id = p.post_id";
$db->sql_query($sql);
switch ($db->sql_layer)
switch ($db->get_sql_layer())
{
case 'mysql':
case 'mysql4':

View File

@@ -46,7 +46,7 @@ $sql = "CREATE TABLE {$table_prefix}posts
WHERE pt.post_id = p.post_id";
$db->sql_query($sql);
switch ($db->sql_layer)
switch ($db->get_sql_layer())
{
case 'mysql':
case 'mysql4':
@@ -142,7 +142,7 @@ while ($row = $db->sql_fetchrow($result))
}
$db->sql_freeresult($result);
switch ($db->sql_layer)
switch ($db->get_sql_layer())
{
case 'oracle':
$sql = "SELECT f.*, p.post_time, p.post_username, u.username, u.user_id

View File

@@ -1,46 +0,0 @@
<?php
/**
*
* This file is part of the phpBB Forum Software package.
*
* @copyright (c) phpBB Limited <https://www.phpbb.com>
* @license GNU General Public License, version 2 (GPL-2.0)
*
* For full copyright and license information, please see
* the docs/CREDITS.txt file.
*
*/
// This is to help with creating migration files for new versions
// Use this to find what migrations are not depended on by any other migration
// (the current migration tree tips)
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './../';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
$phpbb_extension_manager = $phpbb_container->get('ext.manager');
$finder = $phpbb_extension_manager->get_finder();
$migrations = $finder
->core_path('phpbb/db/migration/data/')
->get_classes();
$tips = $migrations;
foreach ($migrations as $migration_class)
{
foreach ($migration_class::depends_on() as $dependency)
{
if (($tips_key = array_search($dependency, $tips)) !== false)
{
unset($tips[$tips_key]);
}
}
}
foreach ($tips as $migration)
{
echo "\t\t\t'{$migration}',\n";
}

View File

@@ -46,6 +46,8 @@
<ol>
<li><a href="#changelog">Changelog</a>
<ol style="list-style-type: lower-roman;">
<li><a href="#v310b3">Changes since 3.1.0-RC1</a></li>
<li><a href="#v310b3">Changes since 3.1.0-b4</a></li>
<li><a href="#v310b3">Changes since 3.1.0-b3</a></li>
<li><a href="#v310b2">Changes since 3.1.0-b2</a></li>
<li><a href="#v310b1">Changes since 3.1.0-b1</a></li>
@@ -93,7 +95,198 @@
<div class="content">
<a name="v310b3"></a><h3>1.i. Changes since 3.1.0-b3</h3>
<a name="v310RC1"></a><h3>1.i. Changes since 3.1.0-RC1</h3>
<h4>Bug</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-9801">PHPBB3-9801</a>] - Users on custom pages outside the board directory are being displayed on Index page</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11392">PHPBB3-11392</a>] - &quot;Make normal&quot; in quickmod tool does not ajaxify correctly</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12325">PHPBB3-12325</a>] - Automatic update should notify about outdated files</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12420">PHPBB3-12420</a>] - Reduce config.php inclusions in DIC code</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12446">PHPBB3-12446</a>] - Unnecessary db connect - function phpbb_bootstrap_enabled_exts</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12462">PHPBB3-12462</a>] - Do not use string &quot;None&quot; for different avatar options</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12515">PHPBB3-12515</a>] - FULLTEXT_POSTGRES_TS_NOT_USABLE and FULLTEXT_POSTGRES_VERSION_CHECK_EXPLAIN redundant</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12605">PHPBB3-12605</a>] - Make dropdowns uniform</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12674">PHPBB3-12674</a>] - Last edited by in PMs doesn't show user colour</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12680">PHPBB3-12680</a>] - Contact icons in viewtopic are missing alternative text</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12695">PHPBB3-12695</a>] - Undefined index: MISSING_INLINE_ATTACHMENT notice given when viewing post details</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12716">PHPBB3-12716</a>] - Wrong method call in phpbb\auth\provider\oauth\token_storage</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12759">PHPBB3-12759</a>] - Profile fields lang value db queries can cause query flood</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12760">PHPBB3-12760</a>] - Post approval icon for wrong topics in Last Post column</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12764">PHPBB3-12764</a>] - Wrong error message on install if mysqli is selected and the credentials are wrong</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12766">PHPBB3-12766</a>] - Event exporter does not like RCx as version</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12768">PHPBB3-12768</a>] - 'NOTIFICATION_REPORT_CLOSED' entry has wrong indentation</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12771">PHPBB3-12771</a>] - Bug in \phpbb\db\migration\profilefield_base_migration when used in extensions</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12772">PHPBB3-12772</a>] - Fatal error when &quot;Email topic&quot; is used in topic tools</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12773">PHPBB3-12773</a>] - Fix language variable name in cli extension enable command</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12774">PHPBB3-12774</a>] - Undefined variable $phpbb_adm_relative_path in phpbb_create_install_container()</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12781">PHPBB3-12781</a>] - Template regex for DEFINE has problems when enclosed by other template conditionals</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12783">PHPBB3-12783</a>] - Remove require: phpbb/phpbb from Extensions composer.json files</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12787">PHPBB3-12787</a>] - Incorrect generated url when using ajax and routing</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12788">PHPBB3-12788</a>] - Update Symfony suite from 2.3.12 to 2.3.16</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12790">PHPBB3-12790</a>] - Always use the interface when available (and not directly the class)</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12802">PHPBB3-12802</a>] - Properly handle connection errors in SQLite3</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12808">PHPBB3-12808</a>] - Small gap between username and drop-down arrow</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12810">PHPBB3-12810</a>] - In acp_forums the displayed value for prune_shadow_freq is the value of prune_freq</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12811">PHPBB3-12811</a>] - Margin Bottom not taking effect in Safari with 101% height on same element</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12815">PHPBB3-12815</a>] - Members list link hidden from guests who have permission to view members list page</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12816">PHPBB3-12816</a>] - Fix comment about logs in user_ban function</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12818">PHPBB3-12818</a>] - Deleting a log entry in MCP produces a General error</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12819">PHPBB3-12819</a>] - Wrong text on hover over &quot;Jump to page&quot; field</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12825">PHPBB3-12825</a>] - Allow the extensions to be tested with the sniffer and skip the vendors</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12830">PHPBB3-12830</a>] - .postlink is in colours.css doubled, one should be deleted</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12834">PHPBB3-12834</a>] - Viewonline only matches routes</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12839">PHPBB3-12839</a>] - Missing stylesheet when it is not updated</li>
</ul>
<h4>Improvement</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12013">PHPBB3-12013</a>] - Quickmod tools and jumpbox should use new dropdown</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12099">PHPBB3-12099</a>] - path_helper returns wrong web root path for ajax requests</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12196">PHPBB3-12196</a>] - Referer vs Referrer in language files</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12197">PHPBB3-12197</a>] - Fix misleading FAQ entries</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12334">PHPBB3-12334</a>] - Add raw values of profile fields to template</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12562">PHPBB3-12562</a>] - Prosilver has no max-width</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12645">PHPBB3-12645</a>] - Update support links to 3.1 forums</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12662">PHPBB3-12662</a>] - Reorganize and modernize the header navbar</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12735">PHPBB3-12735</a>] - Remove all :link, :visited, :active link states</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12777">PHPBB3-12777</a>] - Rename extension status functions and add is_configured()</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12779">PHPBB3-12779</a>] - Change order of file lists on automatic update</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12782">PHPBB3-12782</a>] - Use an interface for the phpbb event_dispatcher</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12784">PHPBB3-12784</a>] - Allow the extensions to add a custom auto loader</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12786">PHPBB3-12786</a>] - Extend profilefield_base_migration.php class</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12812">PHPBB3-12812</a>] - Add a migrator tool for config_text database changes</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12813">PHPBB3-12813</a>] - Improve responsive pagination location and fix page-jump title</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12823">PHPBB3-12823</a>] - Remove trailing whitespace from CSS files</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12824">PHPBB3-12824</a>] - Move ACP &amp; MCP links in the header to the end of the link list</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12827">PHPBB3-12827</a>] - Reorder quick-links</li>
</ul>
<h4>Task</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12775">PHPBB3-12775</a>] - Refactor functions_container into class container_builder</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12829">PHPBB3-12829</a>] - Remove check for pgsql 8.3/8.2</li>
</ul>
<a name="v310b4"></a><h3>1.ii. Changes since 3.1.0-b4</h3>
<h4>Bug</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-8610">PHPBB3-8610</a>] - Splitting and merging topics does not handle subscriptions and bookmarks correctly</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10899">PHPBB3-10899</a>] - Using Delete All in log viewer with keyword search</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11331">PHPBB3-11331</a>] - Inform admin of incorrect avatar path instead of stripping unexpected parts from destination path</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11445">PHPBB3-11445</a>] - Suboptimal number of query complexity in phpbb_notification_manager::get_global_subscriptions()</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11467">PHPBB3-11467</a>] - phpbb_extension_metadata_manager uses hard coded language for exceptions</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11659">PHPBB3-11659</a>] - Information about file_upload is missing from the requirement page</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11942">PHPBB3-11942</a>] - Delete post/topic reason should be added to the generated log entry</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12109">PHPBB3-12109</a>] - Bug when setting users forum permissions with &quot;Select all users&quot; checkbox</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12209">PHPBB3-12209</a>] - OAuth Authentication in ACP does not explain that it allows regular login too</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12332">PHPBB3-12332</a>] - Attachments with long file names break the Uploader layout</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12352">PHPBB3-12352</a>] - The service definition &quot;auth.provider.smf&quot; does not exist.</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12443">PHPBB3-12443</a>] - Responsive tabs broken in IE</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12457">PHPBB3-12457</a>] - Gallery avatar category &quot;Main&quot; is empty</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12508">PHPBB3-12508</a>] - phpbb\finder (currently phpbb\extension\finder) should not depend on extension manager</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12521">PHPBB3-12521</a>] - When selecting the target to merge two topics, the last column is pushed on a new line</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12552">PHPBB3-12552</a>] - [RTL] - Forum list content forced into single char column when responsive</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12553">PHPBB3-12553</a>] - Right-to-left language bugs in prosilver</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12566">PHPBB3-12566</a>] - &quot;Private messages&quot; in viewtopic.php should be &quot;Send pivate message&quot;</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12589">PHPBB3-12589</a>] - The finder should search directly in $directory if it's an absolute sub-path</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12612">PHPBB3-12612</a>] - Front-facing files should not contain functions</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12615">PHPBB3-12615</a>] - Improper clearing of .topic-actions leads to float problems</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12637">PHPBB3-12637</a>] - coding-guidelines.html contains invalid HTML</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12638">PHPBB3-12638</a>] - Call to undefined function phpbb\db\migration\data\v30x\phpbb_require_updated() when not using autoupdate package</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12639">PHPBB3-12639</a>] - Delete entry in admin-log leads to mysql-error</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12640">PHPBB3-12640</a>] - Posting editor tab &quot;attachments&quot; is unclicked in IE8</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12641">PHPBB3-12641</a>] - With IE8 logged in to ACP error message appears in the browser</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12643">PHPBB3-12643</a>] - Cannot convert SQLite DB from 3.0.12 to 3.1.0</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12652">PHPBB3-12652</a>] - Deleting marked log entries leads to MySQL Error</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12660">PHPBB3-12660</a>] - Undefined offset error when phpinfo() disabled and debug enabled</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12665">PHPBB3-12665</a>] - develop/migration_tips.php should not find extension tips</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12667">PHPBB3-12667</a>] - New posts in a topic cause undesirable results when clicking topic title or page button</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12672">PHPBB3-12672</a>] - Make &lt;Tab&gt; inside [code] - more user friendly</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12673">PHPBB3-12673</a>] - PLUPLOAD fails due missing constant IMAGETYPE_SWC</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12675">PHPBB3-12675</a>] - Fix code sniffer complaints in 3.1.0-b5-dev code</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12682">PHPBB3-12682</a>] - Code Sniffer does not work correctly on Travis CI.</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12688">PHPBB3-12688</a>] - Rank images do not work on routes</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12694">PHPBB3-12694</a>] - Remove whitespace at end of line from acp_groups</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12697">PHPBB3-12697</a>] - Database Test Case Must Purge Extension Schema When Done</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12705">PHPBB3-12705</a>] - make_clickable is using static variables incorrectly</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12707">PHPBB3-12707</a>] - \phpbb\db\driver\phpbb\db\driver\mysql is tried being loaded</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12708">PHPBB3-12708</a>] - [ROOT] -/install/install_main.php still uses docs/COPYING</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12709">PHPBB3-12709</a>] - Duplicate entries in the posting attachments tab</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12711">PHPBB3-12711</a>] - Contact form migration fails on MSSQL</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12712">PHPBB3-12712</a>] - Password conversion migration fails on MSSQL</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12715">PHPBB3-12715</a>] - Mistakes in the doc blocks</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12720">PHPBB3-12720</a>] - Git commit hook should not require commit message to start with a capital letter</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12728">PHPBB3-12728</a>] - Enforce box-model for image attachments</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12741">PHPBB3-12741</a>] - Functional tests on Travis fail since php update last night</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12746">PHPBB3-12746</a>] - Failing test: tests/content_visibility/delete_post_test.php</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12747">PHPBB3-12747</a>] - Drop Firebird support</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12750">PHPBB3-12750</a>] - Install/Update footer is not centered anymore</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12752">PHPBB3-12752</a>] - Cron list tests fail on windows with ansi support</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12753">PHPBB3-12753</a>] - FIELD_INVALID_CHARS_ALPHA_PUNCTUATION is not localized</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12755">PHPBB3-12755</a>] - Remote upload stuck in infinite loop if server sends keep-alive</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12756">PHPBB3-12756</a>] - Fatal error with mysqli_fetch_assoc on hhvm</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12761">PHPBB3-12761</a>] - Remove the execute bit from functions_user.php</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12762">PHPBB3-12762</a>] - Make ext.php optional for extensions</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12763">PHPBB3-12763</a>] - Do not unnecessarily rewrite install/schemas/*_schema.sql when updating schema.json file</li>
</ul>
<h4>Improvement</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11266">PHPBB3-11266</a>] - Use our own error message when composer is not set up</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12532">PHPBB3-12532</a>] - Add header_navbar_username_prepend/append template events.</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12541">PHPBB3-12541</a>] - Activate attachments tab when files are dropped into textarea</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12563">PHPBB3-12563</a>] - Language key names in ACP styles are misleading</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12606">PHPBB3-12606</a>] - PHP events in /includes/acp/acp_groups.php</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12608">PHPBB3-12608</a>] - Improve notifications drop-down menu styling in header</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12613">PHPBB3-12613</a>] - Improve pagination styling and jump-to-page dialog</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12646">PHPBB3-12646</a>] - Add data attribute to breadcrumb links</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12648">PHPBB3-12648</a>] - Improve UCP/MCP/Posting tabs styling &amp; problems</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12655">PHPBB3-12655</a>] - Allow the CLI to be used as a shell</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12664">PHPBB3-12664</a>] - Refactor develop/migration_tips.php into a console command</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12666">PHPBB3-12666</a>] - Use &quot;None&quot; for images in gallery avatar path root and rename lang key</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12668">PHPBB3-12668</a>] - Add ability to modify subforums template data for core.display_forums_modify_template_vars event</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12669">PHPBB3-12669</a>] - Add core event to the function display_forums() for additional template data</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12677">PHPBB3-12677</a>] - Remove comment about threading</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12687">PHPBB3-12687</a>] - Add a constant to dissociate the displaying of the load time from DEBUG</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12690">PHPBB3-12690</a>] - Add core.submit_pm_after event</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12691">PHPBB3-12691</a>] - Add core.delete_pm to funtion delete_pm.</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12704">PHPBB3-12704</a>] - Improve the load time information in the footer when enabled</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12706">PHPBB3-12706</a>] - Ignore additional languages and styles from git</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12714">PHPBB3-12714</a>] - Better align the description of radio buttons to avoid confusion with the forum list in attachments settings</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12740">PHPBB3-12740</a>] - Stop Using IDs as CSS selectors</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12758">PHPBB3-12758</a>] - Add 'show_results' mode var to event core.search_modify_rowset</li>
</ul>
<h4>New Feature</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12597">PHPBB3-12597</a>] - Command for executing all available cron tasks</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12602">PHPBB3-12602</a>] - Add command to print the cron list</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12607">PHPBB3-12607</a>] - CLI command for running a specific cron task</li>
</ul>
<h4>Sub-task</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12575">PHPBB3-12575</a>] - Use a proxy pattern in \phpbb\di\service_collection</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12699">PHPBB3-12699</a>] - Replace instances in the message textarea keydown callback</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12721">PHPBB3-12721</a>] - Simple rules</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12722">PHPBB3-12722</a>] - Add rule Generic.Formatting.SpaceAfterCast</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12724">PHPBB3-12724</a>] - Add rule Squiz.PHP.Eval</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12729">PHPBB3-12729</a>] - Add Facebook profile field</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12730">PHPBB3-12730</a>] - Add Google+ profile field</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12731">PHPBB3-12731</a>] - Add YouTube profile field</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12732">PHPBB3-12732</a>] - Add Skype profile field</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12733">PHPBB3-12733</a>] - Add Twitter profile field</li>
</ul>
<h4>Task</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11528">PHPBB3-11528</a>] - Use mink for acceptance tests involving javascript execution</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12514">PHPBB3-12514</a>] - Add additional tests for custom profile fields type</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12696">PHPBB3-12696</a>] - Add events to ucp_register.html</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12701">PHPBB3-12701</a>] - Add events to user_add function</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12723">PHPBB3-12723</a>] - Add Code Sniffer sniff ensuring PHP files use the correct file header</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12726">PHPBB3-12726</a>] - Add Code Sniffer sniff ensuring PHP files do not contain any unused use statements</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12757">PHPBB3-12757</a>] - Add a Code Sniffer ruleset for PHP files of phpBB extensions</li>
</ul>
<a name="v310b3"></a><h3>1.iii. Changes since 3.1.0-b3</h3>
<h4>Bug</h4>
<ul>
@@ -200,7 +393,7 @@
</ul>
<a name="v310b2"></a><h3>1.ii. Changes since 3.1.0-b2</h3>
<a name="v310b2"></a><h3>1.iv. Changes since 3.1.0-b2</h3>
<h4>Bug</h4>
<ul>
@@ -365,7 +558,7 @@
</ul>
<a name="v310b1"></a><h3>1.iii. Changes since 3.1.0-b1</h3>
<a name="v310b1"></a><h3>1.v. Changes since 3.1.0-b1</h3>
<h4>Bug</h4>
<ul>
@@ -433,7 +626,7 @@
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12302">PHPBB3-12302</a>] - Upgrade composer.phar to 1.0.0-alpha8</li>
</ul>
<a name="v310a3"></a><h3>1.iv. Changes since 3.1.0-a3</h3>
<a name="v310a3"></a><h3>1.vi. Changes since 3.1.0-a3</h3>
<h4>Bug</h4>
<ul>
@@ -580,7 +773,7 @@
</ul>
<a name="v310a2"></a><h3>1.v. Changes since 3.1.0-a2</h3>
<a name="v310a2"></a><h3>1.vii. Changes since 3.1.0-a2</h3>
<h4>Bug</h4>
<ul>
@@ -688,7 +881,7 @@
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12147">PHPBB3-12147</a>] - Remove Travis CI notification configuration</li>
</ul>
<a name="v310a1"></a><h3>1.vi. Changes since 3.1.0-a1</h3>
<a name="v310a1"></a><h3>1.viii. Changes since 3.1.0-a1</h3>
<h4>Bug</h4>
<ul>
@@ -764,7 +957,7 @@
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11998">PHPBB3-11998</a>] - Add console / command line client environment </li>
</ul>
<a name="v30x"></a><h3>1.vii. Changes since 3.0.x</h3>
<a name="v30x"></a><h3>1.ix. Changes since 3.0.x</h3>
<h4>Bug</h4>
<ul>
@@ -1445,7 +1638,7 @@
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11913">PHPBB3-11913</a>] - Apply reorganisation of download.phpbb.com to build_announcement.php</li>
</ul>
<a name="v3011"></a><h3>1.viii. Changes since 3.0.11</h3>
<a name="v3011"></a><h3>1.x. Changes since 3.0.11</h3>
<h4>Bug</h4>
<ul>
@@ -1600,7 +1793,7 @@
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11753">PHPBB3-11753</a>] - Upgrade mysql_upgrader.php schema data.</li>
</ul>
<a name="v3010"></a><h3>1.ix. Changes since 3.0.10</h3>
<a name="v3010"></a><h3>1.xi. Changes since 3.0.10</h3>
<h4>Bug</h4>
<ul>
@@ -1725,7 +1918,7 @@
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10909">PHPBB3-10909</a>] - Update Travis Test Configuration: Travis no longer supports PHP 5.3.2</li>
</ul>
<a name="v309"></a><h3>1.x. Changes since 3.0.9</h3>
<a name="v309"></a><h3>1.xii. Changes since 3.0.9</h3>
<h4>Bug</h4>
<ul>
@@ -1861,7 +2054,7 @@
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10480">PHPBB3-10480</a>] - Automate changelog building</li>
</ul>
<a name="v308"></a><h3>1.xi. Changes since 3.0.8</h3>
<a name="v308"></a><h3>1.xiii. Changes since 3.0.8</h3>
<h4> Bug
</h4>
@@ -2229,7 +2422,7 @@
</ul>
<a name="v307-PL1"></a><h3>1.xii. Changes since 3.0.7-PL1</h3>
<a name="v307-PL1"></a><h3>1.xiv. Changes since 3.0.7-PL1</h3>
<h4> Security
</h4>
<ul>
@@ -2687,13 +2880,13 @@
</ul>
<a name="v307"></a><h3>1.xiii. Changes since 3.0.7</h3>
<a name="v307"></a><h3>1.xv. Changes since 3.0.7</h3>
<ul>
<li>[Sec] Do not expose forum content of forums with ACL entries but no actual permission in ATOM Feeds. (Bug #58595)</li>
</ul>
<a name="v306"></a><h3>1.xiv. Changes since 3.0.6</h3>
<a name="v306"></a><h3>1.xvi. Changes since 3.0.6</h3>
<ul>
<li>[Fix] Allow ban reason and length to be selected and copied in ACP and subsilver2 MCP. (Bug #51095)</li>
@@ -2797,7 +2990,7 @@
</ul>
<a name="v305"></a><h3>1.xv. Changes since 3.0.5</h3>
<a name="v305"></a><h3>1.xvii. Changes since 3.0.5</h3>
<ul>
<li>[Fix] Allow whitespaces in avatar gallery names. (Bug #44955)</li>
@@ -3019,7 +3212,7 @@
<li>[Feature] Send anonymous statistical information to phpBB on installation and update (optional).</li>
</ul>
<a name="v304"></a><h3>1.xvi. Changes since 3.0.4</h3>
<a name="v304"></a><h3>1.xviii. Changes since 3.0.4</h3>
<ul>
<li>[Fix] Delete user entry from ban list table upon user deletion (Bug #40015 - Patch by TerraFrost)</li>
@@ -3108,7 +3301,7 @@
<li>[Sec] Only use forum id supplied for posting if global announcement detected. (Reported by nickvergessen)</li>
</ul>
<a name="v303"></a><h3>1.xvii. Changes since 3.0.3</h3>
<a name="v303"></a><h3>1.xix. Changes since 3.0.3</h3>
<ul>
<li>[Fix] Allow mixed-case template directories to be inherited (Bug #36725)</li>
@@ -3140,7 +3333,7 @@
<li>[Sec] Ask for forum password if post within passworded forum quoted in private message. (Reported by nickvergessen)</li>
</ul>
<a name="v302"></a><h3>1.xviii. Changes since 3.0.2</h3>
<a name="v302"></a><h3>1.xx. Changes since 3.0.2</h3>
<ul>
<li>[Fix] Correctly set topic starter if first post in topic removed (Bug #30575 - Patch by blueray2048)</li>
@@ -3239,7 +3432,7 @@
<li>[Sec Precaution] Stricter validation of the HTTP_HOST header (Thanks to Techie-Micheal et al for pointing out possible issues in derived code)</li>
</ul>
<a name="v301"></a><h3>1.xix. Changes since 3.0.1</h3>
<a name="v301"></a><h3>1.xxi. Changes since 3.0.1</h3>
<ul>
<li>[Fix] Ability to set permissions on non-mysql dbms (Bug #24955)</li>
@@ -3287,7 +3480,7 @@
<li>[Sec] Only allow urls gone through redirect() being used within login_box(). (thanks nookieman)</li>
</ul>
<a name="v300"></a><h3>1.xx. Changes since 3.0.0</h3>
<a name="v300"></a><h3>1.xxii. Changes since 3.0.0</h3>
<ul>
<li>[Change] Validate birthdays (Bug #15004)</li>
@@ -3358,7 +3551,7 @@
<li>[Fix] Find and display colliding usernames correctly when converting from one database to another (Bug #23925)</li>
</ul>
<a name="v30rc8"></a><h3>1.xxi. Changes since 3.0.RC8</h3>
<a name="v30rc8"></a><h3>1.xxiii. Changes since 3.0.RC8</h3>
<ul>
<li>[Fix] Cleaned usernames contain only single spaces, so &quot;a_name&quot; and &quot;a__name&quot; are treated as the same name (Bug #15634)</li>
@@ -3367,7 +3560,7 @@
<li>[Fix] Call garbage_collection() within database updater to correctly close connections (affects Oracle for example)</li>
</ul>
<a name="v30rc7"></a><h3>1.xxii. Changes since 3.0.RC7</h3>
<a name="v30rc7"></a><h3>1.xxiv. Changes since 3.0.RC7</h3>
<ul>
<li>[Fix] Fixed MSSQL related bug in the update system</li>
@@ -3402,7 +3595,7 @@
<li>[Fix] No duplication of active topics (Bug #15474)</li>
</ul>
<a name="v30rc6"></a><h3>1.xxiii. Changes since 3.0.RC6</h3>
<a name="v30rc6"></a><h3>1.xxv. Changes since 3.0.RC6</h3>
<ul>
<li>[Fix] Submitting language changes using acp_language (Bug #14736)</li>
@@ -3412,7 +3605,7 @@
<li>[Fix] Able to request new password (Bug #14743)</li>
</ul>
<a name="v30rc5"></a><h3>1.xxiv. Changes since 3.0.RC5</h3>
<a name="v30rc5"></a><h3>1.xxvi. Changes since 3.0.RC5</h3>
<ul>
<li>[Feature] Removing constant PHPBB_EMBEDDED in favor of using an exit_handler(); the constant was meant to achive this more or less.</li>
@@ -3475,7 +3668,7 @@
<li>[Sec] New password hashing mechanism for storing passwords (#i42)</li>
</ul>
<a name="v30rc4"></a><h3>1.xxv. Changes since 3.0.RC4</h3>
<a name="v30rc4"></a><h3>1.xxvii. Changes since 3.0.RC4</h3>
<ul>
<li>[Fix] MySQL, PostgreSQL and SQLite related database fixes (Bug #13862)</li>
@@ -3526,7 +3719,7 @@
<li>[Fix] odbc_autocommit causing existing result sets to be dropped (Bug #14182)</li>
</ul>
<a name="v30rc3"></a><h3>1.xxvi. Changes since 3.0.RC3</h3>
<a name="v30rc3"></a><h3>1.xxviii. Changes since 3.0.RC3</h3>
<ul>
<li>[Fix] Fixing some subsilver2 and prosilver style issues</li>
@@ -3635,7 +3828,7 @@
</ul>
<a name="v30rc2"></a><h3>1.xxvii. Changes since 3.0.RC2</h3>
<a name="v30rc2"></a><h3>1.xxix. Changes since 3.0.RC2</h3>
<ul>
<li>[Fix] Re-allow searching within the memberlist</li>
@@ -3681,7 +3874,7 @@
</ul>
<a name="v30rc1"></a><h3>1.xxviii. Changes since 3.0.RC1</h3>
<a name="v30rc1"></a><h3>1.xxx. Changes since 3.0.RC1</h3>
<ul>
<li>[Fix] (X)HTML issues within the templates (Bug #11255, #11255)</li>

View File

@@ -3,7 +3,7 @@
* phpBB © Copyright phpBB Limited 2003-2014
* http://www.phpbb.com
*
* phpBB is free software. You can redistribute it and/or modify it
* phpBB is free software. You can redistribute it and/or modify it
* under the terms of the GNU General Public License, version 2 (GPL-2.0)
* as published by the Free Software Foundation.
*
@@ -25,9 +25,9 @@ phpBB Lead Developer: naderman (Nils Adermann)
phpBB Developers: bantu (Andreas Fischer)
dhruv.goel92 (Dhruv Goel)
EXreaction (Nathan Guse)
imkingdavid (David King)
marc1706 (Marc Alexander)
nickvergessen (Joas Schilling)
nicofuma (Tristan Darricau)
prototech (Cesar Gallegos)
For a list of phpBB Team members, please see:
@@ -55,6 +55,7 @@ phpBB Developers: A_Jelly_Doughnut (Josh Woody) [01/2010 - 11/2010]
dhn (Dominik Dröscher) [05/2007 - 01/2011]
GrahamJE (Graham Eames) [09/2005 - 11/2006]
igorw (Igor Wiedler) [08/2010 - 02/2013]
imkingdavid (David King) [11/2012 - 06/2014]
kellanved (Henry Sudhof) [04/2007 - 03/2011]
Oleg (Oleg Pudeyev) [01/2011 - 05/2013]
rxu (Ruslan Uzdenov) [04/2010 - 12/2012]
@@ -63,7 +64,7 @@ phpBB Developers: A_Jelly_Doughnut (Josh Woody) [01/2010 - 11/2010]
Vic D'Elfant (Vic D'Elfant) [04/2007 - 04/2009]
Major contributions by: leviatan21 (Gabriel Vazquez)
Neothermic (Ashley Pinner)
NeoThermic (Ashley Pinner)
Raimon (Raimon Meuldijk)
Xore (Robert Hetzler)

View File

@@ -136,7 +136,6 @@
<li>PostgreSQL 8.3+</li>
<li>SQLite 2.8.2+</li>
<li>SQLite 3.6.15+</li>
<li>Firebird 2.1+</li>
<li>MS SQL Server 2000 or above (directly or via ODBC or the native adapter)</li>
<li>Oracle</li>
</ul>

View File

@@ -323,7 +323,7 @@
<p>Please remember that running any application on a development (unstable, e.g. a beta release) version of PHP can lead to strange/unexpected results which may appear to be bugs in the application. Therefore, we recommend you upgrade to the newest stable version of PHP before running phpBB3. If you are running a development version of PHP please check any bugs you find on a system running a stable release before submitting.</p>
<p>This board has been developed and tested under Linux and Windows (amongst others) running Apache using MySQL 3.23, 4.x, 5.x, MariaDB 5.x, MSSQL Server 2000, PostgreSQL 8.x, Oracle 8, SQLite 2 and Firebird. Versions of PHP used range from 5.3.x to 5.4.x without problem.</p>
<p>This board has been developed and tested under Linux and Windows (amongst others) running Apache using MySQL 3.23, 4.x, 5.x, MariaDB 5.x, MSSQL Server 2000, PostgreSQL 8.x, Oracle 8, SQLite 2 and SQLite 3. Versions of PHP used range from 5.3.x to 5.4.x without problem.</p>
<a name="phpsec"></a><h3>7.i. Notice on PHP security issues</h3>

View File

@@ -127,7 +127,7 @@
*
* This file is part of the phpBB Forum Software package.
*
* @copyright (c) phpBB Limited <https://www.phpbb.com>
* @copyright (c) phpBB Limited &lt;https://www.phpbb.com&gt;
* @license GNU General Public License, version 2 (GPL-2.0)
*
* For full copyright and license information, please see
@@ -736,7 +736,7 @@ static private function f()
<a name="sql"></a><h3>2.iii. SQL/SQL Layout</h3>
<h4>Common SQL Guidelines: </h4>
<p>All SQL should be cross-DB compatible, if DB specific SQL is used alternatives must be provided which work on all supported DB's (MySQL3/4/5, MSSQL (7.0 and 2000), PostgreSQL (8.3+), Firebird, SQLite, Oracle8, ODBC (generalised if possible)).</p>
<p>All SQL should be cross-DB compatible, if DB specific SQL is used alternatives must be provided which work on all supported DB's (MySQL3/4/5, MSSQL (7.0 and 2000), PostgreSQL (8.3+), SQLite, Oracle8, ODBC (generalised if possible)).</p>
<p>All SQL commands should utilise the DataBase Abstraction Layer (DBAL)</p>
<h4>SQL code layout:</h4>

View File

@@ -64,6 +64,20 @@ acp_overall_header_head_append
* Since: 3.1.0-a1
* Purpose: Add assets within the `<head>` tags in the ACP
acp_posting_buttons_after
===
* Locations:
+ adm/style/acp_posting_buttons.html
* Since: 3.1.0-b4
* Purpose: Add content after BBCode posting buttons in the ACP
acp_posting_buttons_before
===
* Locations:
+ adm/style/acp_posting_buttons.html
* Since: 3.1.0-b4
* Purpose: Add content before BBCode posting buttons in the ACP
acp_simple_footer_after
===
* Location: adm/style/simple_footer.html
@@ -136,20 +150,6 @@ acp_users_prefs_view_prepend
* Since: 3.1.0-b3
* Purpose: Add user options fieldset to the top of ACP users view prefs settings
acp_users_signature_editor_buttons_after
===
* Locations:
+ adm/style/acp_users_signature.html
* Since: 3.1.0-a3
* Purpose: Add content after BBCode posting buttons in the ACP user signature
acp_users_signature_editor_buttons_before
===
* Locations:
+ adm/style/acp_users_signature.html
* Since: 3.1.0-a3
* Purpose: Add content before BBCode posting buttons in the ACP user signature
forumlist_body_category_header_after
===
* Locations:
@@ -246,21 +246,21 @@ index_body_block_stats_prepend
* Since: 3.1.0-b3
* Purpose: Prepend content to the statistics list on the Board index
index_body_linklist_after
index_body_markforums_after
===
* Locations:
+ styles/prosilver/template/index_body.html
+ styles/subsilver2/template/index_body.html
* Since: 3.1.0-a3
* Purpose: Add content after the linklist above the forum list on Board index
* Since: 3.1.0-RC2
* Purpose: Add content after the mark-read link above the forum list on Board index
index_body_linklist_before
index_body_markforums_before
===
* Locations:
+ styles/prosilver/template/index_body.html
+ styles/subsilver2/template/index_body.html
* Since: 3.1.0-a3
* Purpose: Add content before the linklist above the forum list on Board index
* Since: 3.1.0-RC2
* Purpose: Add content before the mark-read link above the forum list on Board index
index_body_stat_blocks_after
===
@@ -344,6 +344,55 @@ memberlist_view_user_statistics_before
* Since: 3.1.0-a1
* Purpose: Add entries before the user statistics part of any user profile
navbar_header_logged_out_content
===
* Locations:
+ styles/prosilver/template/navbar_header.html
* Since: 3.1.0-RC1
* Purpose: Add text and HTML in place of the username when not logged in.
navbar_header_profile_list_after
===
* Locations:
+ styles/prosilver/template/navbar_header.html
* Since: 3.1.0-RC2
* Purpose: Add links to the bottom of the profile drop-down menu in the header navbar
navbar_header_profile_list_before
===
* Locations:
+ styles/prosilver/template/navbar_header.html
* Since: 3.1.0-RC2
* Purpose: Add links to the top of the profile drop-down menu in the header navbar
navbar_header_quick_links_after
===
* Locations:
+ styles/prosilver/template/navbar_header.html
* Since: 3.1.0-RC2
* Purpose: Add links to the bottom of the quick-links drop-down menu in the header
navbar_header_quick_links_before
===
* Locations:
+ styles/prosilver/template/navbar_header.html
* Since: 3.1.0-RC2
* Purpose: Add links to the top of the quick-links drop-down menu in the header
navbar_header_username_append
===
* Locations:
+ styles/prosilver/template/navbar_header.html
* Since: 3.1.0-RC1
* Purpose: Add text and HTMl after the username shown in the navbar.
navbar_header_username_prepend
===
* Locations:
+ styles/prosilver/template/navbar_header.html
* Since: 3.1.0-RC1
* Purpose: Add text and HTMl before the username shown in the navbar.
overall_footer_after
===
* Locations:
@@ -767,7 +816,7 @@ ucp_prefs_view_radio_buttons_prepend
+ styles/prosilver/template/ucp_prefs_view.html
+ styles/subsilver2/template/ucp_prefs_view.html
* Since: 3.1.0-a1
* Purpose: Add options to the top of the radio buttons block of the Edit
* Purpose: Add options to the top of the radio buttons block of the Edit
Display Options screen
ucp_prefs_view_radio_buttons_append
@@ -776,7 +825,7 @@ ucp_prefs_view_radio_buttons_append
+ styles/prosilver/template/ucp_prefs_view.html
+ styles/subsilver2/template/ucp_prefs_view.html
* Since: 3.1.0-a1
* Purpose: Add options to the bottom of the radio buttons block of the Edit
* Purpose: Add options to the bottom of the radio buttons block of the Edit
Display Options screen
ucp_prefs_view_select_menu_prepend
@@ -785,7 +834,7 @@ ucp_prefs_view_select_menu_prepend
+ styles/prosilver/template/ucp_prefs_view.html
+ styles/subsilver2/template/ucp_prefs_view.html
* Since: 3.1.0-a1
* Purpose: Add options to the top of the drop-down lists block of the Edit
* Purpose: Add options to the top of the drop-down lists block of the Edit
Display Options screen
ucp_prefs_view_select_menu_append
@@ -794,9 +843,49 @@ ucp_prefs_view_select_menu_append
+ styles/prosilver/template/ucp_prefs_view.html
+ styles/subsilver2/template/ucp_prefs_view.html
* Since: 3.1.0-a1
* Purpose: Add options to the bottom of the drop-down lists block of the Edit
* Purpose: Add options to the bottom of the drop-down lists block of the Edit
Display Options screen
ucp_register_credentials_before
===
* Locations:
+ styles/prosilver/template/ucp_register.html
+ styles/subsilver2/template/ucp_register.html
* Since: 3.1.0-b5
* Purpose: Add options in registration page fieldset - before first field.
ucp_register_profile_fields_after
===
* Locations:
+ styles/prosilver/template/ucp_register.html
+ styles/subsilver2/template/ucp_register.html
* Since: 3.1.0-b5
* Purpose: Add options in registration page fieldset - after last field.
ucp_register_credentials_after
===
* Locations:
+ styles/prosilver/template/ucp_register.html
+ styles/subsilver2/template/ucp_register.html
* Since: 3.1.0-b5
* Purpose: Add options in registration page fieldset - after password field.
ucp_register_options_before
===
* Locations:
+ styles/prosilver/template/ucp_register.html
+ styles/subsilver2/template/ucp_register.html
* Since: 3.1.0-b5
* Purpose: Add options in registration page fieldset - before language selector.
ucp_register_profile_fields_before
===
* Locations:
+ styles/prosilver/template/ucp_register.html
+ styles/subsilver2/template/ucp_register.html
* Since: 3.1.0-b5
* Purpose: Add options in registration page fieldset - before profile fields.
ucp_friend_list_before
===
* Locations:

View File

@@ -38,29 +38,31 @@ else if (isset($_SERVER['HTTP_USER_AGENT']) && strpos($_SERVER['HTTP_USER_AGENT'
if (isset($_GET['avatar']))
{
require($phpbb_root_path . 'includes/startup.' . $phpEx);
require($phpbb_root_path . 'config.' . $phpEx);
require($phpbb_root_path . 'phpbb/class_loader.' . $phpEx);
$phpbb_class_loader = new \phpbb\class_loader('phpbb\\', "{$phpbb_root_path}phpbb/", $phpEx);
$phpbb_class_loader->register();
$phpbb_config_php_file = new \phpbb\config_php_file($phpbb_root_path, $phpEx);
extract($phpbb_config_php_file->get_all());
if (!defined('PHPBB_INSTALLED') || empty($dbms) || empty($acm_type))
{
exit;
}
require($phpbb_root_path . 'phpbb/class_loader.' . $phpEx);
require($phpbb_root_path . 'includes/constants.' . $phpEx);
require($phpbb_root_path . 'includes/functions.' . $phpEx);
require($phpbb_root_path . 'includes/functions_container.' . $phpEx);
require($phpbb_root_path . 'includes/functions_download' . '.' . $phpEx);
require($phpbb_root_path . 'includes/utf/utf_tools.' . $phpEx);
// Setup class loader first
$phpbb_class_loader = new \phpbb\class_loader('phpbb\\', "{$phpbb_root_path}phpbb/", $phpEx);
$phpbb_class_loader->register();
$phpbb_class_loader_ext = new \phpbb\class_loader('\\', "{$phpbb_root_path}ext/", $phpEx);
$phpbb_class_loader_ext->register();
// Set up container
$phpbb_container = phpbb_create_default_container($phpbb_root_path, $phpEx);
$phpbb_container_builder = new \phpbb\di\container_builder($phpbb_config_php_file, $phpbb_root_path, $phpEx);
$phpbb_container = $phpbb_container_builder->get_container();
$phpbb_class_loader->set_cache($phpbb_container->get('cache.driver'));
$phpbb_class_loader_ext->set_cache($phpbb_container->get('cache.driver'));
@@ -73,11 +75,6 @@ if (isset($_GET['avatar']))
$db = $phpbb_container->get('dbal.conn');
$phpbb_log = $phpbb_container->get('log');
// Connect to DB
if (!@$db->sql_connect($dbhost, $dbuser, $dbpasswd, $dbname, $dbport, false, false))
{
exit;
}
unset($dbpasswd);
request_var('', 0, false, false, $request);

View File

@@ -410,7 +410,7 @@ class acp_board
'ip_check' => array('lang' => 'IP_VALID', 'validate' => 'int', 'type' => 'custom', 'method' => 'select_ip_check', 'explain' => true),
'browser_check' => array('lang' => 'BROWSER_VALID', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'forwarded_for_check' => array('lang' => 'FORWARDED_FOR_VALID', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'referer_validation' => array('lang' => 'REFERER_VALID', 'validate' => 'int:0:3','type' => 'custom', 'method' => 'select_ref_check', 'explain' => true),
'referer_validation' => array('lang' => 'REFERRER_VALID', 'validate' => 'int:0:3','type' => 'custom', 'method' => 'select_ref_check', 'explain' => true),
'check_dnsbl' => array('lang' => 'CHECK_DNSBL', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'email_check_mx' => array('lang' => 'EMAIL_CHECK_MX', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'max_pass_chars' => array('lang' => 'PASSWORD_LENGTH', 'validate' => 'int:8:255', 'type' => false, 'method' => false, 'explain' => false,),

View File

@@ -0,0 +1,134 @@
<?php
/**
*
* This file is part of the phpBB Forum Software package.
*
* @copyright (c) phpBB Limited <https://www.phpbb.com>
* @license GNU General Public License, version 2 (GPL-2.0)
*
* For full copyright and license information, please see
* the docs/CREDITS.txt file.
*
*/
/**
* @ignore
*/
if (!defined('IN_PHPBB'))
{
exit;
}
/**
* @package acp
*/
class acp_contact
{
public $u_action;
public function main($id, $mode)
{
global $user, $request, $template;
global $config, $phpbb_root_path, $phpEx, $phpbb_container;
$user->add_lang(array('acp/board', 'posting'));
$this->tpl_name = 'acp_contact';
$this->page_title = 'ACP_CONTACT_SETTINGS';
$form_name = 'acp_contact';
add_form_key($form_name);
$error = '';
if (!function_exists('display_custom_bbcodes'))
{
include($phpbb_root_path . 'includes/functions_display.' . $phpEx);
}
if (!class_exists('parse_message'))
{
include($phpbb_root_path . 'includes/message_parser.' . $phpEx);
}
$config_text = $phpbb_container->get('config_text');
$contact_admin_data = $config_text->get_array(array(
'contact_admin_info',
'contact_admin_info_uid',
'contact_admin_info_bitfield',
'contact_admin_info_flags',
));
$contact_admin_info = $contact_admin_data['contact_admin_info'];
$contact_admin_info_uid = $contact_admin_data['contact_admin_info_uid'];
$contact_admin_info_bitfield= $contact_admin_data['contact_admin_info_bitfield'];
$contact_admin_info_flags = $contact_admin_data['contact_admin_info_flags'];
if ($request->is_set_post('submit') || $request->is_set_post('preview'))
{
if (!check_form_key($form_name))
{
$error = $user->lang('FORM_INVALID');
}
$contact_admin_info = $request->variable('contact_admin_info', '', true);
generate_text_for_storage(
$contact_admin_info,
$contact_admin_info_uid,
$contact_admin_info_bitfield,
$contact_admin_info_flags,
!$request->variable('disable_bbcode', false),
!$request->variable('disable_magic_url', false),
!$request->variable('disable_smilies', false)
);
if (empty($error) && $request->is_set_post('submit'))
{
$config->set('contact_admin_form_enable', $request->variable('contact_admin_form_enable', false));
$config_text->set_array(array(
'contact_admin_info' => $contact_admin_info,
'contact_admin_info_uid' => $contact_admin_info_uid,
'contact_admin_info_bitfield' => $contact_admin_info_bitfield,
'contact_admin_info_flags' => $contact_admin_info_flags,
));
trigger_error($user->lang['CONTACT_US_INFO_UPDATED'] . adm_back_link($this->u_action));
}
}
$contact_admin_info_preview = '';
if ($request->is_set_post('preview'))
{
$contact_admin_info_preview = generate_text_for_display($contact_admin_info, $contact_admin_info_uid, $contact_admin_info_bitfield, $contact_admin_info_flags);
}
$contact_admin_edit = generate_text_for_edit($contact_admin_info, $contact_admin_info_uid, $contact_admin_info_flags);
$template->assign_vars(array(
'ERRORS' => $error,
'CONTACT_ENABLED' => $config['contact_admin_form_enable'],
'CONTACT_US_INFO' => $contact_admin_edit['text'],
'CONTACT_US_INFO_PREVIEW' => $contact_admin_info_preview,
'S_BBCODE_DISABLE_CHECKED' => !$contact_admin_edit['allow_bbcode'],
'S_SMILIES_DISABLE_CHECKED' => !$contact_admin_edit['allow_smilies'],
'S_MAGIC_URL_DISABLE_CHECKED' => !$contact_admin_edit['allow_urls'],
'BBCODE_STATUS' => $user->lang('BBCODE_IS_ON', '<a href="' . append_sid("{$phpbb_root_path}faq.$phpEx", 'mode=bbcode') . '">', '</a>'),
'SMILIES_STATUS' => $user->lang['SMILIES_ARE_ON'],
'IMG_STATUS' => $user->lang['IMAGES_ARE_ON'],
'FLASH_STATUS' => $user->lang['FLASH_IS_ON'],
'URL_STATUS' => $user->lang['URL_IS_ON'],
'S_BBCODE_ALLOWED' => true,
'S_SMILIES_ALLOWED' => true,
'S_BBCODE_IMG' => true,
'S_BBCODE_FLASH' => true,
'S_LINKS_ALLOWED' => true,
));
// Assigning custom bbcodes
display_custom_bbcodes();
}
}

View File

@@ -90,7 +90,7 @@ class acp_database
$time = time();
$filename = 'backup_' . $time . '_' . unique_id();
switch ($db->sql_layer)
switch ($db->get_sql_layer())
{
case 'mysqli':
case 'mysql4':
@@ -119,10 +119,6 @@ class acp_database
case 'mssqlnative':
$extractor = new mssql_extractor($format, $filename, $time, $download, $store);
break;
case 'firebird':
$extractor = new firebird_extractor($format, $filename, $time, $download, $store);
break;
}
$extractor->write_start($table_prefix);
@@ -137,11 +133,10 @@ class acp_database
else
{
// We might wanna empty out all that junk :D
switch ($db->sql_layer)
switch ($db->get_sql_layer())
{
case 'sqlite':
case 'sqlite3':
case 'firebird':
$extractor->flush('DELETE FROM ' . $table_name . ";\n");
break;
@@ -325,7 +320,7 @@ class acp_database
break;
}
switch ($db->sql_layer)
switch ($db->get_sql_layer())
{
case 'mysql':
case 'mysql4':
@@ -338,20 +333,6 @@ class acp_database
}
break;
case 'firebird':
$delim = ";\n";
while (($sql = $fgetd($fp, $delim, $read, $seek, $eof)) !== false)
{
$query = trim($sql);
if (substr($query, 0, 8) === 'SET TERM')
{
$delim = $query[9] . "\n";
continue;
}
$db->sql_query($query);
}
break;
case 'postgres':
$delim = ";\n";
while (($sql = $fgetd($fp, $delim, $read, $seek, $eof)) !== false)
@@ -384,10 +365,10 @@ class acp_database
{
trigger_error($user->lang['RESTORE_FAILURE'] . adm_back_link($this->u_action), E_USER_WARNING);
}
pg_put_line($db->db_connect_id, $sub . "\n");
pg_put_line($db->get_db_connect_id(), $sub . "\n");
}
pg_put_line($db->db_connect_id, "\\.\n");
pg_end_copy($db->db_connect_id);
pg_put_line($db->get_db_connect_id(), "\\.\n");
pg_end_copy($db->get_db_connect_id());
}
}
break;
@@ -642,7 +623,7 @@ class mysql_extractor extends base_extractor
if ($new_extract === null)
{
if ($db->sql_layer === 'mysqli' || version_compare($db->sql_server_info(true), '3.23.20', '>='))
if ($db->get_sql_layer() === 'mysqli' || version_compare($db->sql_server_info(true), '3.23.20', '>='))
{
$new_extract = true;
}
@@ -665,7 +646,7 @@ class mysql_extractor extends base_extractor
function write_data($table_name)
{
global $db;
if ($db->sql_layer === 'mysqli')
if ($db->get_sql_layer() === 'mysqli')
{
$this->write_data_mysqli($table_name);
}
@@ -680,7 +661,7 @@ class mysql_extractor extends base_extractor
global $db;
$sql = "SELECT *
FROM $table_name";
$result = mysqli_query($db->db_connect_id, $sql, MYSQLI_USE_RESULT);
$result = mysqli_query($db->get_db_connect_id(), $sql, MYSQLI_USE_RESULT);
if ($result != false)
{
$fields_cnt = mysqli_num_fields($result);
@@ -759,7 +740,7 @@ class mysql_extractor extends base_extractor
global $db;
$sql = "SELECT *
FROM $table_name";
$result = mysql_unbuffered_query($sql, $db->db_connect_id);
$result = mysql_unbuffered_query($sql, $db->get_db_connect_id());
if ($result != false)
{
@@ -1012,11 +993,11 @@ class sqlite_extractor extends base_extractor
{
global $db;
$col_types = sqlite_fetch_column_types($db->db_connect_id, $table_name);
$col_types = sqlite_fetch_column_types($db->get_db_connect_id(), $table_name);
$sql = "SELECT *
FROM $table_name";
$result = sqlite_unbuffered_query($db->db_connect_id, $sql);
$result = sqlite_unbuffered_query($db->get_db_connect_id(), $sql);
$rows = sqlite_fetch_all($result, SQLITE_ASSOC);
$sql_insert = 'INSERT INTO ' . $table_name . ' (' . implode(', ', array_keys($col_types)) . ') VALUES (';
foreach ($rows as $row)
@@ -1572,11 +1553,11 @@ class mssql_extractor extends base_extractor
{
global $db;
if ($db->sql_layer === 'mssql')
if ($db->get_sql_layer() === 'mssql')
{
$this->write_data_mssql($table_name);
}
else if($db->sql_layer === 'mssqlnative')
else if($db->get_sql_layer() === 'mssqlnative')
{
$this->write_data_mssqlnative($table_name);
}
@@ -2110,235 +2091,6 @@ class oracle_extractor extends base_extractor
}
}
class firebird_extractor extends base_extractor
{
function write_start($prefix)
{
$sql_data = "--\n";
$sql_data .= "-- phpBB Backup Script\n";
$sql_data .= "-- Dump of tables for $prefix\n";
$sql_data .= "-- DATE : " . gmdate("d-m-Y H:i:s", $this->time) . " GMT\n";
$sql_data .= "--\n";
$this->flush($sql_data);
}
function write_data($table_name)
{
global $db;
$ary_type = $ary_name = array();
// Grab all of the data from current table.
$sql = "SELECT *
FROM $table_name";
$result = $db->sql_query($sql);
$i_num_fields = ibase_num_fields($result);
for ($i = 0; $i < $i_num_fields; $i++)
{
$info = ibase_field_info($result, $i);
$ary_type[$i] = $info['type'];
$ary_name[$i] = $info['name'];
}
while ($row = $db->sql_fetchrow($result))
{
$schema_vals = $schema_fields = array();
// Build the SQL statement to recreate the data.
for ($i = 0; $i < $i_num_fields; $i++)
{
$str_val = $row[strtolower($ary_name[$i])];
if (preg_match('#char|text|bool|varbinary|blob#i', $ary_type[$i]))
{
$str_quote = '';
$str_empty = "''";
$str_val = sanitize_data_generic(str_replace("'", "''", $str_val));
}
else if (preg_match('#date|timestamp#i', $ary_type[$i]))
{
if (empty($str_val))
{
$str_quote = '';
}
else
{
$str_quote = "'";
}
}
else
{
$str_quote = '';
$str_empty = 'NULL';
}
if (empty($str_val) && $str_val !== '0')
{
$str_val = $str_empty;
}
$schema_vals[$i] = $str_quote . $str_val . $str_quote;
$schema_fields[$i] = '"' . $ary_name[$i] . '"';
}
// Take the ordered fields and their associated data and build it
// into a valid sql statement to recreate that field in the data.
$sql_data = "INSERT INTO $table_name (" . implode(', ', $schema_fields) . ') VALUES (' . implode(', ', $schema_vals) . ");\n";
$this->flush($sql_data);
}
$db->sql_freeresult($result);
}
function write_table($table_name)
{
global $db;
$sql_data = '-- Table: ' . $table_name . "\n";
$sql_data .= "DROP TABLE $table_name;\n";
$data_types = array(7 => 'SMALLINT', 8 => 'INTEGER', 10 => 'FLOAT', 12 => 'DATE', 13 => 'TIME', 14 => 'CHARACTER', 27 => 'DOUBLE PRECISION', 35 => 'TIMESTAMP', 37 => 'VARCHAR', 40 => 'CSTRING', 261 => 'BLOB', 701 => 'DECIMAL', 702 => 'NUMERIC');
$sql_data .= "\nCREATE TABLE $table_name (\n";
$sql = 'SELECT DISTINCT R.RDB$FIELD_NAME as FNAME, R.RDB$NULL_FLAG as NFLAG, R.RDB$DEFAULT_SOURCE as DSOURCE, F.RDB$FIELD_TYPE as FTYPE, F.RDB$FIELD_SUB_TYPE as STYPE, F.RDB$FIELD_LENGTH as FLEN
FROM RDB$RELATION_FIELDS R
JOIN RDB$FIELDS F ON R.RDB$FIELD_SOURCE=F.RDB$FIELD_NAME
LEFT JOIN RDB$FIELD_DIMENSIONS D ON R.RDB$FIELD_SOURCE = D.RDB$FIELD_NAME
WHERE F.RDB$SYSTEM_FLAG = 0
AND R.RDB$RELATION_NAME = \''. $table_name . '\'
ORDER BY R.RDB$FIELD_POSITION';
$result = $db->sql_query($sql);
$rows = array();
while ($row = $db->sql_fetchrow($result))
{
$line = "\t" . '"' . $row['fname'] . '" ' . $data_types[$row['ftype']];
if ($row['ftype'] == 261 && $row['stype'] == 1)
{
$line .= ' SUB_TYPE TEXT';
}
if ($row['ftype'] == 37 || $row['ftype'] == 14)
{
$line .= ' (' . $row['flen'] . ')';
}
if (!empty($row['dsource']))
{
$line .= ' ' . $row['dsource'];
}
if (!empty($row['nflag']))
{
$line .= ' NOT NULL';
}
$rows[] = $line;
}
$db->sql_freeresult($result);
$sql_data .= implode(",\n", $rows);
$sql_data .= "\n);\n";
$keys = array();
$sql = 'SELECT I.RDB$FIELD_NAME as NAME
FROM RDB$RELATION_CONSTRAINTS RC, RDB$INDEX_SEGMENTS I, RDB$INDICES IDX
WHERE (I.RDB$INDEX_NAME = RC.RDB$INDEX_NAME)
AND (IDX.RDB$INDEX_NAME = RC.RDB$INDEX_NAME)
AND (RC.RDB$RELATION_NAME = \''. $table_name . '\')
ORDER BY I.RDB$FIELD_POSITION';
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
$keys[] = $row['name'];
}
if (sizeof($keys))
{
$sql_data .= "\nALTER TABLE $table_name ADD PRIMARY KEY (" . implode(', ', $keys) . ');';
}
$db->sql_freeresult($result);
$sql = 'SELECT I.RDB$INDEX_NAME as INAME, I.RDB$UNIQUE_FLAG as UFLAG, S.RDB$FIELD_NAME as FNAME
FROM RDB$INDICES I JOIN RDB$INDEX_SEGMENTS S ON S.RDB$INDEX_NAME=I.RDB$INDEX_NAME
WHERE (I.RDB$SYSTEM_FLAG IS NULL OR I.RDB$SYSTEM_FLAG=0)
AND I.RDB$FOREIGN_KEY IS NULL
AND I.RDB$RELATION_NAME = \''. $table_name . '\'
AND I.RDB$INDEX_NAME NOT STARTING WITH \'RDB$\'
ORDER BY S.RDB$FIELD_POSITION';
$result = $db->sql_query($sql);
$index = array();
while ($row = $db->sql_fetchrow($result))
{
$index[$row['iname']]['unique'] = !empty($row['uflag']);
$index[$row['iname']]['values'][] = $row['fname'];
}
foreach ($index as $index_name => $data)
{
$sql_data .= "\nCREATE ";
if ($data['unique'])
{
$sql_data .= 'UNIQUE ';
}
$sql_data .= "INDEX $index_name ON $table_name(" . implode(', ', $data['values']) . ");";
}
$sql_data .= "\n";
$db->sql_freeresult($result);
$sql = 'SELECT D1.RDB$DEPENDENT_NAME as DNAME, D1.RDB$FIELD_NAME as FNAME, D1.RDB$DEPENDENT_TYPE, R1.RDB$RELATION_NAME
FROM RDB$DEPENDENCIES D1
LEFT JOIN RDB$RELATIONS R1 ON ((D1.RDB$DEPENDENT_NAME = R1.RDB$RELATION_NAME) AND (NOT (R1.RDB$VIEW_BLR IS NULL)))
WHERE (D1.RDB$DEPENDED_ON_TYPE = 0)
AND (D1.RDB$DEPENDENT_TYPE <> 3)
AND (D1.RDB$DEPENDED_ON_NAME = \'' . $table_name . '\')
UNION SELECT DISTINCT F2.RDB$RELATION_NAME, D2.RDB$FIELD_NAME, D2.RDB$DEPENDENT_TYPE, R2.RDB$RELATION_NAME FROM RDB$DEPENDENCIES D2, RDB$RELATION_FIELDS F2
LEFT JOIN RDB$RELATIONS R2 ON ((F2.RDB$RELATION_NAME = R2.RDB$RELATION_NAME) AND (NOT (R2.RDB$VIEW_BLR IS NULL)))
WHERE (D2.RDB$DEPENDENT_TYPE = 3)
AND (D2.RDB$DEPENDENT_NAME = F2.RDB$FIELD_SOURCE)
AND (D2.RDB$DEPENDED_ON_NAME = \'' . $table_name . '\')
ORDER BY 1, 2';
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
$sql = 'SELECT T1.RDB$DEPENDED_ON_NAME as GEN, T1.RDB$FIELD_NAME, T1.RDB$DEPENDED_ON_TYPE
FROM RDB$DEPENDENCIES T1
WHERE (T1.RDB$DEPENDENT_NAME = \'' . $row['dname'] . '\')
AND (T1.RDB$DEPENDENT_TYPE = 2 AND T1.RDB$DEPENDED_ON_TYPE = 14)
UNION ALL SELECT DISTINCT D.RDB$DEPENDED_ON_NAME, D.RDB$FIELD_NAME, D.RDB$DEPENDED_ON_TYPE
FROM RDB$DEPENDENCIES D, RDB$RELATION_FIELDS F
WHERE (D.RDB$DEPENDENT_TYPE = 3)
AND (D.RDB$DEPENDENT_NAME = F.RDB$FIELD_SOURCE)
AND (F.RDB$RELATION_NAME = \'' . $row['dname'] . '\')
ORDER BY 1,2';
$result2 = $db->sql_query($sql);
$row2 = $db->sql_fetchrow($result2);
$db->sql_freeresult($result2);
$gen_name = $row2['gen'];
$sql_data .= "\nDROP GENERATOR " . $gen_name . ";";
$sql_data .= "\nSET TERM ^ ;";
$sql_data .= "\nCREATE GENERATOR " . $gen_name . "^";
$sql_data .= "\nSET GENERATOR " . $gen_name . " TO 0^\n";
$sql_data .= "\nCREATE TRIGGER {$row['dname']} FOR $table_name";
$sql_data .= "\nBEFORE INSERT\nAS\nBEGIN";
$sql_data .= "\n NEW.{$row['fname']} = GEN_ID(" . $gen_name . ", 1);";
$sql_data .= "\nEND^\n";
$sql_data .= "\nSET TERM ; ^\n";
}
$this->flush($sql_data);
$db->sql_freeresult($result);
}
}
// get how much space we allow for a chunk of data, very similar to phpMyAdmin's way of doing things ;-) (hey, we only do this for MySQL anyway :P)
function get_usable_memory()
{

View File

@@ -201,7 +201,7 @@ class acp_email
$messenger->set_mail_priority($priority);
$messenger->assign_vars(array(
'CONTACT_EMAIL' => $config['board_contact'],
'CONTACT_EMAIL' => phpbb_get_board_contact($config, $phpEx),
'MESSAGE' => htmlspecialchars_decode($message))
);

View File

@@ -70,7 +70,7 @@ class acp_extensions
// If they've specified an extension, let's load the metadata manager and validate it.
if ($ext_name)
{
$md_manager = new \phpbb\extension\metadata_manager($ext_name, $config, $phpbb_extension_manager, $template, $phpbb_root_path);
$md_manager = new \phpbb\extension\metadata_manager($ext_name, $config, $phpbb_extension_manager, $template, $user, $phpbb_root_path);
try
{
@@ -137,7 +137,7 @@ class acp_extensions
trigger_error($user->lang['EXTENSION_NOT_AVAILABLE'] . adm_back_link($this->u_action), E_USER_WARNING);
}
if ($phpbb_extension_manager->enabled($ext_name))
if ($phpbb_extension_manager->is_enabled($ext_name))
{
redirect($this->u_action);
}
@@ -162,7 +162,7 @@ class acp_extensions
trigger_error($user->lang['EXTENSION_NOT_AVAILABLE'] . adm_back_link($this->u_action), E_USER_WARNING);
}
if ($phpbb_extension_manager->enabled($ext_name))
if ($phpbb_extension_manager->is_enabled($ext_name))
{
redirect($this->u_action);
}
@@ -194,7 +194,7 @@ class acp_extensions
break;
case 'disable_pre':
if (!$phpbb_extension_manager->enabled($ext_name))
if (!$phpbb_extension_manager->is_enabled($ext_name))
{
redirect($this->u_action);
}
@@ -209,7 +209,7 @@ class acp_extensions
break;
case 'disable':
if (!$phpbb_extension_manager->enabled($ext_name))
if (!$phpbb_extension_manager->is_enabled($ext_name))
{
redirect($this->u_action);
}
@@ -234,7 +234,7 @@ class acp_extensions
break;
case 'delete_data_pre':
if ($phpbb_extension_manager->enabled($ext_name))
if ($phpbb_extension_manager->is_enabled($ext_name))
{
redirect($this->u_action);
}
@@ -248,7 +248,7 @@ class acp_extensions
break;
case 'delete_data':
if ($phpbb_extension_manager->enabled($ext_name))
if ($phpbb_extension_manager->is_enabled($ext_name))
{
redirect($this->u_action);
}
@@ -527,7 +527,7 @@ class acp_extensions
$version_helper = new \phpbb\version_helper($this->cache, $this->config, $this->user);
$version_helper->set_current_version($meta['version']);
$version_helper->set_file_location($version_check ['host'], $version_check ['directory'], $version_check ['filename']);
$version_helper->set_file_location($version_check['host'], $version_check['directory'], $version_check['filename']);
$version_helper->force_stability($this->config['extension_force_unstable'] ? 'unstable' : null);
return $updates = $version_helper->get_suggested_updates($force_update, $force_cache);

View File

@@ -1827,7 +1827,7 @@ class acp_forums
}
$db->sql_freeresult($result);
switch ($db->sql_layer)
switch ($db->get_sql_layer())
{
case 'mysql4':
case 'mysqli':

View File

@@ -27,7 +27,7 @@ class acp_groups
{
global $config, $db, $user, $auth, $template, $cache;
global $phpbb_root_path, $phpbb_admin_path, $phpEx, $table_prefix, $file_uploads;
global $request, $phpbb_container;
global $request, $phpbb_container, $phpbb_dispatcher;
$user->add_lang('acp/groups');
$this->tpl_name = 'acp_groups';
@@ -410,6 +410,42 @@ class acp_groups
'colour' => array('hex_colour', true),
);
/**
* Request group data and operate on it
*
* @event core.acp_manage_group_request_data
* @var string action Type of the action: add|edit
* @var int group_id The group id
* @var array group_row Array with new group data
* @var array error Array of errors, if you add errors
* ensure to update the template variables
* S_ERROR and ERROR_MSG to display it
* @var string group_name The group name
* @var string group_desc The group description
* @var int group_type The group type
* @var bool allow_desc_bbcode Allow bbcode in group description: true|false
* @var bool allow_desc_urls Allow urls in group description: true|false
* @var bool allow_desc_smilies Allow smiles in group description: true|false
* @var array submit_ary Array with new group data
* @var array validation_checks Array with validation data
* @since 3.1.0-b5
*/
$vars = array(
'action',
'group_id',
'group_row',
'error',
'group_name',
'group_desc',
'group_type',
'allow_desc_bbcode',
'allow_desc_urls',
'allow_desc_smilies',
'submit_ary',
'validation_checks',
);
extract($phpbb_dispatcher->trigger_event('core.acp_manage_group_request_data', compact($vars)));
if ($validation_error = validate_data($submit_ary, $validation_checks))
{
// Replace "error" string with its real, localised form
@@ -442,6 +478,42 @@ class acp_groups
'skip_auth' => 'int',
);
/**
* Initialise data before we display the add/edit form
*
* @event core.acp_manage_group_initialise_data
* @var string action Type of the action: add|edit
* @var int group_id The group id
* @var array group_row Array with new group data
* @var array error Array of errors, if you add errors
* ensure to update the template variables
* S_ERROR and ERROR_MSG to display it
* @var string group_name The group name
* @var string group_desc The group description
* @var int group_type The group type
* @var bool allow_desc_bbcode Allow bbcode in group description: true|false
* @var bool allow_desc_urls Allow urls in group description: true|false
* @var bool allow_desc_smilies Allow smiles in group description: true|false
* @var array submit_ary Array with new group data
* @var array test_variables Array with variables for test
* @since 3.1.0-b5
*/
$vars = array(
'action',
'group_id',
'group_row',
'error',
'group_name',
'group_desc',
'group_type',
'allow_desc_bbcode',
'allow_desc_urls',
'allow_desc_smilies',
'submit_ary',
'test_variables',
);
extract($phpbb_dispatcher->trigger_event('core.acp_manage_group_initialise_data', compact($vars)));
foreach ($test_variables as $test => $type)
{
if (isset($submit_ary[$test]) && ($action == 'add' || $group_row['group_' . $test] != $submit_ary[$test] || isset($group_attributes['group_avatar']) && strpos($test, 'avatar') === 0 || in_array($test, $set_attributes)))
@@ -664,6 +736,39 @@ class acp_groups
'L_AVATAR_EXPLAIN' => phpbb_avatar_explanation_string(),
));
/**
* Modify group template data before we display the form
*
* @event core.acp_manage_group_display_form
* @var string action Type of the action: add|edit
* @var bool update Do we display the form only
* or did the user press submit
* @var int group_id The group id
* @var array group_row Array with new group data
* @var string group_name The group name
* @var int group_type The group type
* @var array group_desc_data The group description data
* @var string group_rank The group rank
* @var string rank_options The rank options
* @var array error Array of errors, if you add errors
* ensure to update the template variables
* S_ERROR and ERROR_MSG to display it
* @since 3.1.0-b5
*/
$vars = array(
'action',
'update',
'group_id',
'group_row',
'group_desc_data',
'group_name',
'group_type',
'group_rank',
'rank_options',
'error',
);
extract($phpbb_dispatcher->trigger_event('core.acp_manage_group_display_form', compact($vars)));
return;
break;

View File

@@ -538,11 +538,10 @@ class acp_icons
// The user has already selected a smilies_pak file
if ($current == 'delete')
{
switch ($db->sql_layer)
switch ($db->get_sql_layer())
{
case 'sqlite':
case 'sqlite3':
case 'firebird':
$db->sql_query('DELETE FROM ' . $table);
break;

View File

@@ -47,13 +47,13 @@ class acp_jabber
$this->tpl_name = 'acp_jabber';
$this->page_title = 'ACP_JABBER_SETTINGS';
$jab_enable = request_var('jab_enable', (bool) $config['jab_enable']);
$jab_host = request_var('jab_host', (string) $config['jab_host']);
$jab_port = request_var('jab_port', (int) $config['jab_port']);
$jab_username = request_var('jab_username', (string) $config['jab_username']);
$jab_password = request_var('jab_password', (string) $config['jab_password']);
$jab_package_size = request_var('jab_package_size', (int) $config['jab_package_size']);
$jab_use_ssl = request_var('jab_use_ssl', (bool) $config['jab_use_ssl']);
$jab_enable = request_var('jab_enable', (bool) $config['jab_enable']);
$jab_host = request_var('jab_host', (string) $config['jab_host']);
$jab_port = request_var('jab_port', (int) $config['jab_port']);
$jab_username = request_var('jab_username', (string) $config['jab_username']);
$jab_password = request_var('jab_password', (string) $config['jab_password']);
$jab_package_size = request_var('jab_package_size', (int) $config['jab_package_size']);
$jab_use_ssl = request_var('jab_use_ssl', (bool) $config['jab_use_ssl']);
$form_name = 'acp_jabber';
add_form_key($form_name);

View File

@@ -54,28 +54,26 @@ class acp_logs
{
if (confirm_box(true))
{
$where_sql = '';
$conditions = array();
if ($deletemark && sizeof($marked))
{
$sql_in = array();
foreach ($marked as $mark)
{
$sql_in[] = $mark;
}
$where_sql = ' AND ' . $db->sql_in_set('log_id', $sql_in);
unset($sql_in);
$conditions['log_id'] = array('IN' => $marked);
}
if ($where_sql || $deleteall)
if ($deleteall)
{
$sql = 'DELETE FROM ' . LOG_TABLE . "
WHERE log_type = {$this->log_type}
$where_sql";
$db->sql_query($sql);
if ($sort_days)
{
$conditions['log_time'] = array('>=', time() - ($sort_days * 86400));
}
add_log('admin', 'LOG_CLEAR_' . strtoupper($mode));
$keywords = utf8_normalize_nfc(request_var('keywords', '', true));
$conditions['keywords'] = $keywords;
}
$phpbb_log = $phpbb_container->get('log');
$phpbb_log->delete($mode, $conditions);
}
else
{

View File

@@ -269,11 +269,10 @@ class acp_main
break;
case 'db_track':
switch ($db->sql_layer)
switch ($db->get_sql_layer())
{
case 'sqlite':
case 'sqlite3':
case 'firebird':
$db->sql_query('DELETE FROM ' . TOPICS_POSTED_TABLE);
break;
@@ -375,11 +374,10 @@ class acp_main
foreach ($tables as $table)
{
switch ($db->sql_layer)
switch ($db->get_sql_layer())
{
case 'sqlite':
case 'sqlite3':
case 'firebird':
$db->sql_query("DELETE FROM $table");
break;

View File

@@ -561,14 +561,14 @@ class acp_modules
$directory = $phpbb_root_path . 'includes/' . $module_class . '/info/';
$fileinfo = array();
$finder = $phpbb_extension_manager->get_finder();
$finder = $phpbb_extension_manager->get_finder($use_all_available);
$modules = $finder
->extension_suffix('_module')
->extension_directory("/$module_class")
->core_path("includes/$module_class/info/")
->core_prefix($module_class . '_')
->get_classes(true, $use_all_available);
->get_classes(true);
foreach ($modules as $cur_module)
{

View File

@@ -253,7 +253,7 @@ class acp_permission_roles
{
$sql = 'SELECT auth_option_id, auth_option
FROM ' . ACL_OPTIONS_TABLE . "
WHERE auth_option " . $db->sql_like_expression($permission_type . $db->any_char) . "
WHERE auth_option " . $db->sql_like_expression($permission_type . $db->get_any_char()) . "
AND auth_option <> '{$permission_type}'
ORDER BY auth_option_id";
$result = $db->sql_query($sql);
@@ -315,7 +315,7 @@ class acp_permission_roles
// We need to fill the auth options array with ACL_NO options ;)
$sql = 'SELECT auth_option_id, auth_option
FROM ' . ACL_OPTIONS_TABLE . "
WHERE auth_option " . $db->sql_like_expression($permission_type . $db->any_char) . "
WHERE auth_option " . $db->sql_like_expression($permission_type . $db->get_any_char()) . "
AND auth_option <> '{$permission_type}'
ORDER BY auth_option_id";
$result = $db->sql_query($sql);
@@ -519,7 +519,7 @@ class acp_permission_roles
// Get complete auth array
$sql = 'SELECT auth_option, auth_option_id
FROM ' . ACL_OPTIONS_TABLE . "
WHERE auth_option " . $db->sql_like_expression($permission_type . $db->any_char);
WHERE auth_option " . $db->sql_like_expression($permission_type . $db->get_any_char());
$result = $db->sql_query($sql);
$auth_settings = array();

View File

@@ -331,14 +331,6 @@ class acp_permissions
}
}
// Setting permissions screen
$s_hidden_fields = build_hidden_fields(array(
'user_id' => $user_id,
'group_id' => $group_id,
'forum_id' => $forum_id,
'type' => $permission_type)
);
// Go through the screens/options needed and present them in correct order
foreach ($permission_victim as $victim)
{
@@ -471,6 +463,14 @@ class acp_permissions
// If there are more than 5 forums selected the admin is not able to select all users/groups too.
// We need to see if the number of forums can be increased or need to be decreased.
// Setting permissions screen
$s_hidden_fields = build_hidden_fields(array(
'user_id' => $user_id,
'group_id' => $group_id,
'forum_id' => $forum_id,
'type' => $permission_type,
));
$template->assign_vars(array(
'U_ACTION' => $this->u_action,
'ANONYMOUS_USER_ID' => ANONYMOUS,
@@ -507,6 +507,14 @@ class acp_permissions
return;
}
// Setting permissions screen
$s_hidden_fields = build_hidden_fields(array(
'user_id' => $user_id,
'group_id' => $group_id,
'forum_id' => $forum_id,
'type' => $permission_type,
));
// Do not allow forum_ids being set and no other setting defined (will bog down the server too much)
if (sizeof($forum_id) && !sizeof($user_id) && !sizeof($group_id))
{
@@ -1230,7 +1238,7 @@ class acp_permissions
$sql = 'SELECT auth_option_id
FROM ' . ACL_OPTIONS_TABLE . '
WHERE auth_option ' . $db->sql_like_expression($permission_type . $db->any_char);
WHERE auth_option ' . $db->sql_like_expression($permission_type . $db->get_any_char());
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))

View File

@@ -47,7 +47,7 @@ class acp_php_info
// for this was nabbed from the PHP annotated manual
preg_match_all('#<body[^>]*>(.*)</body>#si', $phpinfo, $output);
if (empty($phpinfo) || empty($output))
if (empty($phpinfo) || empty($output[1][0]))
{
trigger_error('NO_PHPINFO_AVAILABLE', E_USER_WARNING);
}

View File

@@ -112,7 +112,7 @@ class acp_profile
$db->sql_query('DELETE FROM ' . PROFILE_FIELDS_LANG_TABLE . " WHERE field_id = $field_id");
$db->sql_query('DELETE FROM ' . PROFILE_LANG_TABLE . " WHERE field_id = $field_id");
switch ($db->sql_layer)
switch ($db->get_sql_layer())
{
case 'sqlite':
case 'sqlite3':
@@ -1196,7 +1196,7 @@ class acp_profile
{
global $db;
switch ($db->sql_layer)
switch ($db->get_sql_layer())
{
case 'mysql':
case 'mysql4':
@@ -1267,11 +1267,6 @@ class acp_profile
break;
case 'firebird':
$sql = 'ALTER TABLE ' . PROFILE_FIELDS_DATA_TABLE . ' ADD "' . strtoupper($field_ident) . '" ' . $sql_type;
break;
case 'oracle':
$sql = 'ALTER TABLE ' . PROFILE_FIELDS_DATA_TABLE . " ADD $field_ident " . $sql_type;

View File

@@ -436,8 +436,8 @@ class acp_prune
$sort_by_types = array('username', 'user_email', 'user_posts', 'user_regdate', 'user_lastvisit');
$where_sql = '';
$where_sql .= ($username) ? ' AND username_clean ' . $db->sql_like_expression(str_replace('*', $db->any_char, utf8_clean_string($username))) : '';
$where_sql .= ($email) ? ' AND user_email ' . $db->sql_like_expression(str_replace('*', $db->any_char, $email)) . ' ' : '';
$where_sql .= ($username) ? ' AND username_clean ' . $db->sql_like_expression(str_replace('*', $db->get_any_char(), utf8_clean_string($username))) : '';
$where_sql .= ($email) ? ' AND user_email ' . $db->sql_like_expression(str_replace('*', $db->get_any_char(), $email)) . ' ' : '';
$where_sql .= $joined_sql;
$where_sql .= ($count) ? " AND user_posts " . $key_match[$count_select] . ' ' . (int) $count . ' ' : '';

View File

@@ -219,7 +219,7 @@ class acp_reasons
$other_reason_id = (int) $db->sql_fetchfield('reason_id');
$db->sql_freeresult($result);
switch ($db->sql_layer)
switch ($db->get_sql_layer())
{
// The ugly one!
case 'mysqli':
@@ -252,7 +252,6 @@ class acp_reasons
// Teh standard
case 'postgres':
case 'oracle':
case 'firebird':
case 'sqlite':
case 'sqlite3':
// Change the reports using this reason to 'other'

View File

@@ -209,8 +209,8 @@ class acp_styles
trigger_error($this->user->lang['NO_MATCHING_STYLES_FOUND'] . adm_back_link($this->u_action), E_USER_WARNING);
}
$message = implode('<br />', $messages);
$message .= '<br /><br />' . sprintf($this->user->lang['STYLE_INSTALLED_RETURN_STYLES'], $this->u_base_action . '&amp;mode=style');
$message .= '<br /><br />' . sprintf($this->user->lang['STYLE_INSTALLED_RETURN_UNINSTALLED'], $this->u_base_action . '&amp;mode=install');
$message .= '<br /><br /><a href="' . $this->u_base_action . '&amp;mode=style' . '">&laquo; ' . $this->user->lang('STYLE_INSTALLED_RETURN_INSTALLED_STYLES') . '</a>';
$message .= '<br /><br /><a href="' . $this->u_base_action . '&amp;mode=install' . '">&raquo; ' . $this->user->lang('STYLE_INSTALLED_RETURN_UNINSTALLED_STYLES') . '</a>';
trigger_error($message, E_USER_NOTICE);
}

View File

@@ -814,7 +814,7 @@ class acp_users
$check_ary += array(
'email' => array(
array('string', false, 6, 60),
array('email', $user_row['user_email'])
array('user_email', $user_row['user_email']),
),
);
}
@@ -922,7 +922,6 @@ class acp_users
$sql_ary += array(
'user_password' => $passwords_manager->hash($data['new_password']),
'user_passchg' => time(),
'user_pass_convert' => 0,
);
$user->reset_login_keys($user_id);
@@ -2385,7 +2384,7 @@ class acp_users
// Select auth options
$sql = 'SELECT auth_option, is_local, is_global
FROM ' . ACL_OPTIONS_TABLE . '
WHERE auth_option ' . $db->sql_like_expression($db->any_char . '_') . '
WHERE auth_option ' . $db->sql_like_expression($db->get_any_char() . '_') . '
AND is_global = 1
ORDER BY auth_option';
$result = $db->sql_query($sql);
@@ -2405,7 +2404,7 @@ class acp_users
{
$sql = 'SELECT auth_option, is_local, is_global
FROM ' . ACL_OPTIONS_TABLE . "
WHERE auth_option " . $db->sql_like_expression($db->any_char . '_') . "
WHERE auth_option " . $db->sql_like_expression($db->get_any_char() . '_') . "
AND is_local = 1
ORDER BY is_global DESC, auth_option";
$result = $db->sql_query($sql);

View File

@@ -835,7 +835,7 @@ class auth_admin extends \phpbb\auth\auth
}
// Remove current auth options...
$auth_option_ids = array((int)$any_option_id);
$auth_option_ids = array((int) $any_option_id);
foreach ($auth as $auth_option => $auth_setting)
{
$auth_option_ids[] = (int) $this->acl_options['id'][$auth_option];
@@ -1024,7 +1024,7 @@ class auth_admin extends \phpbb\auth\auth
// Get permission type
$sql = 'SELECT auth_option, auth_option_id
FROM ' . ACL_OPTIONS_TABLE . "
WHERE auth_option " . $db->sql_like_expression($permission_type . $db->any_char);
WHERE auth_option " . $db->sql_like_expression($permission_type . $db->get_any_char());
$result = $db->sql_query($sql);
$auth_id_ary = array();

View File

@@ -0,0 +1,30 @@
<?php
/**
*
* This file is part of the phpBB Forum Software package.
*
* @copyright (c) phpBB Limited <https://www.phpbb.com>
* @license GNU General Public License, version 2 (GPL-2.0)
*
* For full copyright and license information, please see
* the docs/CREDITS.txt file.
*
*/
/**
* @package module_install
*/
class acp_contact_info
{
public function module()
{
return array(
'filename' => 'acp_contact',
'title' => 'ACP_CONTACT',
'version' => '1.0.0',
'modes' => array(
'contact' => array('title' => 'ACP_CONTACT_SETTINGS', 'auth' => 'acl_a_board', 'cat' => array('ACP_BOARD_CONFIGURATION')),
),
);
}
}

View File

@@ -96,7 +96,8 @@ class phpbb_captcha_plugins_captcha_abstract
else
{
$link = append_sid($phpbb_root_path . 'ucp.' . $phpEx, 'mode=confirm&amp;confirm_id=' . $this->confirm_id . '&amp;type=' . $this->type);
$explain = $user->lang(($this->type != CONFIRM_POST) ? 'CONFIRM_EXPLAIN' : 'POST_CONFIRM_EXPLAIN', '<a href="mailto:' . htmlspecialchars($config['board_contact']) . '">', '</a>');
$contact_link = phpbb_get_board_contact_link($config, $phpbb_root_path, $phpEx);
$explain = $user->lang(($this->type != CONFIRM_POST) ? 'CONFIRM_EXPLAIN' : 'POST_CONFIRM_EXPLAIN', '<a href="' . $contact_link . '">', '</a>');
$template->assign_vars(array(
'CONFIRM_IMAGE_LINK' => $link,

View File

@@ -150,7 +150,7 @@ class phpbb_recaptcha extends phpbb_default_captcha
function get_template()
{
global $config, $user, $template;
global $config, $user, $template, $phpbb_root_path, $phpEx;
if ($this->is_solved())
{
@@ -158,7 +158,8 @@ class phpbb_recaptcha extends phpbb_default_captcha
}
else
{
$explain = $user->lang(($this->type != CONFIRM_POST) ? 'CONFIRM_EXPLAIN' : 'POST_CONFIRM_EXPLAIN', '<a href="mailto:' . htmlspecialchars($config['board_contact']) . '">', '</a>');
$contact_link = phpbb_get_board_contact_link($config, $phpbb_root_path, $phpEx);
$explain = $user->lang(($this->type != CONFIRM_POST) ? 'CONFIRM_EXPLAIN' : 'POST_CONFIRM_EXPLAIN', '<a href="' . $contact_link . '">', '</a>');
$template->assign_vars(array(
'RECAPTCHA_SERVER' => $this->recaptcha_server,

View File

@@ -28,7 +28,7 @@ if (!defined('IN_PHPBB'))
*/
// phpBB Version
define('PHPBB_VERSION', '3.1.0-b4');
define('PHPBB_VERSION', '3.1.0-RC2');
// QA-related
// define('PHPBB_QA', 1);
@@ -233,6 +233,7 @@ define('BBCODES_TABLE', $table_prefix . 'bbcodes');
define('BOOKMARKS_TABLE', $table_prefix . 'bookmarks');
define('BOTS_TABLE', $table_prefix . 'bots');
define('CONFIG_TABLE', $table_prefix . 'config');
define('CONFIG_TEXT_TABLE', $table_prefix . 'config_text');
define('CONFIRM_TABLE', $table_prefix . 'confirm');
define('DISALLOW_TABLE', $table_prefix . 'disallow');
define('DRAFTS_TABLE', $table_prefix . 'drafts');

View File

@@ -20,6 +20,37 @@ if (!defined('IN_PHPBB'))
}
// Common global functions
/**
* Load the autoloaders added by the extensions.
*
* @param string $phpbb_root_path Path to the phpbb root directory.
*/
function phpbb_load_extensions_autoloaders($phpbb_root_path)
{
$iterator = new \RecursiveIteratorIterator(
new \phpbb\recursive_dot_prefix_filter_iterator(
new \RecursiveDirectoryIterator(
$phpbb_root_path . 'ext/',
\FilesystemIterator::SKIP_DOTS
)
),
\RecursiveIteratorIterator::SELF_FIRST
);
$iterator->setMaxDepth(2);
foreach ($iterator as $file_info)
{
if ($file_info->getFilename() === 'vendor' && $iterator->getDepth() === 2)
{
$filename = $file_info->getRealPath() . '/autoload.php';
if (file_exists($filename))
{
require $filename;
}
}
}
}
/**
* Casts a variable to the given type.
*
@@ -2818,8 +2849,8 @@ function login_box($redirect = '', $l_explain = '', $l_success = '', $admin = fa
$user->lang[$result['error_msg']],
($config['email_enable']) ? '<a href="' . append_sid("{$phpbb_root_path}ucp.$phpEx", 'mode=sendpassword') . '">' : '',
($config['email_enable']) ? '</a>' : '',
($config['board_contact']) ? '<a href="mailto:' . htmlspecialchars($config['board_contact']) . '">' : '',
($config['board_contact']) ? '</a>' : ''
'<a href="' . phpbb_get_board_contact_link($config, $phpbb_root_path, $phpEx) . '">',
'</a>'
);
break;
@@ -2830,7 +2861,7 @@ function login_box($redirect = '', $l_explain = '', $l_success = '', $admin = fa
// Assign admin contact to some error messages
if ($result['error_msg'] == 'LOGIN_ERROR_USERNAME' || $result['error_msg'] == 'LOGIN_ERROR_PASSWORD')
{
$err = (!$config['board_contact']) ? sprintf($user->lang[$result['error_msg']], '', '') : sprintf($user->lang[$result['error_msg']], '<a href="mailto:' . htmlspecialchars($config['board_contact']) . '">', '</a>');
$err = sprintf($user->lang[$result['error_msg']], '<a href="' . append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=contactadmin') . '">', '</a>');
}
break;
@@ -2854,7 +2885,8 @@ function login_box($redirect = '', $l_explain = '', $l_success = '', $admin = fa
$s_hidden_fields['credential'] = $credential;
}
$auth_provider = $phpbb_container->get('auth.provider.' . $config['auth_method']);
$provider_collection = $phpbb_container->get('auth.provider_collection');
$auth_provider = $provider_collection->get_provider();
$auth_provider_data = $auth_provider->get_login_data();
if ($auth_provider_data)
@@ -3997,7 +4029,7 @@ function obtain_guest_count($item_id = 0, $item = 'forum')
// Get number of online guests
if ($db->sql_layer === 'sqlite' || $db->sql_layer === 'sqlite3')
if ($db->get_sql_layer() === 'sqlite' || $db->get_sql_layer() === 'sqlite3')
{
$sql = 'SELECT COUNT(session_ip) as num_guests
FROM (
@@ -4880,6 +4912,7 @@ function page_header($page_title = '', $display_online_list = false, $item_id =
'PRIVATE_MESSAGE_COUNT' => (!empty($user->data['user_unread_privmsg'])) ? $user->data['user_unread_privmsg'] : 0,
'CURRENT_USER_AVATAR' => phpbb_get_user_avatar($user->data),
'CURRENT_USERNAME_SIMPLE' => get_username_string('no_profile', $user->data['user_id'], $user->data['username'], $user->data['user_colour']),
'CURRENT_USERNAME_FULL' => get_username_string('full', $user->data['user_id'], $user->data['username'], $user->data['user_colour']),
'UNREAD_NOTIFICATIONS_COUNT' => ($notifications !== false) ? $notifications['unread_count'] : '',
'NOTIFICATIONS_COUNT' => ($notifications !== false) ? $notifications['unread_count'] : '',
@@ -4922,6 +4955,7 @@ function page_header($page_title = '', $display_online_list = false, $item_id =
'U_SEARCH_UNREAD' => append_sid("{$phpbb_root_path}search.$phpEx", 'search_id=unreadposts'),
'U_SEARCH_ACTIVE_TOPICS'=> append_sid("{$phpbb_root_path}search.$phpEx", 'search_id=active_topics'),
'U_DELETE_COOKIES' => append_sid("{$phpbb_root_path}ucp.$phpEx", 'mode=delete_cookies'),
'U_CONTACT_US' => ($config['contact_admin_form_enable']) ? append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=contactadmin') : '',
'U_TEAM' => ($user->data['user_id'] != ANONYMOUS && !$auth->acl_get('u_viewprofile')) ? '' : append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=team'),
'U_TERMS_USE' => append_sid("{$phpbb_root_path}ucp.$phpEx", 'mode=terms'),
'U_PRIVACY' => append_sid("{$phpbb_root_path}ucp.$phpEx", 'mode=privacy'),
@@ -5028,6 +5062,72 @@ function page_header($page_title = '', $display_online_list = false, $item_id =
return;
}
/**
* Check and display the SQL report if requested.
*
* @param \phpbb\request\request_interface $request Request object
* @param \phpbb\auth\auth $auth Auth object
* @param \phpbb\db\driver\driver_interface $db Database connection
*/
function phpbb_check_and_display_sql_report(\phpbb\request\request_interface $request, \phpbb\auth\auth $auth, \phpbb\db\driver\driver_interface $db)
{
if ($request->variable('explain', false) && $auth->acl_get('a_') && defined('DEBUG'))
{
$db->sql_report('display');
}
}
/**
* Generate the debug output string
*
* @param \phpbb\db\driver\driver_interface $db Database connection
* @param \phpbb\config\config $config Config object
* @param \phpbb\auth\auth $auth Auth object
* @param \phpbb\user $user User object
* @return string
*/
function phpbb_generate_debug_output(phpbb\db\driver\driver_interface $db, \phpbb\config\config $config, \phpbb\auth\auth $auth, \phpbb\user $user)
{
$debug_info = array();
// Output page creation time
if (defined('PHPBB_DISPLAY_LOAD_TIME'))
{
if (isset($GLOBALS['starttime']))
{
$totaltime = microtime(true) - $GLOBALS['starttime'];
$debug_info[] = sprintf('<abbr title="SQL time: %.3fs / PHP time: %.3fs">Time: %.3fs</abbr>', $db->get_sql_time(), ($totaltime - $db->get_sql_time()), $totaltime);
}
$debug_info[] = sprintf('<abbr title="Cached: %d">Queries: %d</abbr>', $db->sql_num_queries(true), $db->sql_num_queries());
$memory_usage = memory_get_peak_usage();
if ($memory_usage)
{
$memory_usage = get_formatted_filesize($memory_usage);
$debug_info[] = 'Peak Memory Usage: ' . $memory_usage;
}
}
if (defined('DEBUG'))
{
$debug_info[] = 'GZIP: ' . (($config['gzip_compress'] && @extension_loaded('zlib')) ? 'On' : 'Off');
if ($user->load)
{
$debug_info[] = 'Load: ' . $user->load;
}
if ($auth->acl_get('a_'))
{
$debug_info[] = '<a href="' . build_url() . '&amp;explain=1">SQL Explain</a>';
}
}
return implode(' | ', $debug_info);
}
/**
* Generate page footer
*
@@ -5060,37 +5160,10 @@ function page_footer($run_cron = true, $display_template = true, $exit_handler =
return;
}
// Output page creation time
if (defined('DEBUG'))
{
$mtime = explode(' ', microtime());
$totaltime = $mtime[0] + $mtime[1] - $starttime;
if ($request->variable('explain', false) && $auth->acl_get('a_') && defined('DEBUG') && method_exists($db, 'sql_report'))
{
$db->sql_report('display');
}
$debug_output = sprintf('Time : %.3fs | ' . $db->sql_num_queries() . ' Queries | GZIP : ' . (($config['gzip_compress'] && @extension_loaded('zlib')) ? 'On' : 'Off') . (($user->load) ? ' | Load : ' . $user->load : ''), $totaltime);
if ($auth->acl_get('a_') && defined('DEBUG'))
{
if (function_exists('memory_get_peak_usage'))
{
if ($memory_usage = memory_get_peak_usage())
{
$memory_usage = get_formatted_filesize($memory_usage);
$debug_output .= ' | Peak Memory Usage: ' . $memory_usage;
}
}
$debug_output .= ' | <a href="' . build_url() . '&amp;explain=1">Explain</a>';
}
}
phpbb_check_and_display_sql_report($request, $auth, $db);
$template->assign_vars(array(
'DEBUG_OUTPUT' => (defined('DEBUG')) ? $debug_output : '',
'DEBUG_OUTPUT' => phpbb_generate_debug_output($db, $config, $auth, $user),
'TRANSLATION_INFO' => (!empty($user->lang['TRANSLATION_INFO'])) ? $user->lang['TRANSLATION_INFO'] : '',
'CREDIT_LINE' => $user->lang('POWERED_BY', '<a href="https://www.phpbb.com/">phpBB</a>&reg; Forum Software &copy; phpBB Limited'),
@@ -5254,47 +5327,40 @@ function phpbb_to_numeric($input)
}
/**
* Convert either 3.0 dbms or 3.1 db driver class name to 3.1 db driver class name.
* Get the board contact details (e.g. for emails)
*
* If $dbms is a valid 3.1 db driver class name, returns it unchanged.
* Otherwise prepends phpbb\db\driver\ to the dbms to convert a 3.0 dbms
* to 3.1 db driver class name.
*
* @param string $dbms dbms parameter
* @return db driver class
* @param \phpbb\config\config $config
* @param string $phpEx
* @return string
*/
function phpbb_convert_30_dbms_to_31($dbms)
function phpbb_get_board_contact(\phpbb\config\config $config, $phpEx)
{
// Note: this check is done first because mysqli extension
// supplies a mysqli class, and class_exists($dbms) would return
// true for mysqli class.
// However, per the docblock any valid 3.1 driver name should be
// recognized by this function, and have priority over 3.0 dbms.
if (class_exists('phpbb\db\driver\\' . $dbms))
if ($config['contact_admin_form_enable'])
{
return 'phpbb\db\driver\\' . $dbms;
return generate_board_url() . '/memberlist.' . $phpEx . '?mode=contactadmin';
}
if (class_exists($dbms))
else
{
// Additionally we could check that $dbms extends phpbb\db\driver\driver.
// http://php.net/manual/en/class.reflectionclass.php
// Beware of possible performance issues:
// http://stackoverflow.com/questions/294582/php-5-reflection-api-performance
// We could check for interface implementation in all paths or
// only when we do not prepend phpbb\db\driver\.
/*
$reflection = new \ReflectionClass($dbms);
if ($reflection->isSubclassOf('phpbb\db\driver\driver'))
{
return $dbms;
}
*/
return $dbms;
return $config['board_contact'];
}
}
/**
* Get a clickable board contact details link
*
* @param \phpbb\config\config $config
* @param string $phpbb_root_path
* @param string $phpEx
* @return string
*/
function phpbb_get_board_contact_link(\phpbb\config\config $config, $phpbb_root_path, $phpEx)
{
if ($config['contact_admin_form_enable'])
{
return append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=contactadmin');
}
else
{
return 'mailto:' . htmlspecialchars($config['board_contact']);
}
throw new \RuntimeException("You have specified an invalid dbms driver: $dbms");
}

View File

@@ -146,37 +146,10 @@ function adm_page_footer($copyright_html = true)
return;
}
// Output page creation time
if (defined('DEBUG'))
{
$mtime = explode(' ', microtime());
$totaltime = $mtime[0] + $mtime[1] - $starttime;
if ($request->variable('explain', false) && $auth->acl_get('a_') && defined('DEBUG') && method_exists($db, 'sql_report'))
{
$db->sql_report('display');
}
$debug_output = sprintf('Time : %.3fs | ' . $db->sql_num_queries() . ' Queries | GZIP : ' . (($config['gzip_compress']) ? 'On' : 'Off') . (($user->load) ? ' | Load : ' . $user->load : ''), $totaltime);
if ($auth->acl_get('a_') && defined('DEBUG'))
{
if (function_exists('memory_get_peak_usage'))
{
if ($memory_usage = memory_get_peak_usage())
{
$memory_usage = get_formatted_filesize($memory_usage);
$debug_output .= ' | Peak Memory Usage: ' . $memory_usage;
}
}
$debug_output .= ' | <a href="' . build_url() . '&amp;explain=1">Explain</a>';
}
}
phpbb_check_and_display_sql_report($request, $auth, $db);
$template->assign_vars(array(
'DEBUG_OUTPUT' => (defined('DEBUG')) ? $debug_output : '',
'DEBUG_OUTPUT' => phpbb_generate_debug_output($db, $config, $auth, $user),
'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>&reg; Forum Software &copy; phpBB Limited'),

View File

@@ -1435,7 +1435,7 @@ function sync($mode, $where_type = '', $where_ids = '', $resync_parents = false,
{
case 'topic_moved':
$db->sql_transaction('begin');
switch ($db->sql_layer)
switch ($db->get_sql_layer())
{
case 'mysql4':
case 'mysqli':
@@ -2441,11 +2441,10 @@ function phpbb_cache_moderators($db, $cache, $auth)
$cache->destroy('sql', MODERATOR_CACHE_TABLE);
// Clear table
switch ($db->sql_layer)
switch ($db->get_sql_layer())
{
case 'sqlite':
case 'sqlite3':
case 'firebird':
$db->sql_query('DELETE FROM ' . MODERATOR_CACHE_TABLE);
break;
@@ -2492,7 +2491,7 @@ function phpbb_cache_moderators($db, $cache, $auth)
AND NOT (ug.group_leader = 1 AND g.group_skip_auth = 1)
AND ' . $db->sql_in_set('ug.user_id', $ug_id_ary) . "
AND ug.user_pending = 0
AND o.auth_option " . $db->sql_like_expression('m_' . $db->any_char),
AND o.auth_option " . $db->sql_like_expression('m_' . $db->get_any_char()),
);
$sql = $db->sql_build_query('SELECT', $sql_ary_deny);
$result = $db->sql_query($sql);
@@ -2698,11 +2697,11 @@ function phpbb_update_foes($db, $auth, $group_id = false, $user_id = false)
return;
}
switch ($db->sql_layer)
switch ($db->get_sql_layer())
{
case 'mysqli':
case 'mysql4':
$sql = 'DELETE ' . (($db->sql_layer === 'mysqli' || version_compare($db->sql_server_info(true), '4.1', '>=')) ? 'z.*' : ZEBRA_TABLE) . '
$sql = 'DELETE ' . (($db->get_sql_layer() === 'mysqli' || version_compare($db->sql_server_info(true), '4.1', '>=')) ? 'z.*' : ZEBRA_TABLE) . '
FROM ' . ZEBRA_TABLE . ' z, ' . USER_GROUP_TABLE . ' ug
WHERE z.zebra_id = ug.user_id
AND z.foe = 1
@@ -2855,7 +2854,7 @@ function get_database_size()
$database_size = false;
// This code is heavily influenced by a similar routine in phpMyAdmin 2.2.0
switch ($db->sql_layer)
switch ($db->get_sql_layer())
{
case 'mysql':
case 'mysql4':
@@ -2871,7 +2870,7 @@ function get_database_size()
if (preg_match('#(3\.23|[45]\.)#', $version))
{
$db_name = (preg_match('#^(?:3\.23\.(?:[6-9]|[1-9]{2}))|[45]\.#', $version)) ? "`{$db->dbname}`" : $db->dbname;
$db_name = (preg_match('#^(?:3\.23\.(?:[6-9]|[1-9]{2}))|[45]\.#', $version)) ? "`{$db->get_db_name()}`" : $db->get_db_name();
$sql = 'SHOW TABLE STATUS
FROM ' . $db_name;
@@ -2900,17 +2899,6 @@ function get_database_size()
}
break;
case 'firebird':
global $dbname;
// if it on the local machine, we can get lucky
if (file_exists($dbname))
{
$database_size = filesize($dbname);
}
break;
case 'sqlite':
case 'sqlite3':
global $dbhost;
@@ -2958,7 +2946,7 @@ function get_database_size()
if ($row['proname'] == 'pg_database_size')
{
$database = $db->dbname;
$database = $db->get_db_name();
if (strpos($database, '.') !== false)
{
list($database, ) = explode('.', $database);
@@ -3030,7 +3018,7 @@ function get_remote_file($host, $directory, $filename, &$errstr, &$errno, $port
}
else if (stripos($line, '404 not found') !== false)
{
$errstr = $user->lang('FILE_NOT_FOUND', $filename);
$errstr = $user->lang('FILE_NOT_FOUND', $filename);
return false;
}
}

View File

@@ -1,291 +0,0 @@
<?php
/**
*
* This file is part of the phpBB Forum Software package.
*
* @copyright (c) phpBB Limited <https://www.phpbb.com>
* @license GNU General Public License, version 2 (GPL-2.0)
*
* For full copyright and license information, please see
* the docs/CREDITS.txt file.
*
*/
use Symfony\Component\Config\FileLocator;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\DependencyInjection\Dumper\PhpDumper;
use Symfony\Component\DependencyInjection\Loader\YamlFileLoader;
/**
* @ignore
*/
if (!defined('IN_PHPBB'))
{
exit;
}
/**
* Get DB connection from config.php.
*
* Used to bootstrap the container.
*
* @param string $config_file
* @return \phpbb\db\driver\driver_interface
*/
function phpbb_bootstrap_db_connection($config_file)
{
require($config_file);
$dbal_driver_class = phpbb_convert_30_dbms_to_31($dbms);
$db = new $dbal_driver_class();
$db->sql_connect($dbhost, $dbuser, $dbpasswd, $dbname, $dbport, defined('PHPBB_DB_NEW_LINK'));
return $db;
}
/**
* Get table prefix from config.php.
*
* Used to bootstrap the container.
*
* @param string $config_file
* @return string table prefix
*/
function phpbb_bootstrap_table_prefix($config_file)
{
require($config_file);
return $table_prefix;
}
/**
* Get enabled extensions.
*
* Used to bootstrap the container.
*
* @param string $config_file
* @param string $phpbb_root_path
* @return array enabled extensions
*/
function phpbb_bootstrap_enabled_exts($config_file, $phpbb_root_path)
{
$db = phpbb_bootstrap_db_connection($config_file);
$table_prefix = phpbb_bootstrap_table_prefix($config_file);
$extension_table = $table_prefix.'ext';
$sql = 'SELECT *
FROM ' . $extension_table . '
WHERE ext_active = 1';
$result = $db->sql_query($sql);
$rows = $db->sql_fetchrowset($result);
$db->sql_freeresult($result);
$exts = array();
foreach ($rows as $row)
{
$exts[$row['ext_name']] = $phpbb_root_path . 'ext/' . $row['ext_name'] . '/';
}
return $exts;
}
/**
* Create the ContainerBuilder object
*
* @param array $extensions Array of Container extension objects
* @param string $phpbb_root_path Root path
* @param string $php_ext PHP Extension
* @return ContainerBuilder object
*/
function phpbb_create_container(array $extensions, $phpbb_root_path, $php_ext)
{
$container = new ContainerBuilder();
foreach ($extensions as $extension)
{
$container->registerExtension($extension);
$container->loadFromExtension($extension->getAlias());
}
$container->setParameter('core.root_path', $phpbb_root_path);
$container->setParameter('core.php_ext', $php_ext);
return $container;
}
/**
* Create installer container
*
* @param string $phpbb_root_path Root path
* @param string $php_ext PHP Extension
* @return ContainerBuilder object
*/
function phpbb_create_install_container($phpbb_root_path, $php_ext)
{
$other_config_path = $phpbb_root_path . 'install/update/new/config/';
$config_path = file_exists($other_config_path . 'services.yml') ? $other_config_path : $phpbb_root_path . 'config/';
$core = new \phpbb\di\extension\core($config_path);
$container = phpbb_create_container(array($core), $phpbb_root_path, $php_ext);
$container->setParameter('core.root_path', $phpbb_root_path);
$container->setParameter('core.adm_relative_path', $phpbb_adm_relative_path);
$container->setParameter('core.php_ext', $php_ext);
$container->setParameter('core.table_prefix', '');
$container->register('dbal.conn')->setSynthetic(true);
$container->setAlias('cache.driver', 'cache.driver.install');
$container->compile();
return $container;
}
/**
* Create updater container
*
* @param string $phpbb_root_path Root path
* @param string $php_ext PHP Extension
* @param array $config_path Path to config directory
* @return ContainerBuilder object (compiled)
*/
function phpbb_create_update_container($phpbb_root_path, $php_ext, $config_path)
{
$config_file = $phpbb_root_path . 'config.' . $php_ext;
return phpbb_create_compiled_container(
$config_file,
array(
new phpbb\di\extension\config($config_file),
new phpbb\di\extension\core($config_path),
),
array(
new phpbb\di\pass\collection_pass(),
new phpbb\di\pass\kernel_pass(),
),
$phpbb_root_path,
$php_ext
);
}
/**
* Create a compiled ContainerBuilder object
*
* @param array $extensions Array of Container extension objects
* @param array $passes Array of Compiler Pass objects
* @param string $phpbb_root_path Root path
* @param string $php_ext PHP Extension
* @return ContainerBuilder object (compiled)
*/
function phpbb_create_compiled_container($config_file, array $extensions, array $passes, $phpbb_root_path, $php_ext)
{
// Create the final container to be compiled and cached
$container = phpbb_create_container($extensions, $phpbb_root_path, $php_ext);
// Compile the container
foreach ($passes as $pass)
{
$container->addCompilerPass($pass);
}
$container->compile();
return $container;
}
/**
* Create a compiled and dumped ContainerBuilder object
*
* @param array $extensions Array of Container extension objects
* @param array $passes Array of Compiler Pass objects
* @param string $phpbb_root_path Root path
* @param string $php_ext PHP Extension
* @return ContainerBuilder object (compiled)
*/
function phpbb_create_dumped_container($config_file, array $extensions, array $passes, $phpbb_root_path, $php_ext)
{
// Check for our cached container; if it exists, use it
$container_filename = phpbb_container_filename($phpbb_root_path, $php_ext);
if (file_exists($container_filename))
{
require($container_filename);
return new phpbb_cache_container();
}
$container = phpbb_create_compiled_container($config_file, $extensions, $passes, $phpbb_root_path, $php_ext);
// Lastly, we create our cached container class
$dumper = new PhpDumper($container);
$cached_container_dump = $dumper->dump(array(
'class' => 'phpbb_cache_container',
'base_class' => 'Symfony\\Component\\DependencyInjection\\ContainerBuilder',
));
file_put_contents($container_filename, $cached_container_dump);
return $container;
}
/**
* Create an environment-specific ContainerBuilder object
*
* If debug is enabled, the container is re-compiled every time.
* This ensures that the latest changes will always be reflected
* during development.
*
* Otherwise it will get the existing dumped container and use
* that one instead.
*
* @param array $extensions Array of Container extension objects
* @param array $passes Array of Compiler Pass objects
* @param string $phpbb_root_path Root path
* @param string $php_ext PHP Extension
* @return ContainerBuilder object (compiled)
*/
function phpbb_create_dumped_container_unless_debug($config_file, array $extensions, array $passes, $phpbb_root_path, $php_ext)
{
$container_factory = defined('DEBUG_CONTAINER') ? 'phpbb_create_compiled_container' : 'phpbb_create_dumped_container';
return $container_factory($config_file, $extensions, $passes, $phpbb_root_path, $php_ext);
}
/**
* Create a default ContainerBuilder object
*
* Contains the default configuration of the phpBB container.
*
* @param array $extensions Array of Container extension objects
* @param array $passes Array of Compiler Pass objects
* @return ContainerBuilder object (compiled)
*/
function phpbb_create_default_container($phpbb_root_path, $php_ext)
{
$config_file = $phpbb_root_path . 'config.' . $php_ext;
$installed_exts = phpbb_bootstrap_enabled_exts($config_file, $phpbb_root_path);
return phpbb_create_dumped_container_unless_debug(
$config_file,
array(
new \phpbb\di\extension\config($config_file),
new \phpbb\di\extension\core($phpbb_root_path . 'config'),
new \phpbb\di\extension\ext($installed_exts),
),
array(
new \phpbb\di\pass\collection_pass(),
new \phpbb\di\pass\kernel_pass(),
),
$phpbb_root_path,
$php_ext
);
}
/**
* Get the filename under which the dumped container will be stored.
*
* @param string $phpbb_root_path Root path
* @param string $php_ext PHP Extension
* @return Path for dumped container
*/
function phpbb_container_filename($phpbb_root_path, $php_ext)
{
$filename = str_replace(array('/', '.'), array('slash', 'dot'), $phpbb_root_path);
return $phpbb_root_path . 'cache/container_' . $filename . '.' . $php_ext;
}

View File

@@ -174,8 +174,9 @@ function make_jumpbox($action, $forum_id = false, $select_all = false, $acl_list
$template->assign_block_vars('jumpbox_forums', array(
'FORUM_ID' => ($select_all) ? 0 : -1,
'FORUM_NAME' => ($select_all) ? $user->lang['ALL_FORUMS'] : $user->lang['SELECT_FORUM'],
'S_FORUM_COUNT' => $iteration)
);
'S_FORUM_COUNT' => $iteration,
'LINK' => $phpbb_path_helper->append_url_params($action, array('f' => $forum_id)),
));
$iteration++;
$display_jumpbox = true;
@@ -188,8 +189,9 @@ function make_jumpbox($action, $forum_id = false, $select_all = false, $acl_list
'S_FORUM_COUNT' => $iteration,
'S_IS_CAT' => ($row['forum_type'] == FORUM_CAT) ? true : false,
'S_IS_LINK' => ($row['forum_type'] == FORUM_LINK) ? true : false,
'S_IS_POST' => ($row['forum_type'] == FORUM_POST) ? true : false)
);
'S_IS_POST' => ($row['forum_type'] == FORUM_POST) ? true : false,
'LINK' => $phpbb_path_helper->append_url_params($action, array('f' => $row['forum_id'])),
));
for ($i = 0; $i < $padding; $i++)
{
@@ -773,44 +775,47 @@ function make_clickable($text, $server_url = false, $class = 'postlink')
static $static_class;
static $magic_url_match_args;
if (!is_array($magic_url_match_args) || $static_class != $class)
if (!isset($magic_url_match_args[$server_url]) || $static_class != $class)
{
$static_class = $class;
$class = ($static_class) ? ' class="' . $static_class . '"' : '';
$local_class = ($static_class) ? ' class="' . $static_class . '-local"' : '';
$magic_url_match_args = array();
if (!is_array($magic_url_match_args))
{
$magic_url_match_args = array();
}
// relative urls for this board
$magic_url_match_args[] = array(
$magic_url_match_args[$server_url][] = array(
'#(^|[\n\t (>.])(' . preg_quote($server_url, '#') . ')/(' . get_preg_expression('relative_url_inline') . ')#i',
MAGIC_URL_LOCAL,
$local_class,
);
// matches a xxxx://aaaaa.bbb.cccc. ...
$magic_url_match_args[] = array(
$magic_url_match_args[$server_url][] = array(
'#(^|[\n\t (>.])(' . get_preg_expression('url_inline') . ')#i',
MAGIC_URL_FULL,
$class,
);
// matches a "www.xxxx.yyyy[/zzzz]" kinda lazy URL thing
$magic_url_match_args[] = array(
$magic_url_match_args[$server_url][] = array(
'#(^|[\n\t (>])(' . get_preg_expression('www_url_inline') . ')#i',
MAGIC_URL_WWW,
$class,
);
// matches an email@domain type address at the start of a line, or after a space or after what might be a BBCode.
$magic_url_match_args[] = array(
$magic_url_match_args[$server_url][] = array(
'/(^|[\n\t (>])(' . get_preg_expression('email') . ')/i',
MAGIC_URL_EMAIL,
'',
);
}
foreach ($magic_url_match_args as $magic_args)
foreach ($magic_url_match_args[$server_url] as $magic_args)
{
if (preg_match($magic_args[0], $text, $matches))
{
@@ -1331,9 +1336,9 @@ function get_username_string($mode, $user_id, $username, $username_colour = '',
global $phpbb_root_path, $phpEx;
$_profile_cache['base_url'] = append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=viewprofile&amp;u={USER_ID}');
$_profile_cache['tpl_noprofile'] = '{USERNAME}';
$_profile_cache['tpl_noprofile'] = '<span class="username">{USERNAME}</span>';
$_profile_cache['tpl_noprofile_colour'] = '<span style="color: {USERNAME_COLOUR};" class="username-coloured">{USERNAME}</span>';
$_profile_cache['tpl_profile'] = '<a href="{PROFILE_URL}">{USERNAME}</a>';
$_profile_cache['tpl_profile'] = '<a href="{PROFILE_URL}" class="username">{USERNAME}</a>';
$_profile_cache['tpl_profile_colour'] = '<a href="{PROFILE_URL}" style="color: {USERNAME_COLOUR};" class="username-coloured">{USERNAME}</a>';
}
@@ -1401,7 +1406,7 @@ function get_username_string($mode, $user_id, $username, $username_colour = '',
// no break;
}
if (!isset($username_string))
{
if (($mode == 'full' && !$profile_url) || $mode == 'no_profile')
@@ -1449,16 +1454,19 @@ function get_username_string($mode, $user_id, $username, $username_colour = '',
/**
* Add an option to the quick-mod tools.
*
* @param string $url The recepting URL for the quickmod actions.
* @param string $option The language key for the value of the option.
* @param string $lang_string The language string to use.
*/
function phpbb_add_quickmod_option($option, $lang_string)
function phpbb_add_quickmod_option($url, $option, $lang_string)
{
global $template, $user;
global $template, $user, $phpbb_path_helper;
$lang_string = $user->lang($lang_string);
$template->assign_block_vars('quickmod', array(
'VALUE' => $option,
'TITLE' => $lang_string,
'VALUE' => $option,
'TITLE' => $lang_string,
'LINK' => $phpbb_path_helper->append_url_params($url, array('action' => $option)),
));
}

View File

@@ -1007,8 +1007,8 @@ function get_remote_avatar_dim($src, $axis)
{
$bigger = ($remote_avatar_cache[$src][0] > $remote_avatar_cache[$src][1]) ? 0 : 1;
$ratio = $default[$bigger] / $remote_avatar_cache[$src][$bigger];
$remote_avatar_cache[$src][0] = (int)($remote_avatar_cache[$src][0] * $ratio);
$remote_avatar_cache[$src][1] = (int)($remote_avatar_cache[$src][1] * $ratio);
$remote_avatar_cache[$src][0] = (int) ($remote_avatar_cache[$src][0] * $ratio);
$remote_avatar_cache[$src][1] = (int) ($remote_avatar_cache[$src][1] * $ratio);
}
}
@@ -1287,7 +1287,9 @@ function restore_config($schema)
{
$var = (empty($m[2]) || empty($convert_config[$m[2]])) ? "''" : "'" . addslashes($convert_config[$m[2]]) . "'";
$exec = '$config_value = ' . $m[1] . '(' . $var . ');';
// @codingStandardsIgnoreStart
eval($exec);
// @codingStandardsIgnoreEnd
}
else
{
@@ -1645,7 +1647,7 @@ function mass_auth($ug_type, $forum_id, $ug_id, $acl_list, $setting = ACL_NO)
switch ($sql_type)
{
case 'insert':
switch ($db->sql_layer)
switch ($db->get_sql_layer())
{
case 'mysql':
case 'mysql4':
@@ -2039,11 +2041,10 @@ function update_topics_posted()
{
global $db, $config;
switch ($db->sql_layer)
switch ($db->get_sql_layer())
{
case 'sqlite':
case 'sqlite3':
case 'firebird':
$db->sql_query('DELETE FROM ' . TOPICS_POSTED_TABLE);
break;
@@ -2295,7 +2296,7 @@ function convert_bbcode($message, $convert_size = true, $extended_bbcodes = fals
$message = preg_replace('#\[size=([0-9]+)\](.*?)\[/size\]#i', '[size=\1]\2[/size]', $message);
$message = preg_replace('#\[size=[0-9]{2,}\](.*?)\[/size\]#i', '[size=29]\1[/size]', $message);
for ($i = sizeof($size); $i; )
for ($i = sizeof($size); $i;)
{
$i--;
$message = str_replace('[size=' . $i . ']', '[size=' . $size[$i] . ']', $message);

View File

@@ -497,10 +497,15 @@ function display_forums($root_data = '', $display_moderators = true, $return_mod
$l_post_click_count = ($row['forum_type'] == FORUM_LINK) ? 'CLICKS' : 'POSTS';
$post_click_count = ($row['forum_type'] != FORUM_LINK || $row['forum_flags'] & FORUM_FLAG_LINK_TRACK) ? $row['forum_posts'] : '';
$s_subforums_list = array();
$s_subforums_list = $subforums_row = array();
foreach ($subforums_list as $subforum)
{
$s_subforums_list[] = '<a href="' . $subforum['link'] . '" class="subforum ' . (($subforum['unread']) ? 'unread' : 'read') . '" title="' . (($subforum['unread']) ? $user->lang['UNREAD_POSTS'] : $user->lang['NO_UNREAD_POSTS']) . '">' . $subforum['name'] . '</a>';
$subforums_row[] = array(
'U_SUBFORUM' => $subforum['link'],
'SUBFORUM_NAME' => $subforum['name'],
'S_UNREAD' => $subforum['unread'],
);
}
$s_subforums_list = (string) implode($user->lang['COMMA_SEPARATOR'], $s_subforums_list);
$catless = ($row['parent_id'] == $root_data['forum_id']) ? true : false;
@@ -572,22 +577,41 @@ function display_forums($root_data = '', $display_moderators = true, $return_mod
* @event core.display_forums_modify_template_vars
* @var array forum_row Template data of the forum
* @var array row The data of the forum
* @var array subforums_row Template data of subforums
* @since 3.1.0-a1
* @change 3.1.0-b5 Added var subforums_row
*/
$vars = array('forum_row', 'row');
$vars = array('forum_row', 'row', 'subforums_row');
extract($phpbb_dispatcher->trigger_event('core.display_forums_modify_template_vars', compact($vars)));
$template->assign_block_vars('forumrow', $forum_row);
// Assign subforums loop for style authors
foreach ($subforums_list as $subforum)
{
$template->assign_block_vars('forumrow.subforum', array(
'U_SUBFORUM' => $subforum['link'],
'SUBFORUM_NAME' => $subforum['name'],
'S_UNREAD' => $subforum['unread'])
);
}
$template->assign_block_vars_array('forumrow.subforum', $subforums_row);
/**
* Modify and/or assign additional template data for the forum
* after forumrow loop has been assigned. This can be used
* to create additional forumrow subloops in extensions.
*
* This event is triggered once per forum
*
* @event core.display_forums_add_template_data
* @var array forum_row Template data of the forum
* @var array row The data of the forum
* @var array subforums_list The data of subforums
* @var array subforums_row Template data of subforums
* @var bool catless The flag indicating whether a forum has a parent category
* @since 3.1.0-b5
*/
$vars = array(
'forum_row',
'row',
'subforums_list',
'subforums_row',
'catless',
);
extract($phpbb_dispatcher->trigger_event('core.display_forums_add_template_data', compact($vars)));
$last_catless = $catless;
}
@@ -598,7 +622,7 @@ function display_forums($root_data = '', $display_moderators = true, $return_mod
'L_SUBFORUM' => ($visible_forums == 1) ? $user->lang['SUBFORUM'] : $user->lang['SUBFORUMS'],
'LAST_POST_IMG' => $user->img('icon_topic_latest', 'VIEW_LATEST_POST'),
'UNAPPROVED_IMG' => $user->img('icon_topic_unapproved', 'TOPICS_UNAPPROVED'),
'UNAPPROVED_POST_IMG' => $user->img('icon_topic_unapproved', 'POSTS_UNAPPROVED'),
'UNAPPROVED_POST_IMG' => $user->img('icon_topic_unapproved', 'POSTS_UNAPPROVED_FORUM'),
));
if ($return_moderators)
@@ -650,6 +674,8 @@ function generate_forum_nav(&$forum_data)
// Get forum parents
$forum_parents = get_forum_parents($forum_data);
$microdata_attr = 'data-forum-id';
// Build navigation links
if (!empty($forum_parents))
{
@@ -669,6 +695,7 @@ function generate_forum_nav(&$forum_data)
'S_IS_POST' => ($parent_type == FORUM_POST) ? true : false,
'FORUM_NAME' => $parent_name,
'FORUM_ID' => $parent_forum_id,
'MICRODATA' => $microdata_attr . '="' . $parent_forum_id . '"',
'U_VIEW_FORUM' => append_sid("{$phpbb_root_path}viewforum.$phpEx", 'f=' . $parent_forum_id))
);
}
@@ -680,6 +707,7 @@ function generate_forum_nav(&$forum_data)
'S_IS_POST' => ($forum_data['forum_type'] == FORUM_POST) ? true : false,
'FORUM_NAME' => $forum_data['forum_name'],
'FORUM_ID' => $forum_data['forum_id'],
'MICRODATA' => $microdata_attr . '="' . $forum_data['forum_id'] . '"',
'U_VIEW_FORUM' => append_sid("{$phpbb_root_path}viewforum.$phpEx", 'f=' . $forum_data['forum_id']))
);
@@ -1157,7 +1185,7 @@ function watch_topic_forum($mode, &$s_watching, $user_id, $forum_id, $topic_id,
$u_url .= ($mode == 'forum') ? '&amp;f' : '&amp;f=' . $forum_id . '&amp;t';
$is_watching = 0;
// Is user watching this thread?
// Is user watching this topic?
if ($user_id != ANONYMOUS)
{
$can_watch = true;
@@ -1347,7 +1375,7 @@ function watch_topic_forum($mode, &$s_watching, $user_id, $forum_id, $topic_id,
*/
function get_user_rank($user_rank, $user_posts, &$rank_title, &$rank_img, &$rank_img_src)
{
global $ranks, $config, $phpbb_root_path;
global $ranks, $config, $phpbb_root_path, $phpbb_path_helper;
if (empty($ranks))
{
@@ -1358,8 +1386,8 @@ function get_user_rank($user_rank, $user_posts, &$rank_title, &$rank_img, &$rank
if (!empty($user_rank))
{
$rank_title = (isset($ranks['special'][$user_rank]['rank_title'])) ? $ranks['special'][$user_rank]['rank_title'] : '';
$rank_img = (!empty($ranks['special'][$user_rank]['rank_image'])) ? '<img src="' . $phpbb_root_path . $config['ranks_path'] . '/' . $ranks['special'][$user_rank]['rank_image'] . '" alt="' . $ranks['special'][$user_rank]['rank_title'] . '" title="' . $ranks['special'][$user_rank]['rank_title'] . '" />' : '';
$rank_img_src = (!empty($ranks['special'][$user_rank]['rank_image'])) ? $phpbb_root_path . $config['ranks_path'] . '/' . $ranks['special'][$user_rank]['rank_image'] : '';
$rank_img_src = (!empty($ranks['special'][$user_rank]['rank_image'])) ? $phpbb_path_helper->update_web_root_path($phpbb_root_path . $config['ranks_path'] . '/' . $ranks['special'][$user_rank]['rank_image']) : '';
$rank_img = (!empty($ranks['special'][$user_rank]['rank_image'])) ? '<img src="' . $rank_img_src . '" alt="' . $ranks['special'][$user_rank]['rank_title'] . '" title="' . $ranks['special'][$user_rank]['rank_title'] . '" />' : '';
}
else if ($user_posts !== false)
{
@@ -1370,8 +1398,8 @@ function get_user_rank($user_rank, $user_posts, &$rank_title, &$rank_img, &$rank
if ($user_posts >= $rank['rank_min'])
{
$rank_title = $rank['rank_title'];
$rank_img = (!empty($rank['rank_image'])) ? '<img src="' . $phpbb_root_path . $config['ranks_path'] . '/' . $rank['rank_image'] . '" alt="' . $rank['rank_title'] . '" title="' . $rank['rank_title'] . '" />' : '';
$rank_img_src = (!empty($rank['rank_image'])) ? $phpbb_root_path . $config['ranks_path'] . '/' . $rank['rank_image'] : '';
$rank_img_src = (!empty($rank['rank_image'])) ? $phpbb_path_helper->update_web_root_path($phpbb_root_path . $config['ranks_path'] . '/' . $rank['rank_image']) : '';
$rank_img = (!empty($rank['rank_image'])) ? '<img src="' . $rank_img_src . '" alt="' . $rank['rank_title'] . '" title="' . $rank['rank_title'] . '" />' : '';
break;
}
}
@@ -1416,3 +1444,166 @@ function phpbb_gen_download_links($param_key, $param_val, $phpbb_root_path, $php
return $links;
}
/**
* Prepare profile data
*/
function phpbb_show_profile($data, $user_notes_enabled = false, $warn_user_enabled = false)
{
global $config, $auth, $user, $phpEx, $phpbb_root_path, $phpbb_dispatcher;
$username = $data['username'];
$user_id = $data['user_id'];
$rank_title = $rank_img = $rank_img_src = '';
get_user_rank($data['user_rank'], (($user_id == ANONYMOUS) ? false : $data['user_posts']), $rank_title, $rank_img, $rank_img_src);
if ((!empty($data['user_allow_viewemail']) && $auth->acl_get('u_sendemail')) || $auth->acl_get('a_user'))
{
$email = ($config['board_email_form'] && $config['email_enable']) ? append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=email&amp;u=' . $user_id) : (($config['board_hide_emails'] && !$auth->acl_get('a_user')) ? '' : 'mailto:' . $data['user_email']);
}
else
{
$email = '';
}
if ($config['load_onlinetrack'])
{
$update_time = $config['load_online_time'] * 60;
$online = (time() - $update_time < $data['session_time'] && ((isset($data['session_viewonline']) && $data['session_viewonline']) || $auth->acl_get('u_viewonline'))) ? true : false;
}
else
{
$online = false;
}
if ($data['user_allow_viewonline'] || $auth->acl_get('u_viewonline'))
{
$last_active = (!empty($data['session_time'])) ? $data['session_time'] : $data['user_lastvisit'];
}
else
{
$last_active = '';
}
$age = '';
if ($config['allow_birthdays'] && $data['user_birthday'])
{
list($bday_day, $bday_month, $bday_year) = array_map('intval', explode('-', $data['user_birthday']));
if ($bday_year)
{
$now = $user->create_datetime();
$now = phpbb_gmgetdate($now->getTimestamp() + $now->getOffset());
$diff = $now['mon'] - $bday_month;
if ($diff == 0)
{
$diff = ($now['mday'] - $bday_day < 0) ? 1 : 0;
}
else
{
$diff = ($diff < 0) ? 1 : 0;
}
$age = max(0, (int) ($now['year'] - $bday_year - $diff));
}
}
if (!function_exists('phpbb_get_banned_user_ids'))
{
include($phpbb_root_path . 'includes/functions_user.' . $phpEx);
}
// Can this user receive a Private Message?
$can_receive_pm = (
// They must be a "normal" user
$data['user_type'] != USER_IGNORE &&
// They must not be deactivated by the administrator
($data['user_type'] != USER_INACTIVE || $data['user_inactive_reason'] != INACTIVE_MANUAL) &&
// They must be able to read PMs
sizeof($auth->acl_get_list($user_id, 'u_readpm')) &&
// They must not be permanently banned
!sizeof(phpbb_get_banned_user_ids($user_id, false)) &&
// They must allow users to contact via PM
(($auth->acl_gets('a_', 'm_') || $auth->acl_getf_global('m_')) || $data['user_allow_pm'])
);
// Dump it out to the template
$template_data = array(
'AGE' => $age,
'RANK_TITLE' => $rank_title,
'JOINED' => $user->format_date($data['user_regdate']),
'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,
'USERNAME_FULL' => get_username_string('full', $user_id, $username, $data['user_colour']),
'USERNAME' => get_username_string('username', $user_id, $username, $data['user_colour']),
'USER_COLOR' => get_username_string('colour', $user_id, $username, $data['user_colour']),
'U_VIEW_PROFILE' => get_username_string('profile', $user_id, $username, $data['user_colour']),
'A_USERNAME' => addslashes(get_username_string('username', $user_id, $username, $data['user_colour'])),
'AVATAR_IMG' => phpbb_get_user_avatar($data),
'ONLINE_IMG' => (!$config['load_onlinetrack']) ? '' : (($online) ? $user->img('icon_user_online', 'ONLINE') : $user->img('icon_user_offline', 'OFFLINE')),
'S_ONLINE' => ($config['load_onlinetrack'] && $online) ? true : false,
'RANK_IMG' => $rank_img,
'RANK_IMG_SRC' => $rank_img_src,
'S_JABBER_ENABLED' => ($config['jab_enable']) ? true : false,
'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&amp;sr=posts") : '',
'U_NOTES' => ($user_notes_enabled && $auth->acl_getf_global('m_')) ? append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=notes&amp;mode=user_notes&amp;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&amp;mode=warn_user&amp;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&amp;mode=compose&amp;u=' . $user_id) : '',
'U_EMAIL' => $email,
'U_JABBER' => ($data['user_jabber'] && $auth->acl_get('u_sendim')) ? append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=contact&amp;action=jabber&amp;u=' . $user_id) : '',
'USER_JABBER' => $data['user_jabber'],
'USER_JABBER_IMG' => ($data['user_jabber']) ? $user->img('icon_contact_jabber', $data['user_jabber']) : '',
'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),
);
/**
* Preparing a user's data before displaying it in profile and memberlist
*
* @event core.memberlist_prepare_profile_data
* @var array data Array with user's data
* @var array template_data Template array with user's data
* @since 3.1.0-a1
*/
$vars = array('data', 'template_data');
extract($phpbb_dispatcher->trigger_event('core.memberlist_prepare_profile_data', compact($vars)));
return $template_data;
}
function phpbb_sort_last_active($first, $second)
{
global $id_cache, $sort_dir;
$lesser_than = ($sort_dir === 'd') ? -1 : 1;
if (isset($id_cache[$first]['group_leader']) && $id_cache[$first]['group_leader'] && (!isset($id_cache[$second]['group_leader']) || !$id_cache[$second]['group_leader']))
{
return -1;
}
else if (isset($id_cache[$second]['group_leader']) && (!isset($id_cache[$first]['group_leader']) || !$id_cache[$first]['group_leader']) && $id_cache[$second]['group_leader'])
{
return 1;
}
else
{
return $lesser_than * (int) ($id_cache[$first]['last_visit'] - $id_cache[$second]['last_visit']);
}
}

View File

@@ -27,15 +27,6 @@ function get_available_dbms($dbms = false, $return_unavailable = false, $only_20
{
global $lang;
$available_dbms = array(
'firebird' => array(
'LABEL' => 'FireBird',
'SCHEMA' => 'firebird',
'MODULE' => 'interbase',
'DELIM' => ';;',
'DRIVER' => 'phpbb\db\driver\firebird',
'AVAILABLE' => true,
'2.0.x' => false,
),
// Note: php 5.5 alpha 2 deprecated mysql.
// Keep mysqli before mysql in this list.
'mysqli' => array(
@@ -260,7 +251,6 @@ function connect_check_db($error_connect, &$error, $dbms_details, $table_prefix,
$prefix_length = 200;
break;
case 'phpbb\db\driver\firebird':
case 'phpbb\db\driver\oracle':
$prefix_length = 6;
break;
@@ -300,7 +290,7 @@ function connect_check_db($error_connect, &$error, $dbms_details, $table_prefix,
switch ($dbms_details['DRIVER'])
{
case 'phpbb\db\driver\mysqli':
if (version_compare(mysqli_get_server_info($db->db_connect_id), '4.1.3', '<'))
if (version_compare(mysqli_get_server_info($db->get_db_connect_id()), '4.1.3', '<'))
{
$error[] = $lang['INST_ERR_DB_NO_MYSQLI'];
}
@@ -321,87 +311,6 @@ function connect_check_db($error_connect, &$error, $dbms_details, $table_prefix,
}
break;
case 'phpbb\db\driver\firebird':
// check the version of FB, use some hackery if we can't get access to the server info
if ($db->service_handle !== false && function_exists('ibase_server_info'))
{
$val = @ibase_server_info($db->service_handle, IBASE_SVC_SERVER_VERSION);
preg_match('#V([\d.]+)#', $val, $match);
if ($match[1] < 2)
{
$error[] = $lang['INST_ERR_DB_NO_FIREBIRD'];
}
$db_info = @ibase_db_info($db->service_handle, $dbname, IBASE_STS_HDR_PAGES);
preg_match('/^\\s*Page size\\s*(\\d+)/m', $db_info, $regs);
$page_size = intval($regs[1]);
if ($page_size < 8192)
{
$error[] = $lang['INST_ERR_DB_NO_FIREBIRD_PS'];
}
}
else
{
$sql = "SELECT *
FROM RDB$FUNCTIONS
WHERE RDB$SYSTEM_FLAG IS NULL
AND RDB$FUNCTION_NAME = 'CHAR_LENGTH'";
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
// if its a UDF, its too old
if ($row)
{
$error[] = $lang['INST_ERR_DB_NO_FIREBIRD'];
}
else
{
$sql = 'SELECT 1 FROM RDB$DATABASE
WHERE BIN_AND(10, 1) = 0';
$result = $db->sql_query($sql);
if (!$result) // This can only fail if BIN_AND is not defined
{
$error[] = $lang['INST_ERR_DB_NO_FIREBIRD'];
}
$db->sql_freeresult($result);
}
// Setup the stuff for our random table
$char_array = array_merge(range('A', 'Z'), range('0', '9'));
$char_len = mt_rand(7, 9);
$char_array_len = sizeof($char_array) - 1;
$final = '';
for ($i = 0; $i < $char_len; $i++)
{
$final .= $char_array[mt_rand(0, $char_array_len)];
}
// Create some random table
$sql = 'CREATE TABLE ' . $final . " (
FIELD1 VARCHAR(255) CHARACTER SET UTF8 DEFAULT '' NOT NULL COLLATE UNICODE,
FIELD2 INTEGER DEFAULT 0 NOT NULL);";
$db->sql_query($sql);
// Create an index that should fail if the page size is less than 8192
$sql = 'CREATE INDEX ' . $final . ' ON ' . $final . '(FIELD1, FIELD2);';
$db->sql_query($sql);
if (ibase_errmsg() !== false)
{
$error[] = $lang['INST_ERR_DB_NO_FIREBIRD_PS'];
}
else
{
// Kill the old table
$db->sql_query('DROP TABLE ' . $final . ';');
}
unset($final);
}
break;
case 'phpbb\db\driver\oracle':
if ($unicode_check)
{

View File

@@ -0,0 +1,666 @@
<?php
/**
*
* This file is part of the phpBB Forum Software package.
*
* @copyright (c) phpBB Limited <https://www.phpbb.com>
* @license GNU General Public License, version 2 (GPL-2.0)
*
* For full copyright and license information, please see
* the docs/CREDITS.txt file.
*
*/
/**
* @ignore
*/
if (!defined('IN_PHPBB'))
{
exit;
}
/**
* Functions used to generate additional URL paramters
*/
function phpbb_module__url($mode, &$module_row)
{
return phpbb_extra_url();
}
function phpbb_module_notes_url($mode, &$module_row)
{
if ($mode == 'front')
{
return '';
}
global $user_id;
return ($user_id) ? "&amp;u=$user_id" : '';
}
function phpbb_module_warn_url($mode, &$module_row)
{
if ($mode == 'front' || $mode == 'list')
{
global $forum_id;
return ($forum_id) ? "&amp;f=$forum_id" : '';
}
if ($mode == 'warn_post')
{
global $forum_id, $post_id;
$url_extra = ($forum_id) ? "&amp;f=$forum_id" : '';
$url_extra .= ($post_id) ? "&amp;p=$post_id" : '';
return $url_extra;
}
else
{
global $user_id;
return ($user_id) ? "&amp;u=$user_id" : '';
}
}
function phpbb_module_main_url($mode, &$module_row)
{
return phpbb_extra_url();
}
function phpbb_module_logs_url($mode, &$module_row)
{
return phpbb_extra_url();
}
function phpbb_module_ban_url($mode, &$module_row)
{
return phpbb_extra_url();
}
function phpbb_module_queue_url($mode, &$module_row)
{
return phpbb_extra_url();
}
function phpbb_module_reports_url($mode, &$module_row)
{
return phpbb_extra_url();
}
function phpbb_extra_url()
{
global $forum_id, $topic_id, $post_id, $report_id, $user_id;
$url_extra = '';
$url_extra .= ($forum_id) ? "&amp;f=$forum_id" : '';
$url_extra .= ($topic_id) ? "&amp;t=$topic_id" : '';
$url_extra .= ($post_id) ? "&amp;p=$post_id" : '';
$url_extra .= ($user_id) ? "&amp;u=$user_id" : '';
$url_extra .= ($report_id) ? "&amp;r=$report_id" : '';
return $url_extra;
}
/**
* Get simple topic data
*/
function phpbb_get_topic_data($topic_ids, $acl_list = false, $read_tracking = false)
{
global $auth, $db, $config, $user;
static $rowset = array();
$topics = array();
if (!sizeof($topic_ids))
{
return array();
}
// cache might not contain read tracking info, so we can't use it if read
// tracking information is requested
if (!$read_tracking)
{
$cache_topic_ids = array_intersect($topic_ids, array_keys($rowset));
$topic_ids = array_diff($topic_ids, array_keys($rowset));
}
else
{
$cache_topic_ids = array();
}
if (sizeof($topic_ids))
{
$sql_array = array(
'SELECT' => 't.*, f.*',
'FROM' => array(
TOPICS_TABLE => 't',
),
'LEFT_JOIN' => array(
array(
'FROM' => array(FORUMS_TABLE => 'f'),
'ON' => 'f.forum_id = t.forum_id'
)
),
'WHERE' => $db->sql_in_set('t.topic_id', $topic_ids)
);
if ($read_tracking && $config['load_db_lastread'])
{
$sql_array['SELECT'] .= ', tt.mark_time, ft.mark_time as forum_mark_time';
$sql_array['LEFT_JOIN'][] = array(
'FROM' => array(TOPICS_TRACK_TABLE => 'tt'),
'ON' => 'tt.user_id = ' . $user->data['user_id'] . ' AND t.topic_id = tt.topic_id'
);
$sql_array['LEFT_JOIN'][] = array(
'FROM' => array(FORUMS_TRACK_TABLE => 'ft'),
'ON' => 'ft.user_id = ' . $user->data['user_id'] . ' AND t.forum_id = ft.forum_id'
);
}
$sql = $db->sql_build_query('SELECT', $sql_array);
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
$rowset[$row['topic_id']] = $row;
if ($acl_list && !$auth->acl_gets($acl_list, $row['forum_id']))
{
continue;
}
$topics[$row['topic_id']] = $row;
}
$db->sql_freeresult($result);
}
foreach ($cache_topic_ids as $id)
{
if (!$acl_list || $auth->acl_gets($acl_list, $rowset[$id]['forum_id']))
{
$topics[$id] = $rowset[$id];
}
}
return $topics;
}
/**
* Get simple post data
*/
function phpbb_get_post_data($post_ids, $acl_list = false, $read_tracking = false)
{
global $db, $auth, $config, $user;
$rowset = array();
if (!sizeof($post_ids))
{
return array();
}
$sql_array = array(
'SELECT' => 'p.*, u.*, t.*, f.*',
'FROM' => array(
USERS_TABLE => 'u',
POSTS_TABLE => 'p',
TOPICS_TABLE => 't',
),
'LEFT_JOIN' => array(
array(
'FROM' => array(FORUMS_TABLE => 'f'),
'ON' => 'f.forum_id = t.forum_id'
)
),
'WHERE' => $db->sql_in_set('p.post_id', $post_ids) . '
AND u.user_id = p.poster_id
AND t.topic_id = p.topic_id',
);
if ($read_tracking && $config['load_db_lastread'])
{
$sql_array['SELECT'] .= ', tt.mark_time, ft.mark_time as forum_mark_time';
$sql_array['LEFT_JOIN'][] = array(
'FROM' => array(TOPICS_TRACK_TABLE => 'tt'),
'ON' => 'tt.user_id = ' . $user->data['user_id'] . ' AND t.topic_id = tt.topic_id'
);
$sql_array['LEFT_JOIN'][] = array(
'FROM' => array(FORUMS_TRACK_TABLE => 'ft'),
'ON' => 'ft.user_id = ' . $user->data['user_id'] . ' AND t.forum_id = ft.forum_id'
);
}
$sql = $db->sql_build_query('SELECT', $sql_array);
$result = $db->sql_query($sql);
unset($sql_array);
while ($row = $db->sql_fetchrow($result))
{
if ($acl_list && !$auth->acl_gets($acl_list, $row['forum_id']))
{
continue;
}
if ($row['post_visibility'] != ITEM_APPROVED && !$auth->acl_get('m_approve', $row['forum_id']))
{
// Moderators without the permission to approve post should at least not see them. ;)
continue;
}
$rowset[$row['post_id']] = $row;
}
$db->sql_freeresult($result);
return $rowset;
}
/**
* Get simple forum data
*/
function phpbb_get_forum_data($forum_id, $acl_list = 'f_list', $read_tracking = false)
{
global $auth, $db, $user, $config, $phpbb_container;
$rowset = array();
if (!is_array($forum_id))
{
$forum_id = array($forum_id);
}
if (!sizeof($forum_id))
{
return array();
}
if ($read_tracking && $config['load_db_lastread'])
{
$read_tracking_join = ' LEFT JOIN ' . FORUMS_TRACK_TABLE . ' ft ON (ft.user_id = ' . $user->data['user_id'] . '
AND ft.forum_id = f.forum_id)';
$read_tracking_select = ', ft.mark_time';
}
else
{
$read_tracking_join = $read_tracking_select = '';
}
$sql = "SELECT f.* $read_tracking_select
FROM " . FORUMS_TABLE . " f$read_tracking_join
WHERE " . $db->sql_in_set('f.forum_id', $forum_id);
$result = $db->sql_query($sql);
$phpbb_content_visibility = $phpbb_container->get('content.visibility');
while ($row = $db->sql_fetchrow($result))
{
if ($acl_list && !$auth->acl_gets($acl_list, $row['forum_id']))
{
continue;
}
$row['forum_topics_approved'] = $phpbb_content_visibility->get_count('forum_topics', $row, $row['forum_id']);
$rowset[$row['forum_id']] = $row;
}
$db->sql_freeresult($result);
return $rowset;
}
/**
* Get simple pm data
*/
function phpbb_get_pm_data($pm_ids)
{
global $db;
$rowset = array();
if (!sizeof($pm_ids))
{
return array();
}
$sql_array = array(
'SELECT' => 'p.*, u.*',
'FROM' => array(
USERS_TABLE => 'u',
PRIVMSGS_TABLE => 'p',
),
'WHERE' => $db->sql_in_set('p.msg_id', $pm_ids) . '
AND u.user_id = p.author_id',
);
$sql = $db->sql_build_query('SELECT', $sql_array);
$result = $db->sql_query($sql);
unset($sql_array);
while ($row = $db->sql_fetchrow($result))
{
$rowset[$row['msg_id']] = $row;
}
$db->sql_freeresult($result);
return $rowset;
}
/**
* sorting in mcp
*
* @param string $where_sql should either be WHERE (default if ommited) or end with AND or OR
*
* $mode reports and reports_closed: the $where parameters uses aliases p for posts table and r for report table
* $mode unapproved_posts: the $where parameters uses aliases p for posts table and t for topic table
*/
function phpbb_mcp_sorting($mode, &$sort_days, &$sort_key, &$sort_dir, &$sort_by_sql, &$sort_order_sql, &$total, $forum_id = 0, $topic_id = 0, $where_sql = 'WHERE')
{
global $db, $user, $auth, $template;
$sort_days = request_var('st', 0);
$min_time = ($sort_days) ? time() - ($sort_days * 86400) : 0;
switch ($mode)
{
case 'viewforum':
$type = 'topics';
$default_key = 't';
$default_dir = 'd';
$sql = 'SELECT COUNT(topic_id) AS total
FROM ' . TOPICS_TABLE . "
$where_sql forum_id = $forum_id
AND topic_type NOT IN (" . POST_ANNOUNCE . ', ' . POST_GLOBAL . ")
AND topic_last_post_time >= $min_time";
if (!$auth->acl_get('m_approve', $forum_id))
{
$sql .= 'AND topic_visibility = ' . ITEM_APPROVED;
}
break;
case 'viewtopic':
$type = 'posts';
$default_key = 't';
$default_dir = 'a';
$sql = 'SELECT COUNT(post_id) AS total
FROM ' . POSTS_TABLE . "
$where_sql topic_id = $topic_id
AND post_time >= $min_time";
if (!$auth->acl_get('m_approve', $forum_id))
{
$sql .= 'AND post_visibility = ' . ITEM_APPROVED;
}
break;
case 'unapproved_posts':
case 'deleted_posts':
$visibility_const = ($mode == 'unapproved_posts') ? array(ITEM_UNAPPROVED, ITEM_REAPPROVE) : ITEM_DELETED;
$type = 'posts';
$default_key = 't';
$default_dir = 'd';
$where_sql .= ($topic_id) ? ' p.topic_id = ' . $topic_id . ' AND' : '';
$sql = 'SELECT COUNT(p.post_id) AS total
FROM ' . POSTS_TABLE . ' p, ' . TOPICS_TABLE . " t
$where_sql " . $db->sql_in_set('p.forum_id', ($forum_id) ? array($forum_id) : array_intersect(get_forum_list('f_read'), get_forum_list('m_approve'))) . '
AND ' . $db->sql_in_set('p.post_visibility', $visibility_const) .'
AND t.topic_id = p.topic_id
AND t.topic_visibility <> p.post_visibility';
if ($min_time)
{
$sql .= ' AND post_time >= ' . $min_time;
}
break;
case 'unapproved_topics':
case 'deleted_topics':
$visibility_const = ($mode == 'unapproved_topics') ? array(ITEM_UNAPPROVED, ITEM_REAPPROVE) : ITEM_DELETED;
$type = 'topics';
$default_key = 't';
$default_dir = 'd';
$sql = 'SELECT COUNT(topic_id) AS total
FROM ' . TOPICS_TABLE . "
$where_sql " . $db->sql_in_set('forum_id', ($forum_id) ? array($forum_id) : array_intersect(get_forum_list('f_read'), get_forum_list('m_approve'))) . '
AND ' . $db->sql_in_set('topic_visibility', $visibility_const);
if ($min_time)
{
$sql .= ' AND topic_time >= ' . $min_time;
}
break;
case 'pm_reports':
case 'pm_reports_closed':
case 'reports':
case 'reports_closed':
$pm = (strpos($mode, 'pm_') === 0) ? true : false;
$type = ($pm) ? 'pm_reports' : 'reports';
$default_key = 't';
$default_dir = 'd';
$limit_time_sql = ($min_time) ? "AND r.report_time >= $min_time" : '';
if ($topic_id)
{
$where_sql .= ' p.topic_id = ' . $topic_id . ' AND ';
}
else if ($forum_id)
{
$where_sql .= ' p.forum_id = ' . $forum_id . ' AND ';
}
else if (!$pm)
{
$where_sql .= ' ' . $db->sql_in_set('p.forum_id', get_forum_list(array('!f_read', '!m_report')), true, true) . ' AND ';
}
if ($mode == 'reports' || $mode == 'pm_reports')
{
$where_sql .= ' r.report_closed = 0 AND ';
}
else
{
$where_sql .= ' r.report_closed = 1 AND ';
}
if ($pm)
{
$sql = 'SELECT COUNT(r.report_id) AS total
FROM ' . REPORTS_TABLE . ' r, ' . PRIVMSGS_TABLE . " p
$where_sql r.post_id = 0
AND p.msg_id = r.pm_id
$limit_time_sql";
}
else
{
$sql = 'SELECT COUNT(r.report_id) AS total
FROM ' . REPORTS_TABLE . ' r, ' . POSTS_TABLE . " p
$where_sql r.pm_id = 0
AND p.post_id = r.post_id
$limit_time_sql";
}
break;
case 'viewlogs':
$type = 'logs';
$default_key = 't';
$default_dir = 'd';
$sql = 'SELECT COUNT(log_id) AS total
FROM ' . LOG_TABLE . "
$where_sql " . $db->sql_in_set('forum_id', ($forum_id) ? array($forum_id) : array_intersect(get_forum_list('f_read'), get_forum_list('m_'))) . '
AND log_time >= ' . $min_time . '
AND log_type = ' . LOG_MOD;
break;
}
$sort_key = request_var('sk', $default_key);
$sort_dir = request_var('sd', $default_dir);
$sort_dir_text = array('a' => $user->lang['ASCENDING'], 'd' => $user->lang['DESCENDING']);
switch ($type)
{
case 'topics':
$limit_days = array(0 => $user->lang['ALL_TOPICS'], 1 => $user->lang['1_DAY'], 7 => $user->lang['7_DAYS'], 14 => $user->lang['2_WEEKS'], 30 => $user->lang['1_MONTH'], 90 => $user->lang['3_MONTHS'], 180 => $user->lang['6_MONTHS'], 365 => $user->lang['1_YEAR']);
$sort_by_text = array('a' => $user->lang['AUTHOR'], 't' => $user->lang['POST_TIME'], 'tt' => $user->lang['TOPIC_TIME'], 'r' => $user->lang['REPLIES'], 's' => $user->lang['SUBJECT'], 'v' => $user->lang['VIEWS']);
$sort_by_sql = array('a' => 't.topic_first_poster_name', 't' => 't.topic_last_post_time', 'tt' => 't.topic_time', 'r' => (($auth->acl_get('m_approve', $forum_id)) ? 't.topic_posts_approved + t.topic_posts_unapproved + t.topic_posts_softdeleted' : 't.topic_posts_approved'), 's' => 't.topic_title', 'v' => 't.topic_views');
$limit_time_sql = ($min_time) ? "AND t.topic_last_post_time >= $min_time" : '';
break;
case 'posts':
$limit_days = array(0 => $user->lang['ALL_POSTS'], 1 => $user->lang['1_DAY'], 7 => $user->lang['7_DAYS'], 14 => $user->lang['2_WEEKS'], 30 => $user->lang['1_MONTH'], 90 => $user->lang['3_MONTHS'], 180 => $user->lang['6_MONTHS'], 365 => $user->lang['1_YEAR']);
$sort_by_text = array('a' => $user->lang['AUTHOR'], 't' => $user->lang['POST_TIME'], 's' => $user->lang['SUBJECT']);
$sort_by_sql = array('a' => 'u.username_clean', 't' => 'p.post_time', 's' => 'p.post_subject');
$limit_time_sql = ($min_time) ? "AND p.post_time >= $min_time" : '';
break;
case 'reports':
$limit_days = array(0 => $user->lang['ALL_REPORTS'], 1 => $user->lang['1_DAY'], 7 => $user->lang['7_DAYS'], 14 => $user->lang['2_WEEKS'], 30 => $user->lang['1_MONTH'], 90 => $user->lang['3_MONTHS'], 180 => $user->lang['6_MONTHS'], 365 => $user->lang['1_YEAR']);
$sort_by_text = array('a' => $user->lang['AUTHOR'], 'r' => $user->lang['REPORTER'], 'p' => $user->lang['POST_TIME'], 't' => $user->lang['REPORT_TIME'], 's' => $user->lang['SUBJECT']);
$sort_by_sql = array('a' => 'u.username_clean', 'r' => 'ru.username', 'p' => 'p.post_time', 't' => 'r.report_time', 's' => 'p.post_subject');
break;
case 'pm_reports':
$limit_days = array(0 => $user->lang['ALL_REPORTS'], 1 => $user->lang['1_DAY'], 7 => $user->lang['7_DAYS'], 14 => $user->lang['2_WEEKS'], 30 => $user->lang['1_MONTH'], 90 => $user->lang['3_MONTHS'], 180 => $user->lang['6_MONTHS'], 365 => $user->lang['1_YEAR']);
$sort_by_text = array('a' => $user->lang['AUTHOR'], 'r' => $user->lang['REPORTER'], 'p' => $user->lang['POST_TIME'], 't' => $user->lang['REPORT_TIME'], 's' => $user->lang['SUBJECT']);
$sort_by_sql = array('a' => 'u.username_clean', 'r' => 'ru.username', 'p' => 'p.message_time', 't' => 'r.report_time', 's' => 'p.message_subject');
break;
case 'logs':
$limit_days = array(0 => $user->lang['ALL_ENTRIES'], 1 => $user->lang['1_DAY'], 7 => $user->lang['7_DAYS'], 14 => $user->lang['2_WEEKS'], 30 => $user->lang['1_MONTH'], 90 => $user->lang['3_MONTHS'], 180 => $user->lang['6_MONTHS'], 365 => $user->lang['1_YEAR']);
$sort_by_text = array('u' => $user->lang['SORT_USERNAME'], 't' => $user->lang['SORT_DATE'], 'i' => $user->lang['SORT_IP'], 'o' => $user->lang['SORT_ACTION']);
$sort_by_sql = array('u' => 'u.username_clean', 't' => 'l.log_time', 'i' => 'l.log_ip', 'o' => 'l.log_operation');
$limit_time_sql = ($min_time) ? "AND l.log_time >= $min_time" : '';
break;
}
if (!isset($sort_by_sql[$sort_key]))
{
$sort_key = $default_key;
}
$sort_order_sql = $sort_by_sql[$sort_key] . ' ' . (($sort_dir == 'd') ? 'DESC' : 'ASC');
$s_limit_days = $s_sort_key = $s_sort_dir = $sort_url = '';
gen_sort_selects($limit_days, $sort_by_text, $sort_days, $sort_key, $sort_dir, $s_limit_days, $s_sort_key, $s_sort_dir, $sort_url);
$template->assign_vars(array(
'S_SELECT_SORT_DIR' => $s_sort_dir,
'S_SELECT_SORT_KEY' => $s_sort_key,
'S_SELECT_SORT_DAYS' => $s_limit_days)
);
if (($sort_days && $mode != 'viewlogs') || in_array($mode, array('reports', 'unapproved_topics', 'unapproved_posts', 'deleted_topics', 'deleted_posts')) || $where_sql != 'WHERE')
{
$result = $db->sql_query($sql);
$total = (int) $db->sql_fetchfield('total');
$db->sql_freeresult($result);
}
else
{
$total = -1;
}
}
/**
* Validate ids
*
* @param array &$ids The relevant ids to check
* @param string $table The table to find the ids in
* @param string $sql_id The ids relevant column name
* @param array $acl_list A list of permissions the user need to have
* @param mixed $singe_forum Limit to one forum id (int) or the first forum found (true)
*
* @return mixed False if no ids were able to be retrieved, true if at least one id left.
* Additionally, this value can be the forum_id assigned if $single_forum was set.
* Therefore checking the result for with !== false is the best method.
*/
function phpbb_check_ids(&$ids, $table, $sql_id, $acl_list = false, $single_forum = false)
{
global $db, $auth;
if (!is_array($ids) || empty($ids))
{
return false;
}
$sql = "SELECT $sql_id, forum_id FROM $table
WHERE " . $db->sql_in_set($sql_id, $ids);
$result = $db->sql_query($sql);
$ids = array();
$forum_id = false;
while ($row = $db->sql_fetchrow($result))
{
if ($acl_list && $row['forum_id'] && !$auth->acl_gets($acl_list, $row['forum_id']))
{
continue;
}
if ($acl_list && !$row['forum_id'] && !$auth->acl_getf_global($acl_list))
{
continue;
}
// Limit forum? If not, just assign the id.
if ($single_forum === false)
{
$ids[] = $row[$sql_id];
continue;
}
// Limit forum to a specific forum id?
// This can get really tricky, because we do not want to create a failure on global topics. :)
if ($row['forum_id'])
{
if ($single_forum !== true && $row['forum_id'] == (int) $single_forum)
{
$forum_id = (int) $single_forum;
}
else if ($forum_id === false)
{
$forum_id = $row['forum_id'];
}
if ($row['forum_id'] == $forum_id)
{
$ids[] = $row[$sql_id];
}
}
else
{
// Always add a global topic
$ids[] = $row[$sql_id];
}
}
$db->sql_freeresult($result);
if (!sizeof($ids))
{
return false;
}
// If forum id is false and ids populated we may have only global announcements selected (returning 0 because of (int) $forum_id)
return ($single_forum === false) ? true : (int) $forum_id;
}

View File

@@ -250,13 +250,25 @@ class p_master
// Function for building 'url_extra'
$short_name = $this->get_short_name($row['module_basename']);
$url_func = '_module_' . $short_name . '_url';
$url_func = 'phpbb_module_' . $short_name . '_url';
if (!function_exists($url_func))
{
$url_func = '_module_' . $short_name . '_url';
}
// Function for building the language name
$lang_func = '_module_' . $short_name . '_lang';
$lang_func = 'phpbb_module_' . $short_name . '_lang';
if (!function_exists($lang_func))
{
$lang_func = '_module_' . $short_name . '_lang';
}
// Custom function for calling parameters on module init (for example assigning template variables)
$custom_func = '_module_' . $short_name;
$custom_func = 'phpbb_module_' . $short_name;
if (!function_exists($custom_func))
{
$custom_func = '_module_' . $short_name;
}
$names[$row['module_basename'] . '_' . $row['module_mode']][] = true;
@@ -456,7 +468,9 @@ class p_master
);
$is_auth = false;
// @codingStandardsIgnoreStart
eval('$is_auth = (int) (' . $module_auth . ');');
// @codingStandardsIgnoreEnd
return $is_auth;
}

View File

@@ -1657,7 +1657,7 @@ function submit_post($mode, $subject, $username, $topic_type, &$poll, &$data, $u
if ($user->data['user_id'] != $poster_id)
{
$log_subject = ($subject) ? $subject : $data['topic_title'];
add_log('mod', $data['forum_id'], $data['topic_id'], 'LOG_POST_EDITED', $log_subject, (!empty($username)) ? $username : $user->lang['GUEST']);
add_log('mod', $data['forum_id'], $data['topic_id'], 'LOG_POST_EDITED', $log_subject, (!empty($username)) ? $username : $user->lang['GUEST'], $data['post_edit_reason']);
}
if (!isset($sql_data[POSTS_TABLE]['sql']))
@@ -2485,3 +2485,137 @@ function phpbb_bump_topic($forum_id, $topic_id, $post_data, $bump_time = false)
return $url;
}
/**
* Show upload popup (progress bar)
*/
function phpbb_upload_popup($forum_style = 0)
{
global $template, $user;
($forum_style) ? $user->setup('posting', $forum_style) : $user->setup('posting');
page_header($user->lang['PROGRESS_BAR']);
$template->set_filenames(array(
'popup' => 'posting_progress_bar.html')
);
$template->assign_vars(array(
'PROGRESS_BAR' => $user->img('upload_bar', $user->lang['UPLOAD_IN_PROGRESS']))
);
$template->display('popup');
garbage_collection();
exit_handler();
}
/**
* Do the various checks required for removing posts as well as removing it
*/
function phpbb_handle_post_delete($forum_id, $topic_id, $post_id, &$post_data, $is_soft = false, $soft_delete_reason = '')
{
global $user, $auth, $config, $request;
global $phpbb_root_path, $phpEx;
$perm_check = ($is_soft) ? 'softdelete' : 'delete';
// If moderator removing post or user itself removing post, present a confirmation screen
if ($auth->acl_get("m_$perm_check", $forum_id) || ($post_data['poster_id'] == $user->data['user_id'] && $user->data['is_registered'] && $auth->acl_get("f_$perm_check", $forum_id) && $post_id == $post_data['topic_last_post_id'] && !$post_data['post_edit_locked'] && ($post_data['post_time'] > time() - ($config['delete_time'] * 60) || !$config['delete_time'])))
{
$s_hidden_fields = array(
'p' => $post_id,
'f' => $forum_id,
'mode' => ($is_soft) ? 'soft_delete' : 'delete',
);
if (confirm_box(true))
{
$data = array(
'topic_first_post_id' => $post_data['topic_first_post_id'],
'topic_last_post_id' => $post_data['topic_last_post_id'],
'topic_posts_approved' => $post_data['topic_posts_approved'],
'topic_posts_unapproved' => $post_data['topic_posts_unapproved'],
'topic_posts_softdeleted' => $post_data['topic_posts_softdeleted'],
'topic_visibility' => $post_data['topic_visibility'],
'topic_type' => $post_data['topic_type'],
'post_visibility' => $post_data['post_visibility'],
'post_reported' => $post_data['post_reported'],
'post_time' => $post_data['post_time'],
'poster_id' => $post_data['poster_id'],
'post_postcount' => $post_data['post_postcount'],
);
$next_post_id = delete_post($forum_id, $topic_id, $post_id, $data, $is_soft, $soft_delete_reason);
$post_username = ($post_data['poster_id'] == ANONYMOUS && !empty($post_data['post_username'])) ? $post_data['post_username'] : $post_data['username'];
if ($next_post_id === false)
{
add_log('mod', $forum_id, $topic_id, (($is_soft) ? 'LOG_SOFTDELETE_TOPIC' : 'LOG_DELETE_TOPIC'), $post_data['topic_title'], $post_username, $soft_delete_reason);
$meta_info = append_sid("{$phpbb_root_path}viewforum.$phpEx", "f=$forum_id");
$message = $user->lang['POST_DELETED'];
}
else
{
add_log('mod', $forum_id, $topic_id, (($is_soft) ? 'LOG_SOFTDELETE_POST' : 'LOG_DELETE_POST'), $post_data['post_subject'], $post_username, $soft_delete_reason);
$meta_info = append_sid("{$phpbb_root_path}viewtopic.$phpEx", "f=$forum_id&amp;t=$topic_id&amp;p=$next_post_id") . "#p$next_post_id";
$message = $user->lang['POST_DELETED'];
if (!$request->is_ajax())
{
$message .= '<br /><br />' . $user->lang('RETURN_TOPIC', '<a href="' . $meta_info . '">', '</a>');
}
}
meta_refresh(3, $meta_info);
if (!$request->is_ajax())
{
$message .= '<br /><br />' . $user->lang('RETURN_FORUM', '<a href="' . append_sid("{$phpbb_root_path}viewforum.$phpEx", 'f=' . $forum_id) . '">', '</a>');
}
trigger_error($message);
}
else
{
global $user, $template, $request;
$can_delete = $auth->acl_get('m_delete', $forum_id) || ($post_data['poster_id'] == $user->data['user_id'] && $user->data['is_registered'] && $auth->acl_get('f_delete', $forum_id));
$can_softdelete = $auth->acl_get('m_softdelete', $forum_id) || ($post_data['poster_id'] == $user->data['user_id'] && $user->data['is_registered'] && $auth->acl_get('f_softdelete', $forum_id));
$template->assign_vars(array(
'S_SOFTDELETED' => $post_data['post_visibility'] == ITEM_DELETED,
'S_CHECKED_PERMANENT' => $request->is_set_post('delete_permanent') ? ' checked="checked"' : '',
'S_ALLOWED_DELETE' => $can_delete,
'S_ALLOWED_SOFTDELETE' => $can_softdelete,
));
$l_confirm = 'DELETE_POST';
if ($post_data['post_visibility'] == ITEM_DELETED)
{
$l_confirm .= '_PERMANENTLY';
$s_hidden_fields['delete_permanent'] = '1';
}
else if (!$can_softdelete)
{
$s_hidden_fields['delete_permanent'] = '1';
}
confirm_box(false, $l_confirm, build_hidden_fields($s_hidden_fields), 'confirm_delete_body.html');
}
}
// If we are here the user is not able to delete - present the correct error message
if ($post_data['poster_id'] != $user->data['user_id'] && $auth->acl_get('f_delete', $forum_id))
{
trigger_error('DELETE_OWN_POSTS');
}
if ($post_data['poster_id'] == $user->data['user_id'] && $auth->acl_get('f_delete', $forum_id) && $post_id != $post_data['topic_last_post_id'])
{
trigger_error('CANNOT_DELETE_REPLIED');
}
trigger_error('USER_CANNOT_DELETE');
}

View File

@@ -988,7 +988,7 @@ function handle_mark_actions($user_id, $mark_action)
*/
function delete_pm($user_id, $msg_ids, $folder_id)
{
global $db, $user, $phpbb_root_path, $phpEx, $phpbb_container;
global $db, $user, $phpbb_root_path, $phpEx, $phpbb_container, $phpbb_dispatcher;
$user_id = (int) $user_id;
$folder_id = (int) $folder_id;
@@ -1012,6 +1012,18 @@ function delete_pm($user_id, $msg_ids, $folder_id)
return false;
}
/**
* Get all info for PM(s) before they are deleted
*
* @event core.delete_pm_before
* @var int user_id ID of the user requested the message delete
* @var array msg_ids array of all messages to be deleted
* @var int folder_id ID of the user folder where the messages are stored
* @since 3.1.0-b5
*/
$vars = array('user_id', 'msg_ids', 'folder_id');
extract($phpbb_dispatcher->trigger_event('core.delete_pm_before', compact($vars)));
// Get PM Information for later deleting
$sql = 'SELECT msg_id, pm_unread, pm_new
FROM ' . PRIVMSGS_TO_TABLE . '
@@ -1906,6 +1918,19 @@ function submit_pm($mode, $subject, &$data, $put_in_outbox = true)
$phpbb_notifications->add_notifications('pm', $pm_data);
}
/**
* Get PM message ID after submission to DB
*
* @event core.submit_pm_after
* @var string mode PM Post mode - post|reply|quote|quotepost|forward|edit
* @var string subject Subject of the private message
* @var array data The whole row data of the PM.
* @var array pm_data The data sent to notification class
* @since 3.1.0-b5
*/
$vars = array('mode', 'subject', 'data', 'pm_data');
extract($phpbb_dispatcher->trigger_event('core.submit_pm_after', compact($vars)));
return $data['msg_id'];
}

View File

@@ -485,6 +485,9 @@ class fileupload
var $max_height = 0;
var $error_prefix = '';
/** @var int Timeout for remote upload */
var $upload_timeout = 6;
/**
* Init file upload class.
*
@@ -828,13 +831,28 @@ class fileupload
fputs($fsock, "HOST: " . $host . "\r\n");
fputs($fsock, "Connection: close\r\n\r\n");
// Set a proper timeout for the socket
socket_set_timeout($fsock, $this->upload_timeout);
$get_info = false;
$data = '';
while (!@feof($fsock))
$length = false;
$timer_stop = time() + $this->upload_timeout;
while ((!$length || $filesize < $length) && !@feof($fsock))
{
if ($get_info)
{
$block = @fread($fsock, 1024);
if ($length)
{
// Don't attempt to read past end of file if server indicated length
$block = @fread($fsock, min($length - $filesize, 1024));
}
else
{
$block = @fread($fsock, 1024);
}
$filesize += strlen($block);
if ($remote_max_filesize && $filesize > $remote_max_filesize)
@@ -880,6 +898,15 @@ class fileupload
}
}
}
$stream_meta_data = stream_get_meta_data($fsock);
// Cancel upload if we exceed timeout
if (!empty($stream_meta_data['timed_out']) || time() >= $timer_stop)
{
$file = new fileerror($user->lang[$this->error_prefix . 'REMOTE_UPLOAD_TIMEOUT']);
return $file;
}
}
@fclose($fsock);
@@ -1051,7 +1078,7 @@ class fileupload
*/
static public function image_types()
{
return array(
$result = array(
IMAGETYPE_GIF => array('gif'),
IMAGETYPE_JPEG => array('jpg', 'jpeg'),
IMAGETYPE_PNG => array('png'),
@@ -1064,10 +1091,16 @@ class fileupload
IMAGETYPE_JP2 => array('jpg', 'jpeg'),
IMAGETYPE_JPX => array('jpg', 'jpeg'),
IMAGETYPE_JB2 => array('jpg', 'jpeg'),
IMAGETYPE_SWC => array('swc'),
IMAGETYPE_IFF => array('iff'),
IMAGETYPE_WBMP => array('wbmp'),
IMAGETYPE_XBM => array('xbm'),
);
if (defined('IMAGETYPE_SWC'))
{
$result[IMAGETYPE_SWC] = array('swc');
}
return $result;
}
}

View File

@@ -184,7 +184,6 @@ function user_add($user_row, $cp_data = false)
'username' => $user_row['username'],
'username_clean' => $username_clean,
'user_password' => (isset($user_row['user_password'])) ? $user_row['user_password'] : '',
'user_pass_convert' => 0,
'user_email' => strtolower($user_row['user_email']),
'user_email_hash' => phpbb_email_hash($user_row['user_email']),
'group_id' => $user_row['group_id'],
@@ -262,10 +261,13 @@ function user_add($user_row, $cp_data = false)
* Use this event to modify the values to be inserted when a user is added
*
* @event core.user_add_modify_data
* @var array user_row Array of user details submited to user_add
* @var array cp_data Array of Custom profile fields submited to user_add
* @var array sql_ary Array of data to be inserted when a user is added
* @since 3.1.0-a1
* @change 3.1.0-b5
*/
$vars = array('sql_ary');
$vars = array('user_row', 'cp_data', 'sql_ary');
extract($phpbb_dispatcher->trigger_event('core.user_add_modify_data', compact($vars)));
$sql = 'INSERT INTO ' . USERS_TABLE . ' ' . $db->sql_build_array('INSERT', $sql_ary);
@@ -345,6 +347,18 @@ function user_add($user_row, $cp_data = false)
set_config('newest_user_colour', $row['group_colour'], true);
}
/**
* Event that returns user id, user detals and user CPF of newly registared user
*
* @event core.user_add_after
* @var int user_id User id of newly registared user
* @var array user_row Array of user details submited to user_add
* @var array cp_data Array of Custom profile fields submited to user_add
* @since 3.1.0-b5
*/
$vars = array('user_id', 'user_row', 'cp_data');
extract($phpbb_dispatcher->trigger_event('core.user_add_after', compact($vars)));
return $user_id;
}
@@ -756,7 +770,7 @@ function user_ban($mode, $ban, $ban_len, $ban_len_other, $ban_exclude, $ban_reas
else
{
$ban_other = explode('-', $ban_len_other);
if (sizeof($ban_other) == 3 && ((int)$ban_other[0] < 9999) &&
if (sizeof($ban_other) == 3 && ((int) $ban_other[0] < 9999) &&
(strlen($ban_other[0]) == 4) && (strlen($ban_other[1]) == 2) && (strlen($ban_other[2]) == 2))
{
$ban_end = max($current_time, $user->create_datetime()
@@ -1123,7 +1137,7 @@ function user_ban($mode, $ban, $ban_len, $ban_len_other, $ban_exclude, $ban_reas
// Update log
$log_entry = ($ban_exclude) ? 'LOG_BAN_EXCLUDE_' : 'LOG_BAN_';
// Add to moderator log, admin log and user notes
// Add to admin log, moderator log and user notes
add_log('admin', $log_entry . strtoupper($mode), $ban_reason, $ban_list_log);
add_log('mod', 0, 0, $log_entry . strtoupper($mode), $ban_reason, $ban_list_log);
if ($mode == 'user')
@@ -1746,24 +1760,20 @@ function validate_password($password)
}
/**
* Check to see if email address is banned or already present in the DB
* Check to see if email address is a valid address and contains a MX record
*
* @param string $email The email to check
* @param string $allowed_email An allowed email, default being $user->data['user_email']
*
* @return mixed Either false if validation succeeded or a string which will be used as the error message (with the variable name appended)
*/
function validate_email($email, $allowed_email = false)
function phpbb_validate_email($email, $config = null)
{
global $config, $db, $user;
if ($config === null)
{
global $config;
}
$email = strtolower($email);
$allowed_email = ($allowed_email === false) ? strtolower($user->data['user_email']) : strtolower($allowed_email);
if ($allowed_email == $email)
{
return false;
}
if (!preg_match('/^' . get_preg_expression('email') . '$/i', $email))
{
@@ -1782,6 +1792,35 @@ function validate_email($email, $allowed_email = false)
}
}
return false;
}
/**
* Check to see if email address is banned or already present in the DB
*
* @param string $email The email to check
* @param string $allowed_email An allowed email, default being $user->data['user_email']
*
* @return mixed Either false if validation succeeded or a string which will be used as the error message (with the variable name appended)
*/
function validate_user_email($email, $allowed_email = false)
{
global $config, $db, $user;
$email = strtolower($email);
$allowed_email = ($allowed_email === false) ? strtolower($user->data['user_email']) : strtolower($allowed_email);
if ($allowed_email == $email)
{
return false;
}
$validate_email = phpbb_validate_email($email, $config);
if ($validate_email)
{
return $validate_email;
}
if (($ban_reason = $user->check_ban(false, false, $email, true)) !== false)
{
return ($ban_reason === true) ? 'EMAIL_BANNED' : $ban_reason;
@@ -2062,7 +2101,7 @@ function avatar_delete($mode, $row, $clean_db = false)
// Check if the users avatar is actually *not* a group avatar
if ($mode == 'user')
{
if (strpos($row['user_avatar'], 'g') === 0 || (((int)$row['user_avatar'] !== 0) && ((int)$row['user_avatar'] !== (int)$row['user_id'])))
if (strpos($row['user_avatar'], 'g') === 0 || (((int) $row['user_avatar'] !== 0) && ((int) $row['user_avatar'] !== (int) $row['user_id'])))
{
return false;
}
@@ -2395,7 +2434,7 @@ function group_correct_avatar($group_id, $old_entry)
{
global $config, $db, $phpbb_root_path;
$group_id = (int)$group_id;
$group_id = (int) $group_id;
$ext = substr(strrchr($old_entry, '.'), 1);
$old_filename = get_avatar_filename($old_entry);
$new_filename = $config['avatar_salt'] . "_g$group_id.$ext";
@@ -2820,7 +2859,7 @@ function remove_default_avatar($group_id, $user_ids)
$sql = 'SELECT *
FROM ' . GROUPS_TABLE . '
WHERE group_id = ' . (int)$group_id;
WHERE group_id = ' . (int) $group_id;
$result = $db->sql_query($sql);
if (!$row = $db->sql_fetchrow($result))
{
@@ -2861,7 +2900,7 @@ function remove_default_rank($group_id, $user_ids)
$sql = 'SELECT *
FROM ' . GROUPS_TABLE . '
WHERE group_id = ' . (int)$group_id;
WHERE group_id = ' . (int) $group_id;
$result = $db->sql_query($sql);
if (!$row = $db->sql_fetchrow($result))
{
@@ -2872,9 +2911,9 @@ function remove_default_rank($group_id, $user_ids)
$sql = 'UPDATE ' . USERS_TABLE . '
SET user_rank = 0
WHERE group_id = ' . (int)$group_id . '
WHERE group_id = ' . (int) $group_id . '
AND user_rank <> 0
AND user_rank = ' . (int)$row['group_rank'] . '
AND user_rank = ' . (int) $row['group_rank'] . '
AND ' . $db->sql_in_set('user_id', $user_ids);
$db->sql_query($sql);
}
@@ -3506,3 +3545,23 @@ function phpbb_get_banned_user_ids($user_ids = array(), $ban_end = true)
return $banned_ids_list;
}
/**
* Function for assigning a template var if the zebra module got included
*/
function phpbb_module_zebra($mode, &$module_row)
{
global $template;
$template->assign_var('S_ZEBRA_ENABLED', true);
if ($mode == 'friends')
{
$template->assign_var('S_ZEBRA_FRIENDS_ENABLED', true);
}
if ($mode == 'foes')
{
$template->assign_var('S_ZEBRA_FOES_ENABLED', true);
}
}

View File

@@ -185,7 +185,7 @@ class mcp_ban
}
else if ($post_id)
{
$post_info = get_post_data($post_id, 'm_ban');
$post_info = phpbb_get_post_data($post_id, 'm_ban');
if (sizeof($post_info) && !empty($post_info[$post_id]))
{

Some files were not shown because too many files have changed in this diff Show More