Parent Directory
|
Revision Log
|
Revision Graph
| Links to HEAD: | (view) (download) (as text) (annotate) |
| Sticky Tag: |
Roll-back of #595084; type-hinting parameters at stdClass makes it so you can't ever pass in another type of class.
#615508 by Crell: Use slave servers for search module.
- Patch #595084 by c960657: use type hinting for .
#600974 by effulgentsia, JohnAlbin, sun, and Damien Tournoud: Allow theme functions to take one argument without any hacks. NOTE: This is an API change in hook_theme().
- Patch #607410 by Bojhan: remove Search this site.
- Patch #572618 by effulgentsia, pwolanin, sun: all theme functions should take a single argument. Code clean-up and performance improvement. Woot.
Patch #579366 by sun, litwol | chx, Dries: simplified form API redirection handling. I can actually understand it now. ;-).
- Patch #550742 by douggreen | Zarabadoo: remove Search box from theme system, default to block system instead.
- Patch #582736 by douggreen: removed unused function.
#571086 by sun and merlinofchaos: Added a 'wrapper callback' that executes before a form builder function, to facilitate common form elements. Clean-up from form_builder changes from CTools patch. Has nice side-benefit of making all form functions' signatures consistent.
#292565 second follow up by John Morahan: fix login destination again on 403/404 pages and make the search form work there if displayed
#292565 second follow up by John Morahan: fix login destination again on 403/404 pages and make the search form work there if displayed
- Patch #569084 by douggreen: fixed resetting the search index.
- Patch #546302 by jhodgdon: improved help text of search module so people know how they can pimp their search.
- Patch #495968 by Frando, moshe weitzman: added drupal_render() cache pattern. Start using it for blocks.
- Patch #505214 by pwolanin: make the search module a slightly better framework.
- Patch #394182 by chx, Berdir: converted search module to the new database abstraction layer. Rest in peace old database layer.
- Patch #560746 by dropcube: rename hook_block_list() to hook_block_info() for consistency in the API.
#557890 by Gábor Hojtsy: Added 'Search and metadata' category to configuration page.
#497118 by chx, catch, pwolanin, JoshuaRogers, and Jacob Singh: Remove the function registry. While the hope was that this would result in improved performance for low-end hosts, it comes at the expense of critical development experience problems and less benefit than something like APC. Class registry remains intact to facilitate autoloading.
Of all the patches to accidentally commit without a message. :( Rolling back registry rip. Let's try that again.
*** empty log message ***
#326539 by JohnAlbin, sun, cha0s, ultimateboy, Rob Loach, Damien Tournoud: Convert 'class' attribute to use an array, not a string.
#292565 follow-up by John Morahan: Restore ability to set 'user' as the 403/404 page.
- Patch #524476 by Scott Reynolds: improper FAPI handling for search settings form and minor clean-up of function names.
- Patch #506976 by catch: rename hook_perm to hook_permission.
- Patch #504678 by catch: use objects instead of arrays.
- Patch #506218 by catch: remove collapsed comments as is and tidy up comment settings.
- Patch #468630 by Berdir: fixed error with publishing comments.
- Patch #472642 by stella, agentrickard: remove 'implementation of' nominalizations from Docblocks.
- Patch #470594 by Moshe: convert more pages and blocks to return arrays.
- Patch #471070 by stella: millions of code style fixes.
- Patch #448860 by recidive: updated the search module documentation.
Roll-back of #310467: Breaks installer requirements check and update.php.
- Patch #355360 by burningdog, spatz4000, netaustin: standardize on 'cacheable'.
- Patch #310467 by chx, moshe weitzman: made hook_theme slimmer.
- Patch #353069 by Moshe Weitzman, dmitrig01: make drupal_get_form() return unrendered forms.
- Patch #424660 by mustafau: remove non-existing reference.
- Patch #372471 by JamesAn et al: killed theme_box().
#376408 by pwolanin and ajevans85: Stop phantom () appearing in search results.
#356359 by mgifford and nfreear: Resolve accessibility failures in search form.
#376408 follow up by pwolanin: search_nodeapi() lacked break in switch; resulted in issue in logic not code flow
#383066 by David Strauss: Rename hook_nodeapi_X to hook_node_X.
#369002 by toddy: Use format_plural() for search keyword length error.
#376408 by ajevans85, pwolanin: Prevent an empty anchor tag and parenthesis appearing in the output for the search index in search_nodeapi()
- Patch #353480 by dereine, justinrandell: remove from hook_comment().
- Patch #350984 by Moshe: kick comment rendering out of node module.
- Patch #352470 by scor: fixed typos and grammar in comments.
- Patch #349504 by keith.smith: clean up sentence spacing in code comments.
- Patch #345866 by alexanderpas, justinrandell, Dave Reid: remove from hook_block().
- Patch #319356 by recidive: clean up hook_nodeapi_ fucntion signatures and documentation because of previous node API clean-ups.
- Patch #335086 by recidive: rename node, filter and comment module tables to singular for consistency. Oh my.
- Patch #296624 by Damien Tournoud: made search work on PostgreSQL.
- Patch #334030 by justinrandell: replace module_list with module_implements when calling a hook.
- Patch #299778 by hswong3i, Arancaytar, Dave Reid et al: code clean-up.
#331719 follow-up by chx: Remove ambiguity from search score queries.
#331719 by chx: Fix search query that had a field aliased to one of its column names, causing problems in certain databases.
- Patch #266358 by Rob Loach, mfer: use array in drupal_add_css().
#320173 by Dave Reid: Two-word operations in hook_nodeapi no longer being called.
#282405 by Damien Tournoud, lilou, Dave Reid: Enforce coding standard on elseif.
#313213 by maartenvg, Gábor Hojtsy: Add a 'title' attribute for permissions to allow for localization of permission names
- Patch #310212 by justinrandell: killed in _node hook, as well as twelve sable tooth tigers.
#108979 by ewhipple, catch, and sun: Order permissions consistently, keep node type related permissions together.
- Patch #305645 by pwolanin: ['REQUEST_TIME'] -> REQUEST_TIME. Improved developer experience.
#257912 by douggreen and Damien Tournoud: improve performance of search indexing by swapping two queries for the one which is successful more often
- Patch #302763 by Dave Reid, Rob Loach: replace time() by ['REQUEST_TIME'] as per Rasmus' suggestion. Removed drupal_referrer() for consistency.
- Patch #225450 by Crell, chx, bjaspan, catch, swentel, recidive et al: next generation database layer for Drupal 7.
- Patch #257912 by douggreen, Damien Tournoud: improve performance by flipping two queries during indexing.
- Patch #293504 by Damien Tournoud: fixed search on PostgreSQL - argument of AND must be type boolean, not type integer.
- Patch #293504 by Damien Tournoud: fixed search on PostgreSQL - argument of AND must be type boolean, not type integer.
- Patch #245329 by christefano and dmitrig01: code comment love.
- Patch #280319 by robertDouglas: remove unneeded and non-existing validation function.
- Patch #242048 by macgirvin, Freso, Senpai, flobruit, catch, robertDouglass, Garrett Albright, et al: change 'blue smurf' to 'bike shed' ;-)
- Patch #237754 by Robert Douglass and David Lesieur: search_index hardcoded the weights of HTML elements. Made them configurable through variable_get().
#104662 by chx: the search block form might not be available on the search page itself, so that target was not right for search block form submissions. Backport by webchick.
- Patch #221964 by chx, dopry, webernet, moshe, webchick, justinrandall, flobruit et al. Can you say 'registry'? Drupal now maintains an internal registry of all functions or classes in the system, allowing it to lazy-load code files as needed (reducing the amount of code that must be parsed on each request). The list of included files is cached per menu callback for subsequent loading by the menu router. This way, a given page request will have all the code it needs but little else, minimizing time spent parsing unneeded code.
- Patch #249546 by pwolanin: rip menu access inheritance -- was already committed to D6.
- Patch #245115 by kkaefer, John Morahan, JohnAlbin et al: after a long discussion we've decided to make the concatenation operator consistent with the other operators.
- Patch #216072 by recidive, David Rothstein, ptalindstrom et al: switched from numeric block IDs to string IDs.
The short explanation is that Drupal uses a lot of numeric deltas in the block system; blocks are identified by the 'module' and the 'delta'. In early Drupal, delta was numeric, but somewhere along the line it was changed to be possibly a string. In modern Drupal, block overrides are easily done via block-MODULE-DELTA.tpl.php. The primary motivation to switch to string IDs everywhere is to make these deltas friendlier to themers:
block-user-0.tpl.php --> block-user-navigation.tpl.php
block-user-1.tpl.php --> block-user-login.tpl.php
You get the picture.
Drupal 6.2
- Patch #218403 by Gabor, catch, Arancaytar, keith, doug, et al: duplicate entry errors in search idexer due to collation issues.
- Patch #30984 by webchick, keith.smith, kkaefer, Crell et al: provide descriptions for permissions on the permission administration page.
#218403 by dmaz: avoid duplication in search index, when the database collation makes the words collide (critical)
#207569 by ScoutBaker (minor code style): clean up @see usage in phpdoc blocks
#205920 by douggreen: short term searches were returning wrong results
#205795 by douggreen: search result normalization used a wrong calculation
#205199 by David_Rothstein: leftover links were not removed in the reindexing process properly (search module)
#197730 by keith.smith: standardize on a much more user friendly cron reference in help texts, explain its importance with more examples in INSTALL.txt
#200069 by keith.smith: new standard for 'more information' links in module help texts, as the handbook we referred to before was renamed
#197297 by DanW (as GHOP 17), and keith.smith: clean up lots of help texts, update to drag and drop functionality, drupal.module removal, etc
#198579 by webernet and hswong3i: a huge set of coding style fixes, including: - whitespaces at end of lines - indentation - control structure usage - whitespace in empty lines - phpdoc comment formatting
#186242 by douggreen: ignore AND in search, as it is the default behavior and inform the user when a lower case 'or' is used that 'OR' should be used as an operator
- Patch #146466 by douggreen, Steven et al: Remove temporary table usage from search module
- Patch #164032 by Crell, Chris Kennedy, dmitrig01, WimLeers, dvessel et al: tpl-ified the search module.
- Patch #186028 by chx: search_preprocess gets added to theme registry.
#184867 by deekayen, catch and keith.smith: fix some spelling errors in our source code and messages printed
#165140 by dww: rename logs to reports (usability improvement)
#104662 by chx: the search block form might not be available on the search page itself, so that target was not right for search block form submissions
- Patch #169433 by Crell and dvessel: split up search module.
#172436 by chx: watchdog was already renamed dblog, fix leftovers
- Patch #164351 by chx and dvessel: theming the search form was broken.
#66595 by AjK: add a default title to the search box, which can be altered/styled out if needed
#157510 by pwolanin and chx: search module needs menu tail arguments (arbitrary 'directory' looking parts)
- Patch #80951 by killes, yched et al: block caching.
Drupal 5.2
#108733 by add1sun. Whitespace cleanup.
#157577 by pwolanin: search_help() call was missing new parameter
- Rollback of patch #147723: delete API. Talked to Steven and Gabor and we unanimously agreed to rollback the deletion API. We all support the features this patch added, yet not its actual design and implementation. After some talk, we decided that it would be better for Drupal -- in the long term -- not to go with a solution that isn't 100%. We also recognize that in the short term, this patch would have been useful addition. So let's figure out how we can implement this properly in D7.
#154064 by pwolanin: get hook_help() up to speed to menu changes, allowing router path based lookups, and also full path argument lookup with a passed argument array
#153781: Convert all remaining confirm_forms() to deletion api.
- Patch #152171 by yched: added missing validation routines for settings.
- Patch #146667 by Eaton: correct builder argument ordering, eliminate redundant arguments
- Patch #146470 by Eaton et al: standardize form API3 hook parameter order.
- Patch #138706 by Eaton: 2 form API fixes.
- Patch #138706 by eaton, chx, webchick, yched et al: form api 3 ... yay. :)
- Patch #128082 by Goba et al: Allow localization of built-in menu items.
- Patch #76588 by Gabor: made log messages translatable. Yay.
- Patch #134493 by douggreen: getting the Drupal coding standards right in core. Woot. Woot.
- Patch #130987 by merlinofchaos: added theme registry for easier themability.
#130971: Kitchen sink (E_NOTICE compliance / Code style / Bugfix in book toc)
- Patch #128081 by Eaton: remove #base, paving the path for a simpler form API.
- Patch #125804 by tostinni: search.css not always properly included.
- Patch #125804 by tostinni: search.css not always properly included.
- Patch #118183 by chx: tabs fixes.
- Patch #113603 by chx: first crack at re-implementing tabs.
- Patch #113603 by chx: first crack at re-implementing tabs.
Patch by chx. Fix search menu structure again.
#108925 by dww. Redirect to search results earlier to avoid losing the search type.
- Patch #34755 by chx et al: faster menu system. HEAD is temporary broken and there is no upgrade path yet.
#102040: Fix permissions for search/user
#102040: Fix permissions for search/user
#102040 by Jose A Reyero. Clean up search menu items, fixing .../search/user under certain permissions.
- Patch #101562 by dvessel: <p>-tag clean ups.
#100516: CSS preprocessor to cache and compress all .css files. Benchmarks show up to 40% faster page loads.
#100563: Conditional loading of (some) module.css files
- Patch #92992 by webchick and neclimdul: clean up documentation that is superseded by the new 'by module' administration dashboard.
- Patch #89285 by profix: code simplifications.
#84146: Use 'Sentence capitalization' for menu items, page titles, form items, etc
- Patch #87496 by webernet: page titles were reversed. Oops.
- Patch #87049 by edkwh, chx and hunmonk: fixed the form in the search block.
- Patch #83397 by edkwh: -> . Getting rid of super-globals.
- Patch #82465 by webchick: renamed variables in hooks for consistency.
- Patch #80952 by earl, webchick, neclimdul et al: .info files
- Patch #79622 by Dries: added views to see the most popular search terms, the most important 404s and 403s. This makes the watchdog data easier to use. Improved consistency of the 'amdminister > logs' section.
#80574 Eaton and chx. Replace $_POST['edit'] with $_POST.
- Patch #77919 by chx, eaton, moshe, et al: enable programmaticaly submitted forms via the pull model.
#76802: Introduce placeholder magic into t() See: http://drupal.org/node/64279#t-placeholders
#77183 by m3avrck and timcn, split up drupal.css by module.
- Patch #74326 by Eaton, Royboy, chx, et al: building $node->body with arrays like FAPI for viewing. Once again, we're paving the path for CCK in core ... :)
- Patch #77422 by timcn: corrected various paths in the documentation.
#76705 by paranojik, fix search configuration's menu item
#67648 by craines and pwolanin, always go to search pages for searching (particularly a problem on 404 pages)
#73884 by RobRoy, various code cleanup.
- Patch #72079 by Earl et al: give Drupal an overall administration page ... :-)
Remove useless/broken #theme statement from search_theme_form
- Patch #72284 by me: + reorganized ?q=admin/settings + deprecated the _settings hook
- Bug #72053 by erdem: added missing </li>.
- Bug #72053 by erdem: added missing </li>.
- Patch #72204 by nedjo: upper-cased all TRUE/FALSE/NULL constants.
#59944 by Zen, Forms do not function on the search page when the search form has invalid input. backport from HEAD
#59944 by Zen, Forms do not function on the search page when the search form has invalid input
#61802 by Zen, Double spaced sentences clean up
- Patch #47038 by DriesK: added a permission for advanced search.
#42508, by Egon Bianchet, Documentation: invalid xhtml syntax, backport from HEAD
#42508 by Egon Bianchet, Documentation: invalid xhtml syntax
- Remove #ref note from comments
#56921: Remove all reference magic from form api. w00t.
#58166, fixes for typos, patch by Uwe Herrmann
#56457: Allow different search forms to coexist without breaking validation
Fix search indexer link tracking after removal of base-tag.
Fix search indexer link tracking after removal of base-tag.
#56457 by chx: The search box that can be displayed by some themes (e.g. bluemarine) was not working.
#56457, unnessary trim(). patch by Zen
#56457: hook_search() form API conversion
- Search code fixes: pass right to theme('pager'), remove unnecessary db query arguments
- Removing whitespace
- #51110: Make search results page more flexible
- Patch #49799: fixed form goto problem (Today's critical bugfix #1.)
- Patch #49912: www.drupal.org -> drupal.org. (Today's critical bugfix #5.)
- Patch #48622 by adrian: remove drupal_goto from _submit functions.
- #48028: Better search form compatibility for lanky IE submission
- Patch #47300 by kumo: fixed the re-index cancelation link.
- Patch #45697 by fgm: removed some useless global.
- #42277: Make node search indexing more robust against bad nodes and timeouts.
- #44772: {} -> [] (in anticipation of PHP de-deprecation)
- #43022: 4.6 search ignored $type
- #41744: global urlencode() for menu paths
- #34826: Search results don't include last part of longer pages
Search.module: - #41897: Dead variable (remove_short) - #39117: Fix chinese search problem - Fix bug with and OR queries - Add smarter highlighting for CJK strings - Add message about minimum word length to user - Improve code comments
- Patch #39043: changing the size of the search box back to 20 ...
- Fix minimum_word_size default values
- #41402: First search pass was too greedy with short words. - Minor code simplifications in search_parse_query()
- Patch #40631 by Chris Johnson: is_array() slower than isset() or empty().
- Missing URLencode for remembering search keywords across tabs
- Missing URLencode for remembering search keywords across tabs
- Patch #40079 by Moshe: removed dead code.
- Patch #39576 by chx: rename '_execute' to '_submit' and '#execute' to '#submit'.
- Various fixes. Updated CHANGELOG.txt
- Improved consistency: "Clear Site" -> "Clear site", "Re-index Site" -> "Re-index site"
- #39137: Improve handling of preprocessor-generated words in search queries. - Improve search's default CJK tokenizer - Re-add index wipe button to admin (with confirmation) - Make default CJK tokenizer optional
#36352: Don't prefix temporary table names after all. #36658: Make search query pgsql compatible.
#36242: Array merge problems with module_invoke
- #36255: Fix db_query_temporary() in pgsql - Prefix temporary table names (helps on restricted hosts)
- Patch #26139 by webchick / Kieran / documentation team: improved admin help of core modules! /
- Patch #30930 by m3avrck/deekayen: cured PHP5 warnings.
- #22850: Search query containing / results in 404 on clean URLs.
- #28159: Advanced search features (hello from DrupalCon) Presentation about it: http://www.acko.net/files/drupal-search-slim.pdf
- Patch #33752 by chx, adrian, et al: another batch of form API changes/fixes.
- Patch #29465: new form API by Adrian et al. TODO: + The contact.module was broken; a new patch for contact.module is needed. + Documentation is needed. + The most important modules need to be updated ASAP.
- Patch #28784 by Neil: improved HTML/CSS of search form.
- Patch #25923 by robertgarrigos: fixed whitespace problem in search indexing.
- Patch #29385 by chx: no ?> add end of files.
- #27624, #27614, #27627: dead code
- #27626: Correct function name
- #27531: Leftover string_length().
- #26688: Add mbstring support to Drupal and clear up string handling fuzzies.
- Patch #25603 by Stefan: made the sizes of forms consistent. TODO: document the defaults in the PHPdoc comments.
- Patch #22786 by mathias: now that db_affected_rows() returns the number of rows matched instead of only changed we can get rid of the hacks that worked around this.
- Patch 20910 by chx: centralize print theme page.
- Fix search index not wiping on admin settings change.
- Fix search index not wiping on admin settings change.
- #4166: Respect 'access userlist' permission for profile data.
- #4166: Respect 'access userlist' permission for profile data.
- Patch #19739 by Uwe: corrected many typo's in the documentation and code comments
- #18817: Clean up plain-text checking (see drupal-devel!)
- Part of #17747 was not committed (pgsql fixes).
- Use format_plural() for search status (items left to index)
- #19063: Use module_implements instead of hand-rolled routine.
- #18434: (search) Try wildcards automatically if there were no results. - Fix missing format_plural()
#17747: PGSQL improvements
- Oops: don't show refused words message if there are none.
- Fix submissions from search boxes in themes
- Search: fix search block stretching sidebar
More search usability improvements! - Clean URLs: search/type/keywords e.g. "search/node/drupal release". The search form is POST submitted, but drupal_gotos to a GET page. This makes it easy to copy/paste search URLs, and makes the pager a lot cleaner. - Remember the search keywords when switching between the search tabs. This is done through the same GET URLs rather than the session, so it does not mess up between multiple browser tabs. - Report which keywords were ignored because they were too short. - #820: Provide search block - Treat multiple wildcards in a row as one
- Stripped white-space.
Fixing search tabs going back to "content" when searching on other tabs.
- Some search doxygen tweaks
- Readding cron note.
- Make the search settings page more user-friendly.
Tweak api.module output
Various additions, improvements and fixes to the search documentation.
- Oopsie
- Ensure word length <= 50 bytes
- #15172: Old search.module punctuation stripping error.
- Fixing duplicate rows error during indexing - Fixing broken "pagerank" detection
- Fix search excerpt highlighter marking substrings of words too + small improvements
- Updated watchod call.
- Small change
- Patch #14917 by UnConeD/Steven: 1) The different types of search, which used to be radio button options in the search form, are now subtabs of "search" (default "search/node"). This seems better from a UI point of view, but also has another advantage: modules which implement a custom search form (flexinode, project) can add it as a subtab of search. This means that all search forms will be located in the same place, and also without needing an extra api call to search.module. 2) The current code was a bit hackish, as the indexing of comments along with nodes was hardcoded in node.module. Instead, I created a nodeapi operation "update index" which allows modules to add more data for a node that is being indexed. Comments are now indexed using this mechanism and from comment.module, which is a lot cleaner. 3) The search results format was also hardcoded to include "N comments". I replaced this with a nodeapi operation "search result" and moved the comment code to comment.module where it belongs. This op is quite useful, as for example I also modified upload.module to add "N attachments" to a search result if any are present.
- Patch #13907 by Neil: less ways to set the page title. * 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.
- Removed some cruft: left-over xxx_help_page() functions.
Search: wrong parameter order on search_wipe().
- Patch #13581 by Steven: Db_query() allows a variable amount of parameters 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.
- Patch #13443 by Moshe: got rid of the semi-implemented 'page link' feature. All themes currently support primary and secondary links so page links are now deprecated. Check your contributed modules and update them accordingly.
Search.module: - Caching index statistics - Minor code cleanup
- Patch #12232 by Steven: more search improvements: + When a comment is posted, a node needs to be re-indexed. Luckily, we can use node_comment_statistics for this easily. + When a node is deleted, it should be deleted from the search index as well. + The search wipe didn't properly remove links to nodes from the index. + Section url was faulty in _help. + Minor code rearrangement.
Fixing bad UTF-8.
- Patch by Steven:
+ Display 'friendly' name rather than module name in search watchdog
messages.
+ Remove left-over from search_total table.
+ Add index wipe button to the admin
+ Moved the admin to admin/settings/search
+ Prevented menu bug when node modules update the breadcrumb in view
(thanks JonBob).
+ Changed search_total table's word key to PRIMARY.
- Patch #12232 by Steven/UnConed: search module improvements. 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.
#11440: Move search settings to admin (4.5 only, search patch will fix in HEAD).
search: Removing iso-8859-1 characters from update_index() and adding the same stripping to do_search(). This fixes the embarrasing bug of not being able to search for "4.5.0" because it is indexed as "450".
- Patch #10982 by TDobes: usability improvement: changed the link in search.module watchdog entries from "view results" to "results". This better matches watchdog entries from other modules.
- Patch #8179 by JonBob: reintroduced menu caching.
- Patch #10663 by JonBob: documentation improvements: fixed some typos and improved consistency to the use of Doxygen/api.module commands in the comments.
- Patch by JonBob: for consistency and readability, add brief descriptions of each source file inside the @file comment block at the head of the file. This helps with Doxygen indexing, and also allows neophytes to see what a file does immediately on opening the source, regardless of the organization of the hooks.
- Code improvements by Stefan: made all status messages consistent (and easier to translate).
- Backported patch #8497 to DRUPAL-4-4: check the length of keys before inserting them in the index table.
- Alternative fix for search module bug.
- Patch #8497 by JonBob: check the length of a search key before inserting it.
- More tab-improvements by JonBob: improved support for the default tabs!
Tabs patch!
CHANGES
-------
+ Introduced tabs. First, we extended the menu system to support tabs. Next, a tab was added for every link that was (1) an administrative action other than the implicit 'view' (2) relevant to that particular page only. This is illustrated by the fact that all tabs are verbs and that clicking a page's tab leads you to a subpage of that page.
+ Flattened the administration menu. The tabs helped simplify the navigation menu as I could separate 'actions' from 'navigation'. In addition, I removed the 'administer > configuration'-menu, renamed 'blocks' to 'sidebars' which I hope is a bit more descriptive, and made a couple more changes. Earlier, we already renamed 'taxonomy' to 'categorization' and we move 'statistics' under 'logs'.
+ Grouped settings. All settings have been grouped under 'administer > settings'.
TODO
----
+ Update core themes: only Xtemplate default supports tabs and even those look ugly. Need help.
+ Update contributed modules. The menu() hook changed drastically. Updating your code adhere the new menu() function should be 90% of the work. Moreover, ensure that your modue's admin links are still valid and that URLs to node get updated to the new scheme ('node/view/x' -> 'node/x').
- Patch #4950 by Stefan (and Morbus): made watchdog messages translatable.
- Fixed empty searches being performed. - Fixed empty searches being logged. - Trim whitespace from start and end of search key.
- Added support for 403 handling. Patch by JonBob. As a side benefit, administrators will be able to define a custom 403 page, just as they can define 404 pages now. This needs to be documented in the "Changes since / migrating to ..." pages.
- Patch #7088 by TDobes: fixed incorrect comment links in search results.
- Patch #7088 by TDobes: fixed incorrect comment links in search results.
- Patch by Steven: removed redundant permission checks. These are no longer required thanks to the new 404 handling.
Patch 5287 by Stefan: multiline help texts should become inside a single $output.
- Log the search terms in a new watchdog category.
- Updated code to use new semantics of url() and l().
- XHTML improvements: <b> -> <strong>. Patch by Stefan.
- Updated the calls to menu() to use MENU_HIDE instead of 1
- Tidied up the DoxyGen comments. Patch by Kjartan.
- Removed duplicated code. Reported by Goba.
- Committed phase 4 of JonBob's menu system changes.
Patch by Ax to fixe and improve to the core doxygen PHPdoc:
* fixes all doxygen warnings [#]_ in the current code base
+ changes @param style from phpDocumentor (@param type $var desc) to doxygen (@param $var desc)
+ documents all undocumented parameters
+ escapes / fixes html warnings
+ fixes @defgroup in theme.inc
* adds more groupings [#]_
+ drupal_{set|get}_title, drupal_{set|get}_breadcrumb
+ pager.inc: pager_api (pager_query(), pager_display()), pager pieces
* adds a new group "themeable" which contains all themeable functions.
- Committed phase 3 of JonBob's menu changes. Adds an API for modules to define titles and breadcrumbs for their pages, and updates the theme system to display them.
- Patch by JonBob: Phase 2 of the menu system integration project. This unifies the interface used by admin and non-admin pages, and deprecates the _page hook in favor of explicit callbacks from menu(). Breadcrumbs, titles, and help text go away as a result of this patch; they will return in the phase 3 patch, printed by the theme.
- Committed stage 2 of the theme system improvements! Patch by CodeMonkeyX.
- Usability improvement: replaced many selection boxes by radio buttons. Patch by Stefan.
- Bugfix: fixed problem with search key replacement. Patch by Kjartan.
- Committed part 3 of Michael's help system improvements: removed the $help parameter from the menu() function.
- Help system improvements: eliminated the _system hook. Patch by Michael. - Bloggerapi module fixes. Patch by Kjartan. - Coding style fixes. Patch by Michael.
- Help improvements and translation improvements from Michael. Thanks!
- Committed a partial administration page integration patch.
- Added page titles. Patch 0105 by Kendow.
- Noiseword fix. Patch by Matt. Reported by Bart.
- Patch from Matt: "The noise words description says that whitespace and line breaks will be stripped out, but the code never does any trimming. This simple patch strips the whitespace from the noise words. This probably takes care of bug #2804."