Commit Graph

224 Commits (696ac8a9d84d7d1c53052d29a93ea252b3e58ff0)

Author SHA1 Message Date
Dries Buytaert cdc4ca816d - Patch #15977 by Neil: made the forum module suggest a menu item. 2005-01-24 21:01:57 +00:00
Dries Buytaert aacfec0fc1 - Patch #15978 by Drumm: code improvement: theme_forum_display() has no business calling theme_page(). Lets have it return the output and then forum_page() can put it in a page. 2005-01-22 08:38:25 +00:00
Steven Wittens 09bd156ba2 - Fix tracker pager count query being wrong (it did not return a count but a set, and it counted nodes with more than 1 comment as multiple nodes).
- Clean up various SQL queries: removing literally inserted data (db_escape_string is evil!), fixing single "%" which should be "%%", fixing integers being compared as strings.
2005-01-19 01:46:25 +00:00
Steven Wittens e7edb55d63 - The real code fixes ;) 2005-01-17 19:00:03 +00:00
Dries Buytaert 971a0e24aa - Patch #14731 by chx: made it possible to rewrite node queries. 2005-01-16 18:44:49 +00:00
Dries Buytaert fc143ca3af - Modified patch #15122 by killes: fixed some PHP5 problems. 2005-01-04 20:54:23 +00:00
Dries Buytaert 2b17b3a966 - Patch #13907 by Neil: less ways to set the page title.
* Less logic in theme code.
   * Encourages use of the menu system.
   * Easier to find where a title or breadcrumb comes from in other people's code because there are less places to look. Look in menu and then grep for the appropriate set function. Looking for calls to theme_page() is hard because there are too many of them.
   * Very slightly more efficient.
2004-12-15 21:19:42 +00:00
Dries Buytaert 4726c93156 - Patch #13443 by Moshe: got rid of the semi-implemented 'page link' feature. All themes currently support primary and secondary links so page links are now deprecated. Check your contributed modules and update them accordingly. 2004-11-24 22:56:21 +00:00
Dries Buytaert 9574766ad8 - Patch by Stefan: wrapped the help texts in <p></p> tags. Helps improve consistency. 2004-11-23 22:20:41 +00:00
Dries Buytaert fa97839088 - Patch 13180 by chx: renamed check_query() to db_escape_string() and implemtented it properly per database backend.
Read the manual for pg_escape_string:  "Use of this function is recommended instead of addslashes()." Or read sqlite_escape_string: "addslashes() should NOT be used to quote your strings for SQLite queries; it will lead to strange results when retrieving your data."
2004-11-21 08:25:17 +00:00
Dries Buytaert 9979aceab0 - Patch #12783 by Stefan: various small consistency/usability improvements. 2004-11-15 11:16:39 +00:00
Dries Buytaert 7a5884cd74 - Patch #11427: added 'edit own forum topics' permission. 2004-11-07 19:28:24 +00:00
Dries Buytaert 6f7aa2a095 - Patch #11871 by killes: forum topics could be displayed multiple times when node-level permission were used. 2004-11-06 11:59:48 +00:00
Dries Buytaert 1821eb13e6 - Removed some dead code. 2004-11-06 11:54:09 +00:00
Dries Buytaert b3e3f8ae37 - Updated forum_block() to pass comment_count's to node_title_list(). This eliminates up to 10 SQL queries (sometimes less) for each non-cached page view on drupal.org. Derived from ccourtne's patch. 2004-11-04 21:05:06 +00:00
Dries Buytaert 4fa64b57c2 - Patch #12502 by Axel: fixed typo in SQL query: h.hid -> h.nid 2004-11-03 22:46:53 +00:00
Dries Buytaert b3adcf05a3 - Patch #11875 by Neil Drumm: block module configuration improvements.
The primary goal of this patch is to take the 'custom' and 'path' columns of the block overview page and make them into something understandable. As of Drupal 4.5 'custom' lacked an explanation which wasn't buried in help text and path required dealing with regular expressions.

Every block now has a configuration page to control these options. This gives more space to make form controls which do not require a lengthy explanation. This page also gives modules a chance to put their block configuration options in a place that makes sense using new operations in the block hook.

The only required changes to modules implementing hook_block() is to be careful about what is returned. Do not return anything if $op is not 'list' or 'view'. Once this change is made, modules will still be compatible with Drupal 4.5. Required changes to core modules are included in this path.

