Commit Graph

61 Commits (50a490d2612e82425f821ddbf33c0ec04a5958eb)

Author SHA1 Message Date
Dries Buytaert b0c349e247 - Moved most of the options in structure.module to node.module. The
structure.module either needs work, or replacement by index.module:
  see "admin > node > node settings".

  It will do for now and it can always made better when we can think
  of a better solution; it is the best I could think of.   Now what?
  index.module or structure.module?  I'm currently pro index.module.

- Drastically simplified "variable.inc".

- Removed most dependecies on structure.module from all content related
  modules.  Thus making our modules more modular.  ;)

- Fixed calculation glitch in queue.module.

- Fixed potential function name clash/conflict in rating.module, and
  simplified some code on my way.

- Started removing all global variables $status and $rstatus.  Global
  variables are "yucky" so in near future, we will replace all global
  $status variables by a call to node_status().  Originally, $status
  was only introduced as a temporary hack and nothing is as permanent
  as a temporary hack so I took it out when still possible.

- Changed the watchdog messages a bit.
2001-06-02 22:12:35 +00:00
Steven Wittens cb2850f5c9 Fixed a bug in the output: there was always a ruler under the story-abstract, even if it was an abstract-only story. 2001-05-27 20:50:34 +00:00
Dries Buytaert 5158eb8a70 - Rewrote the headline module from scratch. Note that the old
headline code is still in place 'till the new code has proven
  to be stable. See "syndication.module" for the new code.

  Changes:

   + Improved the parser and tested it against RSS 0.9, RSS 0.91,
     RSS 0.92, RSS 1.0, RDF and XML feeds.

   + Improved the administration interface.  It might be a bit fuzzy
     at first.  Maybe some native English like Julian, Michael (or any
     one else with knowledge in the field) can help out by suggesting
     better naming, terminology or descriptions - as well as by
     writing the help section for this module?  I'd have no idea how
     much this would be appreciated.

   + We can *easily* recognize new tags or extensions: we parse out
     "link", "title", "description" and "author" right now, but we
     will have to revise which tags to support and which not.  New
     tags can be added in less than 10 minutes (if you are familiar
     with the code).  Read: we have something we can build on.

   + Within each item, tags can now appear is random order which is
     or was not the case with the old headline code where we expect
     <link>s prior to <description>s for example.

   + Feed updates only (ie. always) happen through cron.  Neither do
     we use one global cron for updating all feeds; instead, every
     feed can specify his own update-interval.

   + Newly fetched headlines are "appended" to the pool of existing
     headlines (read: we don't replace the whole feed), and headlines
     automatically "expire" after x days or hours.  (Every headline
     has a timestamp.)

   + Got rid of backend.class; it is integrated in the module.

   + Switched to more generic names: "headline" became "item" and
     "backend" became "feed".  This should ease future non-headline
     oriented syndication.

   + You can associate attributes or keyword lists with every feed.
     At the moment new items will automatically inherit their feeds
     attributes but in future we can use heuristics to make these
     attributes "mutate" when and where we see fit.  The attributes
     can be maintained by hand as well.

   + We don't export any blocks yet; we will soon do as soon this
     new code has been tested for a bit more.  We will only export
     bundles though so if you want to export by feed/source, you
     will have to make a source-specific bundle.

- Polished a bit on a few other modules: nothing major.
2001-05-26 18:26:56 +00:00
Dries Buytaert 540fdfc0c6 - Replaced $theme->story() by a more generic $theme->node(). All themes
required an update (and so will your custom themes).
2001-05-24 10:05:18 +00:00
Steven Wittens 27496c4620 - Changed the node_get_object() and node_get_array() functions to allow multiple conditions
- Added the "delete" hook for node-modules. When called, a module should do additional clean-up if necessary.

- Updated all node-modules
2001-05-20 16:47:50 +00:00
Dries Buytaert 20397ad3d9 CHANGES
- Redid settings.module and even renamed it to conf.module.
    * Settings are now grouped in basic categories like "system
      settings", "module settings" and "filters".
  * Added new settings to make Drupal easier to configure and
  to make some aspects like the watchdog scale better.

- Renamed includes/settings.php to includes/conf.php.

- Added filter support to conf.module and introduced filter hooks so
  modules can implement and export new filters.  Example filters are
  an HTML filter (implemented), a profanity filter, an url converter,
  ASCII smileys to images filter and so on ...

- Reworked the check_* functions: user contributed content/input is
  only verified and filtered once in its lifespan.

NOTES

- Altough this is a large commit, no database changes are required.
2001-05-20 13:51:40 +00:00
Dries Buytaert 14ddbc473c - Created 2 new functions:
+ path_uri(): returns the fully-qualified URI of your drupal site.
    + path_img(): returns the image directory or http://image-server.com/
                  in case you prefer to load-balance bandwidth usage.

  Replaced all occurences of the variable "site_url" with path_uri()
  and removed "site_url" from "setting.module".

- Drastically simplified the node_save() API, which should make the
  node-forms more secure.  Updated "story.module", "book.module",
  "forum.module", "page.module" and "node.module" to reflect this
  change.  This is needs more testing so hit it, beat it, tease it.

- Fixed an occasional glitch in the configuration file loading logic.

- Made "queue.module" display an informative notice when an anonymous
  user tries accessing the moderation queue.

- Updated the hard-coded information in drupal.module a bit.
2001-05-15 18:38:57 +00:00
Dries Buytaert 86bb9a10cb - Made the main page display sub-topics when a specific topic
is selected.

- Made theme_link() less "hard coded", we still have to make
  it fully configurable though.

- Fixed glitch in story submission: the warning messages were
  not displayed.

- Tidied up block.module a bit.
2001-05-12 21:06:13 +00:00
Dries Buytaert 0000c2e401 - Code review: improved search API, tidied up the search related code,
and fixed a tiny bug when searching for users.
2001-05-09 18:28:09 +00:00
Dries Buytaert be8e898d23 - Uhm. Rewrote the module system: less code clutter, less run-time
overhead, and a lot better (simpler) module API.  I had to edit a
  LOT of files to get this refactored but I'm sure it was worth the
  effort.

  For module writers / maintainers:

  None of the hooks changed, so 95% of the old modules should still
  work.  You can remove some code instead as "$module = array(...)"
  just became obsolete.  Also - and let's thank God for this - the
  global variable "$repository" has been eliminated to avoid modules
  relying on, and poking in drupal's internal data structures.  Take
  a look at include/module.inc to investigate the details/changes.

- Improved design of the content modules "story", "book" and "node"
  (to aid smooth integration of permisions + moderate.module).  I'm
  still working on the permissions but I got side tracked for which
  I "Oops!".
2001-05-05 13:57:29 +00:00
Dries Buytaert 1681877761 CHANGES:
- Added moderator information to forum.module.

- Simplified story.module, page.module, forum.module and book.module
  by removing redundant code, and by doing other small house-keeping
  tasks.
2001-05-03 18:48:42 +00:00
Dries Buytaert 343e71c8eb CHANGES:
- Added moderator permissions to nodes.

- Added moderator support to structure.module.

- Added new moderate.module.

- Renamed moderation.module to queue.module to avoid confusing.
  Updated theme yaroon as it seems to have a hard-coded reference
  to moderation.module.

- Polished on:
   + account.module: improved access list
   + fixed HTML typo in node.module

ACTIONS:

- Jeroen: can jeroen2.theme be removed from ./themes/yaroon?
2001-05-02 20:52:19 +00:00
Dries Buytaert fead09a8de Welp. Large commit ahead.
CHANGES:

- Added "read" and "write" permissions into drupal but removed
  it again because - when finished after 3 hours of work - it
  was considered nothing but added complexity that didn't buy
  us anything. :I

  (I'll explain this in detail on the mailing list, I guess.)

- Added a very simple help.module to group all available
  documentation on a single page.

- Fixed bug in node_control(), book.module: UnConeD forgot to
  global $user when updating the combobox code.

- Removed static wishlist.module: in future, the wishlist can
  be maintained as a page in our collaborative book.

- Revised most of settings.module: tidied up the code and the
  descriptions to accompany the settings and introduced a new
  "default maximum number of nodes to display on the main page"
  variable.

- Revised most of comment.module: the administration interface
  looks better now, integrated node permissions, and -finally-
  made it possible to delete comments.

- Polished on:
   + account.module
   + structure.module
   + locale.module
   + module.module
   + forum.module

- Form-ified:
   + account.php
   + account.module
   + setting.module
   + cvs.module
   + submit.php
   + comment.module
   + forum.module
   + book.module
   + page.module
   + locale.module

- Updated CHANGELOG

INFO:

- Designed a "generic tracker system with optional backends"
  on paper.  The idea is to allow registered users to hot-list
  certain topics, individual nodes or threads (comments) and
  to "plug-in" output backends like - for instance - an e-mail
  digest.  The design requires "intelligent blocks" though.


TODO:

- I want to tidy up the headline.module and backend.class as
  well as merge in headlineRSS10.module.  Julian spent quite
  some time working on headline.module but I'm not sure what
  he changed and whether he'd contribute it back?
2001-04-30 17:13:08 +00:00
Dries Buytaert 173888b43d *** UnConeD wrote:
> - Fixed security issue: unchecked form-data in a db-query (line 82)
> - Fixed bug: the module now checks only against other *stories*
>   (instead of nodes) with the same title.

- Took out the duplicate title check; after the story module has
  been "nodified", duplicate titles are no longer a problem.
2001-04-21 17:52:39 +00:00
Steven Wittens 0bd25284de - Fixed security issue: unchecked form-data in a db-query (line 82)
- Fixed bug: the module now checks only against other *stories* (instead of nodes) with the same title.
2001-04-21 17:32:27 +00:00
Dries Buytaert cccb132c81 - Addition: added a "promote" field to the node table, which
makes "promoting nodes" to the main page possible.  Stories
  and reviews could be promoted by default, but - on accasion
  a good book entry could be manually promoted too.  Thus all
  existing content types can be shown on the main page, not
  just stories.

  Requires a SQL update, see 2.00-to-x.xx.sql!

- Addition: implemented "auto-post new submissions" feature
  to disable or by-pass the moderation queue in addition to
  "moderate new submissions".

  TODO: admin moderation versus registered user moderation.

- Addition: added category and topic support to page.module.
2001-04-21 14:19:20 +00:00
Dries Buytaert 3f1979aa3c - Addition: made it so that comments can be enabled/disabled on
a node per node basis, rather then on a category per category
  basis.  The default settings for each individual category can
  be changed though.

  Example: it can be setup so that - by default - all stories
  posted to the category "article" will have comments enabled
  but stories submitted to "announcement" not.

  Different configuration schemes can easily be added later.

  Requires a SQL update, see 2.00-to-x.xx.sql/database.mysql.

- Addition: made submit.php only use categories that users can
  actually submit new content to.
2001-04-19 19:59:48 +00:00
Dries Buytaert b1c66cb5de Another big update so please read this carefully because there is important information hidden in it.
Made it so that we can disable/enable comments on a category by category basis. In order to accomplish this I had to make a few (*temporary*) changes.

I moved all comment code from the "module level" (eg. story.module) to the "node level".  It was nothing but the logical next step in nodifying drupal.  This enables us to add comments to all existing content types including book entries.  But also for book entries, this to can be toggled on and off. :-)

Moreover module writers don't have to worry about the complex comment logic: it is "abstracted" away.  This implies that story.module got smaller, faster and easier to comprehend. :-)

In order to accomplish this, I had to update ALL THEMES, which I did - and on my way I updated Goofy, Oranzh and UnConeD - with the previous changes.  All themes are up-to-date now!  I also had to remove the [ reply to this story ] links, and temporally re-introcuded the "Add comment" button in the "Comment control".  Tempora lly that is, UnConeD. ;)

