[Pkg-drupal-commits] r2268 - in /branches/upstream/current-6: ./ includes/ misc/ modules/aggregator/ modules/block/ modules/blog/ modules/blogapi/ modules/book/ modules/color/ modules/comment/ modules/contact/ modules/dblog/ modules/filter/ modules/forum/ modules/help/ modules/locale/ modules/menu/ modules/node/ modules/openid/ modules/path/ modules/php/ modules/ping/ modules/poll/ modules/profile/ modules/search/ modules/statistics/ modules/syslog/ modules/system/ modules/taxonomy/ modules/throttle/ modules/tracker/ modules/translation/ modules/trigger/ modules/update/ modules/upload/ modules/user/ themes/bluemarine/ themes/chameleon/ themes/chameleon/marvin/ themes/engines/phptemplate/ themes/garland/ themes/garland/minnelli/ themes/pushbutton/
luigi at users.alioth.debian.org
luigi at users.alioth.debian.org
Thu May 10 18:48:17 UTC 2012
Author: luigi
Date: Thu May 10 18:48:16 2012
New Revision: 2268
URL: http://svn.debian.org/wsvn/pkg-drupal/?sc=1&rev=2268
Log:
[svn-upgrade] new version drupal6 (6.26)
Added:
branches/upstream/current-6/includes/lock-install.inc
Modified:
branches/upstream/current-6/CHANGELOG.txt
branches/upstream/current-6/INSTALL.mysql.txt
branches/upstream/current-6/LICENSE.txt
branches/upstream/current-6/includes/actions.inc
branches/upstream/current-6/includes/batch.inc
branches/upstream/current-6/includes/bootstrap.inc
branches/upstream/current-6/includes/cache.inc
branches/upstream/current-6/includes/common.inc
branches/upstream/current-6/includes/database.inc
branches/upstream/current-6/includes/database.mysql-common.inc
branches/upstream/current-6/includes/database.mysql.inc
branches/upstream/current-6/includes/database.mysqli.inc
branches/upstream/current-6/includes/database.pgsql.inc
branches/upstream/current-6/includes/file.inc
branches/upstream/current-6/includes/form.inc
branches/upstream/current-6/includes/locale.inc
branches/upstream/current-6/includes/lock.inc
branches/upstream/current-6/includes/menu.inc
branches/upstream/current-6/includes/module.inc
branches/upstream/current-6/includes/pager.inc
branches/upstream/current-6/includes/session.inc
branches/upstream/current-6/includes/theme.inc
branches/upstream/current-6/includes/unicode.entities.inc
branches/upstream/current-6/includes/unicode.inc
branches/upstream/current-6/install.php
branches/upstream/current-6/misc/drupal.js
branches/upstream/current-6/misc/tabledrag.js
branches/upstream/current-6/modules/aggregator/aggregator.admin.inc
branches/upstream/current-6/modules/aggregator/aggregator.info
branches/upstream/current-6/modules/aggregator/aggregator.module
branches/upstream/current-6/modules/block/block.info
branches/upstream/current-6/modules/block/block.module
branches/upstream/current-6/modules/blog/blog.info
branches/upstream/current-6/modules/blog/blog.pages.inc
branches/upstream/current-6/modules/blogapi/blogapi.info
branches/upstream/current-6/modules/book/book.info
branches/upstream/current-6/modules/book/book.module
branches/upstream/current-6/modules/color/color.info
branches/upstream/current-6/modules/comment/comment.info
branches/upstream/current-6/modules/comment/comment.install
branches/upstream/current-6/modules/contact/contact.info
branches/upstream/current-6/modules/dblog/dblog.admin.inc
branches/upstream/current-6/modules/dblog/dblog.info
branches/upstream/current-6/modules/filter/filter.info
branches/upstream/current-6/modules/forum/forum.info
branches/upstream/current-6/modules/forum/forum.module
branches/upstream/current-6/modules/help/help.info
branches/upstream/current-6/modules/locale/locale.info
branches/upstream/current-6/modules/locale/locale.install
branches/upstream/current-6/modules/menu/menu.info
branches/upstream/current-6/modules/node/node.admin.inc
branches/upstream/current-6/modules/node/node.info
branches/upstream/current-6/modules/node/node.module
branches/upstream/current-6/modules/openid/openid.info
branches/upstream/current-6/modules/openid/openid.module
branches/upstream/current-6/modules/path/path.info
branches/upstream/current-6/modules/path/path.module
branches/upstream/current-6/modules/php/php.info
branches/upstream/current-6/modules/ping/ping.info
branches/upstream/current-6/modules/poll/poll.info
branches/upstream/current-6/modules/poll/poll.module
branches/upstream/current-6/modules/profile/profile.info
branches/upstream/current-6/modules/search/search.info
branches/upstream/current-6/modules/search/search.module
branches/upstream/current-6/modules/statistics/statistics.info
branches/upstream/current-6/modules/syslog/syslog.info
branches/upstream/current-6/modules/system/system.admin.inc
branches/upstream/current-6/modules/system/system.info
branches/upstream/current-6/modules/system/system.module
branches/upstream/current-6/modules/taxonomy/taxonomy.info
branches/upstream/current-6/modules/taxonomy/taxonomy.module
branches/upstream/current-6/modules/throttle/throttle.info
branches/upstream/current-6/modules/tracker/tracker.info
branches/upstream/current-6/modules/translation/translation.info
branches/upstream/current-6/modules/translation/translation.module
branches/upstream/current-6/modules/trigger/trigger.info
branches/upstream/current-6/modules/trigger/trigger.module
branches/upstream/current-6/modules/update/update.fetch.inc
branches/upstream/current-6/modules/update/update.info
branches/upstream/current-6/modules/upload/upload.info
branches/upstream/current-6/modules/upload/upload.module
branches/upstream/current-6/modules/user/user.info
branches/upstream/current-6/modules/user/user.module
branches/upstream/current-6/robots.txt
branches/upstream/current-6/themes/bluemarine/bluemarine.info
branches/upstream/current-6/themes/chameleon/chameleon.info
branches/upstream/current-6/themes/chameleon/marvin/marvin.info
branches/upstream/current-6/themes/engines/phptemplate/phptemplate.engine
branches/upstream/current-6/themes/garland/garland.info
branches/upstream/current-6/themes/garland/minnelli/minnelli.info
branches/upstream/current-6/themes/garland/style.css
branches/upstream/current-6/themes/pushbutton/pushbutton.info
branches/upstream/current-6/update.php
Modified: branches/upstream/current-6/CHANGELOG.txt
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/CHANGELOG.txt?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/CHANGELOG.txt (original)
+++ branches/upstream/current-6/CHANGELOG.txt Thu May 10 18:48:16 2012
@@ -1,3 +1,26 @@
+
+Drupal 6.26, 2012-05-02
+----------------------
+- Fixed a small number of bugs.
+- Made code documentation improvements.
+
+Drupal 6.25, 2012-02-29
+----------------------
+- Fixed regressions introduced in Drupal 6.24 only.
+
+Drupal 6.24, 2012-02-01
+----------------------
+- Improved performance of search indexing and user operations by adding indexes.
+- Fixed issues with themes getting disabled due to missing locking in
+ system_theme_data().
+- Fix issue with blocks being disabled on updates in _block_rehash().
+- Further improvements to PHP 5.3, PHP 4 and PostgreSQL compatibility.
+- Improved code documentation at various places.
+- Fixed a variety of other bugs.
+
+Drupal 6.23, 2012-02-01
+----------------------
+- Fixed security issues (Cross site scripting), see SA-CORE-2012-001.
Drupal 6.22, 2011-05-25
----------------------
Modified: branches/upstream/current-6/INSTALL.mysql.txt
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/INSTALL.mysql.txt?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/INSTALL.mysql.txt (original)
+++ branches/upstream/current-6/INSTALL.mysql.txt Thu May 10 18:48:16 2012
@@ -20,8 +20,8 @@
Again, you will be asked for the 'username' database password. At the MySQL
prompt, enter following command:
- GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER
- ON databasename.*
+ GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER,
+ CREATE TEMPORARY TABLES ON databasename.*
TO 'username'@'localhost' IDENTIFIED BY 'password';
where
Modified: branches/upstream/current-6/LICENSE.txt
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/LICENSE.txt?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/LICENSE.txt (original)
+++ branches/upstream/current-6/LICENSE.txt Thu May 10 18:48:16 2012
@@ -1,274 +1,339 @@
-GNU GENERAL PUBLIC LICENSE
-
- Version 2, June 1991
-
-Copyright (C) 1989, 1991 Free Software Foundation, Inc. 675 Mass Ave,
-Cambridge, MA 02139, USA. Everyone is permitted to copy and distribute
-verbatim copies of this license document, but changing it is not allowed.
-
- Preamble
-
-The licenses for most software are designed to take away your freedom to
-share and change it. By contrast, the GNU General Public License is
-intended to guarantee your freedom to share and change free software--to
-make sure the software is free for all its users. This General Public License
-applies to most of the Free Software Foundation's software and to any other
-program whose authors commit to using it. (Some other Free Software
-Foundation software is covered by the GNU Library General Public License
-instead.) You can apply it to your programs, too.
-
-When we speak of free software, we are referring to freedom, not price. Our
-General Public Licenses are designed to make sure that you have the
-freedom to distribute copies of free software (and charge for this service if
-you wish), that you receive source code or can get it if you want it, that you
-can change the software or use pieces of it in new free programs; and that
-you know you can do these things.
-
-To protect your rights, we need to make restrictions that forbid anyone to
-deny you these rights or to ask you to surrender the rights. These restrictions
-translate to certain responsibilities for you if you distribute copies of the
-software, or if you modify it.
-
-For example, if you distribute copies of such a program, whether gratis or for
-a fee, you must give the recipients all the rights that you have. You must make
-sure that they, too, receive or can get the source code. And you must show
-them these terms so they know their rights.
-
-We protect your rights with two steps: (1) copyright the software, and (2)
-offer you this license which gives you legal permission to copy, distribute
-and/or modify the software.
-
-Also, for each author's protection and ours, we want to make certain that
-everyone understands that there is no warranty for this free software. If the
-software is modified by someone else and passed on, we want its recipients
-to know that what they have is not the original, so that any problems
-introduced by others will not reflect on the original authors' reputations.
-
-Finally, any free program is threatened constantly by software patents. We
-wish to avoid the danger that redistributors of a free program will individually
-obtain patent licenses, in effect making the program proprietary. To prevent
-this, we have made it clear that any patent must be licensed for everyone's
-free use or not licensed at all.
-
-The precise terms and conditions for copying, distribution and modification
-follow.
-
- GNU GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND
- MODIFICATION
-
-0. This License applies to any program or other work which contains a notice
-placed by the copyright holder saying it may be distributed under the terms
-of this General Public License. The "Program", below, refers to any such
-program or work, and a "work based on the Program" means either the
-Program or any derivative work under copyright law: that is to say, a work
-containing the Program or a portion of it, either verbatim or with
-modifications and/or translated into another language. (Hereinafter, translation
-is included without limitation in the term "modification".) Each licensee is
-addressed as "you".
-
-Activities other than copying, distribution and modification are not covered
-by this License; they are outside its scope. The act of running the Program is
-not restricted, and the output from the Program is covered only if its contents
-constitute a work based on the Program (independent of having been made
-by running the Program). Whether that is true depends on what the Program
-does.
-
-1. You may copy and distribute verbatim copies of the Program's source
-code as you receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice and
-disclaimer of warranty; keep intact all the notices that refer to this License
-and to the absence of any warranty; and give any other recipients of the
-Program a copy of this License along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and you
-may at your option offer warranty protection in exchange for a fee.
-
-2. You may modify your copy or copies of the Program or any portion of it,
-thus forming a work based on the Program, and copy and distribute such
-modifications or work under the terms of Section 1 above, provided that you
-also meet all of these conditions:
-
-a) You must cause the modified files to carry prominent notices stating that
-you changed the files and the date of any change.
-
-b) You must cause any work that you distribute or publish, that in whole or in
-part contains or is derived from the Program or any part thereof, to be
-licensed as a whole at no charge to all third parties under the terms of this
-License.
-
-c) If the modified program normally reads commands interactively when run,
-you must cause it, when started running for such interactive use in the most
-ordinary way, to print or display an announcement including an appropriate
-copyright notice and a notice that there is no warranty (or else, saying that
-you provide a warranty) and that users may redistribute the program under
-these conditions, and telling the user how to view a copy of this License.
-(Exception: if the Program itself is interactive but does not normally print such
-an announcement, your work based on the Program is not required to print
-an announcement.)
-
-These requirements apply to the modified work as a whole. If identifiable
-sections of that work are not derived from the Program, and can be
-reasonably considered independent and separate works in themselves, then
-this License, and its terms, do not apply to those sections when you distribute
-them as separate works. But when you distribute the same sections as part
-of a whole which is a work based on the Program, the distribution of the
-whole must be on the terms of this License, whose permissions for other
-licensees extend to the entire whole, and thus to each and every part
-regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest your rights to
-work written entirely by you; rather, the intent is to exercise the right to
-control the distribution of derivative or collective works based on the
-Program.
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Lesser General Public License instead.) You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+ 2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of a
-storage or distribution medium does not bring the other work under the scope
-of this License.
-
-3. You may copy and distribute the Program (or a work based on it, under
-Section 2) in object code or executable form under the terms of Sections 1
-and 2 above provided that you also do one of the following:
-
-a) Accompany it with the complete corresponding machine-readable source
-code, which must be distributed under the terms of Sections 1 and 2 above
-on a medium customarily used for software interchange; or,
-
-b) Accompany it with a written offer, valid for at least three years, to give
-any third party, for a charge no more than your cost of physically performing
-source distribution, a complete machine-readable copy of the corresponding
-source code, to be distributed under the terms of Sections 1 and 2 above on
-a medium customarily used for software interchange; or,
-
-c) Accompany it with the information you received as to the offer to distribute
-corresponding source code. (This alternative is allowed only for
-noncommercial distribution and only if you received the program in object
-code or executable form with such an offer, in accord with Subsection b
-above.)
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
-making modifications to it. For an executable work, complete source code
-means all the source code for all modules it contains, plus any associated
-interface definition files, plus the scripts used to control compilation and
-installation of the executable. However, as a special exception, the source
-code distributed need not include anything that is normally distributed (in
-either source or binary form) with the major components (compiler, kernel,
-and so on) of the operating system on which the executable runs, unless that
-component itself accompanies the executable.
-
-If distribution of executable or object code is made by offering access to
-copy from a designated place, then offering equivalent access to copy the
-source code from the same place counts as distribution of the source code,
-even though third parties are not compelled to copy the source along with the
-object code.
-
-4. You may not copy, modify, sublicense, or distribute the Program except as
-expressly provided under this License. Any attempt otherwise to copy,
-modify, sublicense or distribute the Program is void, and will automatically
-terminate your rights under this License. However, parties who have received
-copies, or rights, from you under this License will not have their licenses
-terminated so long as such parties remain in full compliance.
-
-5. You are not required to accept this License, since you have not signed it.
-However, nothing else grants you permission to modify or distribute the
-Program or its derivative works. These actions are prohibited by law if you
-do not accept this License. Therefore, by modifying or distributing the
-Program (or any work based on the Program), you indicate your acceptance
-of this License to do so, and all its terms and conditions for copying,
-distributing or modifying the Program or works based on it.
-
-6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the original
-licensor to copy, distribute or modify the Program subject to these terms and
-conditions. You may not impose any further restrictions on the recipients'
-exercise of the rights granted herein. You are not responsible for enforcing
-compliance by third parties to this License.
-
-7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues), conditions
-are imposed on you (whether by court order, agreement or otherwise) that
-contradict the conditions of this License, they do not excuse you from the
-conditions of this License. If you cannot distribute so as to satisfy
-simultaneously your obligations under this License and any other pertinent
-obligations, then as a consequence you may not distribute the Program at all.
-For example, if a patent license would not permit royalty-free redistribution
-of the Program by all those who receive copies directly or indirectly through
-you, then the only way you could satisfy both it and this License would be to
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+ 5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
-If any portion of this section is held invalid or unenforceable under any
-particular circumstance, the balance of the section is intended to apply and
-the section as a whole is intended to apply in other circumstances.
-
-It is not the purpose of this section to induce you to infringe any patents or
-other property right claims or to contest validity of any such claims; this
-section has the sole purpose of protecting the integrity of the free software
-distribution system, which is implemented by public license practices. Many
-people have made generous contributions to the wide range of software
-distributed through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing to
-distribute software through any other system and a licensee cannot impose
-that choice.
-
-This section is intended to make thoroughly clear what is believed to be a
-consequence of the rest of this License.
-
-8. If the distribution and/or use of the Program is restricted in certain
-countries either by patents or by copyrighted interfaces, the original copyright
-holder who places the Program under this License may add an explicit
-geographical distribution limitation excluding those countries, so that
-distribution is permitted only in or among countries not thus excluded. In such
-case, this License incorporates the limitation as if written in the body of this
-License.
-
-9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time. Such new versions will be
-similar in spirit to the present version, but may differ in detail to address new
-problems or concerns.
-
-Each version is given a distinguishing version number. If the Program specifies
-a version number of this License which applies to it and "any later version",
-you have the option of following the terms and conditions either of that
-version or of any later version published by the Free Software Foundation. If
-the Program does not specify a version number of this License, you may
-choose any version ever published by the Free Software Foundation.
-
-10. If you wish to incorporate parts of the Program into other free programs
-whose distribution conditions are different, write to the author to ask for
-permission. For software which is copyrighted by the Free Software
-Foundation, write to the Free Software Foundation; we sometimes make
-exceptions for this. Our decision will be guided by the two goals of
-preserving the free status of all derivatives of our free software and of
-promoting the sharing and reuse of software generally.
-
- NO WARRANTY
-
-11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE,
-THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT
-PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE
-STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
-OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT
-WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,
-INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND
-PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL
-NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR
-AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR
-ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE
-LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL,
-SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES
-ARISING OUT OF THE USE OR INABILITY TO USE THE
-PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA
-OR DATA BEING RENDERED INACCURATE OR LOSSES
-SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE
-PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN
-IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF
-THE POSSIBILITY OF SUCH DAMAGES.
-
- END OF TERMS AND CONDITIONS
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ 9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+ 10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) year name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+ <signature of Ty Coon>, 1 April 1989
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Lesser General
+Public License instead of this License.
Modified: branches/upstream/current-6/includes/actions.inc
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/includes/actions.inc?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/includes/actions.inc (original)
+++ branches/upstream/current-6/includes/actions.inc Thu May 10 18:48:16 2012
@@ -3,25 +3,6 @@
/**
* @file
* This is the actions engine for executing stored actions.
- */
-
-/**
- * @defgroup actions Actions
- * @{
- * Functions that perform an action on a certain system object.
- *
- * All modules should declare their action functions to be in this group and
- * each action function should reference its configuration form, validate, and
- * submit functions using \@see. Conversely, form, validate, and submit
- * functions should reference the action function using \@see. For examples of
- * this see comment_unpublish_by_keyword_action(), which has the following in
- * its doxygen documentation:
- *
- * \@ingroup actions
- * \@see comment_unpublish_by_keyword_action_form().
- * \@see comment_unpublish_by_keyword_action_submit().
- *
- * @} End of "defgroup actions".
*/
/**
@@ -355,7 +336,7 @@
else {
$link = l(t('Remove orphaned actions'), 'admin/settings/actions/orphan');
$count = count($actions_in_db);
- watchdog('actions', format_plural($count, 'One orphaned action (%orphans) exists in the actions table. !link', '@count orphaned actions (%orphans) exist in the actions table. !link'), array('@count' => $count, '%orphans' => $orphans, '!link' => $link), WATCHDOG_WARNING);
+ watchdog('actions', format_plural($count, 'One orphaned action (%orphans) exists in the actions table. !link', '@count orphaned actions (%orphans) exist in the actions table. !link'), array('@count' => $count, '%orphans' => $orphans, '!link' => $link), WATCHDOG_INFO);
}
}
}
Modified: branches/upstream/current-6/includes/batch.inc
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/includes/batch.inc?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/includes/batch.inc (original)
+++ branches/upstream/current-6/includes/batch.inc Thu May 10 18:48:16 2012
@@ -189,7 +189,7 @@
call_user_func_array($function, array_merge($args, array(&$batch_context)));
}
- if ($finished == 1) {
+ if ($finished >= 1) {
// Make sure this step isn't counted double when computing $current.
$finished = 0;
// Remove the operation and clear the sandbox.
Modified: branches/upstream/current-6/includes/bootstrap.inc
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/includes/bootstrap.inc?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/includes/bootstrap.inc (original)
+++ branches/upstream/current-6/includes/bootstrap.inc Thu May 10 18:48:16 2012
@@ -378,6 +378,10 @@
global $db_url, $db_prefix, $db_collation, $cookie_domain, $conf, $installed_profile, $update_free_access;
$conf = array();
+ if (!isset($_SERVER['SERVER_PROTOCOL']) || ($_SERVER['SERVER_PROTOCOL'] != 'HTTP/1.0' && $_SERVER['SERVER_PROTOCOL'] != 'HTTP/1.1')) {
+ $_SERVER['SERVER_PROTOCOL'] = 'HTTP/1.0';
+ }
+
if (isset($_SERVER['HTTP_HOST'])) {
// As HTTP_HOST is user input, ensure it only contains characters allowed
// in hostnames. See RFC 952 (and RFC 2181).
@@ -385,7 +389,7 @@
$_SERVER['HTTP_HOST'] = strtolower($_SERVER['HTTP_HOST']);
if (!drupal_valid_http_host($_SERVER['HTTP_HOST'])) {
// HTTP_HOST is invalid, e.g. if containing slashes it may be an attack.
- header('HTTP/1.1 400 Bad Request');
+ header($_SERVER['SERVER_PROTOCOL'] .' 400 Bad Request');
exit;
}
}
@@ -749,7 +753,7 @@
if ($if_modified_since && $if_none_match
&& $if_none_match == $etag // etag must match
&& $if_modified_since == $last_modified) { // if-modified-since must match
- header('HTTP/1.1 304 Not Modified');
+ header($_SERVER['SERVER_PROTOCOL'] .' 304 Not Modified');
// All 304 responses must send an etag if the 200 response for the same object contained an etag
header("Etag: $etag");
return;
@@ -1149,7 +1153,7 @@
case DRUPAL_BOOTSTRAP_ACCESS:
// Deny access to hosts which were banned - t() is not yet available.
if (drupal_is_denied('host', ip_address())) {
- header('HTTP/1.1 403 Forbidden');
+ header($_SERVER['SERVER_PROTOCOL'] .' 403 Forbidden');
print 'Sorry, '. check_plain(ip_address()) .' has been banned.';
exit();
}
Modified: branches/upstream/current-6/includes/cache.inc
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/includes/cache.inc?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/includes/cache.inc (original)
+++ branches/upstream/current-6/includes/cache.inc Thu May 10 18:48:16 2012
@@ -9,6 +9,8 @@
* @param $table
* The table $table to store the data in. Valid core values are 'cache_filter',
* 'cache_menu', 'cache_page', or 'cache' for the default cache.
+ *
+ * @see cache_set()
*/
function cache_get($cid, $table = 'cache') {
global $user;
@@ -97,6 +99,8 @@
* the given time, after which it behaves like CACHE_TEMPORARY.
* @param $headers
* A string containing HTTP header information for cached pages.
+ *
+ * @see cache_get()
*/
function cache_set($cid, $data, $table = 'cache', $expire = CACHE_PERMANENT, $headers = NULL) {
$serialized = 0;
Modified: branches/upstream/current-6/includes/common.inc
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/includes/common.inc?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/includes/common.inc (original)
+++ branches/upstream/current-6/includes/common.inc Thu May 10 18:48:16 2012
@@ -29,6 +29,12 @@
if (!defined('E_DEPRECATED')) {
define('E_DEPRECATED', 8192);
}
+
+/**
+ * Error code indicating that the request made by drupal_http_request() exceeded
+ * the specified timeout.
+ */
+define('HTTP_REQUEST_TIMEOUT', -1);
/**
* Set content for a specified region.
@@ -292,7 +298,8 @@
* @param $path
* A Drupal path or a full URL.
* @param $query
- * A query string component, if any.
+ * A URL-encoded query string to append to the link, or an array of query
+ * key/value-pairs without any URL-encoding. Passed to url().
* @param $fragment
* A destination fragment identifier (named anchor).
* @param $http_response_code
@@ -354,7 +361,7 @@
*/
function drupal_site_offline() {
drupal_maintenance_theme();
- drupal_set_header('HTTP/1.1 503 Service unavailable');
+ drupal_set_header($_SERVER['SERVER_PROTOCOL'] .' 503 Service unavailable');
drupal_set_title(t('Site off-line'));
print theme('maintenance_page', filter_xss_admin(variable_get('site_offline_message',
t('@site is currently under maintenance. We should be back shortly. Thank you for your patience.', array('@site' => variable_get('site_name', 'Drupal'))))));
@@ -364,7 +371,7 @@
* Generates a 404 error if the request can not be handled.
*/
function drupal_not_found() {
- drupal_set_header('HTTP/1.1 404 Not Found');
+ drupal_set_header($_SERVER['SERVER_PROTOCOL'] .' 404 Not Found');
watchdog('page not found', check_plain($_GET['q']), NULL, WATCHDOG_WARNING);
@@ -394,7 +401,7 @@
* Generates a 403 error if the request is not allowed.
*/
function drupal_access_denied() {
- drupal_set_header('HTTP/1.1 403 Forbidden');
+ drupal_set_header($_SERVER['SERVER_PROTOCOL'] .' 403 Forbidden');
watchdog('access denied', check_plain($_GET['q']), NULL, WATCHDOG_WARNING);
@@ -435,11 +442,15 @@
* @param $retry
* An integer representing how many times to retry the request in case of a
* redirect.
+ * @param $timeout
+ * A float representing the maximum number of seconds the function call may
+ * take. The default is 30 seconds. If a timeout occurs, the error code is set
+ * to the HTTP_REQUEST_TIMEOUT constant.
* @return
* An object containing the HTTP request headers, response code, protocol,
* status message, headers, data and redirect status.
*/
-function drupal_http_request($url, $headers = array(), $method = 'GET', $data = NULL, $retry = 3) {
+function drupal_http_request($url, $headers = array(), $method = 'GET', $data = NULL, $retry = 3, $timeout = 30.0) {
global $db_prefix;
$result = new stdClass();
@@ -458,19 +469,21 @@
$result->code = -1002;
return $result;
}
+
+ timer_start(__FUNCTION__);
switch ($uri['scheme']) {
case 'http':
case 'feed':
$port = isset($uri['port']) ? $uri['port'] : 80;
$host = $uri['host'] . ($port != 80 ? ':'. $port : '');
- $fp = @fsockopen($uri['host'], $port, $errno, $errstr, 15);
+ $fp = @fsockopen($uri['host'], $port, $errno, $errstr, $timeout);
break;
case 'https':
// Note: Only works for PHP 4.3 compiled with OpenSSL.
$port = isset($uri['port']) ? $uri['port'] : 443;
$host = $uri['host'] . ($port != 443 ? ':'. $port : '');
- $fp = @fsockopen('ssl://'. $uri['host'], $port, $errno, $errstr, 20);
+ $fp = @fsockopen('ssl://'. $uri['host'], $port, $errno, $errstr, $timeout);
break;
default:
$result->error = 'invalid schema '. $uri['scheme'];
@@ -544,17 +557,33 @@
$result->request = $request;
- fwrite($fp, $request);
+ // Calculate how much time is left of the original timeout value.
+ $time_left = $timeout - timer_read(__FUNCTION__) / 1000;
+ if ($time_left > 0) {
+ stream_set_timeout($fp, floor($time_left), floor(1000000 * fmod($time_left, 1)));
+ fwrite($fp, $request);
+ }
// Fetch response.
$response = '';
- while (!feof($fp) && $chunk = fread($fp, 1024)) {
+ while (!feof($fp)) {
+ // Calculate how much time is left of the original timeout value.
+ $time_left = $timeout - timer_read(__FUNCTION__) / 1000;
+ if ($time_left <= 0) {
+ $result->code = HTTP_REQUEST_TIMEOUT;
+ $result->error = 'request timed out';
+ return $result;
+ }
+ stream_set_timeout($fp, floor($time_left), floor(1000000 * fmod($time_left, 1)));
+ $chunk = fread($fp, 1024);
$response .= $chunk;
}
fclose($fp);
- // Parse response.
- list($split, $result->data) = explode("\r\n\r\n", $response, 2);
+ // Parse response headers from the response body.
+ // Be tolerant of malformed HTTP responses that separate header and body with
+ // \n\n or \r\r instead of \r\n\r\n. See http://drupal.org/node/183435
+ list($split, $result->data) = preg_split("/\r\n\r\n|\n\n|\r\r/", $response, 2);
$split = preg_split("/\r\n|\n|\r/", $split);
list($protocol, $code, $status_message) = explode(' ', trim(array_shift($split)), 3);
@@ -597,9 +626,13 @@
case 302: // Moved temporarily
case 307: // Moved temporarily
$location = $result->headers['Location'];
-
- if ($retry) {
- $result = drupal_http_request($result->headers['Location'], $headers, $method, $data, --$retry);
+ $timeout -= timer_read(__FUNCTION__) / 1000;
+ if ($timeout <= 0) {
+ $result->code = HTTP_REQUEST_TIMEOUT;
+ $result->error = 'request timed out';
+ }
+ elseif ($retry) {
+ $result = drupal_http_request($result->headers['Location'], $headers, $method, $data, --$retry, $timeout);
$result->redirect_code = $result->code;
}
$result->redirect_url = $location;
@@ -652,7 +685,9 @@
}
}
- $entry = check_plain($types[$errno]) .': '. filter_xss($message) .' in '. check_plain($filename) .' on line '. check_plain($line) .'.';
+ // Try to use filter_xss(). If it's too early in the bootstrap process for
+ // filter_xss() to be loaded, use check_plain() instead.
+ $entry = check_plain($types[$errno]) .': '. (function_exists('filter_xss') ? filter_xss($message) : check_plain($message)) .' in '. check_plain($filename) .' on line '. check_plain($line) .'.';
// Force display of error messages in update.php.
if (variable_get('error_level', 1) == 1 || strstr($_SERVER['SCRIPT_NAME'], 'update.php')) {
@@ -1788,8 +1823,11 @@
*
* Typical candidates for caching are for example styles for nodes across
* the site, or used in the theme.
+ *
* @return
* An array of CSS files.
+ *
+ * @see drupal_get_css()
*/
function drupal_add_css($path = NULL, $type = 'module', $media = 'all', $preprocess = TRUE) {
static $css = array();
@@ -1835,8 +1873,11 @@
* @param $css
* (optional) An array of CSS files. If no array is provided, the default
* stylesheets array is used instead.
+ *
* @return
* A string of XHTML CSS tags.
+ *
+ * @see drupal_add_css()
*/
function drupal_get_css($css = NULL) {
$output = '';
@@ -2533,8 +2574,8 @@
* (optional) If set, the variable will be converted to JSON and output.
*/
function drupal_json($var = NULL) {
- // We are returning JavaScript, so tell the browser.
- drupal_set_header('Content-Type: text/javascript; charset=utf-8');
+ // We are returning JSON, so tell the browser.
+ drupal_set_header('Content-Type: application/json');
if (isset($var)) {
echo drupal_to_js($var);
Modified: branches/upstream/current-6/includes/database.inc
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/includes/database.inc?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/includes/database.inc (original)
+++ branches/upstream/current-6/includes/database.inc Thu May 10 18:48:16 2012
@@ -115,10 +115,11 @@
* code.
*
* @param $name
- * The name assigned to the newly active database connection. If omitted, the
+ * The key in the $db_url global variable from settings.php. If omitted, the
* default connection will be made active.
*
- * @return the name of the previously active database or FALSE if non was found.
+ * @return
+ * The name of the previously active database, or FALSE if none was found.
*/
function db_set_active($name = 'default') {
global $db_url, $db_type, $active_db;
@@ -173,7 +174,7 @@
global $db_type;
drupal_init_language();
drupal_maintenance_theme();
- drupal_set_header('HTTP/1.1 503 Service Unavailable');
+ drupal_set_header($_SERVER['SERVER_PROTOCOL'] .' 503 Service Unavailable');
drupal_set_title('Site off-line');
$message = '<p>The site is currently not available due to technical problems. Please try again later. Thank you for your understanding.</p>';
Modified: branches/upstream/current-6/includes/database.mysql-common.inc
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/includes/database.mysql-common.inc?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/includes/database.mysql-common.inc (original)
+++ branches/upstream/current-6/includes/database.mysql-common.inc Thu May 10 18:48:16 2012
@@ -26,8 +26,9 @@
* and TRUE values to decimal 1.
*
* @return
- * A database query result resource, or FALSE if the query was not
- * executed correctly.
+ * Successful SELECT, SHOW, DESCRIBE, EXPLAIN, or other queries which return a
+ * set of results will return a database query result resource. Other
+ * successful queries will return TRUE and failing queries will return FALSE.
*/
function db_query($query) {
$args = func_get_args();
Modified: branches/upstream/current-6/includes/database.mysql.inc
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/includes/database.mysql.inc?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/includes/database.mysql.inc (original)
+++ branches/upstream/current-6/includes/database.mysql.inc Thu May 10 18:48:16 2012
@@ -176,7 +176,7 @@
*
* @param $result
* A database query result resource, as returned from db_query().
- *
+ *
* @return
* The resulting field or FALSE.
*/
@@ -253,9 +253,9 @@
/**
* Runs a SELECT query and stores its results in a temporary table.
*
- * Use this as a substitute for db_query() when the results need to stored
- * in a temporary table. Temporary tables exist for the duration of the page
- * request.
+ * Use this as a substitute for db_query() when the results need to be stored
+ * in a temporary table.
+ *
* User-supplied arguments to the query should be passed in as separate parameters
* so that they can be properly escaped to avoid SQL injection attacks.
*
@@ -274,10 +274,10 @@
*
* NOTE: using this syntax will cast NULL and FALSE values to decimal 0,
* and TRUE values to decimal 1.
- *
* @param $table
* The name of the temporary table to select into. This name will not be
* prefixed as there is no risk of collision.
+ *
* @return
* A database query result resource, or FALSE if the query was not executed
* correctly.
Modified: branches/upstream/current-6/includes/database.mysqli.inc
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/includes/database.mysqli.inc?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/includes/database.mysqli.inc (original)
+++ branches/upstream/current-6/includes/database.mysqli.inc Thu May 10 18:48:16 2012
@@ -253,9 +253,9 @@
/**
* Runs a SELECT query and stores its results in a temporary table.
*
- * Use this as a substitute for db_query() when the results need to stored
- * in a temporary table. Temporary tables exist for the duration of the page
- * request.
+ * Use this as a substitute for db_query() when the results need to be stored
+ * in a temporary table.
+ *
* User-supplied arguments to the query should be passed in as separate parameters
* so that they can be properly escaped to avoid SQL injection attacks.
*
@@ -274,10 +274,10 @@
*
* NOTE: using this syntax will cast NULL and FALSE values to decimal 0,
* and TRUE values to decimal 1.
- *
* @param $table
* The name of the temporary table to select into. This name will not be
* prefixed as there is no risk of collision.
+ *
* @return
* A database query result resource, or FALSE if the query was not executed
* correctly.
Modified: branches/upstream/current-6/includes/database.pgsql.inc
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/includes/database.pgsql.inc?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/includes/database.pgsql.inc (original)
+++ branches/upstream/current-6/includes/database.pgsql.inc Thu May 10 18:48:16 2012
@@ -287,9 +287,9 @@
/**
* Runs a SELECT query and stores its results in a temporary table.
*
- * Use this as a substitute for db_query() when the results need to stored
- * in a temporary table. Temporary tables exist for the duration of the page
- * request.
+ * Use this as a substitute for db_query() when the results need to be stored
+ * in a temporary table.
+ *
* User-supplied arguments to the query should be passed in as separate parameters
* so that they can be properly escaped to avoid SQL injection attacks.
*
@@ -308,10 +308,10 @@
*
* NOTE: using this syntax will cast NULL and FALSE values to decimal 0,
* and TRUE values to decimal 1.
- *
* @param $table
* The name of the temporary table to select into. This name will not be
* prefixed as there is no risk of collision.
+ *
* @return
* A database query result resource, or FALSE if the query was not executed
* correctly.
Modified: branches/upstream/current-6/includes/file.inc
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/includes/file.inc?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/includes/file.inc (original)
+++ branches/upstream/current-6/includes/file.inc Thu May 10 18:48:16 2012
@@ -459,6 +459,7 @@
}
else {
$name = $basename;
+ $ext = '';
}
$counter = 0;
@@ -682,7 +683,7 @@
// Bypass validation for uid = 1.
if ($user->uid != 1) {
- $regex = '/\.('. ereg_replace(' +', '|', preg_quote($extensions)) .')$/i';
+ $regex = '/\.('. @ereg_replace(' +', '|', preg_quote($extensions)) .')$/i';
if (!preg_match($regex, $file->filename)) {
$errors[] = t('Only files with the following extensions are allowed: %files-allowed.', array('%files-allowed' => $extensions));
}
@@ -830,8 +831,13 @@
/**
* Set the status of a file.
*
- * @param file A Drupal file object
- * @param status A status value to set the file to.
+ * @param $file
+ * A Drupal file object.
+ * @param $status
+ * A status value to set the file to. One of:
+ * - FILE_STATUS_PERMANENT
+ * - FILE_STATUS_TEMPORARY
+ *
* @return FALSE on failure, TRUE on success and $file->status will contain the
* status.
*/
@@ -918,6 +924,7 @@
/**
* Finds all files that match a given mask in a given directory.
+ *
* Directories and files beginning with a period are excluded; this
* prevents hidden files and directories (such as SVN working directories)
* from being scanned.
@@ -934,18 +941,19 @@
* When TRUE, the directory scan will recurse the entire tree
* starting at the provided directory.
* @param $key
- * The key to be used for the returned array of files. Possible
- * values are "filename", for the path starting with $dir,
- * "basename", for the basename of the file, and "name" for the name
- * of the file without an extension.
+ * The key to be used for the returned associative array of files. Possible
+ * values are "filename", for the path starting with $dir; "basename", for
+ * the basename of the file; and "name" for the name of the file without the
+ * extension.
* @param $min_depth
* Minimum depth of directories to return files from.
* @param $depth
- * Current depth of recursion. This parameter is only used internally and should not be passed.
+ * Current depth of recursion. This parameter is only used internally and
+ * should not be passed in.
*
* @return
* An associative array (keyed on the provided key) of objects with
- * "path", "basename", and "name" members corresponding to the
+ * "filename", "basename", and "name" members corresponding to the
* matching files.
*/
function file_scan_directory($dir, $mask, $nomask = array('.', '..', 'CVS'), $callback = 0, $recurse = TRUE, $key = 'filename', $min_depth = 0, $depth = 0) {
@@ -959,7 +967,7 @@
// Give priority to files in this folder by merging them in after any subdirectory files.
$files = array_merge(file_scan_directory("$dir/$file", $mask, $nomask, $callback, $recurse, $key, $min_depth, $depth + 1), $files);
}
- elseif ($depth >= $min_depth && ereg($mask, $file)) {
+ elseif ($depth >= $min_depth && @ereg($mask, $file)) {
// Always use this match over anything already set in $files with the same $$key.
$filename = "$dir/$file";
$basename = basename($file);
Modified: branches/upstream/current-6/includes/form.inc
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/includes/form.inc?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/includes/form.inc (original)
+++ branches/upstream/current-6/includes/form.inc Thu May 10 18:48:16 2012
@@ -41,8 +41,8 @@
*
* For information on the format of the structured arrays used to define forms,
* and more detailed explanations of the Form API workflow, see the
- * @link http://api.drupal.org/api/file/developer/topics/forms_api_reference.html reference @endlink
- * and the @link http://api.drupal.org/api/file/developer/topics/forms_api.html quickstart guide. @endlink
+ * @link http://api.drupal.org/api/file/developer/topics/forms_api_reference.html/6 reference @endlink
+ * and the @link http://drupal.org/node/204270 Form API guide. @endlink
*/
/**
@@ -305,6 +305,11 @@
$form = call_user_func_array('drupal_retrieve_form', $args);
$form['#post'] = $form_state['values'];
+
+ // Reset form validation.
+ $form_state['must_validate'] = TRUE;
+ form_set_error(NULL, '', TRUE);
+
drupal_prepare_form($form_id, $form, $form_state);
drupal_process_form($form_id, $form, $form_state);
}
@@ -575,7 +580,7 @@
function drupal_validate_form($form_id, $form, &$form_state) {
static $validated_forms = array();
- if (isset($validated_forms[$form_id])) {
+ if (isset($validated_forms[$form_id]) && empty($form_state['must_validate'])) {
return;
}
@@ -1720,9 +1725,9 @@
/**
* Validates the date type to stop dates like February 30, 2006.
*/
-function date_validate($form) {
- if (!checkdate($form['#value']['month'], $form['#value']['day'], $form['#value']['year'])) {
- form_error($form, t('The specified date is invalid.'));
+function date_validate($element) {
+ if (!checkdate($element['#value']['month'], $element['#value']['day'], $element['#value']['year'])) {
+ form_error($element, t('The specified date is invalid.'));
}
}
@@ -2324,8 +2329,9 @@
* 'file' => 'path_to_file_containing_myfunctions',
* );
* batch_set($batch);
- * // only needed if not inside a form _submit handler :
- * batch_process();
+ * // Only needed if not inside a form _submit handler.
+ * // Setting redirect in batch_process.
+ * batch_process('node/1');
* @endcode
*
* Note: if the batch 'title', 'init_message', 'progress_message', or
@@ -2436,7 +2442,7 @@
* clean code independence, ensuring that several batches submitted by
* different parts of the code (core / contrib modules) can be processed
* correctly while not interfering or having to cope with each other. Each
- * batch set gets to specify his own UI messages, operates on its own set
+ * batch set gets to specify its own UI messages, operates on its own set
* of operations and results, and triggers its own 'finished' callback.
* Batch sets are processed sequentially, with the progress bar starting
* fresh for every new set.
Modified: branches/upstream/current-6/includes/locale.inc
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/includes/locale.inc?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/includes/locale.inc (original)
+++ branches/upstream/current-6/includes/locale.inc Thu May 10 18:48:16 2012
@@ -1293,13 +1293,10 @@
// data untouched or if we don't have an existing plural formula.
$header = _locale_import_parse_header($value['msgstr']);
- // Get the plural formula and update in database.
+ // Get and store the plural formula if available.
if (isset($header["Plural-Forms"]) && $p = _locale_import_parse_plural_forms($header["Plural-Forms"], $file->filename)) {
list($nplurals, $plural) = $p;
db_query("UPDATE {languages} SET plurals = %d, formula = '%s' WHERE language = '%s'", $nplurals, $plural, $lang);
- }
- else {
- db_query("UPDATE {languages} SET plurals = %d, formula = '%s' WHERE language = '%s'", 0, '', $lang);
}
}
$headerdone = TRUE;
@@ -2158,35 +2155,12 @@
}
// Construct the array for JavaScript translations.
- // We sort on plural so that we have all plural forms before singular forms.
- $result = db_query("SELECT s.lid, s.source, t.plid, t.plural, t.translation FROM {locales_source} s LEFT JOIN {locales_target} t ON s.lid = t.lid AND t.language = '%s' WHERE s.location LIKE '%%.js%%' AND s.textgroup = 'default' ORDER BY t.plural DESC", $language->language);
-
- $translations = $plurals = array();
+ // Only add strings with a translation to the translations array.
+ $result = db_query("SELECT s.lid, s.source, t.translation FROM {locales_source} s INNER JOIN {locales_target} t ON s.lid = t.lid AND t.language = '%s' WHERE s.location LIKE '%%.js%%' AND s.textgroup = 'default'", $language->language);
+
+ $translations = array();
while ($data = db_fetch_object($result)) {
- // Only add this to the translations array when there is actually a translation.
- if (!empty($data->translation)) {
- if ($data->plural) {
- // When the translation is a plural form, first add it to another array and
- // wait for the singular (parent) translation.
- if (!isset($plurals[$data->plid])) {
- $plurals[$data->plid] = array($data->plural => $data->translation);
- }
- else {
- $plurals[$data->plid] += array($data->plural => $data->translation);
- }
- }
- elseif (isset($plurals[$data->lid])) {
- // There are plural translations for this translation, so get them from
- // the plurals array and add them to the final translations array.
- $translations[$data->source] = array($data->plural => $data->translation) + $plurals[$data->lid];
- unset($plurals[$data->lid]);
- }
- else {
- // There are no plural forms for this translation, so just add it to
- // the translations array.
- $translations[$data->source] = $data->translation;
- }
- }
+ $translations[$data->source] = $data->translation;
}
// Construct the JavaScript file, if there are translations.
@@ -2621,20 +2595,21 @@
$operations = array();
foreach ($files as $file) {
// We call _locale_batch_import for every batch operation.
- $operations[] = array('_locale_batch_import', array($file->filename)); }
- $batch = array(
- 'operations' => $operations,
- 'title' => $t('Importing interface translations'),
- 'init_message' => $t('Starting import'),
- 'error_message' => $t('Error importing interface translations'),
- 'file' => './includes/locale.inc',
- // This is not a batch API construct, but data passed along to the
- // installer, so we know what did we import already.
- '#components' => $components,
- );
- if (isset($finished)) {
- $batch['finished'] = $finished;
- }
+ $operations[] = array('_locale_batch_import', array($file->filename));
+ }
+ $batch = array(
+ 'operations' => $operations,
+ 'title' => $t('Importing interface translations'),
+ 'init_message' => $t('Starting import'),
+ 'error_message' => $t('Error importing interface translations'),
+ 'file' => './includes/locale.inc',
+ // This is not a batch API construct, but data passed along to the
+ // installer, so we know what did we import already.
+ '#components' => $components,
+ );
+ if (isset($finished)) {
+ $batch['finished'] = $finished;
+ }
return $batch;
}
return FALSE;
Added: branches/upstream/current-6/includes/lock-install.inc
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/includes/lock-install.inc?rev=2268&op=file
==============================================================================
--- branches/upstream/current-6/includes/lock-install.inc (added)
+++ branches/upstream/current-6/includes/lock-install.inc Thu May 10 18:48:16 2012
@@ -1,0 +1,62 @@
+<?php
+
+/**
+ * @file
+ * A stub lock implementation to be used during the installation
+ * process when database access is not yet available. Because Drupal's
+ * install system should never be running in more than on concurrant
+ * request, we can bypass any need for locking.
+ */
+
+/**
+ * Initialize the locking system.
+ */
+function lock_init() {
+}
+
+/**
+ * Acquire (or renew) a lock, but do not block if it fails.
+ *
+ * @return
+ * TRUE if the lock was acquired, FALSE if it failed.
+ */
+function lock_acquire($name, $timeout = 30.0) {
+ return TRUE;
+}
+
+/**
+ * Check if lock acquired by a different process may be available.
+ *
+ * @return
+ * TRUE if there is no lock or it was removed, FALSE otherwise.
+ */
+function lock_may_be_available($name) {
+ return TRUE;
+}
+
+/**
+ * Wait for a lock to be available.
+ *
+ * @return
+ * TRUE if the lock holds, FALSE if it is available.
+ */
+function lock_wait($name, $delay = 30) {
+ return FALSE;
+}
+
+/**
+ * Release a lock previously acquired by lock_acquire().
+ *
+ * This will release the named lock if it is still held by the current request.
+ *
+ * @param $name
+ * The name of the lock.
+ */
+function lock_release($name) {
+}
+
+/**
+ * Release all previously acquired locks.
+ */
+function lock_release_all($lock_id = NULL) {
+}
Modified: branches/upstream/current-6/includes/lock.inc
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/includes/lock.inc?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/includes/lock.inc (original)
+++ branches/upstream/current-6/includes/lock.inc Thu May 10 18:48:16 2012
@@ -102,7 +102,8 @@
$expire = (float)$usec + (float)$sec + $timeout;
if (isset($locks[$name])) {
// Try to extend the expiration of a lock we already acquired.
- if (!db_result(db_query("UPDATE {semaphore} SET expire = %f WHERE name = '%s' AND value = '%s'", $expire, $name, _lock_id()))) {
+ db_query("UPDATE {semaphore} SET expire = %f WHERE name = '%s' AND value = '%s'", $expire, $name, _lock_id());
+ if (!db_affected_rows()) {
// The lock was broken.
unset($locks[$name]);
}
Modified: branches/upstream/current-6/includes/menu.inc
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/includes/menu.inc?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/includes/menu.inc (original)
+++ branches/upstream/current-6/includes/menu.inc Thu May 10 18:48:16 2012
@@ -48,8 +48,9 @@
* Access to the callback functions is also protected by the menu system.
* The "access callback" with an optional "access arguments" of each menu
* item is called before the page callback proceeds. If this returns TRUE,
- * then access is granted; if FALSE, then access is denied. Menu items may
- * omit this attribute to use the value provided by an ancestor item.
+ * then access is granted; if FALSE, then access is denied. Default local task
+ * menu items (see next paragraph) may omit this attribute to use the value
+ * provided by the parent item.
*
* In the default Drupal interface, you will notice many links rendered as
* tabs. These are known in the menu system as "local tasks", and they are
Modified: branches/upstream/current-6/includes/module.inc
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/includes/module.inc?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/includes/module.inc (original)
+++ branches/upstream/current-6/includes/module.inc Thu May 10 18:48:16 2012
@@ -93,6 +93,14 @@
* The array of filesystem objects used to rebuild the cache.
*/
function module_rebuild_cache() {
+ $write_database = TRUE;
+ // If lock not acquired, return $files data without writing to database.
+ if (!lock_acquire('module_rebuild_cache')) {
+ $write_database = FALSE;
+ // Wait for the parallel thread to be done so we are more likely
+ // to get updated and consistent data.
+ lock_wait('module_rebuild_cache');
+ }
// Get current list of modules
$files = drupal_system_listing('\.module$', 'modules', 'name', 0);
@@ -119,32 +127,39 @@
unset($files[$filename]);
continue;
}
- // Merge in defaults and save.
- $files[$filename]->info = $file->info + $defaults;
// Invoke hook_system_info_alter() to give installed modules a chance to
// modify the data in the .info files if necessary.
drupal_alter('system_info', $files[$filename]->info, $files[$filename]);
- // Log the critical hooks implemented by this module.
- $bootstrap = 0;
- foreach (bootstrap_hooks() as $hook) {
- if (module_hook($file->name, $hook)) {
- $bootstrap = 1;
- break;
- }
- }
-
- // Update the contents of the system table:
- if (isset($file->status) || (isset($file->old_filename) && $file->old_filename != $file->filename)) {
- db_query("UPDATE {system} SET info = '%s', name = '%s', filename = '%s', bootstrap = %d WHERE filename = '%s'", serialize($files[$filename]->info), $file->name, $file->filename, $bootstrap, $file->old_filename);
- }
- else {
- // This is a new module.
- $files[$filename]->status = 0;
- $files[$filename]->throttle = 0;
- db_query("INSERT INTO {system} (name, info, type, filename, status, throttle, bootstrap) VALUES ('%s', '%s', '%s', '%s', %d, %d, %d)", $file->name, serialize($files[$filename]->info), 'module', $file->filename, 0, 0, $bootstrap);
- }
+ // Merge in defaults and save.
+ $files[$filename]->info = $file->info + $defaults;
+ }
+
+ // If lock not acquired, return $files data without writing to database.
+ if ($write_database) {
+ foreach ($files as $filename => $file) {
+ // Log the critical hooks implemented by this module.
+ $bootstrap = 0;
+ foreach (bootstrap_hooks() as $hook) {
+ if (module_hook($file->name, $hook)) {
+ $bootstrap = 1;
+ break;
+ }
+ }
+
+ // Update the contents of the system table:
+ if (isset($file->status)) {
+ db_query("UPDATE {system} SET info = '%s', name = '%s', filename = '%s', bootstrap = %d WHERE filename = '%s'", serialize($files[$filename]->info), $file->name, $file->filename, $bootstrap, $file->old_filename);
+ }
+ else {
+ // This is a new module.
+ $files[$filename]->status = 0;
+ $files[$filename]->throttle = 0;
+ db_query("INSERT INTO {system} (name, info, type, filename, status, throttle, bootstrap) VALUES ('%s', '%s', '%s', '%s', %d, %d, %d)", $file->name, serialize($files[$filename]->info), 'module', $file->filename, 0, 0, $bootstrap);
+ }
+ }
+ lock_release('module_rebuild_cache');
}
$files = _module_build_dependencies($files);
return $files;
Modified: branches/upstream/current-6/includes/pager.inc
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/includes/pager.inc?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/includes/pager.inc (original)
+++ branches/upstream/current-6/includes/pager.inc Thu May 10 18:48:16 2012
@@ -90,7 +90,7 @@
}
/**
- * Format a query pager.
+ * Returns HTML for a query pager.
*
* Menu callbacks that display paged query results should call theme('pager') to
* retrieve a pager control so that users can view other results.
@@ -223,7 +223,7 @@
*/
/**
- * Format a "first page" link.
+ * Returns HTML for a "first page" link.
*
* @param $text
* The name (or image) of the link.
@@ -251,7 +251,7 @@
}
/**
- * Format a "previous page" link.
+ * Returns HTML for a "previous page" link.
*
* @param $text
* The name (or image) of the link.
@@ -290,7 +290,7 @@
}
/**
- * Format a "next page" link.
+ * Returns HTML for a "next page" link.
*
* @param $text
* The name (or image) of the link.
@@ -328,7 +328,7 @@
}
/**
- * Format a "last page" link.
+ * Returns HTML for a "last page" link.
*
* @param $text
* The name (or image) of the link.
@@ -357,8 +357,13 @@
/**
- * Format a link to a specific query result page.
- *
+ * Returns HTML for a link to a specific query result page.
+ *
+ * @param $text
+ * The link text. Also used to figure out the title attribute of the link,
+ * if it is not provided in $attributes['title']; in this case, $text must
+ * be one of the standard pager link text strings that would be generated by
+ * the pager theme functions, such as a number or t('« first').
* @param $page_new
* The first result to display on the linked page.
* @param $element
@@ -366,7 +371,7 @@
* @param $parameters
* An associative array of query string parameters to append to the pager link.
* @param $attributes
- * An associative array of HTML attributes to apply to a pager anchor tag.
+ * An associative array of HTML attributes to apply to the pager link.
* @return
* An HTML string that generates the link.
*
Modified: branches/upstream/current-6/includes/session.inc
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/includes/session.inc?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/includes/session.inc (original)
+++ branches/upstream/current-6/includes/session.inc Thu May 10 18:48:16 2012
@@ -13,6 +13,25 @@
return TRUE;
}
+/**
+ * Reads an entire session from the database (internal use only).
+ *
+ * Also initializes the $user object for the user associated with the session.
+ * This function is registered with session_set_save_handler() to support
+ * database-backed sessions. It is called on every page load when PHP sets
+ * up the $_SESSION superglobal.
+ *
+ * This function is an internal function and must not be called directly.
+ * Doing so may result in logging out the current user, corrupting session data
+ * or other unexpected behavior. Session data must always be accessed via the
+ * $_SESSION superglobal.
+ *
+ * @param $key
+ * The session ID of the session to retrieve.
+ *
+ * @return
+ * The user's session, or an empty string if no session exists.
+ */
function sess_read($key) {
global $user;
@@ -54,6 +73,24 @@
return $user->session;
}
+/**
+ * Writes an entire session to the database (internal use only).
+ *
+ * This function is registered with session_set_save_handler() to support
+ * database-backed sessions.
+ *
+ * This function is an internal function and must not be called directly.
+ * Doing so may result in corrupted session data or other unexpected behavior.
+ * Session data must always be accessed via the $_SESSION superglobal.
+ *
+ * @param $key
+ * The session ID of the session to write to.
+ * @param $value
+ * Session data to write as a serialized string.
+ *
+ * @return
+ * Always returns TRUE.
+ */
function sess_write($key, $value) {
global $user;
Modified: branches/upstream/current-6/includes/theme.inc
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/includes/theme.inc?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/includes/theme.inc (original)
+++ branches/upstream/current-6/includes/theme.inc Thu May 10 18:48:16 2012
@@ -523,7 +523,7 @@
}
/**
- * Generate the themed output.
+ * Generates the themed output.
*
* All requests for theme hooks must go through this function. It examines
* the request and routes it to the appropriate theme function. The theme
@@ -539,14 +539,14 @@
* functions may be used to modify the $variables array. They are processed in
* this order when available:
*
- * - template_preprocess(&$variables)
+ * - template_preprocess(&$variables, $hook)
* This sets a default set of variables for all template implementations.
*
* - template_preprocess_HOOK(&$variables)
* This is the first preprocessor called specific to the hook; it should be
* implemented by the module that registers it.
*
- * - MODULE_preprocess(&$variables)
+ * - MODULE_preprocess(&$variables, $hook)
* This will be called for all templates; it should only be used if there
* is a real need. It's purpose is similar to template_preprocess().
*
@@ -557,7 +557,7 @@
* preprocess function of foo_preprocess_node() can be created to intercept
* and alter the variable.
*
- * - ENGINE_engine_preprocess(&$variables)
+ * - ENGINE_engine_preprocess(&$variables, $hook)
* This function should only be implemented by theme engines and exists
* so that it can set necessary variables for all hooks.
*
@@ -565,7 +565,7 @@
* This is the same as the previous function, but it is called for a single
* theming hook.
*
- * - ENGINE_preprocess(&$variables)
+ * - ENGINE_preprocess(&$variables, $hook)
* This is meant to be used by themes that utilize a theme engine. It is
* provided so that the preprocessor is not locked into a specific theme.
* This makes it easy to share and transport code but theme authors must be
@@ -581,7 +581,7 @@
* The same applies from the previous function, but it is called for a
* specific hook.
*
- * - THEME_preprocess(&$variables)
+ * - THEME_preprocess(&$variables, $hook)
* These functions are based upon the raw theme; they should primarily be
* used by themes that do not use an engine or by sub-themes. It serves the
* same purpose as ENGINE_preprocess().
@@ -606,6 +606,7 @@
* implementations for named objects.
* @param ...
* Additional arguments to pass along to the theme function.
+ *
* @return
* An HTML string that generates the themed output.
*/
@@ -1190,12 +1191,24 @@
}
/**
- * Return a themed set of links.
+ * Returns HTML for a set of links.
*
* @param $links
- * A keyed array of links to be themed.
+ * An associative array of links to be themed. The key for each link
+ * is used as its CSS class. Each link should be itself an array, with the
+ * following elements:
+ * - title: The link text.
+ * - href: The link URL. If omitted, the 'title' is shown as a plain text
+ * item in the links list.
+ * - html: (optional) Whether or not 'title' is HTML. If set, the title
+ * will not be passed through check_plain().
+ * - attributes: (optional) Attributes for the anchor, or for the <span> tag
+ * used in its place if no 'href' is supplied.
+ * If the 'href' element is supplied, the entire link array is passed to l()
+ * as its $options parameter.
* @param $attributes
- * A keyed array of attributes
+ * An associative array of attributes for the UL containing the list of links.
+ *
* @return
* A string containing an unordered list of links.
*/
Modified: branches/upstream/current-6/includes/unicode.entities.inc
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/includes/unicode.entities.inc?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/includes/unicode.entities.inc (original)
+++ branches/upstream/current-6/includes/unicode.entities.inc Thu May 10 18:48:16 2012
@@ -1,5 +1,4 @@
<?php
-// $Id $
/**
* @file
Modified: branches/upstream/current-6/includes/unicode.inc
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/includes/unicode.inc?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/includes/unicode.inc (original)
+++ branches/upstream/current-6/includes/unicode.inc Thu May 10 18:48:16 2012
@@ -134,7 +134,7 @@
}
// Check for an encoding declaration in the XML prolog if no BOM was found.
- if (!$bom && ereg('^<\?xml[^>]+encoding="([^"]+)"', $data, $match)) {
+ if (!$bom && @ereg('^<\?xml[^>]+encoding="([^"]+)"', $data, $match)) {
$encoding = $match[1];
}
@@ -144,7 +144,7 @@
$out = drupal_convert_to_utf8($data, $encoding);
if ($out !== FALSE) {
$encoding = 'utf-8';
- $data = ereg_replace('^(<\?xml[^>]+encoding)="([^"]+)"', '\\1="utf-8"', $out);
+ $data = @ereg_replace('^(<\?xml[^>]+encoding)="([^"]+)"', '\\1="utf-8"', $out);
}
else {
watchdog('php', 'Could not convert XML encoding %s to UTF-8.', array('%s' => $encoding), WATCHDOG_WARNING);
Modified: branches/upstream/current-6/install.php
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/install.php?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/install.php (original)
+++ branches/upstream/current-6/install.php Thu May 10 18:48:16 2012
@@ -130,6 +130,12 @@
if (!$verify) {
install_change_settings($profile, $install_locale);
}
+ // The default lock implementation uses a database table,
+ // so we cannot use it for install, but we still need
+ // the API functions available.
+ require_once './includes/lock-install.inc';
+ $conf['lock_inc'] = './includes/lock-install.inc';
+ lock_init();
// Install system.module.
drupal_install_system();
Modified: branches/upstream/current-6/misc/drupal.js
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/misc/drupal.js?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/misc/drupal.js (original)
+++ branches/upstream/current-6/misc/drupal.js Thu May 10 18:48:16 2012
@@ -149,7 +149,7 @@
else {
args['@count['+ index +']'] = args['@count'];
delete args['@count'];
- return Drupal.t(plural.replace('@count', '@count['+ index +']'));
+ return Drupal.t(plural.replace('@count', '@count['+ index +']'), args);
}
};
Modified: branches/upstream/current-6/misc/tabledrag.js
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/misc/tabledrag.js?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/misc/tabledrag.js (original)
+++ branches/upstream/current-6/misc/tabledrag.js Thu May 10 18:48:16 2012
@@ -1014,7 +1014,7 @@
var siblings = new Array();
var directions = new Array('prev', 'next');
var rowIndentation = this.indents;
- for (var d in directions) {
+ for (var d = 0; d < directions.length; d++) {
var checkRow = $(this.element)[directions[d]]();
while (checkRow.length) {
// Check that the sibling contains a similar target field.
Modified: branches/upstream/current-6/modules/aggregator/aggregator.admin.inc
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/modules/aggregator/aggregator.admin.inc?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/modules/aggregator/aggregator.admin.inc (original)
+++ branches/upstream/current-6/modules/aggregator/aggregator.admin.inc Thu May 10 18:48:16 2012
@@ -26,7 +26,15 @@
$header = array(t('Title'), t('Items'), t('Last update'), t('Next update'), array('data' => t('Operations'), 'colspan' => '3'));
$rows = array();
while ($feed = db_fetch_object($result)) {
- $rows[] = array(l($feed->title, "aggregator/sources/$feed->fid"), format_plural($feed->items, '1 item', '@count items'), ($feed->checked ? t('@time ago', array('@time' => format_interval(time() - $feed->checked))) : t('never')), ($feed->checked ? t('%time left', array('%time' => format_interval($feed->checked + $feed->refresh - time()))) : t('never')), l(t('edit'), "admin/content/aggregator/edit/feed/$feed->fid"), l(t('remove items'), "admin/content/aggregator/remove/$feed->fid"), l(t('update items'), "admin/content/aggregator/update/$feed->fid"));
+ $rows[] = array(
+ l($feed->title, "aggregator/sources/$feed->fid"),
+ format_plural($feed->items, '1 item', '@count items'),
+ ($feed->checked ? t('@time ago', array('@time' => format_interval(time() - $feed->checked))) : t('never')),
+ ($feed->checked ? t('%time left', array('%time' => format_interval($feed->checked + $feed->refresh - time()))) : t('never')),
+ l(t('edit'), "admin/content/aggregator/edit/feed/$feed->fid"),
+ l(t('remove items'), "admin/content/aggregator/remove/$feed->fid"),
+ l(t('update items'), "admin/content/aggregator/update/$feed->fid", array('query' => array('token' => drupal_get_token("aggregator/update/$feed->fid")))),
+ );
}
$output .= theme('table', $header, $rows);
@@ -209,6 +217,9 @@
* An associative array describing the feed to be refreshed.
*/
function aggregator_admin_refresh_feed($feed) {
+ if (!isset($_GET['token']) || !drupal_valid_token($_GET['token'], 'aggregator/update/' . $feed['fid'])) {
+ return drupal_access_denied();
+ }
aggregator_refresh($feed);
drupal_goto('admin/content/aggregator');
}
Modified: branches/upstream/current-6/modules/aggregator/aggregator.info
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/modules/aggregator/aggregator.info?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/modules/aggregator/aggregator.info (original)
+++ branches/upstream/current-6/modules/aggregator/aggregator.info Thu May 10 18:48:16 2012
@@ -4,8 +4,8 @@
version = VERSION
core = 6.x
-; Information added by drupal.org packaging script on 2011-05-25
-version = "6.22"
+; Information added by drupal.org packaging script on 2012-05-02
+version = "6.26"
project = "drupal"
-datestamp = "1306357015"
+datestamp = "1335977158"
Modified: branches/upstream/current-6/modules/aggregator/aggregator.module
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/modules/aggregator/aggregator.module?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/modules/aggregator/aggregator.module (original)
+++ branches/upstream/current-6/modules/aggregator/aggregator.module Thu May 10 18:48:16 2012
@@ -298,38 +298,38 @@
* Generates blocks for the latest news items in each category and feed.
*/
function aggregator_block($op = 'list', $delta = 0, $edit = array()) {
- if (user_access('access news feeds')) {
- if ($op == 'list') {
- $result = db_query('SELECT cid, title FROM {aggregator_category} ORDER BY title');
- while ($category = db_fetch_object($result)) {
- $block['category-'. $category->cid]['info'] = t('!title category latest items', array('!title' => $category->title));
- }
- $result = db_query('SELECT fid, title FROM {aggregator_feed} ORDER BY fid');
- while ($feed = db_fetch_object($result)) {
- $block['feed-'. $feed->fid]['info'] = t('!title feed latest items', array('!title' => $feed->title));
- }
- }
- else if ($op == 'configure') {
- list($type, $id) = explode('-', $delta);
- if ($type == 'category') {
- $value = db_result(db_query('SELECT block FROM {aggregator_category} WHERE cid = %d', $id));
- }
- else {
- $value = db_result(db_query('SELECT block FROM {aggregator_feed} WHERE fid = %d', $id));
- }
- $form['block'] = array('#type' => 'select', '#title' => t('Number of news items in block'), '#default_value' => $value, '#options' => drupal_map_assoc(array(2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)));
- return $form;
- }
- else if ($op == 'save') {
- list($type, $id) = explode('-', $delta);
- if ($type == 'category') {
- $value = db_query('UPDATE {aggregator_category} SET block = %d WHERE cid = %d', $edit['block'], $id);
- }
- else {
- $value = db_query('UPDATE {aggregator_feed} SET block = %d WHERE fid = %d', $edit['block'], $id);
- }
- }
- else if ($op == 'view') {
+ if ($op == 'list') {
+ $result = db_query('SELECT cid, title FROM {aggregator_category} ORDER BY title');
+ while ($category = db_fetch_object($result)) {
+ $block['category-'. $category->cid]['info'] = t('!title category latest items', array('!title' => $category->title));
+ }
+ $result = db_query('SELECT fid, title FROM {aggregator_feed} ORDER BY fid');
+ while ($feed = db_fetch_object($result)) {
+ $block['feed-'. $feed->fid]['info'] = t('!title feed latest items', array('!title' => $feed->title));
+ }
+ }
+ else if ($op == 'configure') {
+ list($type, $id) = explode('-', $delta);
+ if ($type == 'category') {
+ $value = db_result(db_query('SELECT block FROM {aggregator_category} WHERE cid = %d', $id));
+ }
+ else {
+ $value = db_result(db_query('SELECT block FROM {aggregator_feed} WHERE fid = %d', $id));
+ }
+ $form['block'] = array('#type' => 'select', '#title' => t('Number of news items in block'), '#default_value' => $value, '#options' => drupal_map_assoc(array(2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)));
+ return $form;
+ }
+ else if ($op == 'save') {
+ list($type, $id) = explode('-', $delta);
+ if ($type == 'category') {
+ $value = db_query('UPDATE {aggregator_category} SET block = %d WHERE cid = %d', $edit['block'], $id);
+ }
+ else {
+ $value = db_query('UPDATE {aggregator_feed} SET block = %d WHERE fid = %d', $edit['block'], $id);
+ }
+ }
+ else if ($op == 'view') {
+ if (user_access('access news feeds')) {
list($type, $id) = explode('-', $delta);
switch ($type) {
case 'feed':
@@ -358,9 +358,9 @@
$block['content'] = theme('item_list', $items) . $read_more;
}
}
- if (isset($block)) {
- return $block;
- }
+ }
+ if (isset($block)) {
+ return $block;
}
}
@@ -751,7 +751,17 @@
else {
$link = $feed['link'];
}
- $guid = isset($item['GUID']) ? $item['GUID'] : '';
+
+ // Atom feeds use ID rather than GUID.
+ if (isset($item['GUID'])) {
+ $guid = $item['GUID'];
+ }
+ elseif (isset($item['ID'])) {
+ $guid = $item['ID'];
+ }
+ else {
+ $guid = '';
+ }
// Atom feeds have a CONTENT and/or SUMMARY tag instead of a DESCRIPTION tag.
if (!empty($item['CONTENT:ENCODED'])) {
Modified: branches/upstream/current-6/modules/block/block.info
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/modules/block/block.info?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/modules/block/block.info (original)
+++ branches/upstream/current-6/modules/block/block.info Thu May 10 18:48:16 2012
@@ -4,8 +4,8 @@
version = VERSION
core = 6.x
-; Information added by drupal.org packaging script on 2011-05-25
-version = "6.22"
+; Information added by drupal.org packaging script on 2012-05-02
+version = "6.26"
project = "drupal"
-datestamp = "1306357015"
+datestamp = "1335977158"
Modified: branches/upstream/current-6/modules/block/block.module
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/modules/block/block.module?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/modules/block/block.module (original)
+++ branches/upstream/current-6/modules/block/block.module Thu May 10 18:48:16 2012
@@ -301,8 +301,12 @@
// Remove blocks that are no longer defined by the code from the database.
foreach ($old_blocks as $module => $old_module_blocks) {
- foreach ($old_module_blocks as $delta => $block) {
- db_query("DELETE FROM {blocks} WHERE module = '%s' AND delta = '%s' AND theme = '%s'", $module, $delta, $theme);
+ // This cleanup does not apply to disabled modules, to avoid configuration
+ // being lost when modules are disabled.
+ if (module_exists($module)) {
+ foreach ($old_module_blocks as $delta => $block) {
+ db_query("DELETE FROM {blocks} WHERE module = '%s' AND delta = '%s' AND theme = '%s'", $module, $delta, $theme);
+ }
}
}
return $blocks;
@@ -437,14 +441,14 @@
* The name of a region.
*
* @return
- * An array of block objects, indexed with <i>module</i>_<i>delta</i>.
- * If you are displaying your blocks in one or two sidebars, you may check
- * whether this array is empty to see how many columns are going to be
- * displayed.
+ * An array of block objects, indexed with module name and block delta
+ * concatenated with an underscore, thus: MODULE_DELTA. If you are displaying
+ * your blocks in one or two sidebars, you may check whether this array is
+ * empty to see how many columns are going to be displayed.
*
* @todo
* Now that the blocks table has a primary key, we should use that as the
- * array key instead of <i>module</i>_<i>delta</i>.
+ * array key instead of MODULE_DELTA.
*/
function block_list($region) {
global $user, $theme_key;
Modified: branches/upstream/current-6/modules/blog/blog.info
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/modules/blog/blog.info?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/modules/blog/blog.info (original)
+++ branches/upstream/current-6/modules/blog/blog.info Thu May 10 18:48:16 2012
@@ -4,8 +4,8 @@
version = VERSION
core = 6.x
-; Information added by drupal.org packaging script on 2011-05-25
-version = "6.22"
+; Information added by drupal.org packaging script on 2012-05-02
+version = "6.26"
project = "drupal"
-datestamp = "1306357015"
+datestamp = "1335977158"
Modified: branches/upstream/current-6/modules/blog/blog.pages.inc
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/modules/blog/blog.pages.inc?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/modules/blog/blog.pages.inc (original)
+++ branches/upstream/current-6/modules/blog/blog.pages.inc Thu May 10 18:48:16 2012
@@ -63,7 +63,7 @@
$output = theme('item_list', $items);
- $result = pager_query(db_rewrite_sql("SELECT n.nid, n.created FROM {node} n WHERE n.type = 'blog' AND n.status = 1 ORDER BY n.sticky DESC, n.created DESC"), variable_get('default_nodes_main', 10));
+ $result = pager_query(db_rewrite_sql("SELECT n.nid, n.sticky, n.created FROM {node} n WHERE n.type = 'blog' AND n.status = 1 ORDER BY n.sticky DESC, n.created DESC"), variable_get('default_nodes_main', 10));
$has_posts = FALSE;
while ($node = db_fetch_object($result)) {
Modified: branches/upstream/current-6/modules/blogapi/blogapi.info
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/modules/blogapi/blogapi.info?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/modules/blogapi/blogapi.info (original)
+++ branches/upstream/current-6/modules/blogapi/blogapi.info Thu May 10 18:48:16 2012
@@ -4,8 +4,8 @@
version = VERSION
core = 6.x
-; Information added by drupal.org packaging script on 2011-05-25
-version = "6.22"
+; Information added by drupal.org packaging script on 2012-05-02
+version = "6.26"
project = "drupal"
-datestamp = "1306357015"
+datestamp = "1335977158"
Modified: branches/upstream/current-6/modules/book/book.info
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/modules/book/book.info?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/modules/book/book.info (original)
+++ branches/upstream/current-6/modules/book/book.info Thu May 10 18:48:16 2012
@@ -4,8 +4,8 @@
version = VERSION
core = 6.x
-; Information added by drupal.org packaging script on 2011-05-25
-version = "6.22"
+; Information added by drupal.org packaging script on 2012-05-02
+version = "6.26"
project = "drupal"
-datestamp = "1306357015"
+datestamp = "1335977158"
Modified: branches/upstream/current-6/modules/book/book.module
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/modules/book/book.module?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/modules/book/book.module (original)
+++ branches/upstream/current-6/modules/book/book.module Thu May 10 18:48:16 2012
@@ -649,7 +649,7 @@
* Appends book navigation to all nodes in the book, and handles book outline
* insertions and updates via the node form.
*/
-function book_nodeapi(&$node, $op, $teaser, $page) {
+function book_nodeapi(&$node, $op, $teaser = NULL, $page = NULL) {
switch ($op) {
case 'load':
// Note - we cannot use book_link_load() because it will call node_load()
Modified: branches/upstream/current-6/modules/color/color.info
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/modules/color/color.info?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/modules/color/color.info (original)
+++ branches/upstream/current-6/modules/color/color.info Thu May 10 18:48:16 2012
@@ -4,8 +4,8 @@
version = VERSION
core = 6.x
-; Information added by drupal.org packaging script on 2011-05-25
-version = "6.22"
+; Information added by drupal.org packaging script on 2012-05-02
+version = "6.26"
project = "drupal"
-datestamp = "1306357015"
+datestamp = "1335977158"
Modified: branches/upstream/current-6/modules/comment/comment.info
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/modules/comment/comment.info?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/modules/comment/comment.info (original)
+++ branches/upstream/current-6/modules/comment/comment.info Thu May 10 18:48:16 2012
@@ -4,8 +4,8 @@
version = VERSION
core = 6.x
-; Information added by drupal.org packaging script on 2011-05-25
-version = "6.22"
+; Information added by drupal.org packaging script on 2012-05-02
+version = "6.26"
project = "drupal"
-datestamp = "1306357015"
+datestamp = "1335977158"
Modified: branches/upstream/current-6/modules/comment/comment.install
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/modules/comment/comment.install?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/modules/comment/comment.install (original)
+++ branches/upstream/current-6/modules/comment/comment.install Thu May 10 18:48:16 2012
@@ -66,6 +66,35 @@
return $ret;
}
+/**
+ * @defgroup updates-6.x-extra Extra system updates for 6.x
+ * @{
+ */
+
+/**
+ * Add index to to node_comment_statistics on comment_count
+ */
+function comment_update_6004() {
+ $ret = array();
+ db_add_index($ret, 'node_comment_statistics', 'comment_count', array('comment_count'));
+ return $ret;
+}
+
+/**
+ * Add indices to uid fields.
+ */
+function comment_update_6005() {
+ $ret = array();
+ db_add_index($ret, 'comments', 'comment_uid', array('uid'));
+ db_add_index($ret, 'node_comment_statistics', 'last_comment_uid', array('last_comment_uid'));
+ return $ret;
+}
+
+/**
+ * @} End of "defgroup updates-6.x-extra"
+ * The next series of updates should start at 7000.
+ */
+
/**
* Implementation of hook_schema().
@@ -166,6 +195,7 @@
'indexes' => array(
'pid' => array('pid'),
'nid' => array('nid'),
+ 'comment_uid' => array('uid'),
'status' => array('status'), // This index is probably unused
),
'primary key' => array('cid'),
@@ -209,10 +239,11 @@
),
'primary key' => array('nid'),
'indexes' => array(
- 'node_comment_timestamp' => array('last_comment_timestamp')
+ 'node_comment_timestamp' => array('last_comment_timestamp'),
+ 'comment_count' => array('comment_count'),
+ 'last_comment_uid' => array('last_comment_uid'),
),
);
return $schema;
}
-
Modified: branches/upstream/current-6/modules/contact/contact.info
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/modules/contact/contact.info?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/modules/contact/contact.info (original)
+++ branches/upstream/current-6/modules/contact/contact.info Thu May 10 18:48:16 2012
@@ -4,8 +4,8 @@
version = VERSION
core = 6.x
-; Information added by drupal.org packaging script on 2011-05-25
-version = "6.22"
+; Information added by drupal.org packaging script on 2012-05-02
+version = "6.26"
project = "drupal"
-datestamp = "1306357015"
+datestamp = "1335977158"
Modified: branches/upstream/current-6/modules/dblog/dblog.admin.inc
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/modules/dblog/dblog.admin.inc?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/modules/dblog/dblog.admin.inc (original)
+++ branches/upstream/current-6/modules/dblog/dblog.admin.inc Thu May 10 18:48:16 2012
@@ -79,7 +79,7 @@
format_date($dblog->timestamp, 'small'),
l(truncate_utf8(_dblog_format_message($dblog), 56, TRUE, TRUE), 'admin/reports/event/'. $dblog->wid, array('html' => TRUE)),
theme('username', $dblog),
- $dblog->link,
+ filter_xss($dblog->link),
),
// Attributes for tr
'class' => "dblog-". preg_replace('/[^a-z]/i', '-', $dblog->type) .' '. $classes[$dblog->severity]
Modified: branches/upstream/current-6/modules/dblog/dblog.info
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/modules/dblog/dblog.info?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/modules/dblog/dblog.info (original)
+++ branches/upstream/current-6/modules/dblog/dblog.info Thu May 10 18:48:16 2012
@@ -4,8 +4,8 @@
version = VERSION
core = 6.x
-; Information added by drupal.org packaging script on 2011-05-25
-version = "6.22"
+; Information added by drupal.org packaging script on 2012-05-02
+version = "6.26"
project = "drupal"
-datestamp = "1306357015"
+datestamp = "1335977158"
Modified: branches/upstream/current-6/modules/filter/filter.info
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/modules/filter/filter.info?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/modules/filter/filter.info (original)
+++ branches/upstream/current-6/modules/filter/filter.info Thu May 10 18:48:16 2012
@@ -4,8 +4,8 @@
version = VERSION
core = 6.x
-; Information added by drupal.org packaging script on 2011-05-25
-version = "6.22"
+; Information added by drupal.org packaging script on 2012-05-02
+version = "6.26"
project = "drupal"
-datestamp = "1306357015"
+datestamp = "1335977158"
Modified: branches/upstream/current-6/modules/forum/forum.info
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/modules/forum/forum.info?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/modules/forum/forum.info (original)
+++ branches/upstream/current-6/modules/forum/forum.info Thu May 10 18:48:16 2012
@@ -6,8 +6,8 @@
version = VERSION
core = 6.x
-; Information added by drupal.org packaging script on 2011-05-25
-version = "6.22"
+; Information added by drupal.org packaging script on 2012-05-02
+version = "6.26"
project = "drupal"
-datestamp = "1306357015"
+datestamp = "1335977158"
Modified: branches/upstream/current-6/modules/forum/forum.module
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/modules/forum/forum.module?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/modules/forum/forum.module (original)
+++ branches/upstream/current-6/modules/forum/forum.module Thu May 10 18:48:16 2012
@@ -165,7 +165,7 @@
/**
* Implementation of hook_nodeapi().
*/
-function forum_nodeapi(&$node, $op, $teaser, $page) {
+function forum_nodeapi(&$node, $op, $teaser = NULL, $page = NULL) {
// We are going to return if $node->type is not one of the node
// types assigned to the forum vocabulary. If forum_nav_vocabulary
// is undefined or the vocabulary does not exist, it clearly cannot
Modified: branches/upstream/current-6/modules/help/help.info
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/modules/help/help.info?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/modules/help/help.info (original)
+++ branches/upstream/current-6/modules/help/help.info Thu May 10 18:48:16 2012
@@ -4,8 +4,8 @@
version = VERSION
core = 6.x
-; Information added by drupal.org packaging script on 2011-05-25
-version = "6.22"
+; Information added by drupal.org packaging script on 2012-05-02
+version = "6.26"
project = "drupal"
-datestamp = "1306357015"
+datestamp = "1335977158"
Modified: branches/upstream/current-6/modules/locale/locale.info
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/modules/locale/locale.info?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/modules/locale/locale.info (original)
+++ branches/upstream/current-6/modules/locale/locale.info Thu May 10 18:48:16 2012
@@ -4,8 +4,8 @@
version = VERSION
core = 6.x
-; Information added by drupal.org packaging script on 2011-05-25
-version = "6.22"
+; Information added by drupal.org packaging script on 2012-05-02
+version = "6.26"
project = "drupal"
-datestamp = "1306357015"
+datestamp = "1335977158"
Modified: branches/upstream/current-6/modules/locale/locale.install
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/modules/locale/locale.install?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/modules/locale/locale.install (original)
+++ branches/upstream/current-6/modules/locale/locale.install Thu May 10 18:48:16 2012
@@ -225,6 +225,25 @@
*/
/**
+ * @defgroup updates-6.x-extra Locale updates for 6.x
+ * @{
+ */
+
+/**
+ * Fix Drupal.formatPlural().
+ */
+function locale_update_6007() {
+ drupal_load('module', 'locale');
+ locale_inc_callback('_locale_invalidate_js');
+ return array();
+}
+
+/**
+ * @} End of "defgroup updates-6.x-extra"
+ * The next series of updates should start at 7000.
+ */
+
+/**
* Implementation of hook_uninstall().
*/
function locale_uninstall() {
Modified: branches/upstream/current-6/modules/menu/menu.info
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/modules/menu/menu.info?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/modules/menu/menu.info (original)
+++ branches/upstream/current-6/modules/menu/menu.info Thu May 10 18:48:16 2012
@@ -4,8 +4,8 @@
version = VERSION
core = 6.x
-; Information added by drupal.org packaging script on 2011-05-25
-version = "6.22"
+; Information added by drupal.org packaging script on 2012-05-02
+version = "6.26"
project = "drupal"
-datestamp = "1306357015"
+datestamp = "1335977158"
Modified: branches/upstream/current-6/modules/node/node.admin.inc
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/modules/node/node.admin.inc?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/modules/node/node.admin.inc (original)
+++ branches/upstream/current-6/modules/node/node.admin.inc Thu May 10 18:48:16 2012
@@ -181,7 +181,7 @@
case 'category':
$table = "tn$index";
$where[] = "$table.tid = %d";
- $join .= "INNER JOIN {term_node} $table ON n.nid = $table.nid ";
+ $join .= "INNER JOIN {term_node} $table ON n.vid = $table.vid ";
break;
case 'type':
$where[] = "n.type = '%s'";
Modified: branches/upstream/current-6/modules/node/node.info
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/modules/node/node.info?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/modules/node/node.info (original)
+++ branches/upstream/current-6/modules/node/node.info Thu May 10 18:48:16 2012
@@ -4,8 +4,8 @@
version = VERSION
core = 6.x
-; Information added by drupal.org packaging script on 2011-05-25
-version = "6.22"
+; Information added by drupal.org packaging script on 2012-05-02
+version = "6.26"
project = "drupal"
-datestamp = "1306357015"
+datestamp = "1335977158"
Modified: branches/upstream/current-6/modules/node/node.module
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/modules/node/node.module?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/modules/node/node.module (original)
+++ branches/upstream/current-6/modules/node/node.module Thu May 10 18:48:16 2012
@@ -397,23 +397,30 @@
}
/**
- * Builds a list of available node types, and returns all of part of this list
- * in the specified format.
+ * Builds a list of available node types, and returns all or part of this list.
*
* @param $op
- * The format in which to return the list. When this is set to 'type',
- * 'module', or 'name', only the specified node type is returned. When set to
- * 'types' or 'names', all node types are returned.
+ * The format in which to return the list: 'type', 'types', 'module', 'name',
+ * or 'names'. See return value section below for details.
* @param $node
- * A node object, array, or string that indicates the node type to return.
- * Leave at default value (NULL) to return a list of all node types.
+ * A node object, an array representation of a node object, or a node type
+ * name string. See return value section below for details.
* @param $reset
* Whether or not to reset this function's internal cache (defaults to
* FALSE).
*
* @return
- * Either an array of all available node types, or a single node type, in a
- * variable format. Returns FALSE if the node type is not found.
+ * If $node is supplied and it doesn't correspond to a known node type,
+ * or if $op is 'type', 'name', or 'module' and $node is not given, the
+ * function returns FALSE. Otherwise, the return value depends on the
+ * value of $op:
+ * - 'types': An array of all available node type objects, keyed by machine
+ * name.
+ * - 'type': The single node type object indicated by $node.
+ * - 'names': An array of the display names of all available node types,
+ * keyed by machine name and sorted by display name.
+ * - 'name': The single node type display name indicated by $node.
+ * - 'module': The name of the node type module indicated by $node.
*/
function node_get_types($op = 'types', $node = NULL, $reset = FALSE) {
static $_node_types, $_node_names;
@@ -787,7 +794,7 @@
// Make sure the body has the minimum number of words.
// TODO : use a better word counting algorithm that will work in other languages
if (!empty($type->min_word_count) && isset($node->body) && count(explode(' ', $node->body)) < $type->min_word_count) {
- form_set_error('body', t('The body of your @type is too short. You need at least %words words.', array('%words' => $type->min_word_count, '@type' => $type->name)));
+ form_set_error('body', t('The @body_label of your @type is too short. You need at least %words words.', array('@body_label' => $type->body_label, '@type' => $type->name, '%words' => $type->min_word_count)));
}
if (isset($node->nid) && (node_last_changed($node->nid) > $node->changed)) {
@@ -1069,8 +1076,8 @@
* Whether the node is being displayed by itself as a page.
*
* @return
- * An structured array containing the individual elements
- * of the node's body.
+ * A node object with its content property set to a structured array
+ * containing the individual elements of the node's body.
*/
function node_build_content($node, $teaser = FALSE, $page = FALSE) {
@@ -1625,7 +1632,7 @@
*/
function node_revision_list($node) {
$revisions = array();
- $result = db_query('SELECT r.vid, r.title, r.log, r.uid, n.vid AS current_vid, r.timestamp, u.name FROM {node_revisions} r LEFT JOIN {node} n ON n.vid = r.vid INNER JOIN {users} u ON u.uid = r.uid WHERE r.nid = %d ORDER BY r.timestamp DESC', $node->nid);
+ $result = db_query('SELECT r.vid, r.title, r.log, r.uid, n.vid AS current_vid, r.timestamp, u.name FROM {node_revisions} r LEFT JOIN {node} n ON n.vid = r.vid INNER JOIN {users} u ON u.uid = r.uid WHERE r.nid = %d ORDER BY r.vid DESC', $node->nid);
while ($revision = db_fetch_object($result)) {
$revisions[$revision->vid] = $revision;
}
Modified: branches/upstream/current-6/modules/openid/openid.info
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/modules/openid/openid.info?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/modules/openid/openid.info (original)
+++ branches/upstream/current-6/modules/openid/openid.info Thu May 10 18:48:16 2012
@@ -4,8 +4,8 @@
package = Core - optional
core = 6.x
-; Information added by drupal.org packaging script on 2011-05-25
-version = "6.22"
+; Information added by drupal.org packaging script on 2012-05-02
+version = "6.26"
project = "drupal"
-datestamp = "1306357015"
+datestamp = "1335977158"
Modified: branches/upstream/current-6/modules/openid/openid.module
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/modules/openid/openid.module?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/modules/openid/openid.module (original)
+++ branches/upstream/current-6/modules/openid/openid.module Thu May 10 18:48:16 2012
@@ -425,14 +425,17 @@
elseif (variable_get('user_register', 1)) {
// Register new user
$form_state['redirect'] = NULL;
- $form_state['values']['name'] = (empty($response['openid.sreg.nickname'])) ? '' : $response['openid.sreg.nickname'];
- $form_state['values']['mail'] = (empty($response['openid.sreg.email'])) ? '' : $response['openid.sreg.email'];
+ // Only signed SREG keys are included as required by OpenID Simple
+ // Registration Extension 1.0, section 4.
+ $signed_keys = explode(',', $response['openid.signed']);
+ $form_state['values']['name'] = in_array('sreg.nickname', $signed_keys) ? $response['openid.sreg.nickname'] : '';
+ $form_state['values']['mail'] = in_array('sreg.email', $signed_keys) ? $response['openid.sreg.email'] : '';
$form_state['values']['pass'] = user_password();
$form_state['values']['status'] = variable_get('user_register', 1) == 1;
$form_state['values']['response'] = $response;
$form_state['values']['auth_openid'] = $identity;
- if (empty($response['openid.sreg.email']) && empty($response['openid.sreg.nickname'])) {
+ if (empty($form_state['values']['name']) && empty($form_state['values']['mail'])) {
drupal_set_message(t('Please complete the registration by filling out the form below. If you already have an account, you can <a href="@login">log in</a> now and add your OpenID under "My account".', array('@login' => url('user/login'))), 'warning');
$success = FALSE;
}
@@ -496,6 +499,8 @@
}
function openid_authentication_request($claimed_id, $identity, $return_to = '', $assoc_handle = '', $version = 2) {
+ global $base_url;
+
module_load_include('inc', 'openid');
$ns = ($version == 2) ? OPENID_NS_2_0 : OPENID_NS_1_0;
@@ -509,10 +514,10 @@
);
if ($version == 2) {
- $request['openid.realm'] = url('', array('absolute' => TRUE));
- }
- else {
- $request['openid.trust_root'] = url('', array('absolute' => TRUE));
+ $request['openid.realm'] = $base_url . '/';
+ }
+ else {
+ $request['openid.trust_root'] = $base_url . '/';
}
// Simple Registration
Modified: branches/upstream/current-6/modules/path/path.info
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/modules/path/path.info?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/modules/path/path.info (original)
+++ branches/upstream/current-6/modules/path/path.info Thu May 10 18:48:16 2012
@@ -4,8 +4,8 @@
version = VERSION
core = 6.x
-; Information added by drupal.org packaging script on 2011-05-25
-version = "6.22"
+; Information added by drupal.org packaging script on 2012-05-02
+version = "6.26"
project = "drupal"
-datestamp = "1306357015"
+datestamp = "1335977158"
Modified: branches/upstream/current-6/modules/path/path.module
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/modules/path/path.module?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/modules/path/path.module (original)
+++ branches/upstream/current-6/modules/path/path.module Thu May 10 18:48:16 2012
@@ -83,8 +83,27 @@
/**
* Set an aliased path for a given Drupal path, preventing duplicates.
+ *
+ * @param $path
+ * Path URL. Set to NULL to delete alias.
+ * @param $alias
+ * Alias URL. Set to NULL to delete alias.
+ * @param $pid
+ * Path id to update. Set to NULL to create a new alias or to delete a group of aliases.
+ * @param $language
+ * The language this alias is valid for.
*/
function path_set_alias($path = NULL, $alias = NULL, $pid = NULL, $language = '') {
+ /* This function claimed to prevent duplicate aliases but has not done
+ * so since the end of 2007.
+ * The uniqueness of dst+language pairs was enforced on the database level
+ * until D6.16 (march 2010); trying to insert duplicate aliass would yield a
+ * database error.
+ * From D6.16 onwards, duplicates would silently be inserted, and
+ * drupal_lookup_path() consistently uses those newer aliases.
+ * While fixing an issue in D6.23, the behavior was reverted to preventing
+ * duplicates by the below code. Watchdog errors are now logged instead.
+ */
$path = urldecode($path);
$alias = urldecode($alias);
// First we check if we deal with an existing alias and delete or modify it based on pid.
@@ -96,19 +115,42 @@
}
else {
// Update the existing alias.
- db_query("UPDATE {url_alias} SET src = '%s', dst = '%s', language = '%s' WHERE pid = %d", $path, $alias, $language, $pid);
- }
- }
- else if ($path && $alias) {
- // Check for existing aliases.
- if ($alias == drupal_get_path_alias($path, $language)) {
- // There is already such an alias, neutral or in this language.
- // Update the alias based on alias; setting the language if not yet done.
- db_query("UPDATE {url_alias} SET src = '%s', dst = '%s', language = '%s' WHERE dst = '%s'", $path, $alias, $language, $alias);
- }
- else {
+ // Check if the alias exists already.
+ $existing = db_fetch_array(db_query("SELECT pid, src FROM {url_alias} WHERE dst = '%s' AND language = '%s' ORDER BY pid DESC", $alias, $language));
+ if (!$existing || ($existing['pid'] == $pid && $existing['src'] != $path)) {
+ db_query("UPDATE {url_alias} SET src = '%s', dst = '%s', language = '%s' WHERE pid = %d", $path, $alias, $language, $pid);
+ }
+ else {
+ if ($existing['src'] != $path) {
+ watchdog('path', "The alias for path '@path' (language '@lang') was not updated to '@alias', because the path '@expath' already has the same alias.",
+ array('@path' => $path, '@lang' => $language, '@alias' => $alias, '@expath' => $existing['src']),
+ WATCHDOG_ERROR);
+ }
+ // Don't clear cache if we didn't change anything
+ return;
+ }
+ }
+ }
+ elseif ($path && $alias) {
+ // Add this alias to the database, if it's new & doesn't cause conflicts.
+ $existing = db_fetch_array(db_query("SELECT src, language, pid FROM {url_alias} WHERE dst = '%s' AND language IN('%s', '') ORDER BY language DESC, pid DESC", $alias, $language));
+ if (!$existing || ($existing['language'] != $language && $existing['src'] != $path)) {
// A new alias. Add it to the database.
db_query("INSERT INTO {url_alias} (src, dst, language) VALUES ('%s', '%s', '%s')", $path, $alias, $language);
+ }
+ elseif ($existing['language'] != $language) {
+ // This alias already exists ONLY for 'language neutral': update language.
+ // (We can only get here if $language != '')
+ db_query("UPDATE {url_alias} SET language = '%s' WHERE pid = %d", $language, $existing['pid']);
+ }
+ else {
+ if ($existing['src'] != $path) {
+ watchdog('path', "The alias '@alias' for path '@path' (language '@lang') was not created, because the path '@expath' already has the same alias.",
+ array('@path' => $path, '@lang' => $language, '@alias' => $alias, '@expath' => $existing['src']),
+ WATCHDOG_ERROR);
+ }
+ // Don't clear cache if we didn't change anything
+ return;
}
}
else {
@@ -130,7 +172,7 @@
* Allows URL aliases for nodes to be specified at node edit time rather
* than through the administrative interface.
*/
-function path_nodeapi(&$node, $op, $arg) {
+function path_nodeapi(&$node, $op, $arg = NULL) {
// Permissions are required for everything except node loading.
if (user_access('create url aliases') || user_access('administer url aliases') || ($op == 'load')) {
$language = isset($node->language) ? $node->language : '';
@@ -161,6 +203,10 @@
break;
case 'update':
+ // $node->pid is usually only set when updating from a node edit form
+ // (see path_form_alter). If it is not set (e.g. on most node_save()
+ // commands), we cannot be sure whether a change in $node->path is meant
+ // to replace an existing alias or add one extra, so we do the latter.
path_set_alias('node/'. $node->nid, isset($node->path) ? $node->path : NULL, isset($node->pid) ? $node->pid : NULL, $language);
break;
Modified: branches/upstream/current-6/modules/php/php.info
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/modules/php/php.info?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/modules/php/php.info (original)
+++ branches/upstream/current-6/modules/php/php.info Thu May 10 18:48:16 2012
@@ -4,8 +4,8 @@
version = VERSION
core = 6.x
-; Information added by drupal.org packaging script on 2011-05-25
-version = "6.22"
+; Information added by drupal.org packaging script on 2012-05-02
+version = "6.26"
project = "drupal"
-datestamp = "1306357015"
+datestamp = "1335977158"
Modified: branches/upstream/current-6/modules/ping/ping.info
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/modules/ping/ping.info?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/modules/ping/ping.info (original)
+++ branches/upstream/current-6/modules/ping/ping.info Thu May 10 18:48:16 2012
@@ -4,8 +4,8 @@
version = VERSION
core = 6.x
-; Information added by drupal.org packaging script on 2011-05-25
-version = "6.22"
+; Information added by drupal.org packaging script on 2012-05-02
+version = "6.26"
project = "drupal"
-datestamp = "1306357015"
+datestamp = "1335977158"
Modified: branches/upstream/current-6/modules/poll/poll.info
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/modules/poll/poll.info?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/modules/poll/poll.info (original)
+++ branches/upstream/current-6/modules/poll/poll.info Thu May 10 18:48:16 2012
@@ -4,8 +4,8 @@
version = VERSION
core = 6.x
-; Information added by drupal.org packaging script on 2011-05-25
-version = "6.22"
+; Information added by drupal.org packaging script on 2012-05-02
+version = "6.26"
project = "drupal"
-datestamp = "1306357015"
+datestamp = "1335977158"
Modified: branches/upstream/current-6/modules/poll/poll.module
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/modules/poll/poll.module?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/modules/poll/poll.module (original)
+++ branches/upstream/current-6/modules/poll/poll.module Thu May 10 18:48:16 2012
@@ -127,26 +127,24 @@
* Generates a block containing the latest poll.
*/
function poll_block($op = 'list', $delta = 0) {
- if (user_access('access content')) {
- if ($op == 'list') {
- $blocks[0]['info'] = t('Most recent poll');
- return $blocks;
- }
- else if ($op == 'view') {
- // Retrieve the latest poll.
- $sql = db_rewrite_sql("SELECT MAX(n.created) FROM {node} n INNER JOIN {poll} p ON p.nid = n.nid WHERE n.status = 1 AND p.active = 1");
- $timestamp = db_result(db_query($sql));
- if ($timestamp) {
- $poll = node_load(array('type' => 'poll', 'created' => $timestamp, 'status' => 1));
-
- if ($poll->nid) {
- $poll = poll_view($poll, TRUE, FALSE, TRUE);
- }
+ if ($op == 'list') {
+ $blocks[0]['info'] = t('Most recent poll');
+ return $blocks;
+ }
+ else if ($op == 'view' && user_access('access content')) {
+ // Retrieve the latest poll.
+ $sql = db_rewrite_sql("SELECT MAX(n.created) FROM {node} n INNER JOIN {poll} p ON p.nid = n.nid WHERE n.status = 1 AND p.active = 1");
+ $timestamp = db_result(db_query($sql));
+ if ($timestamp) {
+ $poll = node_load(array('type' => 'poll', 'created' => $timestamp, 'status' => 1));
+
+ if ($poll->nid) {
+ $poll = poll_view($poll, TRUE, FALSE, TRUE);
}
- $block['subject'] = t('Poll');
- $block['content'] = drupal_render($poll->content);
- return $block;
- }
+ }
+ $block['subject'] = t('Poll');
+ $block['content'] = drupal_render($poll->content);
+ return $block;
}
}
Modified: branches/upstream/current-6/modules/profile/profile.info
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/modules/profile/profile.info?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/modules/profile/profile.info (original)
+++ branches/upstream/current-6/modules/profile/profile.info Thu May 10 18:48:16 2012
@@ -4,8 +4,8 @@
version = VERSION
core = 6.x
-; Information added by drupal.org packaging script on 2011-05-25
-version = "6.22"
+; Information added by drupal.org packaging script on 2012-05-02
+version = "6.26"
project = "drupal"
-datestamp = "1306357015"
+datestamp = "1335977158"
Modified: branches/upstream/current-6/modules/search/search.info
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/modules/search/search.info?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/modules/search/search.info (original)
+++ branches/upstream/current-6/modules/search/search.info Thu May 10 18:48:16 2012
@@ -4,8 +4,8 @@
version = VERSION
core = 6.x
-; Information added by drupal.org packaging script on 2011-05-25
-version = "6.22"
+; Information added by drupal.org packaging script on 2012-05-02
+version = "6.26"
project = "drupal"
-datestamp = "1306357015"
+datestamp = "1335977158"
Modified: branches/upstream/current-6/modules/search/search.module
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/modules/search/search.module?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/modules/search/search.module (original)
+++ branches/upstream/current-6/modules/search/search.module Thu May 10 18:48:16 2012
@@ -43,7 +43,7 @@
'\x{2ce5}-\x{2cff}\x{2d6f}\x{2e00}-\x{3005}\x{3007}-\x{303b}\x{303d}-\x{303f}'.
'\x{3099}-\x{309e}\x{30a0}\x{30fb}\x{30fd}\x{30fe}\x{3190}-\x{319f}\x{31c0}-'.
'\x{31cf}\x{3200}-\x{33ff}\x{4dc0}-\x{4dff}\x{a015}\x{a490}-\x{a716}\x{a802}'.
-'\x{a806}\x{a80b}\x{a823}-\x{a82b}\x{d800}-\x{f8ff}\x{fb1e}\x{fb29}\x{fd3e}'.
+'\x{a806}\x{a80b}\x{a823}-\x{a82b}\x{e000}-\x{f8ff}\x{fb1e}\x{fb29}\x{fd3e}'.
'\x{fd3f}\x{fdfc}-\x{fe6b}\x{feff}-\x{ff0f}\x{ff1a}-\x{ff20}\x{ff3b}-\x{ff40}'.
'\x{ff5b}-\x{ff65}\x{ff70}\x{ff9e}\x{ff9f}\x{ffe0}-\x{fffd}');
@@ -1036,7 +1036,7 @@
'#attributes' => array('class' => 'search-form'),
);
$form['module'] = array('#type' => 'value', '#value' => $type);
- $form['basic'] = array('#type' => 'item', '#title' => $prompt);
+ $form['basic'] = array('#type' => 'item', '#title' => $prompt, '#id' => 'edit-keys');
$form['basic']['inline'] = array('#prefix' => '<div class="container-inline">', '#suffix' => '</div>');
$form['basic']['inline']['keys'] = array(
'#type' => 'textfield',
@@ -1058,7 +1058,7 @@
*
* @ingroup forms
* @see search_box_form_submit()
- * @see theme_search_box_form()
+ * @see search-block-form.tpl.php
*/
function search_box(&$form_state, $form_id) {
$form[$form_id] = array(
Modified: branches/upstream/current-6/modules/statistics/statistics.info
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/modules/statistics/statistics.info?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/modules/statistics/statistics.info (original)
+++ branches/upstream/current-6/modules/statistics/statistics.info Thu May 10 18:48:16 2012
@@ -4,8 +4,8 @@
version = VERSION
core = 6.x
-; Information added by drupal.org packaging script on 2011-05-25
-version = "6.22"
+; Information added by drupal.org packaging script on 2012-05-02
+version = "6.26"
project = "drupal"
-datestamp = "1306357015"
+datestamp = "1335977158"
Modified: branches/upstream/current-6/modules/syslog/syslog.info
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/modules/syslog/syslog.info?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/modules/syslog/syslog.info (original)
+++ branches/upstream/current-6/modules/syslog/syslog.info Thu May 10 18:48:16 2012
@@ -4,8 +4,8 @@
version = VERSION
core = 6.x
-; Information added by drupal.org packaging script on 2011-05-25
-version = "6.22"
+; Information added by drupal.org packaging script on 2012-05-02
+version = "6.26"
project = "drupal"
-datestamp = "1306357015"
+datestamp = "1335977158"
Modified: branches/upstream/current-6/modules/system/system.admin.inc
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/modules/system/system.admin.inc?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/modules/system/system.admin.inc (original)
+++ branches/upstream/current-6/modules/system/system.admin.inc Thu May 10 18:48:16 2012
@@ -128,7 +128,7 @@
}
/**
- * Menu callback; displays a module's settings page.
+ * Menu callback: Displays the configuration overview page.
*/
function system_settings_overview() {
// Check database setup if necessary
Modified: branches/upstream/current-6/modules/system/system.info
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/modules/system/system.info?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/modules/system/system.info (original)
+++ branches/upstream/current-6/modules/system/system.info Thu May 10 18:48:16 2012
@@ -4,8 +4,8 @@
version = VERSION
core = 6.x
-; Information added by drupal.org packaging script on 2011-05-25
-version = "6.22"
+; Information added by drupal.org packaging script on 2012-05-02
+version = "6.26"
project = "drupal"
-datestamp = "1306357015"
+datestamp = "1335977158"
Modified: branches/upstream/current-6/modules/system/system.module
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/modules/system/system.module?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/modules/system/system.module (original)
+++ branches/upstream/current-6/modules/system/system.module Thu May 10 18:48:16 2012
@@ -8,7 +8,7 @@
/**
* The current system version.
*/
-define('VERSION', '6.22');
+define('VERSION', '6.26');
/**
* Core API compatibility.
@@ -805,22 +805,52 @@
* Array of all available themes and their data.
*/
function system_theme_data() {
+ $write_database = TRUE;
+ // If lock not acquired, return $files data without writing to database.
+ if (!lock_acquire('system_theme_data')) {
+ $write_database = FALSE;
+ // Wait for the parallel thread to be done so we are more likely
+ // to get updated and consistent data.
+ lock_wait('system_theme_data');
+ }
// Scan the installation theme .info files and their engines.
$themes = _system_theme_data();
+ foreach ($themes as $key => $theme) {
+ if (!isset($theme->owner)) {
+ $themes[$key]->owner = '';
+ }
+ }
// Extract current files from database.
system_get_files_database($themes, 'theme');
- db_query("DELETE FROM {system} WHERE type = 'theme'");
-
- foreach ($themes as $theme) {
- if (!isset($theme->owner)) {
- $theme->owner = '';
- }
-
- db_query("INSERT INTO {system} (name, owner, info, type, filename, status, throttle, bootstrap) VALUES ('%s', '%s', '%s', '%s', '%s', %d, %d, %d)", $theme->name, $theme->owner, serialize($theme->info), 'theme', $theme->filename, isset($theme->status) ? $theme->status : 0, 0, 0);
- }
-
+ // If lock not acquired, return $themes data without writing to database.
+ if ($write_database) {
+ $filenames = array();
+
+ foreach ($themes as $theme) {
+ // Record the filename of each theme that was found.
+ $filenames[] = $theme->filename;
+ // Existing themes will always have $theme->status set, since it's a
+ // property that is only stored in the database.
+ if (isset($theme->status)) {
+ db_query("UPDATE {system} SET owner = '%s', info = '%s', filename = '%s' WHERE name = '%s' AND type = '%s'", $theme->owner, serialize($theme->info), $theme->filename, $theme->name, 'theme');
+ }
+ // New themes must get a $theme->status before they are inserted into the
+ // database. For the default theme, we force it to be enabled (to handle
+ // the initial installation of Drupal), but otherwise new themes should
+ // always start off as disabled.
+ else {
+ $theme->status = ($theme->name == variable_get('theme_default', 'garland'));
+ db_query("INSERT INTO {system} (name, owner, info, type, filename, status, throttle, bootstrap) VALUES ('%s', '%s', '%s', '%s', '%s', %d, %d, %d)", $theme->name, $theme->owner, serialize($theme->info), 'theme', $theme->filename, $theme->status, 0, 0);
+ }
+ }
+ // Delete from the system table any themes missing from the file system.
+ if ($filenames) {
+ db_query("DELETE FROM {system} WHERE type = 'theme' AND filename NOT IN (". db_placeholders($filenames, 'varchar') .")", $filenames);
+ }
+ lock_release('system_theme_data');
+ }
return $themes;
}
@@ -1666,7 +1696,7 @@
'#default_value' => $context['message'],
'#cols' => '80',
'#rows' => '20',
- '#description' => t('The message that should be sent. You may include the following variables: %site_name, %username, %node_url, %node_type, %title, %teaser, %body. Not all variables will be available in all contexts.'),
+ '#description' => t('The message that should be sent. You may include the following variables: %site_name, %username, %node_url, %node_type, %title, %teaser, %body, %term_name, %term_description, %term_id, %vocabulary_name, %vocabulary_description, %vocabulary_id. Not all variables will be available in all contexts.'),
);
return $form;
}
Modified: branches/upstream/current-6/modules/taxonomy/taxonomy.info
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/modules/taxonomy/taxonomy.info?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/modules/taxonomy/taxonomy.info (original)
+++ branches/upstream/current-6/modules/taxonomy/taxonomy.info Thu May 10 18:48:16 2012
@@ -4,8 +4,8 @@
version = VERSION
core = 6.x
-; Information added by drupal.org packaging script on 2011-05-25
-version = "6.22"
+; Information added by drupal.org packaging script on 2012-05-02
+version = "6.26"
project = "drupal"
-datestamp = "1306357015"
+datestamp = "1335977158"
Modified: branches/upstream/current-6/modules/taxonomy/taxonomy.module
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/modules/taxonomy/taxonomy.module?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/modules/taxonomy/taxonomy.module (original)
+++ branches/upstream/current-6/modules/taxonomy/taxonomy.module Thu May 10 18:48:16 2012
@@ -253,18 +253,22 @@
/**
* Dynamically check and update the hierarachy flag of a vocabulary.
+ * Checks and updates the hierarchy flag of a vocabulary.
*
* Checks the current parents of all terms in a vocabulary and updates the
- * vocabularies hierarchy setting to the lowest possible level. A hierarchy with
- * no parents in any of its terms will be given a hierarchy of 0. If terms
- * contain at most a single parent, the vocabulary will be given a hierarchy of
- * 1. If any term contain multiple parents, the vocabulary will be given a
- * hieararchy of 2.
+ * vocabulary's hierarchy setting to the lowest possible level. If no term
+ * has parent terms then the vocabulary will be given a hierarchy of 0.
+ * If any term has a single parent then the vocabulary will be given a
+ * hierarchy of 1. If any term has multiple parents then the vocabulary
+ * will be given a hierarchy of 2.
*
* @param $vocabulary
* An array of the vocabulary structure.
* @param $changed_term
* An array of the term structure that was updated.
+ *
+ * @return
+ * An integer that represents the level of the vocabulary's hierarchy.
*/
function taxonomy_check_vocabulary_hierarchy($vocabulary, $changed_term) {
$tree = taxonomy_get_tree($vocabulary['vid']);
@@ -625,11 +629,15 @@
/**
* Find all terms associated with the given node, ordered by vocabulary and term weight.
*/
-function taxonomy_node_get_terms($node, $key = 'tid') {
+function taxonomy_node_get_terms($node, $key = 'tid', $reset = FALSE) {
static $terms;
+ if ($reset) {
+ unset($terms[$node->vid]);
+ }
+
if (!isset($terms[$node->vid][$key])) {
- $result = db_query(db_rewrite_sql('SELECT t.* FROM {term_node} r INNER JOIN {term_data} t ON r.tid = t.tid INNER JOIN {vocabulary} v ON t.vid = v.vid WHERE r.vid = %d ORDER BY v.weight, t.weight, t.name', 't', 'tid'), $node->vid);
+ $result = db_query(db_rewrite_sql('SELECT t.*,v.weight AS v_weight_unused FROM {term_node} r INNER JOIN {term_data} t ON r.tid = t.tid INNER JOIN {vocabulary} v ON t.vid = v.vid WHERE r.vid = %d ORDER BY v.weight, t.weight, t.name', 't', 'tid'), $node->vid);
$terms[$node->vid][$key] = array();
while ($term = db_fetch_object($result)) {
$terms[$node->vid][$key][$term->$key] = $term;
@@ -660,7 +668,7 @@
/**
* Save term associations for a given node.
*/
-function taxonomy_node_save($node, $terms) {
+function taxonomy_node_save(&$node, $terms) {
taxonomy_node_delete_revision($node);
@@ -717,6 +725,9 @@
}
}
}
+
+ // Flush the term "cache" for this node
+ $node->taxonomy = taxonomy_node_get_terms($node, 'tid', TRUE);
}
/**
@@ -823,7 +834,8 @@
* for the entire vocabulary.
*
* @param $depth
- * Internal use only.
+ * Internal use only. Now deprecated and isn't used. It is left here only
+ * because of @link http://drupal.org/node/556842 compatibility issues. @endlink
*
* @param $max_depth
* The number of levels of the tree to return. Leave NULL to return all levels.
@@ -836,12 +848,12 @@
function taxonomy_get_tree($vid, $parent = 0, $depth = -1, $max_depth = NULL) {
static $children, $parents, $terms;
- $depth++;
-
// We cache trees, so it's not CPU-intensive to call get_tree() on a term
// and its children, too.
if (!isset($children[$vid])) {
$children[$vid] = array();
+ $parents[$vid] = array();
+ $terms[$vid] = array();
$result = db_query(db_rewrite_sql('SELECT t.tid, t.*, parent FROM {term_data} t INNER JOIN {term_hierarchy} h ON t.tid = h.tid WHERE t.vid = %d ORDER BY weight, name', 't', 'tid'), $vid);
while ($term = db_fetch_object($result)) {
@@ -851,18 +863,58 @@
}
}
- $max_depth = (is_null($max_depth)) ? count($children[$vid]) : $max_depth;
+ $max_depth = (!isset($max_depth)) ? count($children[$vid]) : $max_depth;
$tree = array();
- if ($max_depth > $depth && !empty($children[$vid][$parent])) {
- foreach ($children[$vid][$parent] as $child) {
- $term = drupal_clone($terms[$vid][$child]);
- $term->depth = $depth;
- // The "parent" attribute is not useful, as it would show one parent only.
- unset($term->parent);
- $term->parents = $parents[$vid][$child];
- $tree[] = $term;
- if (!empty($children[$vid][$child])) {
- $tree = array_merge($tree, taxonomy_get_tree($vid, $child, $depth, $max_depth));
+
+ // Keeps track of the parents we have to process, the last entry is used
+ // for the next processing step.
+ $process_parents = array();
+ $process_parents[] = $parent;
+
+ // Loops over the parent terms and adds its children to the tree array.
+ // Uses a loop instead of a recursion, because it's more efficient.
+ while (count($process_parents)) {
+ $parent = array_pop($process_parents);
+ // The number of parents determines the current depth.
+ $depth = count($process_parents);
+ if ($max_depth > $depth && !empty($children[$vid][$parent])) {
+ $has_children = FALSE;
+ $child = current($children[$vid][$parent]);
+ do {
+ if (empty($child)) {
+ break;
+ }
+ $term = $terms[$vid][$child];
+ if (count($parents[$vid][$term->tid]) > 1) {
+ // We have a term with multi parents here. Clone the term,
+ // so that the depth attribute remains correct.
+ $term = clone $term;
+ }
+ $term->depth = $depth;
+ unset($term->parent);
+ $term->parents = $parents[$vid][$term->tid];
+ $tree[] = $term;
+ if (!empty($children[$vid][$term->tid])) {
+ $has_children = TRUE;
+
+ // We have to continue with this parent later.
+ $process_parents[] = $parent;
+ // Use the current term as parent for the next iteration.
+ $process_parents[] = $term->tid;
+
+ // Reset pointers for child lists because we step in there more often
+ // with multi parents.
+ reset($children[$vid][$term->tid]);
+ // Move pointer so that we get the correct term the next time.
+ next($children[$vid][$parent]);
+ break;
+ }
+ } while ($child = next($children[$vid][$parent]));
+
+ if (!$has_children) {
+ // We processed all terms in this hierarchy-level, reset pointer
+ // so that this function works the next time it gets called.
+ reset($children[$vid][$parent]);
}
}
}
@@ -1195,7 +1247,7 @@
/**
* Implementation of hook_nodeapi().
*/
-function taxonomy_nodeapi($node, $op, $arg = 0) {
+function taxonomy_nodeapi(&$node, $op, $arg = 0) {
switch ($op) {
case 'load':
$output['taxonomy'] = taxonomy_node_get_terms($node);
Modified: branches/upstream/current-6/modules/throttle/throttle.info
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/modules/throttle/throttle.info?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/modules/throttle/throttle.info (original)
+++ branches/upstream/current-6/modules/throttle/throttle.info Thu May 10 18:48:16 2012
@@ -4,8 +4,8 @@
version = VERSION
core = 6.x
-; Information added by drupal.org packaging script on 2011-05-25
-version = "6.22"
+; Information added by drupal.org packaging script on 2012-05-02
+version = "6.26"
project = "drupal"
-datestamp = "1306357015"
+datestamp = "1335977158"
Modified: branches/upstream/current-6/modules/tracker/tracker.info
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/modules/tracker/tracker.info?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/modules/tracker/tracker.info (original)
+++ branches/upstream/current-6/modules/tracker/tracker.info Thu May 10 18:48:16 2012
@@ -5,8 +5,8 @@
version = VERSION
core = 6.x
-; Information added by drupal.org packaging script on 2011-05-25
-version = "6.22"
+; Information added by drupal.org packaging script on 2012-05-02
+version = "6.26"
project = "drupal"
-datestamp = "1306357015"
+datestamp = "1335977158"
Modified: branches/upstream/current-6/modules/translation/translation.info
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/modules/translation/translation.info?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/modules/translation/translation.info (original)
+++ branches/upstream/current-6/modules/translation/translation.info Thu May 10 18:48:16 2012
@@ -5,8 +5,8 @@
version = VERSION
core = 6.x
-; Information added by drupal.org packaging script on 2011-05-25
-version = "6.22"
+; Information added by drupal.org packaging script on 2012-05-02
+version = "6.26"
project = "drupal"
-datestamp = "1306357015"
+datestamp = "1335977158"
Modified: branches/upstream/current-6/modules/translation/translation.module
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/modules/translation/translation.module?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/modules/translation/translation.module (original)
+++ branches/upstream/current-6/modules/translation/translation.module Thu May 10 18:48:16 2012
@@ -180,7 +180,7 @@
*
* Manages translation information for nodes.
*/
-function translation_nodeapi(&$node, $op, $teaser, $page) {
+function translation_nodeapi(&$node, $op, $teaser = NULL, $page = NULL) {
// Only act if we are dealing with a content type supporting translations.
if (!translation_supported_type($node->type)) {
return;
Modified: branches/upstream/current-6/modules/trigger/trigger.info
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/modules/trigger/trigger.info?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/modules/trigger/trigger.info (original)
+++ branches/upstream/current-6/modules/trigger/trigger.info Thu May 10 18:48:16 2012
@@ -4,8 +4,8 @@
version = VERSION
core = 6.x
-; Information added by drupal.org packaging script on 2011-05-25
-version = "6.22"
+; Information added by drupal.org packaging script on 2012-05-02
+version = "6.26"
project = "drupal"
-datestamp = "1306357015"
+datestamp = "1335977158"
Modified: branches/upstream/current-6/modules/trigger/trigger.module
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/modules/trigger/trigger.module?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/modules/trigger/trigger.module (original)
+++ branches/upstream/current-6/modules/trigger/trigger.module Thu May 10 18:48:16 2012
@@ -210,7 +210,7 @@
/**
* Implementation of hook_nodeapi().
*/
-function trigger_nodeapi(&$node, $op, $a3, $a4) {
+function trigger_nodeapi(&$node, $op, $a3 = NULL, $a4 = NULL) {
// Keep objects for reuse so that changes actions make to objects can persist.
static $objects;
// Prevent recursion by tracking which operations have already been called.
Modified: branches/upstream/current-6/modules/update/update.fetch.inc
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/modules/update/update.fetch.inc?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/modules/update/update.fetch.inc (original)
+++ branches/upstream/current-6/modules/update/update.fetch.inc Thu May 10 18:48:16 2012
@@ -221,6 +221,11 @@
$this->current_term = array();
$this->current_object = &$this->current_term;
break;
+ case 'FILE':
+ unset($this->current_object);
+ $this->current_file = array();
+ $this->current_object = &$this->current_file;
+ break;
}
}
@@ -252,6 +257,13 @@
case 'TERMS':
$this->current_object = &$this->current_release;
break;
+ case 'FILE':
+ unset($this->current_object);
+ $this->current_release['files'][] = $this->current_file;
+ break;
+ case 'FILES':
+ $this->current_object = &$this->current_release;
+ break;
default:
$this->current_object[strtolower($this->current_tag)] = trim($this->current_object[strtolower($this->current_tag)]);
$this->current_tag = '';
@@ -259,7 +271,7 @@
}
function data($parser, $data) {
- if ($this->current_tag && !in_array($this->current_tag, array('PROJECT', 'RELEASE', 'RELEASES', 'TERM', 'TERMS'))) {
+ if ($this->current_tag && !in_array($this->current_tag, array('PROJECT', 'RELEASE', 'RELEASES', 'TERM', 'TERMS', 'FILE', 'FILES'))) {
$tag = strtolower($this->current_tag);
if (isset($this->current_object[$tag])) {
$this->current_object[$tag] .= $data;
Modified: branches/upstream/current-6/modules/update/update.info
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/modules/update/update.info?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/modules/update/update.info (original)
+++ branches/upstream/current-6/modules/update/update.info Thu May 10 18:48:16 2012
@@ -4,8 +4,8 @@
package = Core - optional
core = 6.x
-; Information added by drupal.org packaging script on 2011-05-25
-version = "6.22"
+; Information added by drupal.org packaging script on 2012-05-02
+version = "6.26"
project = "drupal"
-datestamp = "1306357015"
+datestamp = "1335977158"
Modified: branches/upstream/current-6/modules/upload/upload.info
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/modules/upload/upload.info?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/modules/upload/upload.info (original)
+++ branches/upstream/current-6/modules/upload/upload.info Thu May 10 18:48:16 2012
@@ -4,8 +4,8 @@
version = VERSION
core = 6.x
-; Information added by drupal.org packaging script on 2011-05-25
-version = "6.22"
+; Information added by drupal.org packaging script on 2012-05-02
+version = "6.26"
project = "drupal"
-datestamp = "1306357015"
+datestamp = "1335977158"
Modified: branches/upstream/current-6/modules/upload/upload.module
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/modules/upload/upload.module?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/modules/upload/upload.module (original)
+++ branches/upstream/current-6/modules/upload/upload.module Thu May 10 18:48:16 2012
@@ -272,7 +272,7 @@
/**
* Implementation of hook_nodeapi().
*/
-function upload_nodeapi(&$node, $op, $teaser) {
+function upload_nodeapi(&$node, $op, $teaser = NULL) {
switch ($op) {
case 'load':
@@ -624,7 +624,12 @@
'#tree' => FALSE,
'#parents' => array(),
);
- drupal_alter('form', $form, array(), 'upload_js');
+
+ $empty_form_state = array();
+ $data = &$form;
+ $data['__drupal_alter_by_ref'] = array(&$empty_form_state);
+ drupal_alter('form', $data, 'upload_js');
+
$form_state = array('submitted' => FALSE);
$form = form_builder('upload_js', $form, $form_state);
$output = theme('status_messages') . drupal_render($form);
Modified: branches/upstream/current-6/modules/user/user.info
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/modules/user/user.info?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/modules/user/user.info (original)
+++ branches/upstream/current-6/modules/user/user.info Thu May 10 18:48:16 2012
@@ -4,8 +4,8 @@
version = VERSION
core = 6.x
-; Information added by drupal.org packaging script on 2011-05-25
-version = "6.22"
+; Information added by drupal.org packaging script on 2012-05-02
+version = "6.26"
project = "drupal"
-datestamp = "1306357015"
+datestamp = "1335977158"
Modified: branches/upstream/current-6/modules/user/user.module
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/modules/user/user.module?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/modules/user/user.module (original)
+++ branches/upstream/current-6/modules/user/user.module Thu May 10 18:48:16 2012
@@ -13,12 +13,23 @@
*
* We cannot use module_invoke() for this, because the arguments need to
* be passed by reference.
- */
-function user_module_invoke($type, &$array, &$user, $category = NULL) {
+ *
+ * @param $op
+ * The operation to be passed as the first parameter of the hook function.
+ * @param $edit
+ * An associative array variable containing form values to be passed
+ * as the second parameter of the hook function.
+ * @param $account
+ * The user account object to be passed as the third parameter of the hook
+ * function.
+ * @param $category
+ * The category of user information being acted upon.
+ */
+function user_module_invoke($op, &$edit, &$account, $category = NULL) {
foreach (module_list() as $module) {
$function = $module .'_user';
if (function_exists($function)) {
- $function($type, $array, $user, $category);
+ $function($op, $edit, $account, $category);
}
}
}
@@ -194,14 +205,17 @@
* Save changes to a user account or add a new user.
*
* @param $account
- * The $user object for the user to modify or add. If $user->uid is
- * omitted, a new user will be added.
- *
+ * The user object for to modify or add. If you want to modify an existing
+ * user account, you will need to ensure that (a) $account is an object, and
+ * (b) you have set $account->uid to the numeric user ID of the user account
+ * you wish to modify. Pass in NULL or any non-object to add a new user.
* @param $array
* (optional) An array of fields and values to save. For example,
- * array('name' => 'My name'); Setting a field to NULL deletes it from
- * the data column.
- *
+ * array('name' => 'My name'); Keys that do not belong to columns
+ * in the user-related tables are added to the a serialized array
+ * in the 'data' column and will be loaded in the $user->data array by
+ * user_load(). Setting a field to NULL deletes it from the data column,
+ * if you are modifying an existing user account.
* @param $category
* (optional) The category for storing profile information in.
*
@@ -1076,8 +1090,8 @@
'title' => 'Delete',
'page callback' => 'drupal_get_form',
'page arguments' => array('user_confirm_delete', 1),
- 'access callback' => 'user_access',
- 'access arguments' => array('administer users'),
+ 'access callback' => 'user_delete_access',
+ 'access arguments' => array(1),
'type' => MENU_CALLBACK,
'file' => 'user.pages.inc',
);
@@ -2110,7 +2124,7 @@
*
* @param $account
* The user object of the account being notified. Must contain at
- * least the fields 'uid', 'name', and 'mail'.
+ * least the fields 'uid', 'name', 'pass', 'login', and 'mail'.
* @param $language
* Language object to generate the tokens with.
* @return
@@ -2166,22 +2180,25 @@
* @see drupal_mail()
*
* @param $op
- * The operation being performed on the account. Possible values:
- * 'register_admin_created': Welcome message for user created by the admin
- * 'register_no_approval_required': Welcome message when user self-registers
- * 'register_pending_approval': Welcome message, user pending admin approval
- * 'password_reset': Password recovery request
- * 'status_activated': Account activated
- * 'status_blocked': Account blocked
- * 'status_deleted': Account deleted
+ * The operation being performed on the account. Possible values:
+ * - 'register_admin_created': Welcome message for user created by the admin.
+ * - 'register_no_approval_required': Welcome message when user
+ * self-registers.
+ * - 'register_pending_approval': Welcome message, user pending admin
+ * approval.
+ * - 'password_reset': Password recovery request.
+ * - 'status_activated': Account activated.
+ * - 'status_blocked': Account blocked.
+ * - 'status_deleted': Account deleted.
*
* @param $account
- * The user object of the account being notified. Must contain at
- * least the fields 'uid', 'name', and 'mail'.
+ * The user object of the account being notified. Must contain at
+ * least the fields 'uid', 'name', and 'mail'.
* @param $language
- * Optional language to use for the notification, overriding account language.
+ * Optional language to use for the notification, overriding account language.
+ *
* @return
- * The return value from drupal_mail_send(), if ends up being called.
+ * The return value from drupal_mail_send(), if ends up being called.
*/
function _user_mail_notify($op, $account, $language = NULL) {
// By default, we always notify except for deleted and blocked.
@@ -2503,7 +2520,8 @@
}
function user_register_validate($form, &$form_state) {
- user_module_invoke('validate', $form_state['values'], $form_state['values'], 'account');
+ $account = (object) $form_state['values'];
+ user_module_invoke('validate', $form_state['values'], $account, 'account');
}
/**
@@ -2537,3 +2555,13 @@
$destination = drupal_get_destination();
return $destination == 'destination=user%2Flogin' ? 'destination=user' : $destination;
}
+
+/**
+ * Menu access callback; limit access to account deletion pages.
+ *
+ * Limit access to administrative users, and prevent the anonymous user account
+ * from being deleted.
+ */
+function user_delete_access($account) {
+ return user_access('administer users') && $account->uid > 0;
+}
Modified: branches/upstream/current-6/robots.txt
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/robots.txt?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/robots.txt (original)
+++ branches/upstream/current-6/robots.txt Thu May 10 18:48:16 2012
@@ -40,6 +40,7 @@
# Paths (clean URLs)
Disallow: /admin/
Disallow: /comment/reply/
+Disallow: /filter/tips/
Disallow: /logout/
Disallow: /node/add/
Disallow: /search/
@@ -49,6 +50,7 @@
# Paths (no clean URLs)
Disallow: /?q=admin/
Disallow: /?q=comment/reply/
+Disallow: /?q=filter/tips/
Disallow: /?q=logout/
Disallow: /?q=node/add/
Disallow: /?q=search/
Modified: branches/upstream/current-6/themes/bluemarine/bluemarine.info
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/themes/bluemarine/bluemarine.info?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/themes/bluemarine/bluemarine.info (original)
+++ branches/upstream/current-6/themes/bluemarine/bluemarine.info Thu May 10 18:48:16 2012
@@ -4,8 +4,8 @@
core = 6.x
engine = phptemplate
-; Information added by drupal.org packaging script on 2011-05-25
-version = "6.22"
+; Information added by drupal.org packaging script on 2012-05-02
+version = "6.26"
project = "drupal"
-datestamp = "1306357015"
+datestamp = "1335977158"
Modified: branches/upstream/current-6/themes/chameleon/chameleon.info
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/themes/chameleon/chameleon.info?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/themes/chameleon/chameleon.info (original)
+++ branches/upstream/current-6/themes/chameleon/chameleon.info Thu May 10 18:48:16 2012
@@ -11,8 +11,8 @@
version = VERSION
core = 6.x
-; Information added by drupal.org packaging script on 2011-05-25
-version = "6.22"
+; Information added by drupal.org packaging script on 2012-05-02
+version = "6.26"
project = "drupal"
-datestamp = "1306357015"
+datestamp = "1335977158"
Modified: branches/upstream/current-6/themes/chameleon/marvin/marvin.info
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/themes/chameleon/marvin/marvin.info?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/themes/chameleon/marvin/marvin.info (original)
+++ branches/upstream/current-6/themes/chameleon/marvin/marvin.info Thu May 10 18:48:16 2012
@@ -6,8 +6,8 @@
core = 6.x
base theme = chameleon
-; Information added by drupal.org packaging script on 2011-05-25
-version = "6.22"
+; Information added by drupal.org packaging script on 2012-05-02
+version = "6.26"
project = "drupal"
-datestamp = "1306357015"
+datestamp = "1335977158"
Modified: branches/upstream/current-6/themes/engines/phptemplate/phptemplate.engine
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/themes/engines/phptemplate/phptemplate.engine?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/themes/engines/phptemplate/phptemplate.engine (original)
+++ branches/upstream/current-6/themes/engines/phptemplate/phptemplate.engine Thu May 10 18:48:16 2012
@@ -1,5 +1,4 @@
<?php
-// $Id$
/**
* @file
Modified: branches/upstream/current-6/themes/garland/garland.info
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/themes/garland/garland.info?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/themes/garland/garland.info (original)
+++ branches/upstream/current-6/themes/garland/garland.info Thu May 10 18:48:16 2012
@@ -6,8 +6,8 @@
stylesheets[all][] = style.css
stylesheets[print][] = print.css
-; Information added by drupal.org packaging script on 2011-05-25
-version = "6.22"
+; Information added by drupal.org packaging script on 2012-05-02
+version = "6.26"
project = "drupal"
-datestamp = "1306357015"
+datestamp = "1335977158"
Modified: branches/upstream/current-6/themes/garland/minnelli/minnelli.info
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/themes/garland/minnelli/minnelli.info?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/themes/garland/minnelli/minnelli.info (original)
+++ branches/upstream/current-6/themes/garland/minnelli/minnelli.info Thu May 10 18:48:16 2012
@@ -5,8 +5,8 @@
base theme = garland
stylesheets[all][] = minnelli.css
-; Information added by drupal.org packaging script on 2011-05-25
-version = "6.22"
+; Information added by drupal.org packaging script on 2012-05-02
+version = "6.26"
project = "drupal"
-datestamp = "1306357015"
+datestamp = "1335977158"
Modified: branches/upstream/current-6/themes/garland/style.css
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/themes/garland/style.css?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/themes/garland/style.css (original)
+++ branches/upstream/current-6/themes/garland/style.css Thu May 10 18:48:16 2012
@@ -222,7 +222,7 @@
}
tr.drag {
- background-color: #fffff0;
+ background-color: #ffb;
}
tr.drag-previous {
Modified: branches/upstream/current-6/themes/pushbutton/pushbutton.info
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/themes/pushbutton/pushbutton.info?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/themes/pushbutton/pushbutton.info (original)
+++ branches/upstream/current-6/themes/pushbutton/pushbutton.info Thu May 10 18:48:16 2012
@@ -4,8 +4,8 @@
core = 6.x
engine = phptemplate
-; Information added by drupal.org packaging script on 2011-05-25
-version = "6.22"
+; Information added by drupal.org packaging script on 2012-05-02
+version = "6.26"
project = "drupal"
-datestamp = "1306357015"
+datestamp = "1335977158"
Modified: branches/upstream/current-6/update.php
URL: http://svn.debian.org/wsvn/pkg-drupal/branches/upstream/current-6/update.php?rev=2268&op=diff
==============================================================================
--- branches/upstream/current-6/update.php (original)
+++ branches/upstream/current-6/update.php Thu May 10 18:48:16 2012
@@ -368,7 +368,7 @@
update_task_list('info');
drupal_set_title('Drupal database update');
$token = drupal_get_token('update');
- $output = '<p>Use this utility to update your database whenever a new release of Drupal or a module is installed.</p><p>For more detailed information, see the <a href="http://drupal.org/node/258">Installation and upgrading handbook</a>. If you are unsure what these terms mean you should probably contact your hosting provider.</p>';
+ $output = '<p>Use this utility to update your database whenever a new release of Drupal or a module is installed.</p><p>For more detailed information, see the <a href="http://drupal.org/upgrade">upgrading handbook</a>. If you are unsure what these terms mean you should probably contact your hosting provider.</p>';
$output .= "<ol>\n";
$output .= "<li><strong>Back up your database</strong>. This process will change your database values and in case of emergency you may need to revert to a backup.</li>\n";
$output .= "<li><strong>Back up your code</strong>. Hint: when backing up module code, do not leave that backup in the 'modules' or 'sites/*/modules' directories as this may confuse Drupal's auto-discovery mechanism.</li>\n";
More information about the Pkg-drupal-commits
mailing list