An additional optional change to modules is to implement the additional $op options added. 'configure' should return a string containing the configuration form for the block with the appropriate $delta. 'configure save' will come with an additional $edit argument, which will contain the submitted form data for saving. These changes to core modules are also included in this patch.
2004-10-31 07:34:47 +00:00
Dries Buytaert f1a087e376 - Patch #11879 by Moshe: deprecated the _content hook.
TODO:
   + Update Doxygen hook list (if required).
   + Document this in the developer's upgrade section.
2004-10-23 17:18:23 +00:00
Dries Buytaert 10f329c057 - Patch #11728 by Uwe Hermann: fixed some typos in the code comments, Doxygen documentation and screen output.
Uwe: I dropped the 'iff' chunks as 'iff' stands for 'if and only if'.
2004-10-19 18:02:31 +00:00
Dries Buytaert 8ce9d2aca4 - Patch #11298 by nato: the function _forum_topics_read was not returning only nodes of type 'forum' resulting in the forum overview listing counting all node types as topics; attached patch modifies queries to return counts of only 'forum' type nodes. 2004-10-12 19:44:16 +00:00
Dries Buytaert 2aae0af5d7 - Patch #11426: the forum module generated an empty table for forums with no child forums. 2004-10-09 17:15:55 +00:00
Dries Buytaert 5f5b02af92 - Patch #11375 by Robert Douglass: removed redundant 'global $user' from forum_insert(). 2004-10-07 19:07:57 +00:00
Steven Wittens 1298d2b9c9 Modified version of #10230: Put placement of filter format selector in a module's hands, and move it below the relevant textarea. 2004-09-28 19:13:03 +00:00
Dries Buytaert ff17aa0b94 - Patch #11045 by Stefan: improved consistency of node modules:
+ made the helptext under the 'Explanation or submission guidelines', more the same (blog & story);
  + made the form_set_error() texts consistent when the body of a blog/story does not match or exceeds the specified minimal numer of words.
  + used the $options for form_select() and form_radios() inline like we do in the rest of drupal;
  + made the textarea sizes for the submission pages the same for all node types and also for the 'Explanation or submission guidelines';
2004-09-27 20:15:54 +00:00
Dries Buytaert 7823ee8afd - Patch #10997 by Philippe: the forum submission guidelines were not always shown. 2004-09-22 17:46:44 +00:00
Dries Buytaert 5c7983c4de - Patch #8179 by JonBob: reintroduced menu caching. 2004-09-16 07:17:56 +00:00
Dries Buytaert c09158c3f3 - Patch #10308 by Bart Jansens/ccourtne: fixed shadow copies.
- Patch #10308 by ccourtne: performance improvements: comment statistics are now cached in a new SQL table which significantly improves performance of the forum block and the forum pages.  These pages are about 3 times faster now!
2004-09-14 05:48:02 +00:00
Dries Buytaert b84b6e42cf - Patch #10663 by JonBob: documentation improvements: fixed some typos and improved consistency to the use of Doxygen/api.module commands in the comments. 2004-09-09 05:51:08 +00:00
Steven Wittens 51cf18e531 - #9292: Make Drupal (somewhat) PHP5 compatible. xtemplate is still horribly broken. 2004-08-22 17:03:42 +00:00
Dries Buytaert 94e30bf776 - Patch by JonBob: for consistency and readability, add brief descriptions of each source file inside the @file comment block at the head of the file. This helps with Doxygen indexing, and also allows neophytes to see what a file does immediately on opening the source, regardless of the organization of the hooks. 2004-08-21 06:42:38 +00:00
Dries Buytaert 83a739bd89 - Code improvements by Stefan: made all status messages consistent (and easier to translate). 2004-08-18 19:57:27 +00:00
Steven Wittens 660f99287d The Input formats - filter patch has landed. I still need to make update instructions for modules and update the hook docs.
Here's an overview of the changes:
1) Multiple Input formats: they are complete filter configurations (what filters to use, in what order and with which settings). Input formats are admin-definable, and usage of them is role-dependant. For example, you can set it up so that regular users can only use limited HTML, while admins can free HTML without any tag limitations.
The input format can be chosen per content item (nodes, comments, blocks, ...) when you add/edit them. If only a single format is available, there is no choice, and nothing changes with before.