I plan to upgrade drop.org either tommorow or wednesday so test away if you have some time to kill. ;)

Oh, I also fixed a few bugs and made various small improvements.
2001-04-16 18:21:22 +00:00
Dries Buytaert 53c67ac0a2 - a few changes which might help overcome Jeroen's redeclartion problem
(or might not)
2001-04-16 13:26:38 +00:00
Dries Buytaert b9952f537d Large commit, read it carefully, and make the required changes to
your theme:

- corrected some missing translations in story.module.  Oops!
- grealty simplified the "moderation threshold mechanism"(tm) so
  that module writers don't have to worry about this.  As a result
  story.module and book.module became a bit smaller and easier to
  grasp.
- greatly simplified new "category" and "topic" code which is soon
  going to replace the "section" code.  Needs more work though so
  hang on thight.
- includes/section.inc and modules/section.module are replaced by
  includes/structure.module and modules/structure.module.
- beautified example.theme a bit without adding HTML complexity:
  it is a good example but still useful as a theme
- made theme example use "categories" and "topics"
    --> TAKE A LOOK AT IT AND UPDATE YOUR THEME
- made theme marvin use "categories" and "topics"
    --> TAKE A LOOK AT IT AND UPDATE YOUR THEME
- added 2 new "story listings" to administrator interface of
  story.module to verify story integrity.
