summaryrefslogtreecommitdiff
path: root/includes
Commit message (Collapse)AuthorAge
* - Patch #13020 by chx: let Drupal handle multiple database layers.Dries Buytaert2004-12-30
| | | | - Removed the PEAR database backend. It's no longer being used/maintained.
* - Patch #14890: corrected the documentation of conf_init().Dries Buytaert2004-12-29
|
* - Improved the input checking.Dries Buytaert2004-12-28
|
* #14757: Fix XSS vulnerability due to entity usage.Steven Wittens2004-12-25
|
* - Patch #13907 by Neil: less ways to set the page title.Dries Buytaert2004-12-15
| | | | | | | * Less logic in theme code. * Encourages use of the menu system. * Easier to find where a title or breadcrumb comes from in other people's code because there are less places to look. Look in menu and then grep for the appropriate set function. Looking for calls to theme_page() is hard because there are too many of them. * Very slightly more efficient.
* - Refactored the queue module: removed the queue module's field from the ↵Dries Buytaert2004-12-07
| | | | | | | | | | node table. With help from Gerhard. - Slight addition to INSTALL.txt with regard to PHP versions. - Updated/reworded some node type descriptions as per Boris' suggestions. - Adding missing {} around a table name in update.php.
* Pager_query's count query was broken if no query arguments were given.Steven Wittens2004-12-06
|
* - Patch by Steven: fixed bug in pager_query().Dries Buytaert2004-12-04
|
* - Patch #7058 by Neil: format_date does not properly handle escaped characters.Dries Buytaert2004-12-03
|
* Fix for pager_query() after #13581 (array of query arguments).Steven Wittens2004-12-02
|
* - Patch 13738 by TDobes: there was a major theming issue I missed in my ↵Dries Buytaert2004-12-01
| | | | bug-testing after the multi-site patch landed. Styles now seem to have their description field filled with the filename of their parent theme/template rather than the theme_key of the parent. This is a problem because init_theme still expected to see the theme_key and therefore dropped back to the base theme (no theme at all).
* - Patch #13405 by Moshe: make you actually do something useful with the init ↵Dries Buytaert2004-12-01
| | | | hook. A recent patch to 4.5 and HEAD made this patch run too early in the request (for non-cached pages).
* - Patch #13647 by Goba:Dries Buytaert2004-11-29
| | | | | 1. Fixed broken watchdog calls: two watchdog calls omitted the type parameter, and thus injected logs into the type field, instead of the message field. 2. Removed t() functions from user contributed content.
* - Patch #13581 by Steven: Db_query() allows a variable amount of parameters ↵Dries Buytaert2004-11-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | so you can pass the query arguments in. There is however an alternative syntax: instead of passing the query arguments as function arguments, you can also pass a single array with the query arguments in it. For example the following two statements are equivalent: db_query($query, $a, $b, $c); db_query($query, array($a, $b, $c)); This usage is particularly interesting when the query is constructed dynamically, and the amount of arguments to pass varies. In that case we use the second method to avoid using call_user_func_array(). This behaviour is not documented explicitly, but it is used in several places. However, db_query_range() and pager_query() do not support this syntax properly, which means there are several pieces of code which still revert to the ugly call_user_func_array() call. This patch updates db_query_range() and pager_query() so they support the array-passing method. I also added documentation about this method to each of the db functions. I also cleaned up the code for db_query (it was weird and hard to understand) and moved db_query() and db_queryd() from database.xxxxx.inc to database.inc: it was the same between both mysql and pgsql, as it doesn't do anything database specific. It just prefixes the tables and inserts the arguments. The actual db query is performed in _db_query(), which is still in database.xxxxx.inc. Finally, I updated several places with the new syntax, and the code is a lot cleaner. For example: - array_unshift($params, "SELECT u.* FROM {users} u WHERE $query u.status < 3"); - $params[] = 0; - $params[] = 1; - $result = call_user_func_array('db_query_range', $params); + $result = db_query_range("SELECT u.* FROM {users} u WHERE $query u.status < 3", $params, 0, 1); and - return call_user_func_array('db_query_range', array_merge(array($query), $args, array((int)$pager_from_array[$element], (int)$limit))); + return db_query_range($query, $args, (int)$pager_from_array[$element], (int)$limit); I've tested it on mysql. I didn't alter the actual db behaviour, so pgsql should be okay too. This patch is important because many people avoid the call_user_func_array() method and put data directly into the db query. This is very, very bad because the database prefix will be applied to it, and strip out braces. It's also generally bad form as you have to call check_query() yourself. With the new, documented syntax, there is no more excuse to put data directly in the query.
* - Refactored the statistics and watchdog module (views). The most importantDries Buytaert2004-11-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | changes are: 1. Simplified the statistics pages: there are less pages and on the remaining pages there is a lot less visual clutter (less columns and better presentation). 2. Reorganized the 'administer - logs' menu: flattened the menu structure and removed a number of links. 3. Improved performance. Most statistics pages used about 160 slow SQL queries which made the statistics pages fairly unusable on my system. The new pages use at least 10 times less SQL queries and render much faster. They are actually usable. 4. There is now a 'track'-tab on node pages, and a second subtrab on the user accounts 'track'-tab for people with the 'access statistics' permission. They can be used to resp. track the node and the user. This makes the statistics more accessible. 5. Changed the way watchdog messages are filtered. This makes it easier to introduce new watchdog types. 6. Reworked the statistics module's permissions. 7. Less code: 223 insertions(+), 343 deletions(-). 8. Fixed several glitches: for example, the statistics pages sorted the 'Name' column by user ID instead of by name. Unfortunately, it is too difficult to backport these to DRUPAL-4-5. TODO: 1. Review the statistics modules help pages. 2. Help fine-tune the interfaces/views. NOTES: 1. You'll want to run update.php.
* - Usability improvement: only display subtabs if there is more than one ↵Dries Buytaert2004-11-28
| | | | subtab. If there is only one, make sure it is the set to be the default subtab and all is well.
* - Patch #13405 by Moshe:Dries Buytaert2004-11-25
| | | | | + Make bootstrap functionality work with HEAD. + Move functions into bootstrap.inc so that statistics_exit() works for cached pages. (Does this close any issues?)
* - Patch #13443 by Moshe: got rid of the semi-implemented 'page link' ↵Dries Buytaert2004-11-24
| | | | feature. All themes currently support primary and secondary links so page links are now deprecated. Check your contributed modules and update them accordingly.
* - Patch #5942 by jhriggs and Adrian:Dries Buytaert2004-11-24
| | | | | + added support for multi-site configurations. + tidied up some old cruft and added code comments.
* - Patch #6166 by Moshe: node preview should not display links. Push the ↵Dries Buytaert2004-11-23
| | | | | | | | links to the theme instead of the theme having to pull them in using node_link(). TODO: 1. Update theme upgrade instructions in the handbook: node_link() is gone. 2. Remove page_link() just like we removed node_link().
* - Patch #13263 and #13265 by arnab: added word-based truncation and made the ↵Dries Buytaert2004-11-21
| | | | comment module use it to extract subjects.
* - Patch 13180 by chx: renamed check_query() to db_escape_string() and ↵Dries Buytaert2004-11-21
| | | | | | implemtented it properly per database backend. Read the manual for pg_escape_string: "Use of this function is recommended instead of addslashes()." Or read sqlite_escape_string: "addslashes() should NOT be used to quote your strings for SQLite queries; it will lead to strange results when retrieving your data."
* - Patch #13121 by Goba: valid_url() should allow the use of '+' in URLs.Dries Buytaert2004-11-18
|
* - Added generic flood control mechanism to throttle certain operations per ↵Dries Buytaert2004-11-15
| | | | hostname (eg. posting comments, requesting passwords, sending e-mails). See flood_register_event() and flood_is_allowed() for details.
* - Modified patch #7235: do a better job checking the OS and acting upon it.Dries Buytaert2004-11-15
|
* - Removed some cruft.Dries Buytaert2004-11-15
|
* - Patch #12795 by thorne: added documentation for overriding variables fromDries Buytaert2004-11-15
| | | | the configuration file.
* - Patch #12885 by Ber: improved the Doxygen documentation of ↵Dries Buytaert2004-11-15
| | | | drupal_set_html_head().
* - Patch #9292 by killes from Carl: fixed a PHP5 compatibility problem with ↵Dries Buytaert2004-11-08
| | | | file handling.
* - Refactored the throttle module. Patch by Jeremy and me.Dries Buytaert2004-11-07
| | | | | | | | | | | | * There are only two throttle levels instead of 5, namely 'enabled' and 'disabled'. This makes it a _lot_ easier to predict when the throttle will kick in. However, if you maintain a module that is throttle-aware, it needs to be updated! * The throttle mechanism now uses the current number of anonymous users or the current number of authenticated users to kick in. This is a _lot_ more intuitive than the old throttle mechanism. * The throttle block has been removed -- you can now use the "Who's online" block to determine the good throttle settings. * Most of the documentation has been removed because it was deprecated. * It's less code!
* - Performance improvement: made 'sid' the primary key of the sessions table.Dries Buytaert2004-11-07
| | | | | | | | | That should improve performance of session handling as well improve performance of the "Who's online"-block. Drupal.org's sessions table contains appr. 40.000 sessions on a slow day and rendering the "Who's online"-block became a performance bottleneck. This change has yet to be tested on a busy site so things might go wrong.
* - On popular demand, patch #10178 by jhriggs: made it possible to expand ↵Dries Buytaert2004-11-06
| | | | menu items.
* Rest of #12167 (respect input check bypass permission)Steven Wittens2004-11-03
|
* #12167: Respect 'bypass input data check' permission in file.inc.Steven Wittens2004-11-02
|
* - Patch #7161 by jhriggs: fixed probem with 'last page' link not being ↵Dries Buytaert2004-10-31
| | | | correct under certain circumstances.
* - Patch #12232 by Steven/UnConed: search module improvements.Dries Buytaert2004-10-31
| | | | | | | | | | | | | | | | | | | | | | 1) Clean up the text analyser: make it handle UTF-8 and all sorts of characters. The word splitter now does intelligent splitting into words and supports all Unicode characters. It has smart handling of acronyms, URLs, dates, ... 2) It now indexes the filtered output, which means it can take advantage of HTML tags. Meaningful tags (headers, strong, em, ...) are analysed and used to boost certain words scores. This has the side-effect of allowing the indexing of PHP nodes. 3) Link analyser for node links. The HTML analyser also checks for links. If they point to a node on the current site (handles path aliases) then the link's words are counted as part of the target node. This helps bring out commonly linked FAQs and answers to the top of the results. 4) Index comments along with the node. This means that the search can make a difference between a single node/comment about 'X' and a whole thread about 'X'. It also makes the search results much shorter and more relevant (before this patch, comments were even shown first). 5) We now keep track of total counts as well as a per item count for a word. This allows us to divide the word score by the total before adding up the scores for different words, and automatically makes noisewords have less influence than rare words. This dramatically improves the relevancy of multiword searches. This also makes the disadvantage of now using OR searching instead of AND searching less problematic. 6) Includes support for text preprocessors through a hook. This is required to index Chinese and Japanese, because these languages do not use spaces between words. An external utility can be used to split these into words through a simple wrapper module. Other uses could be spell checking (although it would have no UI). 7) Indexing is now regulated: only a certain amount of items will be indexed per cron run. This prevents PHP from running out of memory or timing out. This also makes the reindexing required for this patch automatic. I also added an index coverage estimate to the search admin screen. 8) Code cleanup! Moved all the search stuff from common.inc into search.module, rewired some hooks and simplified the functions used. The search form and results now also use valid XHTML and form_ functions. The search admin was moved from search/configure to admin/search for consistency. 9) Improved search output: we also show much more info per item: date, author, node type, amount of comments and a cool dynamic excerpt à la Google. The search form is now much more simpler and the help is only displayed as tips when no search results are found. 10) By moving all search logic to SQL, I was able to add a pager to the search results. This improves usability and performance dramatically.
* #12183: surpress php error on copy()Steven Wittens2004-10-28
|
* :- Patch #12096 by Axel: fixed problem with plurals for some languages.Dries Buytaert2004-10-27
|
* #12155 : use defined constant rather than integer in file.inc.Steven Wittens2004-10-26
|
* #12146: Improve locale import/export messages (Stefan)Steven Wittens2004-10-26
|
* - Patch #11728 by Uwe Hermann: fixed some typos in the code comments, ↵Dries Buytaert2004-10-19
| | | | | | Doxygen documentation and screen output. Uwe: I dropped the 'iff' chunks as 'iff' stands for 'if and only if'.
* - Modified patch #11689 by Adrian: made the locale module work with PostgreSQL.Dries Buytaert2004-10-18
|
* #11449: Adding a failsafe check for an improperly prefixed menu sequence. ↵Steven Wittens2004-10-16
| | | | This is a temporary fix, awaiting a proper install system to end manual prefixing ;).
* #7289: locale import fixesSteven Wittens2004-10-16
|
* Tablesort used to output class=" active" for active columns with other ↵Steven Wittens2004-10-15
| | | | properties (align="right"). Now it correctly uses class="foo active" if a class 'foo' was specified, and class="active" otherwise.
* - Patch #11600 by jhriggs: the module_load_all() function will currently ↵Dries Buytaert2004-10-15
| | | | behave unexpectedly if a module cannot be found (has been removed, renamed, etc). Once one module fails to load, all subsequent modules will not be loaded due to a short circuit condition when performing a boolean AND.
* - Patch #11430 by JonBob: reseting the menus broke the admin pages.Dries Buytaert2004-10-14
|
* Theme system bug: only show search box if search.module is enabled.Steven Wittens2004-10-14
|
* Adding a note about the usage of form_hidden inside form_checkbox and ↵Steven Wittens2004-10-13
| | | | form_checkboxes.
* - Patch #11531 by killes: it was not possible to deselect all choices of a ↵Dries Buytaert2004-10-13
| | | | form_checkboxes array.