From 058971c33b8dca63fd33b188328fc3e3ec9fb372 Mon Sep 17 00:00:00 2001
From: Dries Buytaert Drupal's blog module allows registered users to maintain an online weblog (commonly known as a blog), often referred to as an online journal or diary. These can be filled with daily thoughts, poetry, boneless blabber, spiritual theories, intimate details, valuable experiences, cynical rants, semi-coherent comments, writing experiments, artistic babblings, critics on current facts, fresh insights, diverse dreams, chronicles and mumbling madness available for public consumption. Blogs are made up of individual entries (nodes) that are timestamped and are typically viewed by day as you would a diary. Blogs often contain links to things you've seen and/or agree/disagree with. A typical example of a long term blog can be seen at %scripting-com. Blogs are made up of individual entries (nodes) that are timestamped and are typically viewed by day as you would a diary. Blogs often contain links to things you've seen and/or agree/disagree with. A typical example of a long term blog can be seen at %scripting-com. The blog module adds a \"user blogs\" navigation link to the site, which takes any visitor to a page that displays the most recent blog entries from all the users on the site. Personal user menus gain a \"create a blog entry\" link (which takes you to a submission form) and a \"view personal blog\" link (which displays your blog entries as other people will see them). On the bottom of each of your own blog entries, there is an \"edit this blog entry\" link that lets you edit or delete that entry. If a user has the ability to post blogs, then the import module (news aggregator) will display a blog-it link (b) next to each news item in its lists. Click on this and you will be taken to the blog submission form, with the title, a link to the item, and a link to the source into the body text already in the text box, ready for you to add your explanation. This actively encourages people to add blog entries about things they see and hear elsewhere in the Drupal site and from your syndicated partner sites. Drupal's blog module allows registered users to maintain an online weblog (commonly known as a blog), often referred to as an online journal or diary. These can be filled with daily thoughts, poetry, boneless blabber, spiritual theories, intimate details, valuable experiences, cynical rants, semi-coherent comments, writing experiments, artistic babblings, critics on current facts, fresh insights, diverse dreams, chronicles and mumbling madness available for public consumption. Blogs are made up of individual entries (nodes) that are timestamped and are typically viewed by day as you would a diary. Blogs often contain links to things you've seen and/or agree/disagree with. A typical example of a long term blog can be seen at %scripting-com. Blogs are made up of individual entries (nodes) that are timestamped and are typically viewed by day as you would a diary. Blogs often contain links to things you've seen and/or agree/disagree with. A typical example of a long term blog can be seen at %scripting-com. The blog module adds a \"user blogs\" navigation link to the site, which takes any visitor to a page that displays the most recent blog entries from all the users on the site. Personal user menus gain a \"create a blog entry\" link (which takes you to a submission form) and a \"view personal blog\" link (which displays your blog entries as other people will see them). On the bottom of each of your own blog entries, there is an \"edit this blog entry\" link that lets you edit or delete that entry. If a user has the ability to post blogs, then the import module (news aggregator) will display a blog-it link (b) next to each news item in its lists. Click on this and you will be taken to the blog submission form, with the title, a link to the item, and a link to the source into the body text already in the text box, ready for you to add your explanation. This actively encourages people to add blog entries about things they see and hear elsewhere in the Drupal site and from your syndicated partner sites. %blogger-com, the well-known public weblog service, provides an application programing interface (API) to allow remote procedure calls (RPC) to the Blogger service. Drupal supports this %blogger-api, which means that many remote clients (e.g. %client-radio, %client-blogbuddy, %client-w_bloggar, and %client-textrouter) may post to Drupal. These clients provide a bevy of interesting capabilities like offline composing, spellcheck, and WYSIWYG editing; many folks prefer to blog with a client application over typical web forms. By supporting the Blogger API, Drupal grows grander than a web site engine, it's a content accepting machine™. The %blogger-api uses the %xml-rpc protocol for communicating with the outside world. %xml-rpc, originally developed by Dave Winer of %userland-software, is a simple XML-based RPC specification ideally suited to the web. Drupal also uses %xml-rpc for several other tasks (e.g. notifiying %weblogs-com of blog updates and making/accepting %dist-auth requests) %blogger-com, the well-known public weblog service, provides an application programing interface (API) to allow remote procedure calls (RPC) to the Blogger service. Drupal supports this %blogger-api, which means that many remote clients (e.g. %client-radio, %client-blogbuddy, %client-w_bloggar, and %client-textrouter) may post to Drupal. These clients provide a bevy of interesting capabilities like offline composing, spellcheck, and WYSIWYG editing; many folks prefer to blog with a client application over typical web forms. By supporting the Blogger API, Drupal grows grander than a web site engine, it's a content accepting machine™. The %blogger_api uses the %xml-rpc protocol for communicating with the outside world. %xml-rpc, originally developed by Dave Winer of %userland-software, is a simple XML-based RPC specification ideally suited to the web. Drupal also uses %xml-rpc for several other tasks (e.g. notifiying %weblogs-com of blog updates and making/accepting %dist-auth requests) A word of warning on the Blogger API: it is unofficial. It exists because Blogger is one of the most popular and the first service to implement an XML-RPC interface. It may not be the best implementation of a distributed weblog API. For a promising candidate, see the %echo-proj. A word of warning on the Blogger API: it is unofficial. It exists because Blogger is one of the most popular and the first service to implement an XML-RPC interface. It may not be the best implementation of a distributed weblog API. For a promising candidate, see the %echo-proj. Drupal's support for the Blogger API is quite complete. Each method with an asterisk below has been implemented in Drupal. %bloggerapi-newpostIntroduction
";
- $output .= strtr("Blogger API implementation
";
- $output .= strtr("
%bloggerapi-editpost
%bloggerapi-getuserblogs
%bloggerapi-getuserinfo
%bloggerapi-gettemplate
%bloggerapi-settemplate
%mess-225
%mess-147
To install the Blogger API module, enable the module on the %mod-config. Also make sure you have your permissions set correctly for accessing the Blogger API, the relevant settings can be found under the %user-management section in the administration pages. Check the checkbox behind the line \"access Blogger API\" for the roles that are allowed to use the Blogger API.
"; $output .= "Once the API is enabled you can download one of the above mentioned Blogger API clients and get blogging.
"; $output .= "The Drupal page you need to call in order to connect using the Blogger API is http://server/xmlrpc.php where server is the URL of the site you want to post to. As an example when posting to drupal.org, the account settings for %client-wbloggar would be: host: www.drupal.org (default = plant.blogger.com) and page: xmlrpc.php (default = /api/RPC2).
", array("%client-wbloggar" => "". t("w.bloggar") ."" )); + $output .= "The Drupal page you need to call in order to connect using the Blogger API is http://server/xmlrpc.php where server is the URL of the site you want to post to. As an example when posting to drupal.org, the account settings for %client-w_bloggar would be: host: www.drupal.org (default = plant.blogger.com) and page: xmlrpc.php (default = /api/RPC2).
"; $output .= "You can't use remote authentication when posting using a Blogger API enabled client, even when you could use that to authenticate on the site itself. You will have to use the site's local username, enter a password for that account, and then use that combination to post using the Blogger API client.
"; $output .= "The book organises content into a nested hierarchical structure. It is particularly good for manuals, Frequently Asked Questions (FAQs) and the like, allowing you to have chapters, sections, etc.
"; $output .= "A book is simply a collection of nodes that have been linked together. These nodes are usually of type book page, but you can insert nodes of any type into a book outline. Every node in the book has a parent node which \"contains\" it. This is how book.module establishes its hierarchy. At any given level in the hierarchy, a book can contain many nodes. All these sibling nodes are sorted according to the weight that you give them.
"; $output .= "A book page is a special node type that allows you to embed PHP within the body of the page. This capability is only offerred to administrators, since malicious users could abuse this power. In addiiton, book pages contain a log message field which helps your users understand the motivation behind an edit of a book page. Each edited version of a book page is stored as a new revision of a node. This capability makes it easy to revert to an old version of a page, should that be desirable.
"; - $output .= strtr("Like other node types, book submissions and edits may be subject to moderation, depending on your configuration. Similarly, books use %permissions to determine who may read and write to them. Only administrators are allowed to create new books, which are really just nodes whose parent is <root>. To include an existing node in your book, click on the \"administer\"-link in that node. At the bottom of this administration page, click on the edit book outline button. This enables you to place the node wherever you'd like within the book hierarchy. To add a new node into your book, use the %create link.
", array("%permissions" => l(t("permissions"), "admin/user/permission"), "%create" => l(t("create book page"), "node/add/book") )); - $output .= strtr("Administrators may review the hierarchy of their books by clicking on the %collaborative-book link in the adminstration pages. There, nodes may be edited, reorganized, removed from book, and deleted. This behavior may change in the future. When a parent node is deleted, it may leave behind child nodes. These nodes are now orphans. Administrators should periodically %orphans-book and reaffiliate those pages as desired. Finally, administrators may also %export-book to a single, flat HTML page which is suitable for printing.
", array( "%collaborative-book" => l(t("collaborative book"), "admin/node/book"), "%orphans-book" => l(t("review their books for orphans"), "admin/node/book/orphan"), "%export-book" => l(t("export their books"), "book/print") )); + $output .= "Like other node types, book submissions and edits may be subject to moderation, depending on your configuration. Similarly, books use %permissions to determine who may read and write to them. Only administrators are allowed to create new books, which are really just nodes whose parent is <root>. To include an existing node in your book, click on the \"administer\"-link in that node. At the bottom of this administration page, click on the edit book outline button. This enables you to place the node wherever you'd like within the book hierarchy. To add a new node into your book, use the %create link.
"; + $output .= "Administrators may review the hierarchy of their books by clicking on the %collaborative-book link in the adminstration pages. There, nodes may be edited, reorganized, removed from book, and deleted. This behavior may change in the future. When a parent node is deleted, it may leave behind child nodes. These nodes are now orphans. Administrators should periodically %orphans-book and reaffiliate those pages as desired. Finally, administrators may also %export-book to a single, flat HTML page which is suitable for printing.
"; $output .= "Collaborative books let you easily set up a Frequently Asked Questions (FAQ) section on your web site. The main benefit is that you don't have to write all the questions/answers by yourself - let the community do it for you!
"; - $output .= strtr("In order to set up the FAQ, you have to create a new book which will hold all your content. To do so, click on the %create link. Give it a thoughtful title, and body. A title like \"Estonia Travel - FAQ\" is nice. You may always edit these fields later. You will probably want to designate <root> as the parent of this page. Leave the log message and type fields blank for now. After you have submitted this book page, you are ready to begin filling up your book with questions that are frequently asked.
", array("%create" => l(t("create book page"), "node/add/book") )); + $output .= "In order to set up the FAQ, you have to create a new book which will hold all your content. To do so, click on the %create link. Give it a thoughtful title, and body. A title like \"Estonia Travel - FAQ\" is nice. You may always edit these fields later. You will probably want to designate <root> as the parent of this page. Leave the log message and type fields blank for now. After you have submitted this book page, you are ready to begin filling up your book with questions that are frequently asked.
"; $output .= "Whenever you come across a post which you want to include in your FAQ, click on the administer link. Then click on the edit book outline button at the bottom of the page. Then place the relevant post wherever is most appropriate in your book by selecting a parent. Books are quite flexible. They can have sections like Flying to Estonia, Eating in Estonia and so on. As you get more experienced with the book module, you can reorganize posts in your book so that it stays organized.
"; - $output .= strtr("Notes:
Notes:
The book organises content into a nested hierarchical structure. It is particularly good for manuals, Frequently Asked Questions (FAQs) and the like, allowing you to have chapters, sections, etc.
"; $output .= "A book is simply a collection of nodes that have been linked together. These nodes are usually of type book page, but you can insert nodes of any type into a book outline. Every node in the book has a parent node which \"contains\" it. This is how book.module establishes its hierarchy. At any given level in the hierarchy, a book can contain many nodes. All these sibling nodes are sorted according to the weight that you give them.
"; $output .= "A book page is a special node type that allows you to embed PHP within the body of the page. This capability is only offerred to administrators, since malicious users could abuse this power. In addiiton, book pages contain a log message field which helps your users understand the motivation behind an edit of a book page. Each edited version of a book page is stored as a new revision of a node. This capability makes it easy to revert to an old version of a page, should that be desirable.
"; - $output .= strtr("Like other node types, book submissions and edits may be subject to moderation, depending on your configuration. Similarly, books use %permissions to determine who may read and write to them. Only administrators are allowed to create new books, which are really just nodes whose parent is <root>. To include an existing node in your book, click on the \"administer\"-link in that node. At the bottom of this administration page, click on the edit book outline button. This enables you to place the node wherever you'd like within the book hierarchy. To add a new node into your book, use the %create link.
", array("%permissions" => l(t("permissions"), "admin/user/permission"), "%create" => l(t("create book page"), "node/add/book") )); - $output .= strtr("Administrators may review the hierarchy of their books by clicking on the %collaborative-book link in the adminstration pages. There, nodes may be edited, reorganized, removed from book, and deleted. This behavior may change in the future. When a parent node is deleted, it may leave behind child nodes. These nodes are now orphans. Administrators should periodically %orphans-book and reaffiliate those pages as desired. Finally, administrators may also %export-book to a single, flat HTML page which is suitable for printing.
", array( "%collaborative-book" => l(t("collaborative book"), "admin/node/book"), "%orphans-book" => l(t("review their books for orphans"), "admin/node/book/orphan"), "%export-book" => l(t("export their books"), "book/print") )); + $output .= "Like other node types, book submissions and edits may be subject to moderation, depending on your configuration. Similarly, books use %permissions to determine who may read and write to them. Only administrators are allowed to create new books, which are really just nodes whose parent is <root>. To include an existing node in your book, click on the \"administer\"-link in that node. At the bottom of this administration page, click on the edit book outline button. This enables you to place the node wherever you'd like within the book hierarchy. To add a new node into your book, use the %create link.
"; + $output .= "Administrators may review the hierarchy of their books by clicking on the %collaborative-book link in the adminstration pages. There, nodes may be edited, reorganized, removed from book, and deleted. This behavior may change in the future. When a parent node is deleted, it may leave behind child nodes. These nodes are now orphans. Administrators should periodically %orphans-book and reaffiliate those pages as desired. Finally, administrators may also %export-book to a single, flat HTML page which is suitable for printing.
"; $output .= "Collaborative books let you easily set up a Frequently Asked Questions (FAQ) section on your web site. The main benefit is that you don't have to write all the questions/answers by yourself - let the community do it for you!
"; - $output .= strtr("In order to set up the FAQ, you have to create a new book which will hold all your content. To do so, click on the %create link. Give it a thoughtful title, and body. A title like \"Estonia Travel - FAQ\" is nice. You may always edit these fields later. You will probably want to designate <root> as the parent of this page. Leave the log message and type fields blank for now. After you have submitted this book page, you are ready to begin filling up your book with questions that are frequently asked.
", array("%create" => l(t("create book page"), "node/add/book") )); + $output .= "In order to set up the FAQ, you have to create a new book which will hold all your content. To do so, click on the %create link. Give it a thoughtful title, and body. A title like \"Estonia Travel - FAQ\" is nice. You may always edit these fields later. You will probably want to designate <root> as the parent of this page. Leave the log message and type fields blank for now. After you have submitted this book page, you are ready to begin filling up your book with questions that are frequently asked.
"; $output .= "Whenever you come across a post which you want to include in your FAQ, click on the administer link. Then click on the edit book outline button at the bottom of the page. Then place the relevant post wherever is most appropriate in your book by selecting a parent. Books are quite flexible. They can have sections like Flying to Estonia, Eating in Estonia and so on. As you get more experienced with the book module, you can reorganize posts in your book so that it stays organized.
"; - $output .= strtr("Notes:
Notes:
When a user chooses save settings, the comments are then redisplayed using the user's new choices. Administrators can set the default settings for the comment control panel, along with other comment defaults, in %comment-config.
",array("%comment-config" => l(t("site configuration » modules » comment"), "admin/system/modules/comment") )); + $output .= "When a user chooses save settings, the comments are then redisplayed using the user's new choices. Administrators can set the default settings for the comment control panel, along with other comment defaults, in %comment-config.
"; $output .= "NOTE: When comment moderation is enabled, users will have another control panel option to control thresholds (see below).
"; $output .= "Comments behave like other user submissions in Drupal. Filters, smileys and HTML that work in nodes will also work with content. To prevent a single user from spamming the web site with too many comments, administrators can set a comment throttle in %site-config under Submission settings.
", array("%site-config" => l(t("site configuration"), "admin/system") )); - $output .= strtr("Administrators can control access to various comment module functions through %user-permissions. Know that in a new Drupal installation, all comment permissions are disabled by default. The choice of which permissions to grant to which roles (groups of users) is left up to the site administrator.
", array("%user-permissions" => l(t("user management » user permissions"), "admin/user/permission") )); + $output .= "Comments behave like other user submissions in Drupal. Filters, smileys and HTML that work in nodes will also work with content. To prevent a single user from spamming the web site with too many comments, administrators can set a comment throttle in %site-config under Submission settings.
"; + $output .= "Administrators can control access to various comment module functions through %user-permissions. Know that in a new Drupal installation, all comment permissions are disabled by default. The choice of which permissions to grant to which roles (groups of users) is left up to the site administrator.
"; $output .= "The following permissions can be enabled for anonymous users, authenticated users, or any other user roles that the administrator chooses to define:
"; $output .= "Drupal provides specific features to inform site members when new comments have been posted:
"; $output .= "On sites with active commenting from users, the administrator can turn over comment moderation to the community.
"; $output .= "With comment moderation, each comment is automatically assigned an initial rating. As users read comments, they can apply a vote which affects the comment rating. At the same time, users have an additional option in the control panel which allows them to set a threshold for the comments they wish to view. Those comments with ratings lower than the set threshold will not be shown.
"; - $output .= strtr("To enable moderation, the administrator must grant %permission permissions. Then, a number of options in %comment-moderation must be configured.
", array("%permission" => l(t("moderate comments"), "admin/user/permissions"), "%comment-moderation" => l(t("comment management » comment moderation"), "admin/comment/moderation") )); + $output .= "To enable moderation, the administrator must grant %permission permissions. Then, a number of options in %comment-moderation must be configured.
"; $output .= "The first step is to create moderation labels which allow users to rate a comment. Go to %comment-votes. In the vote field, enter the textual labels which users will see when casting their votes. Some examples are
", array("%comment-votes" => l(t("comment management » comment moderation » votes"), "admin/comment/moderation/votes") )); + $output .= "The first step is to create moderation labels which allow users to rate a comment. Go to %comment-votes. In the vote field, enter the textual labels which users will see when casting their votes. Some examples are
"; $output .= "Next go to %comment-matrix. Enter the values for the vote labels for each permission role in the vote matrix. The values entered here will be used to create the rating for each comment.
", array("%comment-matrix" => l(t("comment management » comment moderation » matrix"), "admin/comment/moderation/,atrix") )); + $output .= "Next go to %comment-matrix. Enter the values for the vote labels for each permission role in the vote matrix. The values entered here will be used to create the rating for each comment.
"; $output .= "NOTE: Comment ratings are calculated by averaging user votes with the initial rating.
"; - $output .= "In comment management » comment moderation » thresholds, you'll have to create some comment thresholds to make the comment rating system useful. When comment moderation is enabled and the thresholds are created, users will find another comment control panel option for selecting thresholds. They'll use the thresholds you enter here to filter out comments with low ratings. Consequently, you'll probably want to create more than one threshold to give users some flexibility in filtering comments.
-When creating the thresholds, note that the Minimum score is asking you for the lowest rating that a comment can have in order to be displayed.
-To see a common example of how thresholds work, you might visit Slashdot and view one of their comment boards associated with a story. You can reset the thresholds in their comment control panel.
- -Finally, you may want to enter some initial comment scores. In comment management » initial comment scores you can assign a beginning rating for all comments posted by a particular permission role. If you do not assign any initial scores, Drupal will assign a rating of 0 as the default.
"; - break; + $output .= "In %comment-thresholds, you'll have to create some comment thresholds to make the comment rating system useful. When comment moderation is enabled and the thresholds are created, users will find another comment control panel option for selecting their thresholds. They'll use the thresholds you enter here to filter out comments with low ratings. Consequently, you'll probably want to create more than one threshold to give users some flexibility in filtering comments.
"; + $output .= "When creating the thresholds, note that the Minimum score is asking you for the lowest rating that a comment can have in order to be displayed.
"; + $output .= "To see a common example of how thresholds work, you might visit %slashdot and view one of their comment boards associated with a story. You can reset the thresholds in their comment control panel.
"; + + $output .= "Finally, you may want to enter some initial comment scores. In %comment-inital you can assign a beginning rating for all comments posted by a particular permission role. If you do not assign any initial scores, Drupal will assign a rating of 0 as the default.
"; + $output = t($output, array("%comment-config" => l(t("site configuration » modules » comment"), "admin/system/modules/comment"), "%site-config" => l(t("site configuration"), "admin/system"), "%user-permissions" => l(t("user management » user permissions"), "admin/user/permission"), "%tracker" => l(t("view recent posts"), "tracker"), "%tracker-recent" => l(t("Recent activity"), "tracker"), "%download-notify" => "". t("download") ."", "%permission" => l(t("moderate comments"), "admin/user/permissions"), "%comment-moderation" => l(t("comment management » comment moderation"), "admin/comment/moderation"), "%comment-votes" => l(t("comment management » comment moderation » votes"), "admin/comment/moderation/votes"), "%comment-matrix" => l(t("comment management » comment moderation » matrix"), "admin/comment/moderation/matrix"), "%comment-thresholds" => l(t("comment management » comment moderation %raquo; thresholds"), "admin/comment/moderation/thresholds"), "%slashdot" => "\Slashdot", "%comment-inital" => l(t("comment management » initial comment scores"), "admin/comments/moderation/roles") )); + break; + case 'admin/system/modules': + $output = t("Enables user to comment on content (nodes)."); + break; + case 'admin/system/modules/comment': + $output = t("Comments can be attached to any node. Below are the settings for comments. The display comes in two types, a \"flat list\" where everything is flush to the left side, and comments come in cronological order, and a \"threaded list\" where comments to other comments are placed immediately below and slightly indented forming an outline. They also come in two styles: \"expanded\", where you see both the title and the contents, and \"collapsed\" where you only see the title. To set the default threshold you first have to set up thresholds in the %threshold area. Preview comment forces a user to look at their comment by clicking on a \"Preview\" button before they can actually add the comment. If \"New comment form\" is enabled then at the bottom of every comment page there will be a form too add a new comment.", array("%threshold" => l(t("comment management » comment moderation » thresholds"), "admin/comment/moderation/filters"))); + break; + case 'admin/comment': + $output = t("Comments let users give feedback to content authors. Here you may review/approve/deny recent comments, and configure moderation if desired."); + break; + case 'admin/comment/comments': + $output = t("Click on %nup to see your latest comments, or %queue\ to approve new comments.", array("%nup" => l(t("new or updated comments"), "admin/comment/0"), "%queue" => l(t("comment approval queue"), "admin/comment/1"))); + break; + case 'admin/comment/comments/0': + $output = t("Below is a list of the latest comments posted your site. Click on a subject to see the comment, the author's name to edit the author's user information , \"edit comment\" to edit the comment, and \"delete comment\" to remove the comment."); + break; + case 'admin/comment/comments/1': + $output = t("Below is a list of the comments posted to your site that need approval. To approve a comment click on \"edit comment\" and then change it's moderation status to Approved.When a user chooses save settings, the comments are then redisplayed using the user's new choices. Administrators can set the default settings for the comment control panel, along with other comment defaults, in %comment-config.
",array("%comment-config" => l(t("site configuration » modules » comment"), "admin/system/modules/comment") )); + $output .= "When a user chooses save settings, the comments are then redisplayed using the user's new choices. Administrators can set the default settings for the comment control panel, along with other comment defaults, in %comment-config.
"; $output .= "NOTE: When comment moderation is enabled, users will have another control panel option to control thresholds (see below).
"; $output .= "Comments behave like other user submissions in Drupal. Filters, smileys and HTML that work in nodes will also work with content. To prevent a single user from spamming the web site with too many comments, administrators can set a comment throttle in %site-config under Submission settings.
", array("%site-config" => l(t("site configuration"), "admin/system") )); - $output .= strtr("Administrators can control access to various comment module functions through %user-permissions. Know that in a new Drupal installation, all comment permissions are disabled by default. The choice of which permissions to grant to which roles (groups of users) is left up to the site administrator.
", array("%user-permissions" => l(t("user management » user permissions"), "admin/user/permission") )); + $output .= "Comments behave like other user submissions in Drupal. Filters, smileys and HTML that work in nodes will also work with content. To prevent a single user from spamming the web site with too many comments, administrators can set a comment throttle in %site-config under Submission settings.
"; + $output .= "Administrators can control access to various comment module functions through %user-permissions. Know that in a new Drupal installation, all comment permissions are disabled by default. The choice of which permissions to grant to which roles (groups of users) is left up to the site administrator.
"; $output .= "The following permissions can be enabled for anonymous users, authenticated users, or any other user roles that the administrator chooses to define:
"; $output .= "Drupal provides specific features to inform site members when new comments have been posted:
"; $output .= "On sites with active commenting from users, the administrator can turn over comment moderation to the community.
"; $output .= "With comment moderation, each comment is automatically assigned an initial rating. As users read comments, they can apply a vote which affects the comment rating. At the same time, users have an additional option in the control panel which allows them to set a threshold for the comments they wish to view. Those comments with ratings lower than the set threshold will not be shown.
"; - $output .= strtr("To enable moderation, the administrator must grant %permission permissions. Then, a number of options in %comment-moderation must be configured.
", array("%permission" => l(t("moderate comments"), "admin/user/permissions"), "%comment-moderation" => l(t("comment management » comment moderation"), "admin/comment/moderation") )); + $output .= "To enable moderation, the administrator must grant %permission permissions. Then, a number of options in %comment-moderation must be configured.
"; $output .= "The first step is to create moderation labels which allow users to rate a comment. Go to %comment-votes. In the vote field, enter the textual labels which users will see when casting their votes. Some examples are
", array("%comment-votes" => l(t("comment management » comment moderation » votes"), "admin/comment/moderation/votes") )); + $output .= "The first step is to create moderation labels which allow users to rate a comment. Go to %comment-votes. In the vote field, enter the textual labels which users will see when casting their votes. Some examples are
"; $output .= "Next go to %comment-matrix. Enter the values for the vote labels for each permission role in the vote matrix. The values entered here will be used to create the rating for each comment.
", array("%comment-matrix" => l(t("comment management » comment moderation » matrix"), "admin/comment/moderation/,atrix") )); + $output .= "Next go to %comment-matrix. Enter the values for the vote labels for each permission role in the vote matrix. The values entered here will be used to create the rating for each comment.
"; $output .= "NOTE: Comment ratings are calculated by averaging user votes with the initial rating.
"; - $output .= "In comment management » comment moderation » thresholds, you'll have to create some comment thresholds to make the comment rating system useful. When comment moderation is enabled and the thresholds are created, users will find another comment control panel option for selecting thresholds. They'll use the thresholds you enter here to filter out comments with low ratings. Consequently, you'll probably want to create more than one threshold to give users some flexibility in filtering comments.
-When creating the thresholds, note that the Minimum score is asking you for the lowest rating that a comment can have in order to be displayed.
-To see a common example of how thresholds work, you might visit Slashdot and view one of their comment boards associated with a story. You can reset the thresholds in their comment control panel.
- -Finally, you may want to enter some initial comment scores. In comment management » initial comment scores you can assign a beginning rating for all comments posted by a particular permission role. If you do not assign any initial scores, Drupal will assign a rating of 0 as the default.
"; - break; + $output .= "In %comment-thresholds, you'll have to create some comment thresholds to make the comment rating system useful. When comment moderation is enabled and the thresholds are created, users will find another comment control panel option for selecting their thresholds. They'll use the thresholds you enter here to filter out comments with low ratings. Consequently, you'll probably want to create more than one threshold to give users some flexibility in filtering comments.
"; + $output .= "When creating the thresholds, note that the Minimum score is asking you for the lowest rating that a comment can have in order to be displayed.
"; + $output .= "To see a common example of how thresholds work, you might visit %slashdot and view one of their comment boards associated with a story. You can reset the thresholds in their comment control panel.
"; + + $output .= "Finally, you may want to enter some initial comment scores. In %comment-inital you can assign a beginning rating for all comments posted by a particular permission role. If you do not assign any initial scores, Drupal will assign a rating of 0 as the default.
"; + $output = t($output, array("%comment-config" => l(t("site configuration » modules » comment"), "admin/system/modules/comment"), "%site-config" => l(t("site configuration"), "admin/system"), "%user-permissions" => l(t("user management » user permissions"), "admin/user/permission"), "%tracker" => l(t("view recent posts"), "tracker"), "%tracker-recent" => l(t("Recent activity"), "tracker"), "%download-notify" => "". t("download") ."", "%permission" => l(t("moderate comments"), "admin/user/permissions"), "%comment-moderation" => l(t("comment management » comment moderation"), "admin/comment/moderation"), "%comment-votes" => l(t("comment management » comment moderation » votes"), "admin/comment/moderation/votes"), "%comment-matrix" => l(t("comment management » comment moderation » matrix"), "admin/comment/moderation/matrix"), "%comment-thresholds" => l(t("comment management » comment moderation %raquo; thresholds"), "admin/comment/moderation/thresholds"), "%slashdot" => "\Slashdot", "%comment-inital" => l(t("comment management » initial comment scores"), "admin/comments/moderation/roles") )); + break; + case 'admin/system/modules': + $output = t("Enables user to comment on content (nodes)."); + break; + case 'admin/system/modules/comment': + $output = t("Comments can be attached to any node. Below are the settings for comments. The display comes in two types, a \"flat list\" where everything is flush to the left side, and comments come in cronological order, and a \"threaded list\" where comments to other comments are placed immediately below and slightly indented forming an outline. They also come in two styles: \"expanded\", where you see both the title and the contents, and \"collapsed\" where you only see the title. To set the default threshold you first have to set up thresholds in the %threshold area. Preview comment forces a user to look at their comment by clicking on a \"Preview\" button before they can actually add the comment. If \"New comment form\" is enabled then at the bottom of every comment page there will be a form too add a new comment.", array("%threshold" => l(t("comment management » comment moderation » thresholds"), "admin/comment/moderation/filters"))); + break; + case 'admin/comment': + $output = t("Comments let users give feedback to content authors. Here you may review/approve/deny recent comments, and configure moderation if desired."); + break; + case 'admin/comment/comments': + $output = t("Click on %nup to see your latest comments, or %queue\ to approve new comments.", array("%nup" => l(t("new or updated comments"), "admin/comment/0"), "%queue" => l(t("comment approval queue"), "admin/comment/1"))); + break; + case 'admin/comment/comments/0': + $output = t("Below is a list of the latest comments posted your site. Click on a subject to see the comment, the author's name to edit the author's user information , \"edit comment\" to edit the comment, and \"delete comment\" to remove the comment."); + break; + case 'admin/comment/comments/1': + $output = t("Below is a list of the comments posted to your site that need approval. To approve a comment click on \"edit comment\" and then change it's moderation status to Approved.The \"Drupal\" module features a capability whereby other drupal sites may call home to report their existence. In turn, this enables a pod of Drupal sites to find, cooperate and advertise each other.
"; - $output .= strtr("Currently, the main application of this feature is the %drupal-sites. By default, fresh Drupal installations can use %Drupal as their directory server and report their existence. This reporting occurs via scheduled %xml-rpc pings.
", array("%drupal-sites" => "". t("Drupal sites page") ."", "%Drupal" => "". t("drupal.org") ."", "%xml-rpc" => "". t("XLM-RPC") ."" )); - $output .= strtr("Drupal administrators should simply enable this feature to get listed on the %drupal-sites; just set your site's name, e-mail address, slogan and mission statement. Then make sure that the field called Drupal XML-RPC server on the %drupal-settings page is set to http://www.drupal.org/xmlrpc.php, and enable this feature using the dropdown directly below.
", array("%drupal-sites" => "". t("Drupal sites page") ."", "%drupal-settings" => l(t("Administration » site configuration » modules » drupal"), "admin/system/modules/drupal") )); - $output .= strtr("The listing of your site will occur shortly after your site's next %cron. Note that cron.php should be called using the domain name which you want to have listed at %Drupal. For example, don't kick off cron by requesting http://127.0.0.1/cron.php. Instead, use a publicly accessible domain name such as http://www.mydomain.org/cron.php.
", array("%cron" => l(t("cron run"), "admin/system/help#cron"), "%Drupal" => "". t("drupal.org") ."" )); + $output .= "Currently, the main application of this feature is the %drupal-sites. By default, fresh Drupal installations can use %Drupal as their directory server and report their existence. This reporting occurs via scheduled %xml-rpc pings.
"; + $output .= "Drupal administrators should simply enable this feature to get listed on the %drupal-sites; just set your site's name, e-mail address, slogan and mission statement. Then make sure that the field called Drupal XML-RPC server on the %drupal-settings page is set to http://www.drupal.org/xmlrpc.php, and enable this feature using the dropdown directly below.
"; + $output .= "The listing of your site will occur shortly after your site's next %cron. Note that cron.php should be called using the domain name which you want to have listed at %Drupal. For example, don't kick off cron by requesting http://127.0.0.1/cron.php. Instead, use a publicly accessible domain name such as http://www.mydomain.org/cron.php.
"; $output .= "Also note that your installation need not use drupal.org as its directory server. For example, this feature is perfectly capable of aggregating pings from all of your departmental drupal installations sites within an enterprise.
"; + $output .= t($output, array("%drupal-sites" => "". t("Drupal sites page") ."", "%Drupal" => "drupal.org", "%xml-rpc" => "XLM-RPC", "%drupal-settings" => l(t("Administration » site configuration » modules » drupal"), "admin/system/modules/drupal"), "%cron" => l(t("cron run"), "admin/system/help#cron") )); break; case 'admin/system/modules': - $output = "Lets users log in using a Drupal ID and can notify drupal.org about your site."; + $output = t("Lets users log in using a Drupal ID and can notify drupal.org about your site."); break; case 'admin/system/modules/drupal': - $output = strtr("Using this your Drupal site can \"call home\" and add itself to the Drupal directory. If you want it to add itself to a different directory server you can change the %Drupal-setting setting -- but the directory server has to be able to handle Drupal XML. To get a full site listing go to the %general and set:The \"Drupal\" module features a capability whereby other drupal sites may call home to report their existence. In turn, this enables a pod of Drupal sites to find, cooperate and advertise each other.
"; - $output .= strtr("Currently, the main application of this feature is the %drupal-sites. By default, fresh Drupal installations can use %Drupal as their directory server and report their existence. This reporting occurs via scheduled %xml-rpc pings.
", array("%drupal-sites" => "". t("Drupal sites page") ."", "%Drupal" => "". t("drupal.org") ."", "%xml-rpc" => "". t("XLM-RPC") ."" )); - $output .= strtr("Drupal administrators should simply enable this feature to get listed on the %drupal-sites; just set your site's name, e-mail address, slogan and mission statement. Then make sure that the field called Drupal XML-RPC server on the %drupal-settings page is set to http://www.drupal.org/xmlrpc.php, and enable this feature using the dropdown directly below.
", array("%drupal-sites" => "". t("Drupal sites page") ."", "%drupal-settings" => l(t("Administration » site configuration » modules » drupal"), "admin/system/modules/drupal") )); - $output .= strtr("The listing of your site will occur shortly after your site's next %cron. Note that cron.php should be called using the domain name which you want to have listed at %Drupal. For example, don't kick off cron by requesting http://127.0.0.1/cron.php. Instead, use a publicly accessible domain name such as http://www.mydomain.org/cron.php.
", array("%cron" => l(t("cron run"), "admin/system/help#cron"), "%Drupal" => "". t("drupal.org") ."" )); + $output .= "Currently, the main application of this feature is the %drupal-sites. By default, fresh Drupal installations can use %Drupal as their directory server and report their existence. This reporting occurs via scheduled %xml-rpc pings.
"; + $output .= "Drupal administrators should simply enable this feature to get listed on the %drupal-sites; just set your site's name, e-mail address, slogan and mission statement. Then make sure that the field called Drupal XML-RPC server on the %drupal-settings page is set to http://www.drupal.org/xmlrpc.php, and enable this feature using the dropdown directly below.
"; + $output .= "The listing of your site will occur shortly after your site's next %cron. Note that cron.php should be called using the domain name which you want to have listed at %Drupal. For example, don't kick off cron by requesting http://127.0.0.1/cron.php. Instead, use a publicly accessible domain name such as http://www.mydomain.org/cron.php.
"; $output .= "Also note that your installation need not use drupal.org as its directory server. For example, this feature is perfectly capable of aggregating pings from all of your departmental drupal installations sites within an enterprise.
"; + $output .= t($output, array("%drupal-sites" => "". t("Drupal sites page") ."", "%Drupal" => "drupal.org", "%xml-rpc" => "XLM-RPC", "%drupal-settings" => l(t("Administration » site configuration » modules » drupal"), "admin/system/modules/drupal"), "%cron" => l(t("cron run"), "admin/system/help#cron") )); break; case 'admin/system/modules': - $output = "Lets users log in using a Drupal ID and can notify drupal.org about your site."; + $output = t("Lets users log in using a Drupal ID and can notify drupal.org about your site."); break; case 'admin/system/modules/drupal': - $output = strtr("Using this your Drupal site can \"call home\" and add itself to the Drupal directory. If you want it to add itself to a different directory server you can change the %Drupal-setting setting -- but the directory server has to be able to handle Drupal XML. To get a full site listing go to the %general and set:The forum module uses taxonomy to organize itself. To create a forum you first have to create a %taxonomy. When doing this, choose a sensible name for it (such as \"fora\") and make sure under \"Types\" that \"forum\" is selected. Once you have done this, %taxo-terms to it. Each term will become a forum. If you fill in the description field, users will be given additonal information about the forum on the main forum page. For example: \"troubleshooting\" - \"Please ask your questions here.\"
", array("%taxonomy" => l(t("taxonomy vocabulary"), "admin/taxonomy/add/vocabulary"), "%taxo-terms" => l(t("add some terms"), "admin/taxonomy" ) )); - $output .= strtr("When you are happy with your vocabulary, go to ". l("site configuration » modules » forum","admin/system/modules/forum") ." and set Forum vocabulary to the one you have just created. There will now be fora active on the site. For users to access them they must have the \"access content\" %permission and to create a topic they must have the \"create forum topics\" %permission. These permissions can be set in the %permission pages.
", array("%forums" => l(t("site configutation » modules » forum"), "admin/system/modules/forum"), "%permission" => l(t("permission"), "admin/user/permission") )); + $output .= "The forum module uses taxonomy to organize itself. To create a forum you first have to create a %taxonomy. When doing this, choose a sensible name for it (such as \"fora\") and make sure under \"Types\" that \"forum\" is selected. Once you have done this, %taxo-terms to it. Each term will become a forum. If you fill in the description field, users will be given additonal information about the forum on the main forum page. For example: \"troubleshooting\" - \"Please ask your questions here.\"
"; + $output .= "When you are happy with your vocabulary, go to ". l("site configuration » modules » forum","admin/system/modules/forum") ." and set Forum vocabulary to the one you have just created. There will now be fora active on the site. For users to access them they must have the \"access content\" %permission and to create a topic they must have the \"create forum topics\" %permission. These permissions can be set in the %permission pages.
"; $output .= "To disable icons, set the icon path as blank in %forums-icon.
", array("%forums-icon" => l(t("site configuration » modules » forums"), "admin/system/module/forum") )); + $output .= "To disable icons, set the icon path as blank in %forums.
"; $output .= "All files in the icon directory are assumed to be images. You may use images of whatever size you wish, but it is recommended to use 15x15 or 16x16.
"; + $output = t($output, array("%taxonomy" => l(t("taxonomy vocabulary"), "admin/taxonomy/add/vocabulary"), "%taxo-terms" => l(t("add some terms"), "admin/taxonomy"), "%forums" => l(t("site configutation » modules » forum"), "admin/system/modules/forum"), "%permission" => l(t("permission"), "admin/user/permission") )); break; case 'admin/system/modules': - $output = "Enable threaded discussions about general topics."; + $output = t("Enable threaded discussions about general topics."); break; case 'admin/system/modules/forum': - $output = strtr("Forums are threaded discussions based on the taxonomy system so you must first %taxonomy-create of type \"forum\" to place the forum tree in. Then %taxonomy-add to this taxonomy. Each term becomes the name of a forum. If you define a term as a \"Container\" (See below) the term is not a forum itself, but rather holds forms. This lets you group your forums.", array("%taxonomy-create" => l(t("create a taxonomy"), "admin/taxonomy/add/vocabulary"), "%taxonomy" => l(t("add terms"), "admin/taxonomy") )); + $output = t("Forums are threaded discussions based on the taxonomy system so you must first %taxonomy-create of type \"forum\" to place the forum tree in. Then %taxonomy-add to this taxonomy. Each term becomes the name of a forum. If you define a term as a \"Container\" (See below) the term is not a forum itself, but rather holds forms. This lets you group your forums.", array("%taxonomy-create" => l(t("create a taxonomy"), "admin/taxonomy/add/vocabulary"), "%taxonomy" => l(t("add terms"), "admin/taxonomy") )); break; } - return t($output); + return $output; } ?> diff --git a/modules/forum/forum.module b/modules/forum/forum.module index dfa2a2ccd..99dbec746 100644 --- a/modules/forum/forum.module +++ b/modules/forum/forum.module @@ -646,21 +646,22 @@ function forum_help($section = "admin/forum/help") { case 'admin/help': case 'admin/forum/help': $output .= "The forum module uses taxonomy to organize itself. To create a forum you first have to create a %taxonomy. When doing this, choose a sensible name for it (such as \"fora\") and make sure under \"Types\" that \"forum\" is selected. Once you have done this, %taxo-terms to it. Each term will become a forum. If you fill in the description field, users will be given additonal information about the forum on the main forum page. For example: \"troubleshooting\" - \"Please ask your questions here.\"
", array("%taxonomy" => l(t("taxonomy vocabulary"), "admin/taxonomy/add/vocabulary"), "%taxo-terms" => l(t("add some terms"), "admin/taxonomy" ) )); - $output .= strtr("When you are happy with your vocabulary, go to ". l("site configuration » modules » forum","admin/system/modules/forum") ." and set Forum vocabulary to the one you have just created. There will now be fora active on the site. For users to access them they must have the \"access content\" %permission and to create a topic they must have the \"create forum topics\" %permission. These permissions can be set in the %permission pages.
", array("%forums" => l(t("site configutation » modules » forum"), "admin/system/modules/forum"), "%permission" => l(t("permission"), "admin/user/permission") )); + $output .= "The forum module uses taxonomy to organize itself. To create a forum you first have to create a %taxonomy. When doing this, choose a sensible name for it (such as \"fora\") and make sure under \"Types\" that \"forum\" is selected. Once you have done this, %taxo-terms to it. Each term will become a forum. If you fill in the description field, users will be given additonal information about the forum on the main forum page. For example: \"troubleshooting\" - \"Please ask your questions here.\"
"; + $output .= "When you are happy with your vocabulary, go to ". l("site configuration » modules » forum","admin/system/modules/forum") ." and set Forum vocabulary to the one you have just created. There will now be fora active on the site. For users to access them they must have the \"access content\" %permission and to create a topic they must have the \"create forum topics\" %permission. These permissions can be set in the %permission pages.
"; $output .= "To disable icons, set the icon path as blank in %forums-icon.
", array("%forums-icon" => l(t("site configuration » modules » forums"), "admin/system/module/forum") )); + $output .= "To disable icons, set the icon path as blank in %forums.
"; $output .= "All files in the icon directory are assumed to be images. You may use images of whatever size you wish, but it is recommended to use 15x15 or 16x16.
"; + $output = t($output, array("%taxonomy" => l(t("taxonomy vocabulary"), "admin/taxonomy/add/vocabulary"), "%taxo-terms" => l(t("add some terms"), "admin/taxonomy"), "%forums" => l(t("site configutation » modules » forum"), "admin/system/modules/forum"), "%permission" => l(t("permission"), "admin/user/permission") )); break; case 'admin/system/modules': - $output = "Enable threaded discussions about general topics."; + $output = t("Enable threaded discussions about general topics."); break; case 'admin/system/modules/forum': - $output = strtr("Forums are threaded discussions based on the taxonomy system so you must first %taxonomy-create of type \"forum\" to place the forum tree in. Then %taxonomy-add to this taxonomy. Each term becomes the name of a forum. If you define a term as a \"Container\" (See below) the term is not a forum itself, but rather holds forms. This lets you group your forums.", array("%taxonomy-create" => l(t("create a taxonomy"), "admin/taxonomy/add/vocabulary"), "%taxonomy" => l(t("add terms"), "admin/taxonomy") )); + $output = t("Forums are threaded discussions based on the taxonomy system so you must first %taxonomy-create of type \"forum\" to place the forum tree in. Then %taxonomy-add to this taxonomy. Each term becomes the name of a forum. If you define a term as a \"Container\" (See below) the term is not a forum itself, but rather holds forms. This lets you group your forums.", array("%taxonomy-create" => l(t("create a taxonomy"), "admin/taxonomy/add/vocabulary"), "%taxonomy" => l(t("add terms"), "admin/taxonomy") )); break; } - return t($output); + return $output; } ?> diff --git a/modules/help.module b/modules/help.module index abd8f242d..9a4bd5d3f 100644 --- a/modules/help.module +++ b/modules/help.module @@ -2,8 +2,11 @@ // $Id$ function help_system($field){ - $system["description"] = t("Manages displaying online help."); - return $system[$field]; + $output = ""; + + if ($field == "description") {$output = admin_help("admin/system/modules"); }; + + return $output; } function help_link($type) { @@ -26,29 +29,39 @@ function help_glossary() { $output .= "Most programs are written and documented in English, and use English to interact with users. This is also true for a great deal of web sites. However, most people are less comfortable with English than with their native language, and would prefer to use their mother tongue as much as possible. Many people love see their web site showing a lot less English, and far more of their own language.
"; $output .= "Therefore Drupal provides a framework to setup a multi-lingual web site, or to overwrite the default English texts. We explored the various alternatives to support internationalization (I18N) and decided to design the framework in such a way that the impact of internationalization on drupal's sources is minimized, modular and doesn't require a HTML or PHP wizard to maintain translations. Maintaining translations had to be simple so it became as easy as filling out forms on the administration page.
"; $output .= "The actual translation starts at the %overview page of the locale section in the administration pages. In the menu on the left under \"localization\" you will see a list of the languages you have configured. Click on the name of the language to start translating. Looking at a page full of all the strings in the site can be a bit overwhelming, so Drupal allows you to limit the strings you are working on. If you want to limit based on translated strings click \"translated strings\", if you want to limit the string based on the untranslated strings click \"untranslated strings\". Both will take you to the same page. Once there enter the string pattern to limit on, choose the language to search for, and the status, weather translated, untranslated or both, finally where you want to look, modules, specific modules, or pages.
", array("%overview" => l(t("overview"), "admin/locale") )); + $output .= "The actual translation starts at the %overview page of the locale section in the administration pages. In the menu on the left under \"localization\" you will see a list of the languages you have configured. Click on the name of the language to start translating. Looking at a page full of all the strings in the site can be a bit overwhelming, so Drupal allows you to limit the strings you are working on. If you want to limit based on translated strings click \"translated strings\", if you want to limit the string based on the untranslated strings click \"untranslated strings\". Both will take you to the same page. Once there enter the string pattern to limit on, choose the language to search for, and the status, weather translated, untranslated or both, finally where you want to look, modules, specific modules, or pages.
"; $output .= "At the locale page, users with the proper access rights will see the various texts that need translation on the left column of the table.
"; $output .= "Below the text you can see an example URI where this text shows up one your site. Chances are most of these texts will be used and displayed on more than one page, though only one example URI is presented.
"; $output .= "The second column displays the supported languages as defined in the configuration file. See below for more information on how to support new languages. If the symbol for a language is seen like this, it means that this entry still needs to be translated into that language. If not, it has been translated already.
Most programs are written and documented in English, and use English to interact with users. This is also true for a great deal of web sites. However, most people are less comfortable with English than with their native language, and would prefer to use their mother tongue as much as possible. Many people love see their web site showing a lot less English, and far more of their own language.
"; $output .= "Therefore Drupal provides a framework to setup a multi-lingual web site, or to overwrite the default English texts. We explored the various alternatives to support internationalization (I18N) and decided to design the framework in such a way that the impact of internationalization on drupal's sources is minimized, modular and doesn't require a HTML or PHP wizard to maintain translations. Maintaining translations had to be simple so it became as easy as filling out forms on the administration page.
"; $output .= "The actual translation starts at the %overview page of the locale section in the administration pages. In the menu on the left under \"localization\" you will see a list of the languages you have configured. Click on the name of the language to start translating. Looking at a page full of all the strings in the site can be a bit overwhelming, so Drupal allows you to limit the strings you are working on. If you want to limit based on translated strings click \"translated strings\", if you want to limit the string based on the untranslated strings click \"untranslated strings\". Both will take you to the same page. Once there enter the string pattern to limit on, choose the language to search for, and the status, weather translated, untranslated or both, finally where you want to look, modules, specific modules, or pages.
", array("%overview" => l(t("overview"), "admin/locale") )); + $output .= "The actual translation starts at the %overview page of the locale section in the administration pages. In the menu on the left under \"localization\" you will see a list of the languages you have configured. Click on the name of the language to start translating. Looking at a page full of all the strings in the site can be a bit overwhelming, so Drupal allows you to limit the strings you are working on. If you want to limit based on translated strings click \"translated strings\", if you want to limit the string based on the untranslated strings click \"untranslated strings\". Both will take you to the same page. Once there enter the string pattern to limit on, choose the language to search for, and the status, weather translated, untranslated or both, finally where you want to look, modules, specific modules, or pages.
"; $output .= "At the locale page, users with the proper access rights will see the various texts that need translation on the left column of the table.
"; $output .= "Below the text you can see an example URI where this text shows up one your site. Chances are most of these texts will be used and displayed on more than one page, though only one example URI is presented.
"; $output .= "The second column displays the supported languages as defined in the configuration file. See below for more information on how to support new languages. If the symbol for a language is seen like this, it means that this entry still needs to be translated into that language. If not, it has been translated already.
The core of the Drupal system is the node. All of the contents of the system are placed in nodes, or extensions of nodes."; $output .= "A base node contains:
Now that you know what is in a node, here are some of the types of nodes available.
"; + $output = t($output, array("%teaser" => l(t("click here"), "admin/system/modules/node"), "%queue" => l(t("click here"), "admin/system/modules/queue") )); + if ($mod == "admin") { foreach (module_list() as $name) { if (module_hook($name, "node") && $name != "node") { @@ -42,23 +44,24 @@ function node_help($section = "admin/node/help") { break; case 'admin/system/modules': - $output = "The core that allows content to be submitted to the site."; + $output = t("The core that allows content to be submitted to the site."); break; case 'admin/system/modules/node': - $output = "Settings for the core of Drupal. Almost everything is a node so these settings will affect most of the site."; + $output = t("Settings for the core of Drupal. Almost everything is a node so these settings will affect most of the site."); break; case 'admin/node': - $output = strtr("Below is a list of all of the nodes in your site. Other forms of content are listed elsewhere (e.g. %comment).The core of the Drupal system is the node. All of the contents of the system are placed in nodes, or extensions of nodes."; $output .= "A base node contains:
Now that you know what is in a node, here are some of the types of nodes available.
"; + $output = t($output, array("%teaser" => l(t("click here"), "admin/system/modules/node"), "%queue" => l(t("click here"), "admin/system/modules/queue") )); + if ($mod == "admin") { foreach (module_list() as $name) { if (module_hook($name, "node") && $name != "node") { @@ -42,23 +44,24 @@ function node_help($section = "admin/node/help") { break; case 'admin/system/modules': - $output = "The core that allows content to be submitted to the site."; + $output = t("The core that allows content to be submitted to the site."); break; case 'admin/system/modules/node': - $output = "Settings for the core of Drupal. Almost everything is a node so these settings will affect most of the site."; + $output = t("Settings for the core of Drupal. Almost everything is a node so these settings will affect most of the site."); break; case 'admin/node': - $output = strtr("Below is a list of all of the nodes in your site. Other forms of content are listed elsewhere (e.g. %comment).The page module is used to create a static page. Unlike a story, a static page is a persistent web page on your site which usually shortcuts the typical lifecycle of user generated content (i.e. submit -> moderate -> post -> comment). A static page is usually linked from the main navigation bar, using whatever text the author wishes. To create a static page without this navigation link, simply skip the link text field.
"; $output .= "Site pages, unlike many other forms of Drupal content, may be made of PHP code in addition to HTML and text. All Drupal objects and functions are available to a site administrator.
"; + $output = t($output); break; case 'admin/system/modules': - $output = "Enables the creation of a static pages that can be added to the navigation system."; + $output = t("Enables the creation of a static pages that can be added to the navigation system."); break; } - return t($output); + return $output; } function page_system($field) { diff --git a/modules/page/page.module b/modules/page/page.module index 204d7b8f1..5826402ac 100644 --- a/modules/page/page.module +++ b/modules/page/page.module @@ -9,14 +9,15 @@ function page_help($section = "admin/page/help") { case 'admin/page/help': $output .= "The page module is used to create a static page. Unlike a story, a static page is a persistent web page on your site which usually shortcuts the typical lifecycle of user generated content (i.e. submit -> moderate -> post -> comment). A static page is usually linked from the main navigation bar, using whatever text the author wishes. To create a static page without this navigation link, simply skip the link text field.
"; $output .= "Site pages, unlike many other forms of Drupal content, may be made of PHP code in addition to HTML and text. All Drupal objects and functions are available to a site administrator.
"; + $output = t($output); break; case 'admin/system/modules': - $output = "Enables the creation of a static pages that can be added to the navigation system."; + $output = t("Enables the creation of a static pages that can be added to the navigation system."); break; } - return t($output); + return $output; } function page_system($field) { diff --git a/modules/ping.module b/modules/ping.module index cbbe95198..5befbc36b 100644 --- a/modules/ping.module +++ b/modules/ping.module @@ -8,16 +8,17 @@ function ping_help($section = "admin/ping/help") { case 'admin/help': case 'admin/ping/help': $output .= "Drupal can pings sites automatically to notify them that your site has changed. It can ping the following sites:
"; - $output .= strtr("%weblogs, a web site that tracks and displays links to changed weblogs and news-oriented web sites. To get your Drupal site listed, weblogs.com must be informed about your site's updates. This is the job of the ping module and when installed, the administrator doesn't have to do anything to participate in the %weblogs system. The ping module automatically notifies weblogs.com when your site is updated. To do so, Drupal implements the %weblogs-XML.
", array("%weblogs" => "". t("Weblogs.com") ."", "%weblogs-XML" => "". t("XML-RPC interface of weblogs.com") ."")); - $output .= strtr("%weblogs-RSS, a web site that tracks and displays links to recently changed RSS feeds in XML format. To get your Drupal site listed, %weblogs-RSS must be informed about updates to your RSS feed. This is the job of the ping module and when installed, the administrator doesn't have to do anything to participate in the %weblogs-RSS-changes system. The ping module automatically notifies %weblogs-RSS when your site is updated.
", array("%weblogs-RSS" => "". t("Weblogs.Com for RSS") ."", "%weblogs-RSS-changes" => "". t("the weblogs.com for RSS") ."")); - $output .= strtr("%blo-gs, a directory of recently updated weblogs and tools for tracking interesting weblogs, in the spirit of services like %weblogs, %blogtracker and %blogrolling. To get your Drupal site listed, %blo-gs must be informed about your site's updates. This is the job of the ping module and when installed, the administrator doesn't have to do anything to participate in the %blo-gs system. The ping module automatically notifies blo.gs when your site is updated. To do so, Drupal implements the %blo-gs-XML.
", array("%blo-gs" => "". t("blo.gs") ."", "%weblogs" => "". t("weblogs.com") ."", "%blogtracker" => "". t("blogtracker") ."", "%blogrolling" => "". t("blogtolling.com") ."", "%blo-gs-XML" => "". t("XML-RPC interface of blo.gs") ."" )); + $output .= "%weblogs, a web site that tracks and displays links to changed weblogs and news-oriented web sites. To get your Drupal site listed, weblogs.com must be informed about your site's updates. This is the job of the ping module and when installed, the administrator doesn't have to do anything to participate in the %weblogs system. The ping module automatically notifies weblogs.com when your site is updated. To do so, Drupal implements the %weblogs-XML.
"; + $output .= "%weblogs-RSS, a web site that tracks and displays links to recently changed RSS feeds in XML format. To get your Drupal site listed, %weblogs-RSS must be informed about updates to your RSS feed. This is the job of the ping module and when installed, the administrator doesn't have to do anything to participate in the %weblogs-RSS-changes system. The ping module automatically notifies %weblogs-RSS when your site is updated.
"; + $output .= "%blo-gs, a directory of recently updated weblogs and tools for tracking interesting weblogs, in the spirit of services like %weblogs, %blogtracker and %blogrolling. To get your Drupal site listed, %blo-gs must be informed about your site's updates. This is the job of the ping module and when installed, the administrator doesn't have to do anything to participate in the %blo-gs system. The ping module automatically notifies blo.gs when your site is updated. To do so, Drupal implements the %blo-gs-XML.
"; // for optional modules that ping other sites // $output .= module_invoke_all("ping_help"); $output .= "The ping feature requires crontab.
"; + $output = t($output, array("%weblogs" => "Weblogs.com", "%weblogs-XML" => "". t("XML-RPC interface of weblogs.com") ."", "%weblogs-RSS" => "". t("Weblogs.Com for RSS") ."", "%weblogs-RSS-changes" => "". t("the weblogs.com for RSS") ."", "%blo-gs" => "blo.gs", "%blogtracker" => "blogtracker", "%blogrolling" => "blogtolling.com", "%blo-gs-XML" => "". t("XML-RPC interface of blo.gs") ."" )); break; case 'admin/system/modules': - $output = "Alerts other site(s) that your site has been updated."; + $output = t("Alerts other site(s) that your site has been updated."); break; } diff --git a/modules/ping/ping.module b/modules/ping/ping.module index cbbe95198..5befbc36b 100644 --- a/modules/ping/ping.module +++ b/modules/ping/ping.module @@ -8,16 +8,17 @@ function ping_help($section = "admin/ping/help") { case 'admin/help': case 'admin/ping/help': $output .= "Drupal can pings sites automatically to notify them that your site has changed. It can ping the following sites:
"; - $output .= strtr("%weblogs, a web site that tracks and displays links to changed weblogs and news-oriented web sites. To get your Drupal site listed, weblogs.com must be informed about your site's updates. This is the job of the ping module and when installed, the administrator doesn't have to do anything to participate in the %weblogs system. The ping module automatically notifies weblogs.com when your site is updated. To do so, Drupal implements the %weblogs-XML.
", array("%weblogs" => "". t("Weblogs.com") ."", "%weblogs-XML" => "". t("XML-RPC interface of weblogs.com") ."")); - $output .= strtr("%weblogs-RSS, a web site that tracks and displays links to recently changed RSS feeds in XML format. To get your Drupal site listed, %weblogs-RSS must be informed about updates to your RSS feed. This is the job of the ping module and when installed, the administrator doesn't have to do anything to participate in the %weblogs-RSS-changes system. The ping module automatically notifies %weblogs-RSS when your site is updated.
", array("%weblogs-RSS" => "". t("Weblogs.Com for RSS") ."", "%weblogs-RSS-changes" => "". t("the weblogs.com for RSS") ."")); - $output .= strtr("%blo-gs, a directory of recently updated weblogs and tools for tracking interesting weblogs, in the spirit of services like %weblogs, %blogtracker and %blogrolling. To get your Drupal site listed, %blo-gs must be informed about your site's updates. This is the job of the ping module and when installed, the administrator doesn't have to do anything to participate in the %blo-gs system. The ping module automatically notifies blo.gs when your site is updated. To do so, Drupal implements the %blo-gs-XML.
", array("%blo-gs" => "". t("blo.gs") ."", "%weblogs" => "". t("weblogs.com") ."", "%blogtracker" => "". t("blogtracker") ."", "%blogrolling" => "". t("blogtolling.com") ."", "%blo-gs-XML" => "". t("XML-RPC interface of blo.gs") ."" )); + $output .= "%weblogs, a web site that tracks and displays links to changed weblogs and news-oriented web sites. To get your Drupal site listed, weblogs.com must be informed about your site's updates. This is the job of the ping module and when installed, the administrator doesn't have to do anything to participate in the %weblogs system. The ping module automatically notifies weblogs.com when your site is updated. To do so, Drupal implements the %weblogs-XML.
"; + $output .= "%weblogs-RSS, a web site that tracks and displays links to recently changed RSS feeds in XML format. To get your Drupal site listed, %weblogs-RSS must be informed about updates to your RSS feed. This is the job of the ping module and when installed, the administrator doesn't have to do anything to participate in the %weblogs-RSS-changes system. The ping module automatically notifies %weblogs-RSS when your site is updated.
"; + $output .= "%blo-gs, a directory of recently updated weblogs and tools for tracking interesting weblogs, in the spirit of services like %weblogs, %blogtracker and %blogrolling. To get your Drupal site listed, %blo-gs must be informed about your site's updates. This is the job of the ping module and when installed, the administrator doesn't have to do anything to participate in the %blo-gs system. The ping module automatically notifies blo.gs when your site is updated. To do so, Drupal implements the %blo-gs-XML.
"; // for optional modules that ping other sites // $output .= module_invoke_all("ping_help"); $output .= "The ping feature requires crontab.
"; + $output = t($output, array("%weblogs" => "Weblogs.com", "%weblogs-XML" => "". t("XML-RPC interface of weblogs.com") ."", "%weblogs-RSS" => "". t("Weblogs.Com for RSS") ."", "%weblogs-RSS-changes" => "". t("the weblogs.com for RSS") ."", "%blo-gs" => "blo.gs", "%blogtracker" => "blogtracker", "%blogrolling" => "blogtolling.com", "%blo-gs-XML" => "". t("XML-RPC interface of blo.gs") ."" )); break; case 'admin/system/modules': - $output = "Alerts other site(s) that your site has been updated."; + $output = t("Alerts other site(s) that your site has been updated."); break; } diff --git a/modules/poll.module b/modules/poll.module index 74ca02e89..139f83cce 100644 --- a/modules/poll.module +++ b/modules/poll.module @@ -137,9 +137,28 @@ function poll_form(&$node, &$help, &$error) { return $output; } -function poll_help() { - $output .= "Users with the correct ". l("permissions","admin/user/permission") ." can create and/or vote on polls.
Creating a poll is much like creating any other node. Click \"create poll\" in your user box. The title of the poll should be the question, then enter the answers and the \"base\" vote counts. You can also choose the time period over which the vote will run.
The ". l("Poll", "poll") ." item in the navigation links will take you to a page where you can see all the current polls, vote on them (if you haven't already) and view the results.
"; - return t($output); +function poll_help($section = "admin/poll/help") { + $output = ""; + + switch ($section) { + + case 'admin/poll/help': + $output .= "Users with the correct %permissions can create and/or vote on polls.
"; + $output .= "Creating a poll is much like creating any other node. Click \"create poll\" in your user box. The title of the poll should be the question, then enter the answers and the \"base\" vote counts. You can also choose the time period over which the vote will run.
The %poll item in the navigation links will take you to a page where you can see all the current polls, vote on them (if you haven't already) and view the results.
"; + $output = t($output, array("%permissions" => l(t("permissions"), "admin/user/permission"), "%poll" => l(t("Poll"), "poll") )); + break; + case 'admin/system/modules': + $output = t("Enables your site to capture votes on different topics in the form of multiple choice questions."); + break; + } + + return $output; } function poll_insert($node) { @@ -244,8 +263,11 @@ function poll_perm() { } function poll_system($field){ - $system["description"] = t("Enables your site to capture votes on different topics in the form of multiple choice questions."); - return $system[$field]; + $output = ""; + + if ($field == "description") { $output = poll_help("admin/system/modules"); }; + + return $output; } function poll_teaser($node) { diff --git a/modules/poll/poll.module b/modules/poll/poll.module index 74ca02e89..139f83cce 100644 --- a/modules/poll/poll.module +++ b/modules/poll/poll.module @@ -137,9 +137,28 @@ function poll_form(&$node, &$help, &$error) { return $output; } -function poll_help() { - $output .= "Users with the correct ". l("permissions","admin/user/permission") ." can create and/or vote on polls.
Creating a poll is much like creating any other node. Click \"create poll\" in your user box. The title of the poll should be the question, then enter the answers and the \"base\" vote counts. You can also choose the time period over which the vote will run.
The ". l("Poll", "poll") ." item in the navigation links will take you to a page where you can see all the current polls, vote on them (if you haven't already) and view the results.
"; - return t($output); +function poll_help($section = "admin/poll/help") { + $output = ""; + + switch ($section) { + + case 'admin/poll/help': + $output .= "Users with the correct %permissions can create and/or vote on polls.
"; + $output .= "Creating a poll is much like creating any other node. Click \"create poll\" in your user box. The title of the poll should be the question, then enter the answers and the \"base\" vote counts. You can also choose the time period over which the vote will run.
The %poll item in the navigation links will take you to a page where you can see all the current polls, vote on them (if you haven't already) and view the results.
"; + $output = t($output, array("%permissions" => l(t("permissions"), "admin/user/permission"), "%poll" => l(t("Poll"), "poll") )); + break; + case 'admin/system/modules': + $output = t("Enables your site to capture votes on different topics in the form of multiple choice questions."); + break; + } + + return $output; } function poll_insert($node) { @@ -244,8 +263,11 @@ function poll_perm() { } function poll_system($field){ - $system["description"] = t("Enables your site to capture votes on different topics in the form of multiple choice questions."); - return $system[$field]; + $output = ""; + + if ($field == "description") { $output = poll_help("admin/system/modules"); }; + + return $output; } function poll_teaser($node) { diff --git a/modules/profile.module b/modules/profile.module index fbea78419..f3a07f3e5 100644 --- a/modules/profile.module +++ b/modules/profile.module @@ -41,13 +41,13 @@ function profile_help($section) { switch ($section) { case 'admin/system/modules': - $output = "Support for configurable user profiles."; + $output = t("Support for configurable user profiles."); break; case 'admin/system/modules/profile': - $output = strtr("When a user creates an account you can ask them to give you some extra information about themselves, as well as letting them use a small picture, called an avatar.The search page allows you to search the web site's content. You can specify multiple words, and they will all be searched for. You can also use wildcards, so 'walk*' will match 'walk', 'walking', 'walker', 'walkable' and so on. Furthermore, searches are not case sensitive so searching for 'walk', 'Walk' or 'WALK' will yield exactly the same results.
"; $output .= "Words excluded from the search"; - $output .= strtr("Words that frequently occur, typically called 'noise words', are ignored. Example words are 'a', 'at', 'and', 'are', 'as', 'how', 'where', etc. Words shorter than %number letters are also ignored.
", array("%number" => variable_get("minimum_word_size", 2))); + $output .= "Words that frequently occur, typically called 'noise words', are ignored. Example words are 'a', 'at', 'and', 'are', 'as', 'how', 'where', etc. Words shorter than %number letters are also ignored.
"; + $output = t($output, array("%number" => variable_get("minimum_word_size", 2) )); break; case 'admin/system/modules': - $output = "Enables site wide keyword searching."; + $output = t("Enables site wide keyword searching."); break; case 'admin/system/modules/search': - $output = "The search engine works by keeping an index of \"interesting\" words. To make sure we only get \"interesting\" words you need to set the following."; + $output = t("The search engine works by keeping an index of \"interesting\" words. To make sure we only get \"interesting\" words you need to set the following."); break; } return $output; diff --git a/modules/search/search.module b/modules/search/search.module index 3c98d4cc5..a3f1707f3 100644 --- a/modules/search/search.module +++ b/modules/search/search.module @@ -10,13 +10,14 @@ function search_help($section = "admin/search/help") { $output = "Search guidelines"; $output .= "The search page allows you to search the web site's content. You can specify multiple words, and they will all be searched for. You can also use wildcards, so 'walk*' will match 'walk', 'walking', 'walker', 'walkable' and so on. Furthermore, searches are not case sensitive so searching for 'walk', 'Walk' or 'WALK' will yield exactly the same results.
"; $output .= "Words excluded from the search"; - $output .= strtr("Words that frequently occur, typically called 'noise words', are ignored. Example words are 'a', 'at', 'and', 'are', 'as', 'how', 'where', etc. Words shorter than %number letters are also ignored.
", array("%number" => variable_get("minimum_word_size", 2))); + $output .= "Words that frequently occur, typically called 'noise words', are ignored. Example words are 'a', 'at', 'and', 'are', 'as', 'how', 'where', etc. Words shorter than %number letters are also ignored.
"; + $output = t($output, array("%number" => variable_get("minimum_word_size", 2) )); break; case 'admin/system/modules': - $output = "Enables site wide keyword searching."; + $output = t("Enables site wide keyword searching."); break; case 'admin/system/modules/search': - $output = "The search engine works by keeping an index of \"interesting\" words. To make sure we only get \"interesting\" words you need to set the following."; + $output = t("The search engine works by keeping an index of \"interesting\" words. To make sure we only get \"interesting\" words you need to set the following."); break; } return $output; diff --git a/modules/statistics.module b/modules/statistics.module index c847f60a1..6ce491f9c 100644 --- a/modules/statistics.module +++ b/modules/statistics.module @@ -145,24 +145,24 @@ function statistics_help($section = "admin/statistics/help") { case 'admin/help': case 'admin/statistics/help': $output .= "The statistics.module keeps track of numerous statistics for your site but be warned, statistical collection does cause a little overhead, thus everything comes disabled by default.
"; + $output .= "
The statistics.module keeps track of numerous statistics for your site but be warned, statistical collection does cause a little overhead, thus everything comes disabled by default.
"; $output .= "
The module counts how many times, and from where -- using HTTP referrer -- each of your nodes is viewed. Once we have that count the module can do the following with it:"; $output .= "
Notes on using the statistics:
"; $output .= "As with any new module, the statistics.module needs to be %modules before you can use it. Also refer to the %permissions, as this module supports four separate permissions.
", array("%modules" => l(t("enabled"), "admin/system/modules"), "%permissions" => l(t("permissions section"), "admin/user/permission") )); - $output .= strtr("This admin page shows you site-wide referrer statistics. You can see 'all' statistics, 'external' statistics or 'internal' statistics. Default is 'external'.
",array("%referers" => l(t("referrers log"), "admin.statistics/referrers") )); - $output .= strtr("This admin page gives you an at-a-glance look at your top nodes. It is useful for understanding what content on your Drupal site is the most popular. Also on this page are links to the referrer statistics for each listed node.
",array("%access" => l(t("access log"), "admin.statistics/log") )); - $output .= strtr("There are some configuration options added to the main %configuration section:
", array("%configuration" => l(t("site configuration"), "admin/system/modules/statistics") )); + $output .= "As with any new module, the statistics.module needs to be %modules before you can use it. Also refer to the %permissions, as this module supports four separate permissions.
"; + $output .= "This admin page shows you site-wide referrer statistics. You can see 'all' statistics, 'external' statistics or 'internal' statistics. Default is 'external'.
"; + $output .= "This admin page gives you an at-a-glance look at your top nodes. It is useful for understanding what content on your Drupal site is the most popular. Also on this page are links to the referrer statistics for each listed node.
"; + $output .= "There are some configuration options added to the main %configuration section:
"; $output .= "This module creates a block that can display the day's top viewed nodes, the all time top viewed nodes and the last nodes viewed. Each of these links can be enabled or disabled individually, and the number of nodes displayed for each can be configured with a drop down menu. If you disable all sections of this block, it will not appear.
"; $output .= "The administrative \"top nodes block\" screen also allows you to assign a name to the block.
"; - $output .= strtr("Don't forget to enable the block %here.
",array("%here" => l(t("here"), "admin/system/block") )); + $output .= "Don't forget to enable the block %here-block.
"; $output .= "This module creates a user page that can display summaries of the day's top viewed nodes, the all time top nodes and the last nodes viewed. Each of these summaries can be enabled or disabled individually, and the number of nodes displayed for each can be configured with a drop down menu.
"; $output .= "The administrative \"top nodes page\" screen also allows you to assign a name for the automatically generated link to the user page. If no name is set, the link will not be displayed.
"; $output .= "This module creates a block that can display how many user's and guests are currently online. You are able to configure the name of the block, the name of a sub-block for displaying names of user's currently online, how recently a user must have been active to be considered online, the maximum characters to display from a user's name and the maximum number of user names to display.
"; - $output .= strtr("Don't forget to enable the block %here.
",array("%here" => l(t("here"), "admin/system/block") )); - $output .= strtr("This module has four permissions that need to be configured in %permissions.
",array("%permissions" => l(t("user permissions"), "admin/user/permission") )); + $output .= "Don't forget to enable the block %here-block.
"; + $output .= "This module has four permissions that need to be configured in %permissions.
"; $output .= "Note: Even though the configuration for the throttle is handled by the 'throttle.module', the throttle logic itself is part of the 'statistics.module'. The configuration has been separated in order to make things easier for the average site that will not be utilizing the throttling mechanism. More information about how the throttle works can be found on the throttle.module help page. (Find the throttle help page %here if you have enabled the throttle.module).
",array ("%here" => l(t("here"), "admin/help#throttle") )); + $output .= "Note: Even though the configuration for the throttle is handled by the 'throttle.module', the throttle logic itself is part of the 'statistics.module'. The configuration has been separated in order to make things easier for the average site that will not be utilizing the throttling mechanism. More information about how the throttle works can be found on the throttle.module help page. (Find the throttle help page %here-help if you have enabled the throttle.module).
"; + $output = t($output, array("%throttle" => l(t("throttle.module"), "admin/system/modules"), "%modules" => l(t("enabled"), "admin/system/modules"), "%permissions" => l(t("permissions section"), "admin/user/permission"), "%referers" => l(t("referrers log"), "admin.statistics/referrers"), "%access" => l(t("access log"), "admin.statistics/log"), "%configuration" => l(t("site configuration"), "admin/system/modules/statistics"), "%here-block" => l(t("here"), "admin/system/block"), "%here-help" => l(t("here"), "admin/help#throttle") )); break; case 'admin/system/modules': - $output = "Logs access statistics for your site."; + $output = t("Logs access statistics for your site."); break; case 'admin/system/modules/statistics': - $output = strtr("Settings for the statistical information that Drupal will keep about the site. See %statistics for the actual information.", array("%statistics" => l(t("site statistics"),"admin/statistics") )); + $output = t("Settings for the statistical information that Drupal will keep about the site. See %statistics for the actual information.", array("%statistics" => l(t("site statistics"),"admin/statistics") )); break; case 'admin/statistics': - $output = "This page gives you an at-a-glance look at your top nodes. It is useful for understanding what content on your site is the most popular."; + $output = t("This page gives you an at-a-glance look at your top nodes. It is useful for understanding what content on your site is the most popular."); break; case 'admin/statistics/referrers': - $output = "This page shows you site-wide referrer statistics. You can see 'all referrers', 'external referrers' or 'internal referrers'. Referrers are web sites, both your site, and other peoples, that point to your web site."; + $output = t("This page shows you site-wide referrer statistics. You can see 'all referrers', 'external referrers' or 'internal referrers'. Referrers are web sites, both your site, and other peoples, that point to your web site."); break; case 'admin/statistics/referrers/internal': - $output = "This page shows you only 'internal referrers'. Links pointing to your web site, from within your web site."; + $output = t("This page shows you only 'internal referrers'. Links pointing to your web site, from within your web site."); break; case 'admin/statistics/referrers/external': - $output = "This page shows you only 'external referrers'. Links pointing to your web site from outside your web site."; + $output = t("This page shows you only 'external referrers'. Links pointing to your web site from outside your web site."); break; case 'admin/statistics/log': case 'admin/statistics/log/node': case 'admin/statistics/log/user': case 'admin/statistics/log/host': - $output = "This pages shows you who is accessing your web site. You can see the hostnames, referrers. In particular, it is easy to inspect a user's navigation history/trail by clicking on track user."; + $output = t("This pages shows you who is accessing your web site. You can see the hostnames, referrers. In particular, it is easy to inspect a user's navigation history/trail by clicking on track user."); break; case 'admin/statistics/top nodes page': - $output = "The statistics module creates a user page that can display summaries of the day's top viewed nodes, the all time top nodes and the last nodes viewed. Each of these summaries can be enabled or disabled individually, and the number of nodes displayed for each can be configured with a drop down menu."; + $output = t("The statistics module creates a user page that can display summaries of the day's top viewed nodes, the all time top nodes and the last nodes viewed. Each of these summaries can be enabled or disabled individually, and the number of nodes displayed for each can be configured with a drop down menu."); break; case 'admin/system/block/top nodes block': - $output = "The statistics module exports a block that can display the top viewed nodes of the day, the all time top viewed nodes and the last nodes viewed. Each of these links can be enabled or disabled individually, and the number of nodes displayed for each can be configured with a drop down menu. If you disable all sections of this block, it will not appear."; + $output = t("The statistics module exports a block that can display the top viewed nodes of the day, the all time top viewed nodes and the last nodes viewed. Each of these links can be enabled or disabled individually, and the number of nodes displayed for each can be configured with a drop down menu. If you disable all sections of this block, it will not appear."); break; case 'admin/system/block/whos online block': - $output = "The statistics module exports a block that can display how many user's and guests are currently online. You can configure the name of the block, the name of a sub-block for displaying names of user's currently online, how recently a user must have been active to be considered online, the maximum characters to display from a user's name and the maximum number of user names to display."; + $output = t("The statistics module exports a block that can display how many user's and guests are currently online. You can configure the name of the block, the name of a sub-block for displaying names of user's currently online, how recently a user must have been active to be considered online, the maximum characters to display from a user's name and the maximum number of user names to display."); break; } - return t($output); + return $output; } diff --git a/modules/statistics/statistics.module b/modules/statistics/statistics.module index c847f60a1..6ce491f9c 100644 --- a/modules/statistics/statistics.module +++ b/modules/statistics/statistics.module @@ -145,24 +145,24 @@ function statistics_help($section = "admin/statistics/help") { case 'admin/help': case 'admin/statistics/help': $output .= "The statistics.module keeps track of numerous statistics for your site but be warned, statistical collection does cause a little overhead, thus everything comes disabled by default.
"; + $output .= "
The statistics.module keeps track of numerous statistics for your site but be warned, statistical collection does cause a little overhead, thus everything comes disabled by default.
"; $output .= "
The module counts how many times, and from where -- using HTTP referrer -- each of your nodes is viewed. Once we have that count the module can do the following with it:"; $output .= "
Notes on using the statistics:
"; $output .= "As with any new module, the statistics.module needs to be %modules before you can use it. Also refer to the %permissions, as this module supports four separate permissions.
", array("%modules" => l(t("enabled"), "admin/system/modules"), "%permissions" => l(t("permissions section"), "admin/user/permission") )); - $output .= strtr("This admin page shows you site-wide referrer statistics. You can see 'all' statistics, 'external' statistics or 'internal' statistics. Default is 'external'.
",array("%referers" => l(t("referrers log"), "admin.statistics/referrers") )); - $output .= strtr("This admin page gives you an at-a-glance look at your top nodes. It is useful for understanding what content on your Drupal site is the most popular. Also on this page are links to the referrer statistics for each listed node.
",array("%access" => l(t("access log"), "admin.statistics/log") )); - $output .= strtr("There are some configuration options added to the main %configuration section:
", array("%configuration" => l(t("site configuration"), "admin/system/modules/statistics") )); + $output .= "As with any new module, the statistics.module needs to be %modules before you can use it. Also refer to the %permissions, as this module supports four separate permissions.
"; + $output .= "This admin page shows you site-wide referrer statistics. You can see 'all' statistics, 'external' statistics or 'internal' statistics. Default is 'external'.
"; + $output .= "This admin page gives you an at-a-glance look at your top nodes. It is useful for understanding what content on your Drupal site is the most popular. Also on this page are links to the referrer statistics for each listed node.
"; + $output .= "There are some configuration options added to the main %configuration section:
"; $output .= "This module creates a block that can display the day's top viewed nodes, the all time top viewed nodes and the last nodes viewed. Each of these links can be enabled or disabled individually, and the number of nodes displayed for each can be configured with a drop down menu. If you disable all sections of this block, it will not appear.
"; $output .= "The administrative \"top nodes block\" screen also allows you to assign a name to the block.
"; - $output .= strtr("Don't forget to enable the block %here.
",array("%here" => l(t("here"), "admin/system/block") )); + $output .= "Don't forget to enable the block %here-block.
"; $output .= "This module creates a user page that can display summaries of the day's top viewed nodes, the all time top nodes and the last nodes viewed. Each of these summaries can be enabled or disabled individually, and the number of nodes displayed for each can be configured with a drop down menu.
"; $output .= "The administrative \"top nodes page\" screen also allows you to assign a name for the automatically generated link to the user page. If no name is set, the link will not be displayed.
"; $output .= "This module creates a block that can display how many user's and guests are currently online. You are able to configure the name of the block, the name of a sub-block for displaying names of user's currently online, how recently a user must have been active to be considered online, the maximum characters to display from a user's name and the maximum number of user names to display.
"; - $output .= strtr("Don't forget to enable the block %here.
",array("%here" => l(t("here"), "admin/system/block") )); - $output .= strtr("This module has four permissions that need to be configured in %permissions.
",array("%permissions" => l(t("user permissions"), "admin/user/permission") )); + $output .= "Don't forget to enable the block %here-block.
"; + $output .= "This module has four permissions that need to be configured in %permissions.
"; $output .= "Note: Even though the configuration for the throttle is handled by the 'throttle.module', the throttle logic itself is part of the 'statistics.module'. The configuration has been separated in order to make things easier for the average site that will not be utilizing the throttling mechanism. More information about how the throttle works can be found on the throttle.module help page. (Find the throttle help page %here if you have enabled the throttle.module).
",array ("%here" => l(t("here"), "admin/help#throttle") )); + $output .= "Note: Even though the configuration for the throttle is handled by the 'throttle.module', the throttle logic itself is part of the 'statistics.module'. The configuration has been separated in order to make things easier for the average site that will not be utilizing the throttling mechanism. More information about how the throttle works can be found on the throttle.module help page. (Find the throttle help page %here-help if you have enabled the throttle.module).
"; + $output = t($output, array("%throttle" => l(t("throttle.module"), "admin/system/modules"), "%modules" => l(t("enabled"), "admin/system/modules"), "%permissions" => l(t("permissions section"), "admin/user/permission"), "%referers" => l(t("referrers log"), "admin.statistics/referrers"), "%access" => l(t("access log"), "admin.statistics/log"), "%configuration" => l(t("site configuration"), "admin/system/modules/statistics"), "%here-block" => l(t("here"), "admin/system/block"), "%here-help" => l(t("here"), "admin/help#throttle") )); break; case 'admin/system/modules': - $output = "Logs access statistics for your site."; + $output = t("Logs access statistics for your site."); break; case 'admin/system/modules/statistics': - $output = strtr("Settings for the statistical information that Drupal will keep about the site. See %statistics for the actual information.", array("%statistics" => l(t("site statistics"),"admin/statistics") )); + $output = t("Settings for the statistical information that Drupal will keep about the site. See %statistics for the actual information.", array("%statistics" => l(t("site statistics"),"admin/statistics") )); break; case 'admin/statistics': - $output = "This page gives you an at-a-glance look at your top nodes. It is useful for understanding what content on your site is the most popular."; + $output = t("This page gives you an at-a-glance look at your top nodes. It is useful for understanding what content on your site is the most popular."); break; case 'admin/statistics/referrers': - $output = "This page shows you site-wide referrer statistics. You can see 'all referrers', 'external referrers' or 'internal referrers'. Referrers are web sites, both your site, and other peoples, that point to your web site."; + $output = t("This page shows you site-wide referrer statistics. You can see 'all referrers', 'external referrers' or 'internal referrers'. Referrers are web sites, both your site, and other peoples, that point to your web site."); break; case 'admin/statistics/referrers/internal': - $output = "This page shows you only 'internal referrers'. Links pointing to your web site, from within your web site."; + $output = t("This page shows you only 'internal referrers'. Links pointing to your web site, from within your web site."); break; case 'admin/statistics/referrers/external': - $output = "This page shows you only 'external referrers'. Links pointing to your web site from outside your web site."; + $output = t("This page shows you only 'external referrers'. Links pointing to your web site from outside your web site."); break; case 'admin/statistics/log': case 'admin/statistics/log/node': case 'admin/statistics/log/user': case 'admin/statistics/log/host': - $output = "This pages shows you who is accessing your web site. You can see the hostnames, referrers. In particular, it is easy to inspect a user's navigation history/trail by clicking on track user."; + $output = t("This pages shows you who is accessing your web site. You can see the hostnames, referrers. In particular, it is easy to inspect a user's navigation history/trail by clicking on track user."); break; case 'admin/statistics/top nodes page': - $output = "The statistics module creates a user page that can display summaries of the day's top viewed nodes, the all time top nodes and the last nodes viewed. Each of these summaries can be enabled or disabled individually, and the number of nodes displayed for each can be configured with a drop down menu."; + $output = t("The statistics module creates a user page that can display summaries of the day's top viewed nodes, the all time top nodes and the last nodes viewed. Each of these summaries can be enabled or disabled individually, and the number of nodes displayed for each can be configured with a drop down menu."); break; case 'admin/system/block/top nodes block': - $output = "The statistics module exports a block that can display the top viewed nodes of the day, the all time top viewed nodes and the last nodes viewed. Each of these links can be enabled or disabled individually, and the number of nodes displayed for each can be configured with a drop down menu. If you disable all sections of this block, it will not appear."; + $output = t("The statistics module exports a block that can display the top viewed nodes of the day, the all time top viewed nodes and the last nodes viewed. Each of these links can be enabled or disabled individually, and the number of nodes displayed for each can be configured with a drop down menu. If you disable all sections of this block, it will not appear."); break; case 'admin/system/block/whos online block': - $output = "The statistics module exports a block that can display how many user's and guests are currently online. You can configure the name of the block, the name of a sub-block for displaying names of user's currently online, how recently a user must have been active to be considered online, the maximum characters to display from a user's name and the maximum number of user names to display."; + $output = t("The statistics module exports a block that can display how many user's and guests are currently online. You can configure the name of the block, the name of a sub-block for displaying names of user's currently online, how recently a user must have been active to be considered online, the maximum characters to display from a user's name and the maximum number of user names to display."); break; } - return t($output); + return $output; } diff --git a/modules/story.module b/modules/story.module index 51a84fea5..0b58aff63 100644 --- a/modules/story.module +++ b/modules/story.module @@ -2,26 +2,32 @@ // $Id$ function story_help($section = "admin/story/help") { + $output = ""; + switch ($section) { case "admin/system/modules": - $output = "Enables users to submit stories, articles or similar content."; + $output = t("Enables users to submit stories, articles or similar content."); break; case "admin/system/modules/story": - $output = "Stories are like newspaper articles. They tend to follow a publishing flow of submit -> moderate -> post to the main page -> comments. Below you may fix a minimum word count for stories and also write some submission or content guidelines for users wanting to post a story."; + $output = t("Stories are like newspaper articles. They tend to follow a publishing flow of submit -> moderate -> post to the main page -> comments. Below you may fix a minimum word count for stories and also write some submission or content guidelines for users wanting to post a story."); break; case "admin/story/help": $output = "The story module lets your users submit articles for consideration by the rest of the community, who can vote on them if moderation is enabled. Stories usually follow a publishing flow of submit -> moderate -> post to the main page -> comments. Administrators are able to shortcut this flow as desired.
"; - $output .= "In ". l("site configuration >> modules >> story", "admin/system/modules/story") ." you can set up an introductory text for story authors, and a floor on the number of words which may be included in a story. This is designed to help discourage the submission of trivially short stories."; + $output .= "In %story-config you can set up an introductory text for story authors, and a floor on the number of words which may be included in a story. This is designed to help discourage the submission of trivially short stories."; + $output = t($output, array("%story-config" => l(t("site configuration » modules » story"), "admin/system/modules/story") )); break; } - return t($output); + return $output; } function story_system($field){ - $system["description"] = story_help("admin/system/modules"); - $system["admin_help"] = story_help("admin/system/modules/story"); - return $system[$field]; + $output = ""; + + if ($field == "description") { $output = story_help("admin/system/modules"); } + else if ($field == "admin_help") { $output = story_help("admin/system/modules/story"); }; + + return $output; } function story_settings() { diff --git a/modules/story/story.module b/modules/story/story.module index 51a84fea5..0b58aff63 100644 --- a/modules/story/story.module +++ b/modules/story/story.module @@ -2,26 +2,32 @@ // $Id$ function story_help($section = "admin/story/help") { + $output = ""; + switch ($section) { case "admin/system/modules": - $output = "Enables users to submit stories, articles or similar content."; + $output = t("Enables users to submit stories, articles or similar content."); break; case "admin/system/modules/story": - $output = "Stories are like newspaper articles. They tend to follow a publishing flow of submit -> moderate -> post to the main page -> comments. Below you may fix a minimum word count for stories and also write some submission or content guidelines for users wanting to post a story."; + $output = t("Stories are like newspaper articles. They tend to follow a publishing flow of submit -> moderate -> post to the main page -> comments. Below you may fix a minimum word count for stories and also write some submission or content guidelines for users wanting to post a story."); break; case "admin/story/help": $output = "The story module lets your users submit articles for consideration by the rest of the community, who can vote on them if moderation is enabled. Stories usually follow a publishing flow of submit -> moderate -> post to the main page -> comments. Administrators are able to shortcut this flow as desired.
"; - $output .= "In ". l("site configuration >> modules >> story", "admin/system/modules/story") ." you can set up an introductory text for story authors, and a floor on the number of words which may be included in a story. This is designed to help discourage the submission of trivially short stories."; + $output .= "In %story-config you can set up an introductory text for story authors, and a floor on the number of words which may be included in a story. This is designed to help discourage the submission of trivially short stories."; + $output = t($output, array("%story-config" => l(t("site configuration » modules » story"), "admin/system/modules/story") )); break; } - return t($output); + return $output; } function story_system($field){ - $system["description"] = story_help("admin/system/modules"); - $system["admin_help"] = story_help("admin/system/modules/story"); - return $system[$field]; + $output = ""; + + if ($field == "description") { $output = story_help("admin/system/modules"); } + else if ($field == "admin_help") { $output = story_help("admin/system/modules/story"); }; + + return $output; } function story_settings() { diff --git a/modules/system.module b/modules/system.module index 04a12e976..180b239bc 100644 --- a/modules/system.module +++ b/modules/system.module @@ -2,27 +2,30 @@ // $Id$ function system_help($section = "admin/system/help") { + $output = ""; + switch ($section) { case "admin/system": - $output = "General configuration options for your site. Set up the name of the site, e-mail address used in mail-outs, clean URL options, caching, etc."; + $output = t("General configuration options for your site. Set up the name of the site, e-mail address used in mail-outs, clean URL options, caching, etc."); break; case "admin/system/themes": - $output = "Select which themes are available to your users and specify the default theme."; + $output = t("Select which themes are available to your users and specify the default theme."); break; case "admin/system/modules": - $output = "Modules are plugins for Drupal that extend its core functionality. Here you can select which modules are enabled. On the left hand side click on the name of the module for their individual configurations. Once a module is enabled, you will need to grant permissions to users in user management."; + $output = t("Modules are plugins for Drupal that extend its core functionality. Here you can select which modules are enabled. On the left hand side click on the name of the module for their individual configurations. Once a module is enabled, you will need to grant permissions to users in user management."); break; case "admin/system/filters": - $output = "Filters fit between the raw text in a node and the HTML output. They allow you to replace text selectively. Uses include automatic conversion of emoticons into graphics and filtering HTML content from users' submissions."; + $output = t("Filters fit between the raw text in a node and the HTML output. They allow you to replace text selectively. Uses include automatic conversion of emoticons into graphics and filtering HTML content from users' submissions."); break; case "admin/system/help": $output .= "Drupal comes with system-wide defaults but the setting-module provides control over many Drupal preferences, behaviours including visual and operational settings.
"; $output .= "Drupal comes with system-wide defaults but the setting-module provides control over many Drupal preferences, behaviours including visual and operational settings.
"; $output .= "Taxonomy is the study of classification. Drupal's taxonomy module allows you to define categories which are used to classify content. The module supports hierarchical classification and association between terms, allowing for truly flexible information retrieval and classification. For more details about classification types and insight into the development of the taxonomy.module, see this drupal.org discussion.
"; + $output .= "Taxonomy is the study of classification. Drupal's taxonomy module allows you to define categories which are used to classify content. The module supports hierarchical classification and association between terms, allowing for truly flexible information retrieval and classification. For more details about %classification-types and insight into the development of the taxonomy.module, see this %drupal-dis.
"; $output .= "Notes
When you create a controlled vocabulary you are creating a set of terms to use for describing content (known as descriptors in indexing lingo). Drupal allows you to describe each node of content (blog, story, etc.) using one or many of these terms. For simple implementations, you might create a set of categories without subcategories, similar to Slashdot's sections. For more complex implementations, you might create a hierarchical list of categories such as Food taxonomy shown above.
"; + $output .= "When you create a controlled vocabulary you are creating a set of terms to use for describing content (known as descriptors in indexing lingo). Drupal allows you to describe each node of content (blog, story, etc.) using one or many of these terms. For simple implementations, you might create a set of categories without subcategories, similar to %slashdot's sections. For more complex implementations, you might create a hierarchical list of categories such as Food taxonomy shown above.
"; $output .= "When setting up a controlled vocabulary, if you select the hierarchy option, you will be defining a taxonomy or a thesaurus. If you select the related terms option, you are allowing the definition of related terms, think see also, as in a thesaurus. Selecting multiple select will allow you to describe a node using more than one term. That node will then appear in each term's page, thus increasing the chance that a user will find it.
"; - $output .= "When setting up a controlled vocabulary you are asked for:
When setting up a controlled vocabulary you are asked for:
Once done defining the vocabulary, you have to add terms to it to make it useful. The options you see when adding a term to a vocabulary will depend on what you selected for related terms, hierarchy and multiple select. These options are:
"; - $output .= "In order to view the nodes associated with a term or a collection of terms, you should browse to a properly formed Taxonomy URL. For example, ". l("taxonomy/page/or/1,2","taxonomy/pages/or/1,2") .". Taxonomy URLs always contain one or more term IDs (tid) at the end of the URL (a.k.a the querystring). You may learn the term ID for a given term by hovering over that term in the ". l("taxonomy overview", "admin/taxonomy") ." page and noting the number at the end or the URL. To build a Taxonomy URL start with \"taxonomy/page\". Now add the querystring parameter, either or, which chooses nodes tagged with any of the given term IDs, or and, which chooses nodes tagged with all of the given Term IDs. Thus or is less specific than and. Finally add a comma seperated list of term IDs.
"; - $output .= "Every term, or collection of terms, provides an RSS feed to which interested users may subscribe. The URL format for a sample RSS feed is ". l("node/feed/or/1,2","node/feed/or/1,2") .". Built like a Taxonomy URL, ". l("see above", "admin/taxonomy/help#taxonomyURL") ." it starts with \"node/feed\", then has the querystring parameter, and finally the Term IDs.
"; + $output .= "In order to view the nodes associated with a term or a collection of terms, you should browse to a properly formed Taxonomy URL. For example, %taxo-example. Taxonomy URLs always contain one or more term IDs (tid) at the end of the URL (a.k.a the querystring). You may learn the term ID for a given term by hovering over that term in the %taxo-overview page and noting the number at the end or the URL. To build a Taxonomy URL start with \"taxonomy/page\". Now add the querystring parameter, either or, which chooses nodes tagged with any of the given term IDs, or and, which chooses nodes tagged with all of the given Term IDs. Thus or is less specific than and. Finally add a comma seperated list of term IDs.
"; + $output .= "Every term, or collection of terms, provides an %userland-rss feed to which interested users may subscribe. The URL format for a sample RSS feed is %sample-rss. Built like a Taxonomy URL, %taxo-help it starts with \"node/feed\", then has the querystring parameter, and finally the Term IDs.
"; + $output = t($output, array("%classification-types" => "classification types", "%drupal-dis" => "drupal.org discussion", "%slashdot" => "Slashdot", "%taxo-example" => l("taxonomy/page/or/1,2", "taxonomy/page/or/1,2"), "taxo-overview" => l(t("taxonomy overview"), "admin/taxonomy"), "%userland-rss" => "RSS", "sample-rss" => l("node/feed/or/1,2", "node/feed/or/1,2"), "taxo-help" => l(t("see above"), "admin/taxonomy/help#yaxonomyURL") )); break; } - return t($output); + + return $output; } ?> diff --git a/modules/taxonomy/taxonomy.module b/modules/taxonomy/taxonomy.module index 2627dc9dd..0d90266ef 100644 --- a/modules/taxonomy/taxonomy.module +++ b/modules/taxonomy/taxonomy.module @@ -2,8 +2,11 @@ // $Id$ function taxonomy_system($field){ - $system["description"] = taxonomy_help("admin/system/modules"); - return $system[$field]; + $output = ""; + + if ($field == "description") {$output = taxonomy_help("admin/system/modules"); }; + + return $output; } function taxonomy_feed($taxonomy) { @@ -801,30 +804,48 @@ function taxonomy_admin() { } function taxonomy_help($section = "admin/taxonomy/help") { + $output = ""; switch ($section) { case "admin/system/modules": - $output = "Enables the organization of content into categories."; + $output = t("Enables the organization of content into categories."); break; case "admin/taxonomy": - $output = "The taxonomy module allows you to classify content into categories and subcategories; it allows multiple lists of categories for classification (controlled vocabularies) and offers the possibility of creating thesauri (controlled vocabularies that indicate the relationship of terms) and taxonomies (controlled vocabularies where relationships are indicated hierarchically). To delete a term choose \"edit term\". To delete a vocabulary, and all its terms, choose \"edit vocabulary\"."; + $output = t("The taxonomy module allows you to classify content into categories and subcategories; it allows multiple lists of categories for classification (controlled vocabularies) and offers the possibility of creating thesauri (controlled vocabularies that indicate the relationship of terms) and taxonomies (controlled vocabularies where relationships are indicated hierarchically). To delete a term choose \"edit term\". To delete a vocabulary, and all its terms, choose \"edit vocabulary\"."); break; case "admin/taxonomy/add/vocabulary": - $output ="When you create a controlled vocabulary you are creating a set of terms to use for describing content (known as descriptors in indexing lingo). Drupal allows you to describe each node type (blog, story, etc.) using one or many of these terms. For simple implementations, you might create a set of categories without subcategories, similar to Slashdot.org's or Kuro5hin.org's sections. For more complex implementations, you might create a hierarchical list of categories."; + $output = t("When you create a controlled vocabulary you are creating a set of terms to use for describing content (known as descriptors in indexing lingo). Drupal allows you to describe each node type (blog, story, etc.) using one or many of these terms. For simple implementations, you might create a set of categories without subcategories, similar to Slashdot.org's or Kuro5hin.org's sections. For more complex implementations, you might create a hierarchical list of categories."); break; case "admin/taxonomy/help": - $output .= "Taxonomy is the study of classification. Drupal's taxonomy module allows you to define categories which are used to classify content. The module supports hierarchical classification and association between terms, allowing for truly flexible information retrieval and classification. For more details about classification types and insight into the development of the taxonomy.module, see this drupal.org discussion.
"; + $output .= "Taxonomy is the study of classification. Drupal's taxonomy module allows you to define categories which are used to classify content. The module supports hierarchical classification and association between terms, allowing for truly flexible information retrieval and classification. For more details about %classification-types and insight into the development of the taxonomy.module, see this %drupal-dis.
"; $output .= "Notes
When you create a controlled vocabulary you are creating a set of terms to use for describing content (known as descriptors in indexing lingo). Drupal allows you to describe each node of content (blog, story, etc.) using one or many of these terms. For simple implementations, you might create a set of categories without subcategories, similar to Slashdot's sections. For more complex implementations, you might create a hierarchical list of categories such as Food taxonomy shown above.
"; + $output .= "When you create a controlled vocabulary you are creating a set of terms to use for describing content (known as descriptors in indexing lingo). Drupal allows you to describe each node of content (blog, story, etc.) using one or many of these terms. For simple implementations, you might create a set of categories without subcategories, similar to %slashdot's sections. For more complex implementations, you might create a hierarchical list of categories such as Food taxonomy shown above.
"; $output .= "When setting up a controlled vocabulary, if you select the hierarchy option, you will be defining a taxonomy or a thesaurus. If you select the related terms option, you are allowing the definition of related terms, think see also, as in a thesaurus. Selecting multiple select will allow you to describe a node using more than one term. That node will then appear in each term's page, thus increasing the chance that a user will find it.
"; - $output .= "When setting up a controlled vocabulary you are asked for:
When setting up a controlled vocabulary you are asked for:
Once done defining the vocabulary, you have to add terms to it to make it useful. The options you see when adding a term to a vocabulary will depend on what you selected for related terms, hierarchy and multiple select. These options are:
"; - $output .= "In order to view the nodes associated with a term or a collection of terms, you should browse to a properly formed Taxonomy URL. For example, ". l("taxonomy/page/or/1,2","taxonomy/pages/or/1,2") .". Taxonomy URLs always contain one or more term IDs (tid) at the end of the URL (a.k.a the querystring). You may learn the term ID for a given term by hovering over that term in the ". l("taxonomy overview", "admin/taxonomy") ." page and noting the number at the end or the URL. To build a Taxonomy URL start with \"taxonomy/page\". Now add the querystring parameter, either or, which chooses nodes tagged with any of the given term IDs, or and, which chooses nodes tagged with all of the given Term IDs. Thus or is less specific than and. Finally add a comma seperated list of term IDs.
"; - $output .= "Every term, or collection of terms, provides an RSS feed to which interested users may subscribe. The URL format for a sample RSS feed is ". l("node/feed/or/1,2","node/feed/or/1,2") .". Built like a Taxonomy URL, ". l("see above", "admin/taxonomy/help#taxonomyURL") ." it starts with \"node/feed\", then has the querystring parameter, and finally the Term IDs.
"; + $output .= "In order to view the nodes associated with a term or a collection of terms, you should browse to a properly formed Taxonomy URL. For example, %taxo-example. Taxonomy URLs always contain one or more term IDs (tid) at the end of the URL (a.k.a the querystring). You may learn the term ID for a given term by hovering over that term in the %taxo-overview page and noting the number at the end or the URL. To build a Taxonomy URL start with \"taxonomy/page\". Now add the querystring parameter, either or, which chooses nodes tagged with any of the given term IDs, or and, which chooses nodes tagged with all of the given Term IDs. Thus or is less specific than and. Finally add a comma seperated list of term IDs.
"; + $output .= "Every term, or collection of terms, provides an %userland-rss feed to which interested users may subscribe. The URL format for a sample RSS feed is %sample-rss. Built like a Taxonomy URL, %taxo-help it starts with \"node/feed\", then has the querystring parameter, and finally the Term IDs.
"; + $output = t($output, array("%classification-types" => "classification types", "%drupal-dis" => "drupal.org discussion", "%slashdot" => "Slashdot", "%taxo-example" => l("taxonomy/page/or/1,2", "taxonomy/page/or/1,2"), "taxo-overview" => l(t("taxonomy overview"), "admin/taxonomy"), "%userland-rss" => "RSS", "sample-rss" => l("node/feed/or/1,2", "node/feed/or/1,2"), "taxo-help" => l(t("see above"), "admin/taxonomy/help#yaxonomyURL") )); break; } - return t($output); + + return $output; } ?> diff --git a/modules/throttle.module b/modules/throttle.module index 23ab018b4..ff19470fa 100644 --- a/modules/throttle.module +++ b/modules/throttle.module @@ -2,9 +2,12 @@ // $Id$ function throttle_system($field) { - $system["description"] = throttle_help("admin/system/modules"); - $system["admin_help"] = throttle_help("admin/system/modules/throttle"); - return $system[$field]; + $output = ""; + + if ($field == "description") {$output = throttle_help("admin/system/modules"); } + else if ($field == "admin_help") {$output = throttle_help("admin/system/modules/throttle"); }; + + return $output; } @@ -20,17 +23,17 @@ function throttle_help($section = "admin/throttle/help") { switch ($section) { case "admin/system/modules": - $output = "Allows configuration of congestion control auto-throttle mechanism."; + $output = t("Allows configuration of congestion control auto-throttle mechanism."); break; case "admin/system/modules/throttle": - return t("If your site gets popular, or comes under a \"Denial of Service\" (DOS) attack, your hardware might become overwhelmed. These settings allow you to \"slow down\" the access to your site. To use throttle you need to have the access log enabled. For Drupal to preform throttling it needs to do an extra database query. This extra query happens on page displays. Auto-throttle probability limiter tells Drupal to do this extra DB query once every \"x\" page displays, where \"x\" is the percentage. So if it is set to 10%, the default, then for every 100 web pages it displays, it will preform the extra query ten time. ", array("%access" => url("admin/system/modules/statistics"))); + return t("If your site gets popular, or comes under a \"Denial of Service\" (DOS) attack, your hardware might become overwhelmed. These settings allow you to \"slow down\" the access to your site. To use throttle you need to have the %access enabled. For Drupal to preform throttling it needs to do an extra database query. This extra query happens on page displays. Auto-throttle probability limiter tells Drupal to do this extra DB query once every \"x\" page displays, where \"x\" is the percentage. So if it is set to 10%, the default, then for every 100 web pages it displays, it will preform the extra query ten time. ", array("%access" => l(t("access log"), "admin/system/modules/statistics") )); case "admin/throttle/help": - $output .= "This Drupal module allows you to enable and configure the auto-throttle congestion control mechanism offered by the ". l("statistics.module","admin/statistics") .". The auto-throttle mechanism allows your site to automatically adapt to different server levels.
"; - $output .= "This module also adds a block that displays the current status of the throttle. You must have ". l("\"access throttle block\"","admin/user/permission") ." privileges to view the block. As a general rule of thumb, only site administrators should be granted access to this block.
"; + $output .= "This Drupal module allows you to enable and configure the auto-throttle congestion control mechanism offered by the %stats-mod. The auto-throttle mechanism allows your site to automatically adapt to different server levels.
"; + $output .= "This module also adds a block that displays the current status of the throttle. You must have \"%throttle-block\" privileges to view the block. As a general rule of thumb, only site administrators should be granted access to this block.
"; $output .= "The auto-throttle mechanism performs an extra database query in order to determine what the current throttle level should be. Fortunately the throttle can be tuned so these database queries only occur on a fraction of all pages geenrated by your site, reducing the overhead to an insignificant amount. Additionally, when the top-most throttle level is reached, all throttle queries are suspended for a configurable period of time. More detail follows.
"; - $output .= "As with any module, the throttle.module needs to be ". l("enabled","admin/system/modules") ." before you can use it. Also refer to the permissions section below if you wish to access the throttle statistics block.
"; - $output .= "The ". l("configuration section", "admin/system/modules/throttle") ." for the throttle allows you to turn it on and off, as well as to fine-tune how sensitive it is.
"; - $output .= "This first option on the throttle module configuration screen allows you to enable or disable the auto-throttling mechanism. Note that the access-log must also be enabled via the ". l("statistics.module", "admin/system/modules/statistics") ." for the auto-throttling mechanism to have any affect."; + $output .= "
As with any module, the throttle.module needs to be %modules-enable before you can use it. Also refer to the permissions section below if you wish to access the throttle statistics block.
"; + $output .= "The %throttle-config for the throttle allows you to turn it on and off, as well as to fine-tune how sensitive it is.
"; + $output .= "This first option on the throttle module configuration screen allows you to enable or disable the auto-throttling mechanism. Note that the access-log must also be enabled via the %stats-config for the auto-throttling mechanism to have any affect."; $output .= "
"; @@ -38,9 +41,9 @@ function throttle_help($section = "admin/throttle/help") { $output .= "This second option allows you to tune the auto-throttle mechanism. The auto-throttle mechanism supports six throttle levels, from 0 (off) to 5 (maximum). The current throttle level is based upon how many pages have been accessed on your site in the past 60 seconds - the more pages being displayed, the higher the throttle level. This multiplier defines how many hits are required to switch from one throttle level to the next.
"; $output .= "For example, with a throttle multiplier of 20: Once 20 pages have been accessed on your site within a period of 60 seconds, the throttle level will be incremented to a level of 1. Once 40 pages have been accessed on your site within a period of 60 seconds, the throttle level will be incremented to a level of 2. And so on, until 100 pages are accessed on your site within a period of 60 seconds, at which time the throttle level will be set to a maximum level of 5.
"; $output .= "Upon reaching a throttle level of 5, access logs and the auto-throttle checking mechanism is automatically disabled. It is only renabled by cron after a period of time defined by \"auto-throttle cron test\", explained below.
As a rule of thumb, the higher your multiplier, the lower your probability limiter should be. For example, if you have a multiplier of 100, then you logically don't need to check the throttle level more than once out of every 100 page views, so the probability limiter should be set to 1\%. As database queries are \"expensive\", it's recommended that you keep the probability limiter to the smallest percentage possible, while still high enough to react quickly to a change in server load.
"; $output .= ""; - $output .= "The auto-throttle dynamically adjusts its level upward, but not downward. That is to say, if you have a multiplier of 20 and you get 45 hits in one minute, your throttle level will be adjusted to a level of 2. If a few minutes later you only get 35 hits in one minute, the throttle level will NOT be adjusted down to a level of 1. This prevents the throttle from bouncing back and forth between two levels.
"; $output .= "In order for the throttle level to be dropped, \"cron.php\" must be called regularly. This option then defines how often the level will be dropped by one to test the server load. If the server load is no longer as high as it was, the level will stay where it is, until the cron test period passes again and cron drops the throttle level again. This process repeats until the throttle is returned to a throttle level of 0.
This block displays some statistics regarding the current throttle and its configuration. It is recommended that only site administrators receive the ". l("\"access throttle block\"","admin/user/permission") ." permission bit required to view this block. It does not display information that would interest a normal site end-user.
"; - $output .= "Don't forget to enable the block ". l("here", "admin/block") .".
"; - $output .= "This module has one permission that needs to be configured in ". l("user permissions", "admin/user/permission") .".
"; + $output .= "This block displays some statistics regarding the current throttle and its configuration. It is recommended that only site administrators receive the \"%throttle-access\" permission bit required to view this block. It does not display information that would interest a normal site end-user.
"; + $output .= "Don't forget to enable the block %throttle-block-enable.
"; + $output .= "This module has one permission that needs to be configured in %permissions.
"; $output .= "The function throttle_status()
will return a number from 0 to 5. 0 means that there is no throttle enabled at this time. Each number above that is a progressively more throttled system... To disable a feature when a site first begins to get busy, disable it at a throttle of 2 or 3. To hold on to the bitter end, wait until 4 or 5.
To implement the throttle, you should do something like this:"; @@ -55,10 +58,11 @@ function throttle_help($section = "admin/throttle/help") { else { // throttle limit not reached, execute normally }
"; + $output = t($output, array("%stats-mod" => l(t("statistics-module"), "admin/statistics"), "%throttle-block" => l(t("access throttle block"), "admin/user/permission"), "%modules-enable" => l(t("enabled"), "admin/ststem/modules"),"throttle-config" => l(t("configuration section"), "admin/system/modules/throttle"), "%stats-config" => l(t("statistcs.module"), "admin/system/modules/statistics"), "%throttle-access" => l(t("access throttle block"), "admin/user/permission"),"%throttle-block-enable" => l(t("here"), "admin/block"), "%permissions" => l(t("user permissions"), "admin/user/permission") )); break; } - return t($output); + return $output; } diff --git a/modules/throttle/throttle.module b/modules/throttle/throttle.module index 23ab018b4..ff19470fa 100644 --- a/modules/throttle/throttle.module +++ b/modules/throttle/throttle.module @@ -2,9 +2,12 @@ // $Id$ function throttle_system($field) { - $system["description"] = throttle_help("admin/system/modules"); - $system["admin_help"] = throttle_help("admin/system/modules/throttle"); - return $system[$field]; + $output = ""; + + if ($field == "description") {$output = throttle_help("admin/system/modules"); } + else if ($field == "admin_help") {$output = throttle_help("admin/system/modules/throttle"); }; + + return $output; } @@ -20,17 +23,17 @@ function throttle_help($section = "admin/throttle/help") { switch ($section) { case "admin/system/modules": - $output = "Allows configuration of congestion control auto-throttle mechanism."; + $output = t("Allows configuration of congestion control auto-throttle mechanism."); break; case "admin/system/modules/throttle": - return t("If your site gets popular, or comes under a \"Denial of Service\" (DOS) attack, your hardware might become overwhelmed. These settings allow you to \"slow down\" the access to your site. To use throttle you need to have the access log enabled. For Drupal to preform throttling it needs to do an extra database query. This extra query happens on page displays. Auto-throttle probability limiter tells Drupal to do this extra DB query once every \"x\" page displays, where \"x\" is the percentage. So if it is set to 10%, the default, then for every 100 web pages it displays, it will preform the extra query ten time. ", array("%access" => url("admin/system/modules/statistics"))); + return t("If your site gets popular, or comes under a \"Denial of Service\" (DOS) attack, your hardware might become overwhelmed. These settings allow you to \"slow down\" the access to your site. To use throttle you need to have the %access enabled. For Drupal to preform throttling it needs to do an extra database query. This extra query happens on page displays. Auto-throttle probability limiter tells Drupal to do this extra DB query once every \"x\" page displays, where \"x\" is the percentage. So if it is set to 10%, the default, then for every 100 web pages it displays, it will preform the extra query ten time. ", array("%access" => l(t("access log"), "admin/system/modules/statistics") )); case "admin/throttle/help": - $output .= "This Drupal module allows you to enable and configure the auto-throttle congestion control mechanism offered by the ". l("statistics.module","admin/statistics") .". The auto-throttle mechanism allows your site to automatically adapt to different server levels.
"; - $output .= "This module also adds a block that displays the current status of the throttle. You must have ". l("\"access throttle block\"","admin/user/permission") ." privileges to view the block. As a general rule of thumb, only site administrators should be granted access to this block.
"; + $output .= "This Drupal module allows you to enable and configure the auto-throttle congestion control mechanism offered by the %stats-mod. The auto-throttle mechanism allows your site to automatically adapt to different server levels.
"; + $output .= "This module also adds a block that displays the current status of the throttle. You must have \"%throttle-block\" privileges to view the block. As a general rule of thumb, only site administrators should be granted access to this block.
"; $output .= "The auto-throttle mechanism performs an extra database query in order to determine what the current throttle level should be. Fortunately the throttle can be tuned so these database queries only occur on a fraction of all pages geenrated by your site, reducing the overhead to an insignificant amount. Additionally, when the top-most throttle level is reached, all throttle queries are suspended for a configurable period of time. More detail follows.
"; - $output .= "As with any module, the throttle.module needs to be ". l("enabled","admin/system/modules") ." before you can use it. Also refer to the permissions section below if you wish to access the throttle statistics block.
"; - $output .= "The ". l("configuration section", "admin/system/modules/throttle") ." for the throttle allows you to turn it on and off, as well as to fine-tune how sensitive it is.
"; - $output .= "This first option on the throttle module configuration screen allows you to enable or disable the auto-throttling mechanism. Note that the access-log must also be enabled via the ". l("statistics.module", "admin/system/modules/statistics") ." for the auto-throttling mechanism to have any affect."; + $output .= "
As with any module, the throttle.module needs to be %modules-enable before you can use it. Also refer to the permissions section below if you wish to access the throttle statistics block.
"; + $output .= "The %throttle-config for the throttle allows you to turn it on and off, as well as to fine-tune how sensitive it is.
"; + $output .= "This first option on the throttle module configuration screen allows you to enable or disable the auto-throttling mechanism. Note that the access-log must also be enabled via the %stats-config for the auto-throttling mechanism to have any affect."; $output .= "
"; @@ -38,9 +41,9 @@ function throttle_help($section = "admin/throttle/help") { $output .= "This second option allows you to tune the auto-throttle mechanism. The auto-throttle mechanism supports six throttle levels, from 0 (off) to 5 (maximum). The current throttle level is based upon how many pages have been accessed on your site in the past 60 seconds - the more pages being displayed, the higher the throttle level. This multiplier defines how many hits are required to switch from one throttle level to the next.
"; $output .= "For example, with a throttle multiplier of 20: Once 20 pages have been accessed on your site within a period of 60 seconds, the throttle level will be incremented to a level of 1. Once 40 pages have been accessed on your site within a period of 60 seconds, the throttle level will be incremented to a level of 2. And so on, until 100 pages are accessed on your site within a period of 60 seconds, at which time the throttle level will be set to a maximum level of 5.
"; $output .= "Upon reaching a throttle level of 5, access logs and the auto-throttle checking mechanism is automatically disabled. It is only renabled by cron after a period of time defined by \"auto-throttle cron test\", explained below.
As a rule of thumb, the higher your multiplier, the lower your probability limiter should be. For example, if you have a multiplier of 100, then you logically don't need to check the throttle level more than once out of every 100 page views, so the probability limiter should be set to 1\%. As database queries are \"expensive\", it's recommended that you keep the probability limiter to the smallest percentage possible, while still high enough to react quickly to a change in server load.
"; $output .= ""; - $output .= "The auto-throttle dynamically adjusts its level upward, but not downward. That is to say, if you have a multiplier of 20 and you get 45 hits in one minute, your throttle level will be adjusted to a level of 2. If a few minutes later you only get 35 hits in one minute, the throttle level will NOT be adjusted down to a level of 1. This prevents the throttle from bouncing back and forth between two levels.
"; $output .= "In order for the throttle level to be dropped, \"cron.php\" must be called regularly. This option then defines how often the level will be dropped by one to test the server load. If the server load is no longer as high as it was, the level will stay where it is, until the cron test period passes again and cron drops the throttle level again. This process repeats until the throttle is returned to a throttle level of 0.
This block displays some statistics regarding the current throttle and its configuration. It is recommended that only site administrators receive the ". l("\"access throttle block\"","admin/user/permission") ." permission bit required to view this block. It does not display information that would interest a normal site end-user.
"; - $output .= "Don't forget to enable the block ". l("here", "admin/block") .".
"; - $output .= "This module has one permission that needs to be configured in ". l("user permissions", "admin/user/permission") .".
"; + $output .= "This block displays some statistics regarding the current throttle and its configuration. It is recommended that only site administrators receive the \"%throttle-access\" permission bit required to view this block. It does not display information that would interest a normal site end-user.
"; + $output .= "Don't forget to enable the block %throttle-block-enable.
"; + $output .= "This module has one permission that needs to be configured in %permissions.
"; $output .= "The function throttle_status()
will return a number from 0 to 5. 0 means that there is no throttle enabled at this time. Each number above that is a progressively more throttled system... To disable a feature when a site first begins to get busy, disable it at a throttle of 2 or 3. To hold on to the bitter end, wait until 4 or 5.
To implement the throttle, you should do something like this:"; @@ -55,10 +58,11 @@ function throttle_help($section = "admin/throttle/help") { else { // throttle limit not reached, execute normally }
"; + $output = t($output, array("%stats-mod" => l(t("statistics-module"), "admin/statistics"), "%throttle-block" => l(t("access throttle block"), "admin/user/permission"), "%modules-enable" => l(t("enabled"), "admin/ststem/modules"),"throttle-config" => l(t("configuration section"), "admin/system/modules/throttle"), "%stats-config" => l(t("statistcs.module"), "admin/system/modules/statistics"), "%throttle-access" => l(t("access throttle block"), "admin/user/permission"),"%throttle-block-enable" => l(t("here"), "admin/block"), "%permissions" => l(t("user permissions"), "admin/user/permission") )); break; } - return t($output); + return $output; } diff --git a/modules/title.module b/modules/title.module index 311200ff0..5e6c2e6bd 100644 --- a/modules/title.module +++ b/modules/title.module @@ -2,8 +2,22 @@ // $Id$ function title_system($field){ - $system["description"] = t("Enables users to link to stories, articles or similar content by title."); - return $system[$field]; + $output = ""; + + if ($field == "description") {$output = title_help("admin/system/modules"); }; + return $output; +} + +function title_help($section) { + $output = ""; + + switch ($section) { + case 'admin/system/modules': + $output = t("Enables users to link to stories, articles or similar content by title."); + break; + } + + return $output; } function title_page() { diff --git a/modules/tracker.module b/modules/tracker.module index 9286bb586..1fdd6c093 100644 --- a/modules/tracker.module +++ b/modules/tracker.module @@ -2,16 +2,25 @@ // $Id$ function tracker_help($section = "admin/tracker/help") { + $output = ""; switch ($section) { - case "admin/tracker/help": - return t("The tracker module is a handy module for displaying the most recent posts. By following the view recent posts link in the user block, a user may quickly review all recent postings.
"); + case 'admin/tracker/help': + $output = t("The tracker module is a handy module for displaying the most recent posts. By following the view recent posts link in the user block, a user may quickly review all recent postings.
"); + break; + case 'admin/system/modules': + $output = t("Enables tracking of recent posts for users."); + break; } + + return $output; } function tracker_system($field) { - $system["description"] = t("Enables tracking of recent posts for users."); - return $system[$field]; + $output = ""; + + if ($field == "description") {$output = tracker_help("admin/system/modules"); }; + return $output; } function tracker_link($type) { diff --git a/modules/tracker/tracker.module b/modules/tracker/tracker.module index 9286bb586..1fdd6c093 100644 --- a/modules/tracker/tracker.module +++ b/modules/tracker/tracker.module @@ -2,16 +2,25 @@ // $Id$ function tracker_help($section = "admin/tracker/help") { + $output = ""; switch ($section) { - case "admin/tracker/help": - return t("The tracker module is a handy module for displaying the most recent posts. By following the view recent posts link in the user block, a user may quickly review all recent postings.
"); + case 'admin/tracker/help': + $output = t("The tracker module is a handy module for displaying the most recent posts. By following the view recent posts link in the user block, a user may quickly review all recent postings.
"); + break; + case 'admin/system/modules': + $output = t("Enables tracking of recent posts for users."); + break; } + + return $output; } function tracker_system($field) { - $system["description"] = t("Enables tracking of recent posts for users."); - return $system[$field]; + $output = ""; + + if ($field == "description") {$output = tracker_help("admin/system/modules"); }; + return $output; } function tracker_link($type) { -- cgit v1.2.3