- optimized comment table a bit (work in progress)
2001-04-16 11:38:12 +00:00
Dries Buytaert 1f0565806b - improved submit.php:
it now uses the new category code, incl content bindings.
  You can setup different "categories" which map on a content
  type.  Example:
    review   -> review.module
    article  -> story.module
    column   -> story.module
    announc. -> story.module
    addons   -> file.module
    themes   -> file.module
- "generalised" story.module and book.module's output.
- fixed bug in includes/timer.inc
- fixed glitch in theme example.theme: it said "$how by" but
  the variable $how has never been declared.
- added "drupal development settings" to display some timings
- more work on the categories/topics -> does NOT work yet
2001-04-15 17:01:32 +00:00
Dries Buytaert b87d482b38 Last nights updates (under construction):
- added _type() hook so each module can return the content types he/she
    implements
2001-04-13 08:27:32 +00:00
Dries Buytaert 4711869f52 - fixed a small SQL bug in page.module
- slightly improved story.module, node.module and book.module
- made the "default theme" a setting from the setting page
- polished a bit on the export function: we can now export the
  book or parts thereof through the following url:

    1.  http://drop.org/export/book/
          (full book)
    2.  http://drop.org/export/book/nid
          (where nid is the node id to start with)

  The export routine demonstrates how it can be done yet the
  output is too basic and can only improve over time.
