? 537828-jhodgdon.patch Index: field/field.module =================================================================== RCS file: /cvs/drupal/drupal/modules/field/field.module,v retrieving revision 1.47 diff -u -p -r1.47 field.module --- field/field.module 31 Oct 2009 18:00:48 -0000 1.47 +++ field/field.module 14 Nov 2009 01:03:23 -0000 @@ -148,7 +148,24 @@ function field_flush_caches() { function field_help($path, $arg) { switch ($path) { case 'admin/help#field': - $output = '
' . t('The Field API allows custom data fields to be attached to Drupal objects and takes care of storing, loading, editing, and rendering field data. Any object type (node, user, etc.) can use the Field API to make itself "fieldable" and thus allow fields to be attached to it.') . '
'; + $output = ''; + $output .= '' . t('The field module allows custom data fields to be attached to Drupal objects and takes care of storing, loading, editing, and rendering field data. Any object type (node, user, etc.) can use the Field API to make itself "fieldable" and thus allow fields to be attached to it.') . '
'; + $output .= '' . t('The Field SQL Storage module stores Field API data in the database. It is the default field storage module, but other field storage modules may be available in the contributions repository.') . '
'; + $output = ''; + $output .= '' . t('The field SQL storage module stores field data in the database. It is the default field storage module, but other field storage mechanisms may be available as contributed modules. (See the field module help page for more information about fields.)', array('@field-help' => url('admin/help/field'))) . '
'; return $output; } } Index: field/modules/list/list.module =================================================================== RCS file: /cvs/drupal/drupal/modules/field/modules/list/list.module,v retrieving revision 1.17 diff -u -p -r1.17 list.module --- field/modules/list/list.module 18 Oct 2009 18:46:11 -0000 1.17 +++ field/modules/list/list.module 14 Nov 2009 01:03:23 -0000 @@ -7,6 +7,19 @@ */ /** + * Implement hook_help(). + */ +function list_help($path, $arg) { + switch ($path) { + case 'admin/help#list': + $output = ''; + $output .= '' . t('The list module defines various list field types for the Field module. (See the field module help page for more information about fields.)', array('@field-help' => url('admin/help/field'))) . '
'; + return $output; + } +} + +/** * Implement hook_field_info(). */ function list_field_info() { Index: field/modules/number/number.module =================================================================== RCS file: /cvs/drupal/drupal/modules/field/modules/number/number.module,v retrieving revision 1.28 diff -u -p -r1.28 number.module --- field/modules/number/number.module 12 Nov 2009 21:03:36 -0000 1.28 +++ field/modules/number/number.module 14 Nov 2009 01:03:23 -0000 @@ -7,6 +7,19 @@ */ /** + * Implement hook_help(). + */ +function number_help($path, $arg) { + switch ($path) { + case 'admin/help#number': + $output = ''; + $output .= '' . t('The number module defines various numeric field types for the field module. (See the field module help page for more information about fields.)', array('@field-help' => url('admin/help/field'))) . '
'; + return $output; + } +} + +/** * Implement hook_theme_alter(). */ function number_theme_registry_alter(&$theme_registry) { Index: field/modules/options/options.module =================================================================== RCS file: /cvs/drupal/drupal/modules/field/modules/options/options.module,v retrieving revision 1.17 diff -u -p -r1.17 options.module --- field/modules/options/options.module 10 Nov 2009 17:27:53 -0000 1.17 +++ field/modules/options/options.module 14 Nov 2009 01:03:23 -0000 @@ -7,6 +7,19 @@ */ /** + * Implement hook_help(). + */ +function options_help($path, $arg) { + switch ($path) { + case 'admin/help#options': + $output = ''; + $output .= '' . t('The options module defines checkbox, selection, and other input widgets for the field module. (See the field module help page for more information about fields.)', array('@field-help' => url('admin/help/field'))) . '
'; + return $output; + } +} + +/** * Implement hook_theme(). */ function options_theme() { Index: field/modules/text/text.module =================================================================== RCS file: /cvs/drupal/drupal/modules/field/modules/text/text.module,v retrieving revision 1.36 diff -u -p -r1.36 text.module --- field/modules/text/text.module 11 Nov 2009 08:32:35 -0000 1.36 +++ field/modules/text/text.module 14 Nov 2009 01:03:23 -0000 @@ -7,6 +7,19 @@ */ /** + * Implement hook_help(). + */ +function text_help($path, $arg) { + switch ($path) { + case 'admin/help#text': + $output = ''; + $output .= '' . t('The text module defines various simple text field types for the field module. (See the field module help page for more information about fields.)', array('@field-help' => url('admin/help/field'))) . '
'; + return $output; + } +} + +/** * Implement hook_theme(). */ function text_theme() { Index: field_ui/field_ui.module =================================================================== RCS file: /cvs/drupal/drupal/modules/field_ui/field_ui.module,v retrieving revision 1.14 diff -u -p -r1.14 field_ui.module --- field_ui/field_ui.module 31 Oct 2009 16:06:36 -0000 1.14 +++ field_ui/field_ui.module 14 Nov 2009 01:03:23 -0000 @@ -12,15 +12,15 @@ function field_ui_help($path, $arg) { switch ($path) { case 'admin/help#field_ui': - $output = ''; - $output .= '' . t('The Field UI module provides an administrative interface for adding custom fields to content types, users, comments, and other types of data. In the case of content types, a few fields are provided by default, such as the "Summary and Body" field. The Field UI module lets administrators edit or delete the default fields attached to content, as well as create new fields for storing any additional information. Field configuration is accessible through tabs on the content types administration page. (See the node module help page for more information about content types.)', array('@content-types' => url('admin/content/types'), '@node-help' => url('admin/help/node'))) . '
'; - $output .= '' . t('When adding a custom field to a content type, you determine its type (whether it will contain text, numbers, lists, etc.) and how it will be displayed (either as a text field or text area, a select box, checkboxes, radio buttons, or an auto-complete text field). A field may have multiple values (i.e., a "person" may have multiple e-mail addresses) or a single value (i.e., an "employee" has a single employee identification number).') . '
'; - $output .= '' . t('Custom field types may be provided by additional modules. Drupal core includes the following field types:') . '
'; - $output .= '' . t('The field UI module provides an administrative interface for adding custom fields to content types, users, comments, and other types of data. (See the field module help page for more information about fields and field types.)', array('@field-help' => url('admin/help/field'))) . '
'; + $output .= '' . t('The file module defines a "managed_file" Form API field (for Drupal module developers), and a "file" field type for the field module. (See the field module help page for more information about fields.)', array('@field-help' => url('admin/help/field'))) . '
'; + return $output; + } +} + +/** * Implement hook_menu(). */ function file_menu() { Index: filter/filter.module =================================================================== RCS file: /cvs/drupal/drupal/modules/filter/filter.module,v retrieving revision 1.300 diff -u -p -r1.300 filter.module --- filter/filter.module 23 Oct 2009 22:24:14 -0000 1.300 +++ filter/filter.module 14 Nov 2009 01:03:23 -0000 @@ -12,19 +12,32 @@ function filter_help($path, $arg) { switch ($path) { case 'admin/help#filter': - $output = '' . t("The filter module allows administrators to configure text formats for use on your site. A text format defines the HTML tags, codes, and other input allowed in both content and comments, and is a key feature in guarding against potentially damaging input from malicious users. Two formats included by default are Filtered HTML (which allows only an administrator-approved subset of HTML tags) and Full HTML (which allows the full set of HTML tags). Additional formats may be created by an administrator.") . '
'; - $output .= '' . t('Each text format uses filters to manipulate text, and most formats apply several different filters to text in a specific order. Each filter is designed for a specific purpose, and generally either adds, removes or transforms elements within user-entered text before it is displayed. A filter does not change the actual content of a post, but instead, modifies it temporarily before it is displayed. A filter may remove unapproved HTML tags, for instance, while another automatically adds HTML to make links referenced in text clickable.') . '
'; - $output .= '' . t('Users with access to more than one text format can use the Text format fieldset to choose between available text formats when creating or editing multi-line content. Administrators determine the text formats available to each user role and control the order of formats listed in the Text format fieldset.') . '
'; + $output = ''; + $output .= '' . t('The filter module allows administrators to configure text formats for use on a site. A text format defines the HTML tags, codes, and other input allowed in content and comments, and is a key feature in guarding against potentially damaging input from malicious users.') . '
'; + $output .= '' . t('For more information, see the online handbook entry for Filter module.', array('@filter' => 'http://drupal.org/handbook/modules/filter/')) . '
'; return $output; + case 'admin/config/content/formats': $output = '' . t('Use the list below to review the text formats available to each user role and to control the order of formats listed in the Text format fieldset. (The Text format fieldset is displayed below textareas when users with access to more than one text format create multi-line content.) All text formats are available to users in roles with the "administer filters" permission, and the special %fallback format is available to all users. You can configure access to other text formats on the permissions page.', array('%fallback' => filter_fallback_format_title(), '@url' => url('admin/config/people/permissions', array('fragment' => 'module-filter')))) . '
'; $output .= '' . t('Since text formats, if available, are presented in the same order as the list below, and the default format for each user is the first one on the list for which that user has access, it may be helpful to arrange the formats in descending order of your preference for their use. Remember that your changes will not be saved until you click the Save changes button at the bottom of the page.') . '
'; return $output; + case 'admin/config/content/formats/%': return '' . t('Every filter performs one particular change on the user input, for example stripping out malicious HTML or making URLs clickable. Choose which filters you want to apply to text in this format. If you notice some filters are causing conflicts in the output, you can rearrange them.', array('@rearrange' => url('admin/config/content/formats/' . $arg[4] . '/order'))) . '
'; + case 'admin/config/content/formats/%/configure': return '' . t('If you cannot find the settings for a certain filter, make sure you have enabled it on the edit tab first.', array('@url' => url('admin/config/content/formats/' . $arg[4]))) . '
'; + case 'admin/config/content/formats/%/order': $output = '' . t('Because of the flexible filtering system, you might encounter a situation where one filter prevents another from doing its job. For example: a word in an URL gets converted into a glossary term, before the URL can be converted to a clickable link. When this happens, rearrange the order of the filters.') . '
'; $output .= '' . t("Filters are executed from top-to-bottom. To change the order of the filters, modify the values in the Weight column or grab a drag-and-drop handle under the Name column and drag filters to new locations in the list. (Grab a handle by clicking and holding the mouse while hovering over a handle icon.) Remember that your changes will not be saved until you click the Save configuration button at the bottom of the page.") . '
'; Index: locale/locale.module =================================================================== RCS file: /cvs/drupal/drupal/modules/locale/locale.module,v retrieving revision 1.268 diff -u -p -r1.268 locale.module --- locale/locale.module 10 Nov 2009 17:27:53 -0000 1.268 +++ locale/locale.module 14 Nov 2009 01:03:23 -0000 @@ -47,40 +47,57 @@ define('LOCALE_LANGUAGE_NEGOTIATION_SESS function locale_help($path, $arg) { switch ($path) { case 'admin/help#locale': - $output = '' . t('The locale module allows your Drupal site to be presented in languages other than the default English, a defining feature of multi-lingual websites. The locale module works by examining text as it is about to be displayed: when a translation of the text is available in the language to be displayed, the translation is displayed rather than the original text. When a translation is unavailable, the original text is displayed, and then stored for later review by a translator.') . '
'; - $output .= '' . t('Beyond translation of the Drupal interface, the locale module provides a feature set tailored to the needs of a multi-lingual site. Language negotiation allows your site to automatically change language based on the domain or path used for each request. Users may (optionally) select their preferred language on their My account page, and your site can be configured to honor a web browser\'s preferred language settings. Your site content can be created in (and translated to) any enabled language, and each post may have a language-appropriate alias for each of its translations. The locale module works in concert with the content translation module to manage translated content.', array('@content-help' => url('admin/help/translation'))) . '
'; - $output .= '' . t('Translations may be provided by:') . '
'; - $output .= '' . t('If an existing translation package does not meet your needs, the Gettext Portable Object (.po) files within a package may be modified, or new .po files may be created, using a desktop Gettext editor. The locale module\'s import feature allows the translated strings from a new or modified .po file to be added to your site. The locale module\'s export feature generates files from your site\'s translated strings, that can either be shared with others or edited offline by a Gettext translation editor.', array('@import' => url('admin/config/regional/translate/import'), '@export' => url('admin/config/regional/translate/export'))) . '
'; + $output = ''; + $output .= '' . t('The locale module allows your Drupal site to be presented in languages other than the default English, and for your Drupal site to be multi-lingual. The locale module works by examining text as it is about to be displayed. When a translation of the text is available in the language to be displayed, the translation is displayed rather than the original text. When a translation is unavailable, the original text is displayed, and then stored for later review by a translator.') . '
'; + $output .= '' . t('For more information, see the online handbook entry for Locale module.', array('@locale' => 'http://drupal.org/handbook/modules/locale/')) . '
'; return $output; + case 'admin/config/regional/language': $output = '' . t("This page provides an overview of your site's enabled languages. If multiple languages are available and enabled, the text on your site interface may be translated, registered users may select their preferred language on the My account page, and site authors may indicate a specific language when creating posts. Languages will be displayed in the order you specify in places such as the language switcher block, or the language dropdown when creating or editing posts. The site's default language is used for anonymous visitors and for users who have not selected a preferred language.") . '
'; $output .= '' . t('For each language available on the site, use the edit link to configure language details, including name, an optional language-specific path or domain, and whether the language is natively presented either left-to-right or right-to-left. These languages also appear in the Language selection when creating a post of a content type with multilingual support.') . '
'; $output .= '' . t('Use the add language page to enable additional languages (and automatically import files from a translation package, if available), the translate interface page to locate strings for manual translation, or the import page to add translations from individual .po files. A number of contributed translation packages containing .po files are available on the Drupal.org translations page.', array('@add-language' => url('admin/config/regional/language/add'), '@search' => url('admin/config/regional/translate/translate'), '@import' => url('admin/config/regional/translate/import'), '@translations' => 'http://drupal.org/project/translations')) . '
'; $output .= '' . t('Remember that your changes will not be saved until you click the Save configuration button at the bottom of the page.') . '
'; return $output; + case 'admin/config/regional/language/add': return '' . t('Add all languages to be supported by your site. If your desired language is not available in the Language name drop-down, click Custom language and provide a language code and other details manually. When providing a language code manually, be sure to enter a standardized language code, since this code may be used by browsers to determine an appropriate display language.') . '
'; + case 'admin/config/regional/language/configure': $output = '' . t("Language negotiation settings determine the site's content and presentation languages. For both language types there is a list of language detection methods which can be used to configure the desired language negotiation logic. Each detection method can be dragged to gain a higher priority, but it must be enabled to affect the language negotiation process. If a language detection method is applied then all the lower ones are ignored, otherwise the following one will be taken into account. Some lanaguage detection methods provide a configuration page to further specify their behavior. The default detection method is always applied, so anything below it is always ignored. Modifying this setting may break all incoming URLs and should be used with caution in a production environment.") . '
'; $output .= '' . t('Available options include:') .'
'; $output .= '' . t('This page provides an overview of available translatable strings. Drupal displays translatable strings in text groups; modules may define additional text groups containing other translatable strings. Because text groups provide a method of grouping related strings, they are often used to focus translation efforts on specific areas of the Drupal interface.') . '
'; $output .= '' . t('Review the languages page for more information on adding support for additional languages.', array('@languages' => url('admin/config/regional/language'))) . '
'; return $output; + case 'admin/config/regional/translate/import': $output = '' . t('This page imports the translated strings contained in an individual Gettext Portable Object (.po) file. Normally distributed as part of a translation package (each translation package may contain several .po files), a .po file may need to be imported after offline editing in a Gettext translation editor. Importing an individual .po file may be a lengthy process.') . '
'; $output .= '' . t('Note that the .po files within a translation package are imported automatically (if available) when new modules or themes are enabled, or as new languages are added. Since this page only allows the import of one .po file at a time, it may be simpler to download and extract a translation package into your Drupal installation directory and add the language (which automatically imports all .po files within the package). Translation packages are available for download on the Drupal translation page.', array('@language-add' => url('admin/config/regional/language/add'), '@translations' => 'http://drupal.org/project/translations')) . '
'; return $output; + case 'admin/config/regional/translate/export': return '' . t('This page exports the translated strings used by your site. An export file may be in Gettext Portable Object (.po) form, which includes both the original string and the translation (used to share translations with others), or in Gettext Portable Object Template (.pot) form, which includes the original strings only (used to create new translations with a Gettext translation editor).') . '
'; + case 'admin/config/regional/translate/translate': return '' . t('This page allows a translator to search for specific translated and untranslated strings, and is used when creating or editing translations. (Note: For translation tasks involving many strings, it may be more convenient to export strings for offline editing in a desktop Gettext translation editor.) Searches may be limited to strings found within a specific text group or in a specific language.', array('@export' => url('admin/config/regional/translate/export'))) . '
'; + case 'admin/structure/block/manage': if ($arg[4] == 'locale' && $arg[5] == 0) { return '' . t('This block is only shown if at least two languages are enabled and language negotiation is set to something other than None.', array('@languages' => url('admin/config/regional/language'), '@configuration' => url('admin/config/regional/language/configure'))) . '
'; Index: translation/translation.module =================================================================== RCS file: /cvs/drupal/drupal/modules/translation/translation.module,v retrieving revision 1.64 diff -u -p -r1.64 translation.module --- translation/translation.module 8 Nov 2009 10:02:41 -0000 1.64 +++ translation/translation.module 14 Nov 2009 01:03:23 -0000 @@ -31,19 +31,26 @@ define('TRANSLATION_ENABLED', 2); function translation_help($path, $arg) { switch ($path) { case 'admin/help#translation': - $output = '' . t('The content translation module allows content to be translated into different languages. Working with the locale module (which manages enabled languages and provides translation for the site interface), the content translation module is key to creating and maintaining translated site content.', array('@locale' => url('admin/help/locale'))) . '
'; - $output .= '' . t('Configuring content translation and translation-enabled content types:') . '
'; - $output .= '' . t('The content translation module allows content to be translated into different languages. Working with the locale module (which manages enabled languages and provides translation for the site interface), the content translation module is key to creating and maintaining translated site content.', array('@locale' => url('admin/help/locale'))) . '
'; + $output .= '' . t('Working with translation-enabled content types:') . '
'; - $output .= '' . t('Use the language switcher block provided by locale module to allow users to select a language. If available, both the site interface and site content are presented in the language selected.', array('@blocks' => url('admin/structure/block'))) . '
'; + $output .= '' . t('For more information, see the online handbook entry for Translation module.', array('@translation' => 'http://drupal.org/handbook/modules/translation/')) . '
'; return $output; + case 'node/%/translate': $output = '' . t('Translations of a piece of content are managed with translation sets. Each translation set has one source post and any number of translations in any of the enabled languages. All translations are tracked to be up to date or outdated based on whether the source post was modified significantly.', array('!languages' => url('admin/settings/language'))) . '
'; return $output; Index: trigger/trigger.module =================================================================== RCS file: /cvs/drupal/drupal/modules/trigger/trigger.module,v retrieving revision 1.54 diff -u -p -r1.54 trigger.module --- trigger/trigger.module 8 Nov 2009 10:02:41 -0000 1.54 +++ trigger/trigger.module 14 Nov 2009 01:03:23 -0000 @@ -15,17 +15,29 @@ function trigger_help($path, $arg) { switch ($path) { case 'admin/structure/trigger/comment': return $explanation . '' . t('Below you can assign actions to run when certain comment-related triggers happen. For example, you could promote a post to the front page when a comment is added.') . '
'; + case 'admin/structure/trigger/node': return $explanation . '' . t('Below you can assign actions to run when certain content-related triggers happen. For example, you could send an e-mail to an administrator when content is created or updated.') . '
'; + case 'admin/structure/trigger/system': return $explanation . '' . t('Below you can assign actions to run during each pass of a cron maintenance task.', array('@cron' => url('admin/reports/status'))) . '
'; + case 'admin/structure/trigger/taxonomy': return $explanation . '' . t('Below you can assign actions to run when certain taxonomy-related triggers happen. For example, you could send an e-mail to an administrator when a term is deleted.') . '
'; + case 'admin/structure/trigger/user': return $explanation . '' . t("Below you can assign actions to run when certain user-related triggers happen. For example, you could send an e-mail to an administrator when a user account is deleted.") . '
'; + case 'admin/help#trigger': - $output = '' . t('The Trigger module provides the ability to trigger actions upon system events, such as when new content is added or when a user logs in.', array('@actions' => url('admin/config/system/actions'))) . '
'; - $output .= '' . t('The combination of actions and triggers can perform many useful tasks, such as e-mailing an administrator if a user account is deleted, or automatically unpublishing comments that contain certain words. By default, there are five "contexts" of events (Comments, Content, Cron, Taxonomy, and Users), but more may be added by additional modules.') . '
'; + $output = ''; + $output .= '' . t('The trigger module provides the ability to trigger actions upon system events, such as when new content is added or when a user logs in.') . '
'; + $output .= '' . t('For more information, see the online handbook entry for Trigger module.', array('@trigger' => 'http://drupal.org/handbook/modules/trigger/')) . '
'; return $output; }