Projet

Général

Profil

Révision 582db59d

Ajouté par Assos Assos il y a plus de 8 ans

Update Drupal core to version 7.40

Voir les différences:

drupal7/.htaccess
141 141
    </FilesMatch>
142 142
  </IfModule>
143 143
</IfModule>
144

  
145
# Add headers to all responses.
146
<IfModule mod_headers.c>
147
  # Disable content sniffing, since it's an attack vector.
148
  Header always set X-Content-Type-Options nosniff
149
</IfModule>
drupal7/CHANGELOG.txt
1 1

  
2
Drupal 7.40, 2015-10-14
3
-----------------------
4
- Made Drupal's code for parsing .info files run much faster and use much less
5
  memory.
6
- Prevented drupal_http_request() from returning an error when it receives a
7
  201 through 206 HTTP status code.
8
- Added support for autoloading traits via the registry on sites running PHP
9
  5.4 or higher.
10
- Allowed the user-picture.tpl.php theme template to have HTML classes besides
11
  the default "user-picture" class printed in it (markup change).
12
- Fixed the URL text filter to convert e-mail addresses with plus signs into
13
  mailto: links.
14
- Added alternate text to file icons displayed by the File module, to improve
15
  accessibility (string change, and minor API addition to theme_file_icon()).
16
- Changed one-time login link failure messages to be displayed as errors or
17
  warnings as appropriate, rather than as regular status messages (minor UI
18
  change and data structure change).
19
- Changed the default settings.php configuration to exclude private files from
20
  the "404_fast_paths" behavior.
21
- Changed the page that displays filter tips for a particular text format, for
22
  example filter/tips/full_html, to return "page not found" or "access denied"
23
  if the format does not exist or the user does not have access to it. This
24
  change adds a new menu item to the Filter module's hook_menu() entry (minor
25
  data structure change).
26
- Added a new hook, hook_block_cid_parts_alter(), to allow modules to alter the
27
  cache keys used for caching a particular block.
28
- Made drupal_set_message() display and return messages when "0" is passed in
29
  as the message to set.
30
- Fixed non-functional "Files displayed by default" setting on file fields.
31
- The "worker callback" provided in hook_cron_queue_info() and the "finished"
32
  callback specified during batch processing can now be any PHP callable
33
  instead of just functions.
34
- Prevented drupal_set_time_limit() from decreasing the time limit in the case
35
  where the PHP maximum execution time is already unlimited.