2001-04-11 19:44:24 +00:00
Dries Buytaert 0f567be0ed - improved administrator interface of account, node, story and book
by (1) adding a few extra features to "easify" navigation and (b)
  to start using "status messages" as once suggested on the mailing
  list by Jeroen
2001-04-10 20:07:27 +00:00
Dries Buytaert 38806b4a39 - fixed bug in common.inc: throttle()
- streamlined method invocation in node.inc
- added node_status() function to modules
- added NEW (mostly static) page module
- added NEW settings module
2001-04-07 15:02:28 +00:00
Dries Buytaert 8213f5b262 A lot of small changes (search-n-replace) make a big commit:
- fixed update bug in book.module
  - provide a log message when both adding and updating book pages
  - all configurable variables are now accessed through "variable_get()":
  - rewrote watchdog and submission throttle and removed watchdog.inc
  - improved robustness of sections.inc
  - imporved story.module
  - updated ./database/database.sql
2001-04-06 14:14:16 +00:00
Dries Buytaert 048664f278 - a bunch of various updates 2001-04-05 20:33:36 +00:00
Dries Buytaert 7fac91c2cc - various smaller improvements 2001-04-04 21:09:24 +00:00
Dries Buytaert 805107cd22 Commiting my work of last Sunday:
- removed ban.inc and ban.module and integrated it in account.module
   under the name "access control" --> the ban code was not really up
   to standard so this has now been dealt with.  This refactoring and
   reintegration cuts down the code size with 100 lines too.  :-)
   (The ban.module code was really old and it showed.)

 - added node.module and made the other modules reuse some of this
   code --> cut down the code size of modules by at least 100 lines
   and adds stability.

 - added a status() function to admin.php to display a conform status
   message where appropriate.  See admin.php for usage.

 - removed $theme->control() and made comments.inc handle this itself
   wrapped in a $theme->box().  No need to clutter the themes with
   such complexity --> updated all themes already. :-)

 - some small visual changes to some administration pages to be more
   consistent across different modules.
2001-04-02 15:54:37 +00:00
Dries Buytaert 864b3de476 - undid some changes 2001-04-01 12:08:15 +00:00
Dries Buytaert d216096ede - simplified some of the node stuff:
stories can no longer be scheduled -> this functionality will be made
    generic for all nodes