The default install (and the upgrade) contains a basic set of formats which should satisfy the average user's needs.

2) Filters have toggles
Because now you might want to enable a filter only on some input formats, an explicit toggle is provided by the filter system. Modules do not need to worry about it and filters that still have their own on/off switch should get rid of it.

3) Multiple filters per module
This was necessary to accomodate the next change, and it's also a logical extension of the filter system.

4) Embedded PHP is now a filter
Thanks to the multiple input formats, I was able to move the 'embedded PHP' feature from block.module, page.module and book.module into a simple filter which executes PHP code. This filter is part of filter.module, and by default there is an input format 'PHP', restricted to the administrator only, which contains this filter.
This change means that block.module now passes custom block contents through the filter system.
As well as from reducing code duplication and avoiding two type selectors for page/book nodes, you can now combine PHP code with other filters.

5) User-supplied PHP code now requires <?php ?> tags.
This is required for teasers to work with PHP code. Because PHP evaluation is now just another step in the filter process, we can't do this. Also, because teasers are generated before filtering, this would result in errors when the teaser generation would cut off a piece of PHP code.

Also, regular PHP syntax explicitly includes the <?php ?> tags for PHP files, so it makes sense to use the same convention for embedded PHP in Drupal.

6) Filter caching was added.
Benchmarking shows that even for a simple setup (basic html filtering + legacy URL rewriting), filtercache can offer speedups. Unlike the old filtercache, this uses the normal cache table.

7) Filtertips were moved from help into a hook_filter_tips(). This was required to accomodate the fact that there are multiple filters per module, and that filter settings are format dependant. Shoehorning filter tips into _help was ugly and silly. The display of the filter tips is done through the input format selector, so filter_tips_short() no longer exists.

8) A more intelligent linebreak convertor was added, which doesn't stop working if you use block-level tags and which adds <p> tags.
2004-08-10 18:34:29 +00:00
Dries Buytaert d6a91bddcf - Patch #9884 by Bart Jansens:
+ The 'previous topic' / 'next topic' links skipped topic without comments (changed one inner join back to a left join).
  + The default order setting in admin/settings/forum had no effect.
  + The 'first new topic' link jumped to the first unread topic ever instead of the first unread topic since NODE_NEW_LIMIT.
  + This also removes the unused $offset param from theme_forum_display and theme_forum_topic_list, so any themes using these functions should be updated (i checked the core themes but none of them used these functions).
2004-08-09 18:54:49 +00:00
Dries Buytaert c71bfded3d - Patch #9657: more intelligent theme() function. Hopefully, Adrian will be
able to use this patch too.
2004-08-04 20:40:01 +00:00
Dries Buytaert 202eee42a9 - Patch #9543 by JonBob: added node-level access control! 2004-07-31 09:30:09 +00:00
Dries Buytaert aed1b0ca9e - Patch #5347 by JonBob:
Here's a new patch that unifies the node/52 and book/view/52 paths for nodes. It involves a small change to hook_view(), which is discussed first:

Currently hook_view() expects node modules to return a themed node. However, each module does this the same way; they modify $node as necessary, then call theme('node', $node) and return the result. We can refactor this so that the calling function node_view() calls theme('node') instead. By doing this, it becomes possible for hook_nodeapi('view') to be called after hook_view() where the node contents are filtered, and before theme('node') where the body is enclosed in other HTML. This way the book module can insert its navigation into the body right before the theming.

Advantages of this refactoring:
- I can use it for book.module to remove the extra viewing path.
- The function of hook_nodeapi('view') becomes more like hook_view(), as neither will expect a return value.
- We more closely follow the flow of other nodeapi calls, which usually directly follow their corresponding specific node type hooks (instead of preceding them).
- The attachment.module people could use it to append their attachments in a list after the node.
- Gabor could use it instead of his filter perversion for his "articles in a series" module.
- A little less code in each view hook.
- The content hook is no longer needed, so that means even less code.

Disadvantages:
- Any modules written to use nodeapi('view') could be affected (but these would all be post-4.4 modules).
- Implementations of hook_view() would need to be updated (but return values would be ignored, so most would work without updates anyway).