36
- Changed the default thousand marker for numeric fields from a space ("1 000")
37
  to nothing ("1000") (minor UI change: https://www.drupal.org/node/1388376).
38
- Prevented malformed theme .info files (without a "name" key) from causing
39
  exceptions during menu rebuilds. If an .info file without a "name" key is
40
  found in a module or theme directory, Drupal will now use the module or
41
  theme's machine name as the display name instead.
42
- Made the format column in the {date_format_locale} database table
43
  case-sensitive, to match the equivalent column in the {date_formats} table.
44
- Fixed a bug in the Statistics module that caused JavaScript files attached to
45
  a node while it is being viewed to be omitted from the page.
46
- Added an optional 'project:' prefix that can be added to dependencies in a
47
  module's .info file to indicate which project the dependency resides in (API
48
  addition: https://www.drupal.org/node/2299747).
49
- Fixed various bugs that occurred after hooks were invoked early in the Drupal
50
  bootstrap and that caused module_implements() and drupal_alter() to cache an
51
  incomplete set of hook implementations for later use.
52
- Set the X-Content-Type-Options header to "nosniff" when possible, to prevent
53
  certain web browsers from picking an unsafe MIME type.
54
- Prevented the database API from executing multiple queries at once on MySQL,
55
  if the site's PHP version is new enough to do so. This is a secondary defense
56
  against SQL injection (API change: https://www.drupal.org/node/2463973).
57
- Fixed a bug in the Drupal 6 to Drupal 7 upgrade path which caused the upgrade
58
  to fail when there were multiple file records pointing to the same file.
59
- Numerous small bug fixes.
60
- Numerous API documentation improvements.
61
- Additional automated test coverage.
62

  
2 63
Drupal 7.39, 2015-08-19
3 64
-----------------------
4 65
- Fixed security issues (multiple vulnerabilities). See SA-CORE-2015-003.
......
86 147
- Additional automated test coverage.
87 148

  
88 149
Drupal 7.35, 2015-03-18
89
----------------------
150
-----------------------
90 151
- Fixed security issues (multiple vulnerabilities). See SA-CORE-2015-001.
91 152

  
92 153
Drupal 7.34, 2014-11-19
93
----------------------
154
-----------------------
94 155
- Fixed security issues (multiple vulnerabilities). See SA-CORE-2014-006.
95 156

  
96 157
Drupal 7.33, 2014-11-07
......
159 220
- Additional automated test coverage.
160 221

  
161 222
Drupal 7.32, 2014-10-15
162
----------------------
223
-----------------------
163 224
- Fixed security issues (SQL injection). See SA-CORE-2014-005.
164 225

  
165 226
Drupal 7.31, 2014-08-06
166
----------------------
227
-----------------------
167 228
- Fixed security issues (denial of service). See SA-CORE-2014-004.
168 229

  
169 230
Drupal 7.30, 2014-07-24
......
178 239
- Additional automated test coverage.
179 240

  
180 241
Drupal 7.29, 2014-07-16
181
----------------------
242
-----------------------
182 243
- Fixed security issues (multiple vulnerabilities). See SA-CORE-2014-003.
183 244

  
184 245
Drupal 7.28, 2014-05-08
......
224 285
- Additional automated test coverage.
225 286

  
226 287
Drupal 7.27, 2014-04-16
227
----------------------
288
-----------------------
228 289
- Fixed security issues (information disclosure). See SA-CORE-2014-002.
229 290

  
230 291
Drupal 7.26, 2014-01-15
231
----------------------
292
-----------------------
232 293
- Fixed security issues (multiple vulnerabilities). See SA-CORE-2014-001.
233 294

  
234 295
Drupal 7.25, 2014-01-02
......
294 355
- Additional automated test coverage.
295 356

  
296 357
Drupal 7.24, 2013-11-20
297
----------------------
358
-----------------------
298 359
- Fixed security issues (multiple vulnerabilities), see SA-CORE-2013-003.
299 360

  
300 361
Drupal 7.23, 2013-08-07
......
548 609
- Numerous API documentation improvements.
549 610
- Additional automated test coverage.
550 611

  
551
Drupal 7.14 2012-05-02
552
----------------------
612
Drupal 7.14, 2012-05-02
613
-----------------------
553 614
- Fixed "integrity constraint" fatal errors when rebuilding registry.
554 615
- Fixed custom logo and favicon functionality referencing incorrect paths.
555 616
- Fixed DB Case Sensitivity: Allow BINARY attribute in MySQL.
......
597 658
  - system_update_7061() converts filepaths too aggressively.
598 659
  - Trigger upgrade path: Node triggers removed when upgrading to 7-x from 6.25.
599 660

  
600
Drupal 7.13 2012-05-02
601
----------------------
661
Drupal 7.13, 2012-05-02
662
-----------------------
602 663
- Fixed security issues (Multiple vulnerabilities), see SA-CORE-2012-002.
603 664

  
604 665
Drupal 7.12, 2012-02-01
605
----------------------
666
-----------------------
606 667
- Fixed bug preventing custom menus from receiving an active trail.
607 668
- Fixed hook_field_delete() no longer invoked during field_purge_data().
608 669
- Fixed bug causing entity info cache to not be cleared with the rest of caches.
......
636 697
  cache.
637 698

  
638 699
Drupal 7.11, 2012-02-01
639
----------------------
700
-----------------------
640 701
- Fixed security issues (Multiple vulnerabilities), see SA-CORE-2012-001.
641 702

  
642 703
Drupal 7.10, 2011-12-05
643
----------------------
704
-----------------------
644 705
- Fixed Content-Language HTTP header to not cause issues with Drush 5.x.
645 706
- Reduce memory usage of theme registry (performance).
646 707
- Fixed PECL upload progress bar for FileField
......
993 1054
      requests.
994 1055

  
995 1056
Drupal 6.23-dev, xxxx-xx-xx (development release)
996
-----------------------
1057
---------------------------
997 1058

  
998 1059
Drupal 6.22, 2011-05-25
999 1060
-----------------------
......
1003 1064
- Fixed a variety of other bugs.
1004 1065

  
1005 1066
Drupal 6.21, 2011-05-25
1006
----------------------
1067
-----------------------
1007 1068
- Fixed security issues (Cross site scripting), see SA-CORE-2011-001.
1008 1069

  
1009 1070
Drupal 6.20, 2010-12-15
1010
----------------------
1071
-----------------------
1011 1072
- Fixed a variety of small bugs, improved code documentation.
1012 1073

  
1013 1074
Drupal 6.19, 2010-08-11
1014
----------------------
1075
-----------------------
1015 1076
- Fixed a variety of small bugs, improved code documentation.
1016 1077

  
1017 1078
Drupal 6.18, 2010-08-11
1018
----------------------
1079
-----------------------
1019 1080
- Fixed security issues (OpenID authentication bypass, File download access
1020 1081
  bypass, Comment unpublishing bypass, Actions cross site scripting),
1021 1082
  see SA-CORE-2010-002.
1022 1083

  
1023 1084
Drupal 6.17, 2010-06-02
1024
----------------------
1085
-----------------------
1025 1086
- Improved PostgreSQL compatibility
1026 1087
- Better PHP 5.3 and PHP 4 compatibility
1027 1088
- Better browser compatibility of CSS and JS aggregation
......
1030 1091
- Fixed a variety of other bugs.
1031 1092

  
1032 1093
Drupal 6.16, 2010-03-03
1033
----------------------
1094
-----------------------
1034 1095
- Fixed security issues (Installation cross site scripting, Open redirection,
1035 1096
  Locale module cross site scripting, Blocked user session regeneration),
1036 1097
  see SA-CORE-2010-001.
......
1042 1103
- Fixed a variety of other bugs.
1043 1104

  
1044 1105
Drupal 6.15, 2009-12-16
1045
----------------------
1106
-----------------------
1046 1107
- Fixed security issues (Cross site scripting), see SA-CORE-2009-009.
1047 1108
- Fixed a variety of other bugs.
1048 1109

  
1049 1110
Drupal 6.14, 2009-09-16
1050
----------------------
1111
-----------------------
1051 1112
- Fixed security issues (OpenID association cross site request forgeries,
1052 1113
  OpenID impersonation and File upload), see SA-CORE-2009-008.
1053 1114
- Changed the system modules page to not run all cache rebuilds; use the
......
1056 1117
- Fixed a variety of small bugs.
1057 1118

  
1058 1119
Drupal 6.13, 2009-07-01
1059
----------------------
1120
-----------------------
1060 1121
- Fixed security issues (Cross site scripting, Input format access bypass and
1061 1122
  Password leakage in URL), see SA-CORE-2009-007.
1062 1123
- Fixed a variety of small bugs.
1063 1124

  
1064 1125
Drupal 6.12, 2009-05-13
1065
----------------------
1126
-----------------------
1066 1127
- Fixed security issues (Cross site scripting), see SA-CORE-2009-006.
1067 1128
- Fixed a variety of small bugs.
1068 1129

  
1069 1130
Drupal 6.11, 2009-04-29
1070
----------------------
1131
-----------------------
1071 1132
- Fixed security issues (Cross site scripting and limited information
1072 1133
  disclosure), see SA-CORE-2009-005
1073 1134
- Fixed performance issues with the menu router cache, the update
......
1075 1136
- Fixed a variety of small bugs.
1076 1137

  
1077 1138
Drupal 6.10, 2009-02-25
1078
----------------------
1139
-----------------------
1079 1140
- Fixed a security issue, (Local file inclusion on Windows),
1080 1141
  see SA-CORE-2009-003
1081 1142
- Fixed node_feed() so custom fields can show up in RSS feeds.
......
1471 1532
- fixed a security issue (SQL injection), see SA-2007-031
1472 1533

  
1473 1534
Drupal 4.7.8, 2007-10-17
1474
----------------------
1535
------------------------
1475 1536
- fixed a security issue (HTTP response splitting), see SA-2007-024
1476 1537
- fixed a security issue (Cross site scripting via uploads), see SA-2007-026
1477 1538
- fixed a security issue (API handling of unpublished comment), see SA-2007-030
......
1584 1645
- Fixed security issue (DoS), see SA-2007-002
1585 1646

  
1586 1647
Drupal 4.6.10, 2006-10-18
1587
------------------------
1648
-------------------------
1588 1649
- Fixed security issue (XSS), see SA-2006-024
1589 1650
- Fixed security issue (CSRF), see SA-2006-025
1590 1651
- Fixed security issue (Form action attribute injection), see SA-2006-026
drupal7/INSTALL.txt
23 23
  - Percona Server 5.1.70 (or greater) (http://www.percona.com/). Percona
24 24
    Server is a backwards-compatible replacement for MySQL.
25 25
  - PostgreSQL 8.3 (or greater) (http://www.postgresql.org/).
26
  - SQLite 3.4.2 (or greater) (http://www.sqlite.org/).
26
  - SQLite 3.3.7 (or greater) (http://www.sqlite.org/).
27 27

  
28 28
For more detailed information about Drupal requirements, including a list of
29 29
PHP extensions and configurations that are required, see "System requirements"
drupal7/MAINTAINERS.txt
1 1

  
2 2
Drupal core is built and maintained by the Drupal project community. Everyone is
3 3
encouraged to submit issues and changes (patches) to improve Drupal, and to
4
contribute in other ways -- see http://drupal.org/contribute to find out how.
4
contribute in other ways -- see https://www.drupal.org/contribute to find out
5
how.
5 6

  
6 7
Branch maintainers
7 8
------------------
......
9 10
The Drupal Core branch maintainers oversee the development of Drupal as a whole.
10 11
The branch maintainers for Drupal 7 are:
11 12

  
12
- Dries Buytaert 'dries' http://drupal.org/user/1
13
- Angela Byron 'webchick' http://drupal.org/user/24967
14
- David Rothstein 'David_Rothstein' http://drupal.org/user/124982
13
- Dries Buytaert 'dries' https://www.drupal.org/u/dries
14
- Angela Byron 'webchick' https://www.drupal.org/u/webchick
15
- David Rothstein 'David_Rothstein' https://www.drupal.org/u/david_rothstein
15 16

  
16 17

  
17 18
Component maintainers
18 19
---------------------
19 20

  
20 21
The Drupal Core component maintainers oversee the development of Drupal
21
subsystems. See http://drupal.org/contribute/core-maintainers for more
22
subsystems. See https://www.drupal.org/contribute/core-maintainers for more
22 23
information on their responsibilities, and to find out how to become a component
23 24
maintainer. Current component maintainers for Drupal 7:
24 25

  
25 26
Ajax system
26
- Alex Bronstein 'effulgentsia' http://drupal.org/user/78040
27
- Earl Miles 'merlinofchaos' http://drupal.org/user/26979
27
- Alex Bronstein 'effulgentsia' https://www.drupal.org/u/effulgentsia
28
- Earl Miles 'merlinofchaos' https://www.drupal.org/u/merlinofchaos
28 29

  
29 30
Base system
30
- Damien Tournoud 'DamZ' http://drupal.org/user/22211
31
- Moshe Weitzman 'moshe weitzman' http://drupal.org/user/23
31
- Damien Tournoud 'DamZ' https://www.drupal.org/u/damien-tournoud
32
- Moshe Weitzman 'moshe weitzman' https://www.drupal.org/u/moshe-weitzman
32 33

  
33 34
Batch system
34
- Yves Chedemois 'yched' http://drupal.org/user/39567
35
- Yves Chedemois 'yched' https://www.drupal.org/u/yched
35 36

  
36 37
Cache system
37
- Damien Tournoud 'DamZ' http://drupal.org/user/22211
38
- Nathaniel Catchpole 'catch' http://drupal.org/user/35733
38
- Damien Tournoud 'DamZ' https://www.drupal.org/u/damien-tournoud
39
- Nathaniel Catchpole 'catch' https://www.drupal.org/u/catch
39 40

  
40 41
Cron system
41
- Derek Wright 'dww' http://drupal.org/user/46549
42
- Derek Wright 'dww' https://www.drupal.org/u/dww
42 43

  
43 44
Database system
44
- Larry Garfield 'Crell' http://drupal.org/user/26398
45
- Larry Garfield 'Crell' https://www.drupal.org/u/crell
45 46

  
46 47
  - MySQL driver
47
    - Larry Garfield 'Crell' http://drupal.org/user/26398
48
    - David Strauss 'David Strauss' http://drupal.org/user/93254
48
    - Larry Garfield 'Crell' https://www.drupal.org/u/crell
49
    - David Strauss 'David Strauss' https://www.drupal.org/u/david-strauss
49 50

  
50 51
  - PostgreSQL driver
51
    - Damien Tournoud 'DamZ' http://drupal.org/user/22211
52
    - Josh Waihi 'fiasco' http://drupal.org/user/188162
52
    - Damien Tournoud 'DamZ' https://www.drupal.org/u/damien-tournoud
53
    - Josh Waihi 'fiasco' https://www.drupal.org/u/josh-waihi
53 54

  
54 55
  - Sqlite driver
55
    - Damien Tournoud 'DamZ' http://drupal.org/user/22211
56
    - Damien Tournoud 'DamZ' https://www.drupal.org/u/damien-tournoud
56 57

  
57 58
Database update system
58
- Ashok Modi 'BTMash' http://drupal.org/user/60422
59
- Ashok Modi 'BTMash' https://www.drupal.org/u/btmash
59 60

  
60 61
Entity system
61
- Wolfgang Ziegler 'fago' http://drupal.org/user/16747
62
- Nathaniel Catchpole 'catch' http://drupal.org/user/35733
63
- Franz Heinzmann 'Frando' http://drupal.org/user/21850
62
- Wolfgang Ziegler 'fago' https://www.drupal.org/u/fago
63
- Nathaniel Catchpole 'catch' https://www.drupal.org/u/catch
64
- Franz Heinzmann 'Frando' https://www.drupal.org/u/frando
64 65

  
65 66
File system
66
- Andrew Morton 'drewish' http://drupal.org/user/34869
67
- Aaron Winborn 'aaron' http://drupal.org/user/33420
67
- Andrew Morton 'drewish' https://www.drupal.org/u/drewish
68
- Aaron Winborn 'aaron' https://www.drupal.org/u/aaron
68 69

  
69 70
Form system
70
- Alex Bronstein 'effulgentsia' http://drupal.org/user/78040
71
- Wolfgang Ziegler 'fago' http://drupal.org/user/16747
72
- Daniel F. Kudwien 'sun' http://drupal.org/user/54136
73
- Franz Heinzmann 'Frando' http://drupal.org/user/21850
71
- Alex Bronstein 'effulgentsia' https://www.drupal.org/u/effulgentsia
72
- Wolfgang Ziegler 'fago' https://www.drupal.org/u/fago
73
- Daniel F. Kudwien 'sun' https://www.drupal.org/u/sun
74
- Franz Heinzmann 'Frando' https://www.drupal.org/u/frando
74 75

  
75 76
Image system
76
- Andrew Morton 'drewish' http://drupal.org/user/34869
77
- Nathan Haug 'quicksketch' http://drupal.org/user/35821
77
- Andrew Morton 'drewish' https://www.drupal.org/u/drewish
78
- Nathan Haug 'quicksketch' https://www.drupal.org/u/quicksketch
78 79

  
79 80
Install system
80
- David Rothstein 'David_Rothstein' http://drupal.org/user/124982
81
- David Rothstein 'David_Rothstein' https://www.drupal.org/u/david_rothstein
81 82

  
82 83
JavaScript
83
- Théodore Biadala 'nod_' http://drupal.org/user/598310
84
- Steve De Jonghe 'seutje' http://drupal.org/user/264148
85
- Jesse Renée Beach 'jessebeach' http://drupal.org/user/748566
84
- Théodore Biadala 'nod_' https://www.drupal.org/u/nod_
85
- Steve De Jonghe 'seutje' https://www.drupal.org/u/seutje
86 86

  
87 87
Language system
88
- Francesco Placella 'plach' http://drupal.org/user/183211
89
- Daniel F. Kudwien 'sun' http://drupal.org/user/54136
88
- Francesco Placella 'plach' https://www.drupal.org/u/plach
89
- Daniel F. Kudwien 'sun' https://www.drupal.org/u/sun
90 90

  
91 91
Lock system
92
- Damien Tournoud 'DamZ' http://drupal.org/user/22211
92
- Damien Tournoud 'DamZ' https://www.drupal.org/u/damien-tournoud
93 93

  
94 94
Mail system
95 95
- ?
96 96

  
97 97
Markup
98
- Jacine Luisi 'Jacine' http://drupal.org/user/88931
99
- Daniel F. Kudwien 'sun' http://drupal.org/user/54136
98
- Jacine Luisi 'Jacine' https://www.drupal.org/u/jacine
99
- Daniel F. Kudwien 'sun' https://www.drupal.org/u/sun
100 100

  
101 101
Menu system
102
- Peter Wolanin 'pwolanin' http://drupal.org/user/49851
102
- Peter Wolanin 'pwolanin' https://www.drupal.org/u/pwolanin
103 103

  
104 104
Path system
105
- Dave Reid 'davereid' http://drupal.org/user/53892
106
- Nathaniel Catchpole 'catch' http://drupal.org/user/35733
105
- Dave Reid 'davereid' https://www.drupal.org/u/dave-reid
106
- Nathaniel Catchpole 'catch' https://www.drupal.org/u/catch
107 107

  
108 108
Render system
109
- Moshe Weitzman 'moshe weitzman' http://drupal.org/user/23
110
- Alex Bronstein 'effulgentsia' http://drupal.org/user/78040
111
- Franz Heinzmann 'Frando' http://drupal.org/user/21850
109
- Moshe Weitzman 'moshe weitzman' https://www.drupal.org/u/moshe-weitzman
110
- Alex Bronstein 'effulgentsia' https://www.drupal.org/u/effulgentsia
111
- Franz Heinzmann 'Frando' https://www.drupal.org/u/frando
112 112

  
113 113
Theme system
114
- Earl Miles 'merlinofchaos' http://drupal.org/user/26979
115
- Alex Bronstein 'effulgentsia' http://drupal.org/user/78040
116
- Joon Park 'dvessel' http://drupal.org/user/56782
117
- John Albin Wilkins 'JohnAlbin' http://drupal.org/user/32095
114
- Earl Miles 'merlinofchaos' https://www.drupal.org/u/merlinofchaos
115
- Alex Bronstein 'effulgentsia' https://www.drupal.org/u/effulgentsia
116
- Joon Park 'dvessel' https://www.drupal.org/u/dvessel
117
- John Albin Wilkins 'JohnAlbin' https://www.drupal.org/u/johnalbin
118 118

  
119 119
Token system
120
- Dave Reid 'davereid' http://drupal.org/user/53892
120
- Dave Reid 'davereid' https://www.drupal.org/u/dave-reid
121 121

  
122 122
XML-RPC system
123
- Frederic G. Marand 'fgm' http://drupal.org/user/27985
123
- Frederic G. Marand 'fgm' https://www.drupal.org/u/fgm
124 124

  
125 125

  
126 126
Topic coordinators
127 127
------------------
128 128

  
129 129
Accessibility
130
- Everett Zufelt 'Everett Zufelt' http://drupal.org/user/406552
131
- Brandon Bowersox-Johnson 'bowersox' http://drupal.org/user/186415
130
- Everett Zufelt 'Everett Zufelt' https://www.drupal.org/u/everett-zufelt
131
- Brandon Bowersox-Johnson 'bowersox' https://www.drupal.org/u/bowersox
132 132

  
133 133
Documentation
134
- Jennifer Hodgdon 'jhodgdon' http://drupal.org/user/155601
134
- Jennifer Hodgdon 'jhodgdon' https://www.drupal.org/u/jhodgdon
135 135

  
136 136
Translations
137
- Gerhard Killesreiter 'killes' http://drupal.org/user/83
137
- Gerhard Killesreiter 'killes' https://www.drupal.org/u/gerhard-killesreiter
138 138

  
139 139
User experience and usability
140
- Roy Scholten 'yoroy' http://drupal.org/user/41502
141
- Bojhan Somers 'Bojhan' http://drupal.org/user/87969
140
- Roy Scholten 'yoroy' https://www.drupal.org/u/yoroy
141
- Bojhan Somers 'Bojhan' https://www.drupal.org/u/bojhan
142 142

  
143 143
Node Access
144
- Moshe Weitzman 'moshe weitzman' http://drupal.org/user/23
145
- Ken Rickard 'agentrickard' http://drupal.org/user/20975
146
- Jess Myrbo 'xjm' http://drupal.org/user/65776
144
- Moshe Weitzman 'moshe weitzman' https://www.drupal.org/u/moshe-weitzman
145
- Ken Rickard 'agentrickard' https://www.drupal.org/u/agentrickard
146
- Jess Myrbo 'xjm' https://www.drupal.org/u/xjm
147 147

  
148 148

  
149 149
Security team
150 150
-----------------
151 151

  
152
To report a security issue, see: https://drupal.org/security-team/report-issue
152
To report a security issue, see: https://www.drupal.org/security-team/report-issue
153 153

  
154 154
The Drupal security team provides Security Advisories for vulnerabilities,
155 155
assists developers in resolving security issues, and provides security
156
documentation. See http://drupal.org/security-team for more information. The
157
security team lead is:
156
documentation. See https://www.drupal.org/security-team for more information.
157
The security team lead is:
158 158

  
159
- Michael Hess 'mlhess' https://drupal.org/user/102818
159
- Michael Hess 'mlhess' https://www.drupal.org/u/mlhess
160 160

  
161 161

  
162 162
Module maintainers
......
166 166
- ?
167 167

  
168 168
Block module
169
- John Albin Wilkins 'JohnAlbin' http://drupal.org/user/32095
169
- John Albin Wilkins 'JohnAlbin' https://www.drupal.org/u/johnalbin
170 170

  
171 171
Blog module
172 172
- ?
173 173

  
174 174
Book module
175
- Peter Wolanin 'pwolanin' http://drupal.org/user/49851
175
- Peter Wolanin 'pwolanin' https://www.drupal.org/u/pwolanin
176 176

  
177 177
Color module
178 178
- ?
179 179

  
180 180
Comment module
181
- Nathaniel Catchpole 'catch' http://drupal.org/user/35733
181
- Nathaniel Catchpole 'catch' https://www.drupal.org/u/catch
182 182

  
183 183
Contact module
184
- Dave Reid 'davereid' http://drupal.org/user/53892
184
- Dave Reid 'davereid' https://www.drupal.org/u/dave-reid
185 185

  
186 186
Contextual module
187
- Daniel F. Kudwien 'sun' http://drupal.org/user/54136
187
- Daniel F. Kudwien 'sun' https://www.drupal.org/u/sun
188 188

  
189 189
Dashboard module
190 190
- ?
191 191

  
192 192
Database logging module
193
- Khalid Baheyeldin 'kbahey' http://drupal.org/user/4063
193
- Khalid Baheyeldin 'kbahey' https://www.drupal.org/u/kbahey
194 194

  
195 195
Field module
196
- Yves Chedemois 'yched' http://drupal.org/user/39567
197
- Barry Jaspan 'bjaspan' http://drupal.org/user/46413
196
- Yves Chedemois 'yched' https://www.drupal.org/u/yched
197
- Barry Jaspan 'bjaspan' https://www.drupal.org/u/bjaspan
198 198

  
199 199
Field UI module
200
- Yves Chedemois 'yched' http://drupal.org/user/39567
200
- Yves Chedemois 'yched' https://www.drupal.org/u/yched
201 201

  
202 202
File module
203
- Aaron Winborn 'aaron' http://drupal.org/user/33420
203
- Aaron Winborn 'aaron' https://www.drupal.org/u/aaron
204 204

  
205 205
Filter module
206
- Daniel F. Kudwien 'sun' http://drupal.org/user/54136
206
- Daniel F. Kudwien 'sun' https://www.drupal.org/u/sun
207 207

  
208 208
Forum module
209
- Lee Rowlands 'larowlan' http://drupal.org/user/395439
209
- Lee Rowlands 'larowlan' https://www.drupal.org/u/larowlan
210 210

  
211 211
Help module
212 212
- ?
213 213

  
214 214
Image module
215
- Nathan Haug 'quicksketch' http://drupal.org/user/35821
215
- Nathan Haug 'quicksketch' https://www.drupal.org/u/quicksketch
216 216

  
217 217
Locale module
218
- Gábor Hojtsy 'Gábor Hojtsy' http://drupal.org/user/4166
218
- Gábor Hojtsy 'Gábor Hojtsy' https://www.drupal.org/u/gábor-hojtsy
219 219

  
220 220
Menu module
221 221
- ?
222 222

  
223 223
Node module
224
- Moshe Weitzman 'moshe weitzman' http://drupal.org/user/23
225
- David Strauss 'David Strauss' http://drupal.org/user/93254
224
- Moshe Weitzman 'moshe weitzman' https://www.drupal.org/u/moshe-weitzman
225
- David Strauss 'David Strauss' https://www.drupal.org/u/david-strauss
226 226

  
227 227
OpenID module
228
- Vojtech Kusy 'wojtha' http://drupal.org/user/56154
229
- Christian Schmidt 'c960657' http://drupal.org/user/216078
230
- Damien Tournoud 'DamZ' http://drupal.org/user/22211
228
- Vojtech Kusy 'wojtha' https://www.drupal.org/u/wojtha
229
- Christian Schmidt 'c960657' https://www.drupal.org/u/c960657
230
- Damien Tournoud 'DamZ' https://www.drupal.org/u/damien-tournoud
231 231

  
232 232
Overlay module
233
- Katherine Senzee 'ksenzee' http://drupal.org/user/139855
233
- Katherine Senzee 'ksenzee' https://www.drupal.org/u/ksenzee
234 234

  
235 235
Path module
236
- Dave Reid 'davereid' http://drupal.org/user/53892
236
- Dave Reid 'davereid' https://www.drupal.org/u/dave-reid
237 237

  
238 238
PHP module
239 239
- ?
240 240

  
241 241
Poll module
242
- Andrei Mateescu 'amateescu' http://drupal.org/user/729614
242
- Andrei Mateescu 'amateescu' https://www.drupal.org/u/amateescu
243 243

  
244 244
Profile module
245 245
- ?
246 246

  
247 247
RDF module
248
- Stéphane Corlosquet 'scor' http://drupal.org/user/52142
248
- Stéphane Corlosquet 'scor' https://www.drupal.org/u/scor
249 249

  
250 250
Search module
251
- Doug Green 'douggreen' http://drupal.org/user/29191
251
- Doug Green 'douggreen' https://www.drupal.org/u/douggreen
252 252

  
253 253
Shortcut module
254
- David Rothstein 'David_Rothstein' http://drupal.org/user/124982
254
- David Rothstein 'David_Rothstein' https://www.drupal.org/u/david_rothstein
255 255

  
256 256
Simpletest module
257
- Jimmy Berry 'boombatower' http://drupal.org/user/214218
257
- Jimmy Berry 'boombatower' https://www.drupal.org/u/boombatower
258 258

  
259 259
Statistics module
260
- Tim Millwood 'timmillwood' http://drupal.org/user/227849
260
- Tim Millwood 'timmillwood' https://www.drupal.org/u/timmillwood
261 261

  
262 262
Syslog module
263
- Khalid Baheyeldin 'kbahey' http://drupal.org/user/4063
263
- Khalid Baheyeldin 'kbahey' https://www.drupal.org/u/kbahey
264 264

  
265 265
System module
266 266
- ?
267 267

  
268 268
Taxonomy module
269
- Jess Myrbo 'xjm' http://drupal.org/user/65776
270
- Nathaniel Catchpole 'catch' http://drupal.org/user/35733
271
- Benjamin Doherty 'bangpound' http://drupal.org/user/100456
269
- Jess Myrbo 'xjm' https://www.drupal.org/u/xjm
270
- Nathaniel Catchpole 'catch' https://www.drupal.org/u/catch
271
- Benjamin Doherty 'bangpound' https://www.drupal.org/u/bangpound
272 272

  
273 273
Toolbar module
274 274
- ?
275 275

  
276 276
Tracker module
277
- David Strauss 'David Strauss' http://drupal.org/user/93254
277
- David Strauss 'David Strauss' https://www.drupal.org/u/david-strauss
278 278

  
279 279
Translation module
280
- Francesco Placella 'plach' http://drupal.org/user/183211
280
- Francesco Placella 'plach' https://www.drupal.org/u/plach
281 281

  
282 282
Trigger module
283 283
- ?
284 284

  
285 285
Update module
286
- Derek Wright 'dww' http://drupal.org/user/46549
286
- Derek Wright 'dww' https://www.drupal.org/u/dww
287 287

  
288 288
User module
289
- Moshe Weitzman 'moshe weitzman' http://drupal.org/user/23
290
- David Strauss 'David Strauss' http://drupal.org/user/93254
289
- Moshe Weitzman 'moshe weitzman' https://www.drupal.org/u/moshe-weitzman
290
- David Strauss 'David Strauss' https://www.drupal.org/u/david-strauss
291 291

  
292 292

  
293 293
Theme maintainers
294 294
-----------------
295 295

  
296 296
Bartik theme
297
- Jen Simmons 'jensimmons' http://drupal.org/user/140882
298
- Jeff Burns 'Jeff Burnz' http://drupal.org/user/61393
297
- Jen Simmons 'jensimmons' https://www.drupal.org/u/jensimmons
298
- Jeff Burns 'Jeff Burnz' https://www.drupal.org/u/jeff-burnz
299 299

  
300 300
Garland theme
301
- John Albin Wilkins 'JohnAlbin' http://drupal.org/user/32095
301
- John Albin Wilkins 'JohnAlbin' https://www.drupal.org/u/johnalbin
302 302

  
303 303
Seven theme
304
- Jeff Burns 'Jeff Burnz' http://drupal.org/user/61393
304
- Jeff Burns 'Jeff Burnz' https://www.drupal.org/u/jeff-burnz
305 305

  
306 306
Stark theme
307
- John Albin Wilkins 'JohnAlbin' http://drupal.org/user/32095
307
- John Albin Wilkins 'JohnAlbin' https://www.drupal.org/u/johnalbin
drupal7/UPGRADE.txt
64 64
   Sometimes an update includes changes to default.settings.php (this will be
65 65
   noted in the release notes). If that's the case, follow these steps:
66 66

  
67
   - Locate your settings.php file in the /sites/* directory. (Typically
68
     sites/default.)
69

  
67 70
   - Make a backup copy of your settings.php file, with a different file name.
68 71

  
69 72
   - Make a copy of the new default.settings.php file, and name the copy
......
74 77
     database information, and you will also want to copy in any other
75 78
     customizations you have added.
76 79

  
80
   You can find the release notes for your version at
81
   https://www.drupal.org/project/drupal. At bottom of the project page under
82
   "Downloads" use the link for your version of Drupal to view the release
83
   notes. If your version is not listed, use the 'View all releases' link. From
84
   this page you can scroll down or use the filter to find your version and its
85
   release notes.
86

  
77 87
4. Download the latest Drupal 7.x release from http://drupal.org to a
78 88
   directory outside of your web root. Extract the archive and copy the files
79 89
   into your Drupal directory.
drupal7/includes/batch.inc
460 460
      if (isset($batch_set['file']) && is_file($batch_set['file'])) {
461 461
        include_once DRUPAL_ROOT . '/' . $batch_set['file'];
462 462
      }
463
      if (function_exists($batch_set['finished'])) {
463
      if (is_callable($batch_set['finished'])) {
464 464
        $queue = _batch_queue($batch_set);
465 465
        $operations = $queue->getAllItems();
466
        $batch_set['finished']($batch_set['success'], $batch_set['results'], $operations, format_interval($batch_set['elapsed'] / 1000));
466
        call_user_func($batch_set['finished'], $batch_set['success'], $batch_set['results'], $operations, format_interval($batch_set['elapsed'] / 1000));
467 467
      }
468 468
    }
469 469
  }
drupal7/includes/bootstrap.inc
8 8
/**
9 9
 * The current system version.
10 10
 */
11
define('VERSION', '7.39');
11
define('VERSION', '7.40');
12 12

  
13 13
/**
14 14
 * Core API compatibility.
......
1055 1055
 * Determines the cacheability of the current page.
1056 1056
 *
1057 1057
 * @param $allow_caching
1058
 *   Set to FALSE if you want to prevent this page to get cached.
1058
 *   Set to FALSE if you want to prevent this page from being cached.
1059 1059
 *
1060 1060
 * @return
1061 1061
 *   TRUE if the current page can be cached, FALSE otherwise.
......
1262 1262
  $default_headers = array(
1263 1263
    'Expires' => 'Sun, 19 Nov 1978 05:00:00 GMT',
1264 1264
    'Cache-Control' => 'no-cache, must-revalidate, post-check=0, pre-check=0',
1265
    // Prevent browsers from sniffing a response and picking a MIME type
1266
    // different from the declared content-type, since that can lead to
1267
    // XSS and other vulnerabilities.
1268
    'X-Content-Type-Options' => 'nosniff',
1265 1269
  );
1266 1270
  drupal_send_headers($default_headers);
1267 1271
}
......
1776 1780
 * @see theme_status_messages()
1777 1781
 */
1778 1782
function drupal_set_message($message = NULL, $type = 'status', $repeat = TRUE) {
1779
  if ($message) {
1783
  if ($message || $message === '0' || $message === 0) {
1780 1784
    if (!isset($_SESSION['messages'][$type])) {
1781 1785
      $_SESSION['messages'][$type] = array();
1782 1786
    }
......
2464 2468
  // the install or upgrade process.
2465 2469
  spl_autoload_register('drupal_autoload_class');
2466 2470
  spl_autoload_register('drupal_autoload_interface');
2471
  if (version_compare(PHP_VERSION, '5.4') >= 0) {
2472
    spl_autoload_register('drupal_autoload_trait');
2473
  }
2467 2474
}
2468 2475

  
2469 2476
/**
......
2952 2959
 * Gets the schema definition of a table, or the whole database schema.
2953 2960
 *
2954 2961
 * The returned schema will include any modifications made by any
2955
 * module that implements hook_schema_alter().
2962
 * module that implements hook_schema_alter(). To get the schema without
2963
 * modifications, use drupal_get_schema_unprocessed().
2964
 *
2956 2965
 *
2957 2966
 * @param $table
2958 2967
 *   The name of the table. If not given, the schema of all tables is returned.
......
3107 3116
  return _registry_check_code('class', $class);
3108 3117
}
3109 3118

  
3119
/**
3120
 * Confirms that a trait is available.
3121
 *
3122
 * This function is rarely called directly. Instead, it is registered as an
3123
 * spl_autoload() handler, and PHP calls it for us when necessary.
3124
 *
3125
 * @param string $trait
3126
 *   The name of the trait to check or load.
3127
 *
3128
 * @return bool
3129
 *   TRUE if the trait is currently available, FALSE otherwise.
3130
 */
3131
function drupal_autoload_trait($trait) {
3132
  return _registry_check_code('trait', $trait);
3133
}
3134

  
3110 3135
/**
3111 3136
 * Checks for a resource in the registry.
3112 3137
 *
......
3125 3150
function _registry_check_code($type, $name = NULL) {
3126 3151
  static $lookup_cache, $cache_update_needed;
3127 3152

  
3128
  if ($type == 'class' && class_exists($name) || $type == 'interface' && interface_exists($name)) {
3153
  if ($type == 'class' && class_exists($name) || $type == 'interface' && interface_exists($name) || $type == 'trait' && trait_exists($name)) {
3129 3154
    return TRUE;
3130 3155
  }
3131 3156

  
drupal7/includes/cache.inc
14 14
 *
15 15
 * @param $bin
16 16
 *   The cache bin for which the cache object should be returned.
17
 *
17 18
 * @return DrupalCacheInterface
18 19
 *   The cache object associated with the specified bin.
19 20
 *
drupal7/includes/common.inc
1057 1057

  
1058 1058
  switch ($code) {
1059 1059
    case 200: // OK
1060
    case 201: // Created
1061
    case 202: // Accepted
1062
    case 203: // Non-Authoritative Information
1063
    case 204: // No Content
1064
    case 205: // Reset Content
1065
    case 206: // Partial Content
1060 1066
    case 304: // Not modified
1061 1067
      break;
1062 1068
    case 301: // Moved permanently
......
2812 2818
 * into script execution a call such as set_time_limit(20) is made, the
2813 2819
 * script will run for a total of 45 seconds before timing out.
2814 2820
 *
2815
 * It also means that it is possible to decrease the total time limit if
2816
 * the sum of the new time limit and the current time spent running the
2817
 * script is inferior to the original time limit. It is inherent to the way
2818
 * set_time_limit() works, it should rather be called with an appropriate
2819
 * value every time you need to allocate a certain amount of time
2821
 * If the current time limit is not unlimited it is possible to decrease the
2822
 * total time limit if the sum of the new time limit and the current time spent
2823
 * running the script is inferior to the original time limit. It is inherent to
2824
 * the way set_time_limit() works, it should rather be called with an
2825
 * appropriate value every time you need to allocate a certain amount of time
2820 2826
 * to execute a task than only once at the beginning of the script.
2821 2827
 *
2822 2828
 * Before calling set_time_limit(), we check if this function is available
......
2833 2839
 */
2834 2840
function drupal_set_time_limit($time_limit) {
2835 2841
  if (function_exists('set_time_limit')) {
2836
    @set_time_limit($time_limit);
2842
    $current = ini_get('max_execution_time');
2843
    // Do not set time limit if it is currently unlimited.
2844
    if ($current != 0) {
2845
      @set_time_limit($time_limit);
2846
    }
2837 2847
  }
2838 2848
}
2839 2849

  
......
5212 5222
  fix_gpc_magic();
5213 5223
  // Load all enabled modules
5214 5224
  module_load_all();
5225
  // Reset drupal_alter() and module_implements() static caches as these
5226
  // include implementations for vital modules only when called early on
5227
  // in the bootstrap.
5228
  drupal_static_reset('drupal_alter');
5229
  drupal_static_reset('module_implements');
5215 5230
  // Make sure all stream wrappers are registered.
5216 5231
  file_get_stream_wrappers();
5217 5232
  // Ensure mt_rand is reseeded, to prevent random values from one page load
......
5308 5323
 *
5309 5324
 * Do not call this function from a test. Use $this->cronRun() instead.
5310 5325
 *
5311
 * @return
5312
 *   TRUE if cron ran successfully.
5326
 * @return bool
5327
 *   TRUE if cron ran successfully and FALSE if cron is already running.
5313 5328
 */
5314 5329
function drupal_cron_run() {
5315 5330
  // Allow execution to continue even if the request gets canceled.
......
5371 5386
      // Do not run if queue wants to skip.
5372 5387
      continue;
5373 5388
    }
5374
    $function = $info['worker callback'];
5389
    $callback = $info['worker callback'];
5375 5390
    $end = time() + (isset($info['time']) ? $info['time'] : 15);
5376 5391
    $queue = DrupalQueue::get($queue_name);
5377 5392
    while (time() < $end && ($item = $queue->claimItem())) {
5378 5393
      try {
5379
        $function($item->data);
5394
        call_user_func($callback, $item->data);
5380 5395
        $queue->deleteItem($item);
5381 5396
      }
5382 5397
      catch (Exception $e) {
......
7083 7098
 * specification of a schema, as it was defined in a module's
7084 7099
 * hook_schema(). No additional default values will be set,
7085 7100
 * hook_schema_alter() is not invoked and these unprocessed
7086
 * definitions won't be cached.
7101
 * definitions won't be cached. To retrieve the schema after
7102
 * hook_schema_alter() has been invoked use drupal_get_schema().
7087 7103
 *
7088 7104
 * This function can be used to retrieve a schema specification in
7089 7105
 * hook_schema(), so it allows you to derive your tables from existing
......
7156 7172
 */
7157 7173
function drupal_schema_field_types($table) {
7158 7174
  $table_schema = drupal_get_schema($table);
7175
  $field_types = array();
7159 7176
  foreach ($table_schema['fields'] as $field_name => $field_info) {
7160 7177
    $field_types[$field_name] = isset($field_info['type']) ? $field_info['type'] : NULL;
7161 7178
  }
......
7363 7380
 * Information stored in a module .info file:
7364 7381
 * - name: The real name of the module for display purposes.
7365 7382
 * - description: A brief description of the module.
7366
 * - dependencies: An array of shortnames of other modules this module requires.
7383
 * - dependencies: An array of dependency strings. Each is in the form
7384
 *   'project:module (versions)'; with the following meanings:
7385
 *   - project: (optional) Project shortname, recommended to ensure uniqueness,
7386
 *     if the module is part of a project hosted on drupal.org. If omitted,
7387
 *     also omit the : that follows. The project name is currently ignored by
7388
 *     Drupal core but is used for automated testing.
7389
 *   - module: (required) Module shortname within the project.
7390
 *   - (versions): Optional version information, consisting of one or more
7391
 *     comma-separated operator/value pairs or simply version numbers, which
7392
 *     can contain "x" as a wildcard. Examples: (>=7.22, <7.28), (7.x-3.x).
7367 7393
 * - package: The name of the package of modules this module belongs to.
7368 7394
 *
7369 7395
 * See forum.info for an example of a module .info file.
......
7443 7469
 */
7444 7470
function drupal_parse_info_format($data) {
7445 7471
  $info = array();
7446
  $constants = get_defined_constants();
7447 7472

  
7448 7473
  if (preg_match_all('
7449 7474
    @^\s*                           # Start at the beginning of a line, ignoring leading whitespace
......
7483 7508
      }
7484 7509

  
7485 7510
      // Handle PHP constants.
7486
      if (isset($constants[$value])) {
7487
        $value = $constants[$value];
7511
      if (preg_match('/^\w+$/i', $value) && defined($value)) {
7512
        $value = constant($value);
7488 7513
      }
7489 7514

  
7490 7515
      // Insert actual value.
......
7648 7673
 * Parses a dependency for comparison by drupal_check_incompatibility().
7649 7674
 *
7650 7675
 * @param $dependency
7651
 *   A dependency string, for example 'foo (>=7.x-4.5-beta5, 3.x)'.
7676
 *   A dependency string, which specifies a module dependency, and optionally
7677
 *   the project it comes from and versions that are supported. Supported
7678
 *   formats include:
7679
 *   - 'module'
7680
 *   - 'project:module'
7681
 *   - 'project:module (>=version, version)'
7652 7682
 *
7653 7683
 * @return
7654 7684
 *   An associative array with three keys:
......
7663 7693
 * @see drupal_check_incompatibility()
7664 7694
 */
7665 7695
function drupal_parse_dependency($dependency) {
7696
  $value = array();
7697
  // Split out the optional project name.
7698
  if (strpos($dependency, ':')) {
7699
    list($project_name, $dependency) = explode(':', $dependency);
7700
    $value['project'] = $project_name;
7701
  }
7666 7702
  // We use named subpatterns and support every op that version_compare
7667 7703
  // supports. Also, op is optional and defaults to equals.
7668 7704
  $p_op = '(?P<operation>!=|==|=|<|<=|>|>=|<>)?';
......
7671 7707
  $p_major = '(?P<major>\d+)';
7672 7708
  // By setting the minor version to x, branches can be matched.
7673 7709
  $p_minor = '(?P<minor>(?:\d+|x)(?:-[A-Za-z]+\d+)?)';
7674
  $value = array();
7675 7710
  $parts = explode('(', $dependency, 2);
7676 7711
  $value['name'] = trim($parts[0]);
7677 7712
  if (isset($parts[1])) {
drupal7/includes/database/database.inc
656 656
   * @return DatabaseStatementInterface
657 657
   *   This method will return one of: the executed statement, the number of
658 658
   *   rows affected by the query (not the number matched), or the generated
659
   *   insert IT of the last query, depending on the value of
659
   *   insert ID of the last query, depending on the value of
660 660
   *   $options['return']. Typically that value will be set by default or a
661 661
   *   query builder and should not be set by a user. If there is an error,
662 662
   *   this method will return NULL and may throw an exception if
drupal7/includes/database/mysql/database.inc
51 51
      // Because MySQL's prepared statements skip the query cache, because it's dumb.
52 52
      PDO::ATTR_EMULATE_PREPARES => TRUE,
53 53
    );
54
    if (defined('PDO::MYSQL_ATTR_MULTI_STATEMENTS')) {
55
      // An added connection option in PHP 5.5.21+ to optionally limit SQL to a
56
      // single statement like mysqli.
57
      $connection_options['pdo'] += array(PDO::MYSQL_ATTR_MULTI_STATEMENTS => FALSE);
58
    }
54 59

  
55 60
    parent::__construct($dsn, $connection_options['username'], $connection_options['password'], $connection_options['pdo']);
56 61

  
......
78 83
    $connection_options['init_commands'] += array(
79 84
      'sql_mode' => "SET sql_mode = 'ANSI,STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER'",
80 85
    );
81
    // Set connection options.
82
    $this->exec(implode('; ', $connection_options['init_commands']));
86
    // Execute initial commands.
87
    foreach ($connection_options['init_commands'] as $sql) {
88
      $this->exec($sql);
89
    }
83 90
  }
84 91

  
85 92
  public function __destruct() {
drupal7/includes/database/schema.inc
92 92
 *    specification). Each specification is an array containing the name of
93 93
 *    the referenced table ('table'), and an array of column mappings
94 94
 *    ('columns'). Column mappings are defined by key pairs ('source_column' =>
95
 *    'referenced_column').
95
 *    'referenced_column'). This key is for documentation purposes only; foreign
96
 *    keys are not created in the database, nor are they enforced by Drupal.
96 97
 *  - 'indexes':  An associative array of indexes ('indexname' =>
97 98
 *    specification). Each specification is an array of one or more
98 99
 *    key column specifiers (see below) that form an index on the
......
144 145
 *   'unique keys' => array(
145 146
 *     'vid' => array('vid'),
146 147
 *   ),
148
 *   // For documentation purposes only; foreign keys are not created in the
149
 *   // database.
147 150
 *   'foreign keys' => array(
148 151
 *     'node_revision' => array(
149 152
 *       'table' => 'node_revision',
drupal7/includes/database/sqlite/install.inc
14 14

  
15 15
  /**
16 16
   * Minimum engine version.
17
   *
18
   * @todo: consider upping to 3.6.8 in Drupal 8 to get SAVEPOINT support.
19 17
   */
20 18
  public function minimumVersion() {
21 19
    return '3.3.7';
drupal7/includes/file.inc
1785 1785
/**
1786 1786
 * Verifies that image dimensions are within the specified maximum and minimum.
1787 1787
 *
1788
 * Non-image files will be ignored. If a image toolkit is available the image
1788
 * Non-image files will be ignored. If an image toolkit is available the image
1789 1789
 * will be scaled to fit within the desired maximum dimensions.
1790 1790
 *
1791 1791
 * @param $file
drupal7/includes/form.inc
4484 4484
 *
4485 4485
 * Sample callback_batch_finished():
4486 4486
 * @code
4487
 * function batch_test_finished($success, $results, $operations) {
4487
 * function my_finished_callback($success, $results, $operations) {
4488 4488
 *   // The 'success' parameter means no fatal PHP errors were detected. All
4489 4489
 *   // other error management should be handled using 'results'.
4490 4490
 *   if ($success) {
drupal7/includes/install.core.inc
1590 1590
}
1591 1591

  
1592 1592
/**
1593
 * Batch callback for batch installation of modules.
1593
 * Implements callback_batch_operation().
1594
 *
1595
 * Performs batch installation of modules.
1594 1596
 */
1595 1597
function _install_module_batch($module, $module_name, &$context) {
1596 1598
  // Install and enable the module right away, so that the module will be
......
1603 1605
}
1604 1606

  
1605 1607
/**
1608
 * Implements callback_batch_finished().
1609
 *
1606 1610
 * 'Finished' callback for module installation batch.
1607 1611
 */
1608 1612
function _install_profile_modules_finished($success, $results, $operations) {
drupal7/includes/locale.inc
2306 2306
}
2307 2307

  
2308 2308
/**
2309
 * Implements callback_batch_operation().
2310
 *
2309 2311
 * Perform interface translation import as a batch step.
2310 2312
 *
2311 2313
 * @param $filepath
......
2324 2326
}
2325 2327

  
2326 2328
/**
2329
 * Implements callback_batch_finished().
2330
 *
2327 2331
 * Finished callback of system page locale import batch.
2328 2332
 * Inform the user of translation files imported.
2329 2333
 */
......
2334 2338
}
2335 2339

  
2336 2340
/**
2341
 * Implements callback_batch_finished().
2342
 *
2337 2343
 * Finished callback of language addition locale import batch.
2338 2344
 * Inform the user of translation files imported.
2339 2345
 */
drupal7/includes/menu.inc
229 229
define('MENU_FOUND', 1);
230 230

  
231 231
/**
232
 * Internal menu status code -- Menu item was not found.
232
 * Menu status code -- Not found.
233
 *
234
 * This can be used as the return value from a page callback, although it is
235
 * preferable to use a load function to accomplish this; see the hook_menu()
236
 * documentation for details.
233 237
 */
234 238
define('MENU_NOT_FOUND', 2);
235 239

  
236 240
/**
237
 * Internal menu status code -- Menu item access is denied.
241
 * Menu status code -- Access denied.
242
 *
243
 * This can be used as the return value from a page callback, although it is
244
 * preferable to use an access callback to accomplish this; see the hook_menu()
245
 * documentation for details.
238 246
 */
239 247
define('MENU_ACCESS_DENIED', 3);
240 248

  
......
431 439
 *
432 440
 * @param $path
433 441
 *   The path; for example, 'node/5'. The function will find the corresponding
434
 *   node/% item and return that.
442
 *   node/% item and return that. Defaults to the current path.
435 443
 * @param $router_item
436 444
 *   Internal use only.
437 445
 *
......
2613 2621
 */
2614 2622
function menu_get_active_title() {
2615 2623
  $active_trail = menu_get_active_trail();
2624
  $local_task_title = NULL;
2616 2625

  
2617 2626
  foreach (array_reverse($active_trail) as $item) {
2618
    if (!(bool) ($item['type'] & MENU_IS_LOCAL_TASK)) {
2619
      return $item['title'];
2627
    // Local task titles are displayed as tabs and therefore should not be
2628
    // repeated as the page title. However, if the local task appears in a
2629
    // top-level menu, it is no longer a "local task" anymore (the front page
2630
    // of the site does not have tabs) so it is better to use the local task
2631
    // title in that case than to fall back on the front page link in the
2632
    // active trail (which is usually "Home" and would not make sense in this
2633
    // context).
2634
    if ((bool) ($item['type'] & MENU_IS_LOCAL_TASK)) {
2635
      // A local task title is being skipped; track it in case it needs to be
2636
      // used later.
2637
      $local_task_title = $item['title'];
2638
    }
2639
    else {
2640
      // This is not a local task, so use it for the page title (unless the
2641
      // conditions described above are met).
2642
      if (isset($local_task_title) && isset($item['href']) && $item['href'] == '<front>') {
2643
        return $local_task_title;
2644
      }
2645
      else {
2646
        return $item['title'];
2647
      }
2620 2648
    }
2621 2649
  }
2622 2650
}
drupal7/includes/module.inc
676 676
/**
677 677
 * Determines which modules are implementing a hook.
678 678
 *
679
 * @param $hook
679
 * Lazy-loaded include files specified with "group" via hook_hook_info() or
680
 * hook_module_implements_alter() will be automatically included by this
681
 * function when necessary.
682
 *
683
 * @param string $hook
680 684
 *   The name of the hook (e.g. "help" or "menu").
681
 * @param $sort
685
 * @param bool $sort
682 686
 *   By default, modules are ordered by weight and filename, settings this option
683 687
 *   to TRUE, module list will be ordered by module name.
684
 * @param $reset
688
 * @param bool $reset
685 689
 *   For internal use only: Whether to force the stored list of hook
686 690
 *   implementations to be regenerated (such as after enabling a new module,
687 691
 *   before processing hook_enable).
......
696 700
  static $drupal_static_fast;
697 701
  if (!isset($drupal_static_fast)) {
698 702
    $drupal_static_fast['implementations'] = &drupal_static(__FUNCTION__);
703
    $drupal_static_fast['verified'] = &drupal_static(__FUNCTION__ . ':verified');
699 704
  }
700 705
  $implementations = &$drupal_static_fast['implementations'];
706
  $verified = &$drupal_static_fast['verified'];
701 707

  
702 708
  // We maintain a persistent cache of hook implementations in addition to the
703 709
  // static cache to avoid looping through every module and every hook on each
......
711 717
  // per request.
712 718
  if ($reset) {
713 719
    $implementations = array();
720
    $verified = array();
714 721
    cache_set('module_implements', array(), 'cache_bootstrap');
715 722
    drupal_static_reset('module_hook_info');
716 723
    drupal_static_reset('drupal_alter');
......
719 726
  }
720 727

  
721 728
  // Fetch implementations from cache.
729
  // This happens on the first call to module_implements(*, *, FALSE) during a
730
  // request, but also when $implementations have been reset, e.g. after
731
  // module_enable().
722 732
  if (empty($implementations)) {
723 733
    $implementations = cache_get('module_implements', 'cache_bootstrap');
724 734
    if ($implementations === FALSE) {
......
727 737
    else {
728 738
      $implementations = $implementations->data;
729 739
    }
740
    // Forget all previously "verified" hooks, in case that $implementations
741
    // were cleared via drupal_static_reset('module_implements') instead of
742
    // module_implements(*, *, TRUE).
743
    $verified = array();
730 744
  }
731 745

  
732 746
  if (!isset($implementations[$hook])) {
733 747
    // The hook is not cached, so ensure that whether or not it has
734 748
    // implementations, that the cache is updated at the end of the request.
735 749
    $implementations['#write_cache'] = TRUE;
750
    // Discover implementations for this hook.
736 751
    $hook_info = module_hook_info();
737 752
    $implementations[$hook] = array();
738 753
    $list = module_list(FALSE, FALSE, $sort);
......
744 759
        $implementations[$hook][$module] = $include_file ? $hook_info[$hook]['group'] : FALSE;
745 760
      }
746 761
    }
747
    // Allow modules to change the weight of specific implementations but avoid
762
    // Allow modules to change the weight of specific implementations, but avoid
748 763
    // an infinite loop.
749 764
    if ($hook != 'module_implements_alter') {
765
      // Remember the implementations before hook_module_implements_alter().
766
      $implementations_before = $implementations[$hook];
750 767
      drupal_alter('module_implements', $implementations[$hook], $hook);
768
      // Verify implementations that were added or modified.
769
      foreach (array_diff_assoc($implementations[$hook], $implementations_before) as $module => $group) {
770
        // If drupal_alter('module_implements') changed or added a $group, the
771
        // respective file needs to be included.
772
        if ($group) {
773
          module_load_include('inc', $module, "$module.$group");
774
        }
775
        // If a new implementation was added, verify that the function exists.
776
        if (!function_exists($module . '_' . $hook)) {
777
          unset($implementations[$hook][$module]);
778
        }
779
      }
751 780
    }
781
    // Implementations for this hook are now "verified".
782
    $verified[$hook] = TRUE;
752 783
  }
753
  else {
784
  elseif (!isset($verified[$hook])) {
785
    // Implementations for this hook were in the cache, but they are not
786
    // "verified" yet.
754 787
    foreach ($implementations[$hook] as $module => $group) {
755 788
      // If this hook implementation is stored in a lazy-loaded file, so include
756 789
      // that file first.
......
769 802
        $implementations['#write_cache'] = TRUE;
770 803
      }
771 804
    }
805
    $verified[$hook] = TRUE;
772 806
  }
773 807

  
774 808
  return array_keys($implementations[$hook]);
......
833 867
 * @see module_implements()
834 868
 */
835 869
function module_implements_write_cache() {
870
  // The list of implementations includes vital modules only before full
871
  // bootstrap, so do not write cache if we are not fully bootstrapped yet.
872
  if (drupal_get_bootstrap_phase() != DRUPAL_BOOTSTRAP_FULL) {
873
    return;
874
  }
836 875
  $implementations = &drupal_static('module_implements');
837 876
  if (isset($implementations['#write_cache'])) {
838 877
    unset($implementations['#write_cache']);
drupal7/includes/registry.inc
164 164
 *   (optional) Weight of the module.
165 165
 */
166 166
function _registry_parse_file($filename, $contents, $module = '', $weight = 0) {
167
  if (preg_match_all('/^\s*(?:abstract|final)?\s*(class|interface)\s+([a-zA-Z0-9_]+)/m', $contents, $matches)) {
167
  if (preg_match_all('/^\s*(?:abstract|final)?\s*(class|interface|trait)\s+([a-zA-Z0-9_]+)/m', $contents, $matches)) {
168 168
    foreach ($matches[2] as $key => $name) {
169 169
      db_merge('registry')
170 170
        ->key(array(
drupal7/includes/theme.inc
1710 1710
 * copy if none of the enabled modules or the active theme implement any
1711 1711
 * preprocess or process functions or override this theme implementation.
1712 1712
 *
1713
 * @param $variables
1714
 *   An associative array containing the keys 'text', 'path', and 'options'.
1715
 *   See the l() function for information about these variables.
1713
 * @param array $variables
1714
 *   An associative array containing the keys:
1715
 *   - text: The text of the link.
1716
 *   - path: The internal path or external URL being linked to. It is used as
1717
 *     the $path parameter of the url() function.
1718
 *   - options: (optional) An array that defaults to empty, but can contain:
1719
 *     - attributes: Can contain optional attributes:
1720
 *       - class: must be declared in an array. Example: 'class' =>
1721
 *         array('class_name1','class_name2').
1722
 *       - title: must be a string. Example: 'title' => 'Example title'
1723
 *       - Others are more flexible as long as they work with
1724
 *         drupal_attributes($variables['options']['attributes]).
1725
 *     - html: Boolean flag that tells whether text contains HTML or plain
1726
 *       text. If set to TRUE, the text value will not be sanitized so the
1727
         calling function must ensure that it already contains safe HTML.
1728
 *   The elements $variables['options']['attributes'] and
1729
 *   $variables['options']['html'] are used in this function similarly to the
1730
 *   way that $options['attributes'] and $options['html'] are used in l().
1731
 *   The link itself is built by the url() function, which takes
1732
 *   $variables['path'] and $variables['options'] as arguments.
1716 1733
 *
1717 1734
 * @see l()
1735
 * @see url()
1718 1736
 */
1719 1737
function theme_link($variables) {
1720 1738
  return '<a href="' . check_plain(url($variables['path'], $variables['options'])) . '"' . drupal_attributes($variables['options']['attributes']) . '>' . ($variables['options']['html'] ? $variables['text'] : check_plain($variables['text'])) . '</a>';
drupal7/includes/update.inc
908 908
}
909 909

  
910 910
/**
911
 * Implements callback_batch_operation().
912
 *
911 913
 * Performs one update and stores the results for display on the results page.
912 914
 *
913 915
 * If an update function completes successfully, it should return a message
......
1078 1080
}
1079 1081

  
1080 1082
/**
1083
 * Implements callback_batch_finished().
1084
 *
1081 1085
 * Finishes the update process and stores the results for eventual display.
1082 1086
 *
1083 1087
 * After the updates run, all caches are flushed. The update results are
drupal7/misc/states.js
493 493
$(document).bind('state:required', function(e) {
494 494
  if (e.trigger) {
495 495
    if (e.value) {
496
      $(e.target).closest('.form-item, .form-wrapper').find('label').append('<span class="form-required">*</span>');
496
      var $label = $(e.target).closest('.form-item, .form-wrapper').find('label');
497
      // Avoids duplicate required markers on initialization.
498
      if (!$label.find('.form-required').length) {
499
        $label.append('<span class="form-required">*</span>');
500
      }
497 501
    }
498 502
    else {
... Ce différentiel a été tronqué car il excède la taille maximale pouvant être affichée.

Formats disponibles : Unified diff