2001-04-01 10:52:01 +00:00
Dries Buytaert 2ac7aa425b - visual improvements to example.theme, simplified HMTL code (- 20
lines)
- made node.inc more robust: it should roll-back when something goes
  fubar and it should work in subdirectories
2001-03-31 11:00:04 +00:00
Dries Buytaert 04ad9b8af9 - fixed issue depricated call-by-reference issues
- fixed small visual glitch in includes/function.inc
- changed SQL tables around a bit to be more consistent
  (result: small changes to a lot of different files)
- improved robustness of includes/node.inc
- improved output of cron.module
- improved output of node.php
2001-03-29 19:50:31 +00:00
Dries Buytaert a0d83fc0e8 - streamlined the book and story module 2001-03-28 21:29:44 +00:00
Dries Buytaert 3f2b0e0b3f Flushing my backlog (in case Natrak wants to make more changes):
- tidied up some of the code
 - fixed a small problems
2001-03-28 07:03:47 +00:00
Dries Buytaert cb5bbdee20 - small improvements as well as 2 bugfixes 2001-03-26 20:22:09 +00:00
Dries Buytaert 1f79863053 - large commit of everything else that has been queued in my backlog:
it's not 100% stable yet
2001-03-25 10:57:01 +00:00
Dries Buytaert 93f66c06d3 - added nodified story module: story extends node
- removed includes/story.inc as we no longer need it: story.module
  is *really* modular now.
2001-03-24 16:56:10 +00:00
Dries Buytaert ab643ce6d2 - fixed slash-problem reported by Jared 2001-03-22 17:29:36 +00:00
Dries Buytaert accd5f0c31 - applied David Norman's patch to turn all <?'s into fully qualified
<?php's.
2001-03-10 11:07:52 +00:00
Dries Buytaert f516626a29 A rather large and important update:
revised most of the SQL queries and tried to make drupal as secure as possible (while trying to avoid redundant/duplicate checks).  For drupal's sake, try to screw something up.  See the mail about PHPNuke being hacked appr. 6 days ago.  The one who finds a problem is rewarded a beer (and I'm willing to ship it to Norway if required).  I beg you to be evil.  Try dumping a table a la "http://localhost/index.php?date=77778;DROP TABLE users" or something. ;)
2001-03-07 21:29:40 +00:00
Dries Buytaert dba7342183 code revision:
- shortened and improved the code
2001-03-03 15:31:01 +00:00
Dries Buytaert 4371b627d5 - added fine-grained user permission system which allows us to give
certain users access to specific administration sections only.
    Ex. a FAQ maintainer can only edit the FAQ, and members of an
        "editorial board" can only edit comments, diaries and
         stories, ..
- code review => rewrote include/user.inc which is much easier now
- fixed 4 small bugs
2001-02-18 15:14:56 +00:00
Dries Buytaert da8aaa7672 - improved layout story.module
- fixed bug in translation
2001-02-17 15:52:40 +00:00
Dries Buytaert 171479fcfa - a 2nd batch of various updates 2001-02-10 14:36:49 +00:00
Dries Buytaert d6ce51e4ce - added a "search framework" which allows for easy searching
(to be continued)
- tidyied up some existing code
2001-02-10 11:59:06 +00:00
Dries Buytaert 77ed531035 - added new feature for evaluating purpose: user rating (mojo, karma)!
- removed tabs from Jeroen's theme
2001-02-07 22:01:57 +00:00
Dries Buytaert 429c8a0022 - documentation updates contributed by Michael O'Henly <michael@tenzo.com>
and myself
2001-02-05 16:42:38 +00:00
Dries Buytaert 34a927e6e3 - fixed 2 small bugs (reported by martin@abol.com) 2001-01-26 13:31:41 +00:00
Dries Buytaert ea97888533 I know, I know, it is getting nasty lately but I have another large commit after nothing but code.
This time I redid the "category"-stuff.  Categories - from now on called sections - are now maintained from the admin pages, can have their own post, dump and timout thresholds as discussed earlier (some weeks ago).  By tomorrow evening users will be able to enable or disable section as well - i.e. to customize the content of drop.org.
2001-01-21 19:41:11 +00:00