Now the patch takes advantage of this API shift to inject its navigation at the end of all book nodes, regardless of the viewing path. In fact, since the paths become identical, I've removed the book/view handler entirely. We should probably provide an .htaccess rewrite for this (one is still needed for node/view/nn anyway). At the same time, there is a check in book_block() that shows the block appropriately on these pages.
2004-07-30 13:37:26 +00:00
Dries Buytaert 144c1abb58 - Renamed '... your ...' to '... my ...' (cfr. 'my account). 2004-07-08 15:19:08 +00:00
Dries Buytaert 3568ed57e1 - Moving the title.module from core to contrib as discussed on the mailing list. 2004-07-07 20:18:22 +00:00
Dries Buytaert fe2b3e7c00 - Patch by Steven and me: refactored the form handling of nodes. The node system is now using form_set_error() and friends like the rest of Drupal does. This makes for both a consistent user experience and consistent code. It simplifies the forms and validation code, however, it does change the node API slightly:
* The _validate hook and the _nodeapi('validate') hook of the node API (1) no longer take an 'error' parameter and (2) should no longer return an error array. To set an error, call form_set_error().

    * The _form hook of the node module no longer takes a form hook and should not worry about displaying errors. Ditto for _nodeapi('form_post') and _nodeapi('form_pre').
2004-07-04 16:50:02 +00:00
Dries Buytaert b284477713 - Bug #8898 by Morbus: fixed incorrect date being displayed in the forum overview when a topic has no comments yet. 2004-06-29 20:35:58 +00:00
Steven Wittens 83851509f6 - Tweak for sticky patch: ANSI SQL does not allow ordering on a column which is not part of the selected fields. 2004-06-27 18:10:39 +00:00
Dries Buytaert 0a35280978 - Patch #8603 by TDobes: added support for sticky forum topics to the blog
and forum module.
2004-06-27 16:02:31 +00:00
Dries Buytaert ea676b3a1c - Patch #8785 by Morbus Iff (modified): with the acceptance of "anonymous-but-named" comments, anonymous users can leave behind their names as opposed to the 'anonymous' setting. These names are shown as "$name (not verified)" on regular nodes. This change provides the same display for forums (assuming anonymous commenting on forums is allowed). 2004-06-24 05:11:28 +00:00
Dries Buytaert 090743bdba - Patch #8670 by asimmonds: more spelling fixes. 2004-06-21 20:05:37 +00:00
Dries Buytaert ad3c6f345e - Patch #8681 by asimmonds: more help text updates 2004-06-21 08:26:20 +00:00
Dries Buytaert b713e3d489 - Patch #8617 by TDobes: changes all gifs to pngs for better consistency (and
to get of proprietary formats).

- Added forum-sticky.png.  Made by Steven.
2004-06-20 20:04:28 +00:00
Dries Buytaert c2d7419f23 - Patch #8681 by stefan: fixed some broken URLs and help texts. 2004-06-20 19:49:14 +00:00
Dries Buytaert 54b77d6435 Tabs patch!
CHANGES
-------

 + Introduced tabs. First, we extended the menu system to support tabs. Next, a tab was added for every link that was (1) an administrative action other than the implicit 'view' (2) relevant to that particular page only. This is illustrated by the fact that all tabs are verbs and that clicking a page's tab leads you to a subpage of that page.

 + Flattened the administration menu. The tabs helped simplify the navigation menu as I could separate 'actions' from 'navigation'. In addition, I removed the 'administer > configuration'-menu, renamed 'blocks' to 'sidebars' which I hope is a bit more descriptive, and made a couple more changes. Earlier, we already renamed 'taxonomy' to 'categorization' and we move 'statistics' under 'logs'.

 + Grouped settings. All settings have been grouped under 'administer > settings'.

TODO
----

 + Update core themes: only Xtemplate default supports tabs and even those look ugly.  Need help.

 + Update contributed modules.  The menu() hook changed drastically.  Updating your code adhere the new menu() function should be 90% of the work.  Moreover, ensure that your modue's admin links are still valid and that URLs to node get updated to the new scheme ('node/view/x' -> 'node/x').
2004-06-18 15:04:37 +00:00
Dries Buytaert e52c0f5d41 - Code improvements by JonBob. Thanks. 2004-05-17 22:00:06 +00:00
Dries Buytaert a158eca1b0 - Patch #7577 by JonBob: code improvements to the book, forum, page and poll module. 2004-05-09 19:28:43 +00:00