1. 18 Sep, 2005 1 commit
    • Dries's avatar
      - Patch #3986 by James (and Boris :)):consolidated all feed-related settings in one place. · 1dc53d97
      Dries authored
      * adds a "feed settings" section to admin/settings where 2 new settings are introduced:
      * number of items per feed
      * default length of feed descriptions (title only, teaser, full)
      * patches all of core to obey the above - including the new aggregator (out) feeds
      * adds support for adding namespaces in _nodeapi('rss item') - which means things like iTunes RSS and yahoo's media rss can be implemented by the appropriate modules (i.e. audio.module)
      * includes some additional info in the default node feed - specifically the element (links directly to comments) - and dc:creator - to show node author information.
  2. 17 Sep, 2005 1 commit
  3. 15 Sep, 2005 1 commit
  4. 14 Sep, 2005 2 commits
  5. 13 Sep, 2005 2 commits
  6. 12 Sep, 2005 2 commits
  7. 08 Sep, 2005 7 commits
  8. 07 Sep, 2005 5 commits
  9. 06 Sep, 2005 6 commits
  10. 02 Sep, 2005 2 commits
  11. 01 Sep, 2005 1 commit
  12. 31 Aug, 2005 1 commit
    • Dries's avatar
      - Patch #28483 by Steven: JavaScript enabled uploading. · e03ce2f9
      Dries authored
        Comment from Steven: It does this by redirecting the submission of the form to a hidden <iframe> when you click "Attach" (we cannot submit data through Ajax directly because you cannot read file contents from JS for security reasons).  Once the file is submitted, the upload-section of the form is updated.  Things to note:
          * The feature degrades back to the current behaviour without JS.
          * If there are errors with the uploaded file (disallowed type, too big, ...), they are displayed at the top of the file attachments fieldset.
          * Though the hidden-iframe method sounds dirty, it's quite compact and is 100% implemented in .js files. The drupal.js api makes it a snap to use.
          * I included some minor improvements to the Drupal JS API and code.
          * I added an API drupal_call_js() to bridge the PHP/JS gap: it takes a function name and arguments, and outputs a <script> tag. The kicker is that it preserves the structure and type of arguments, so e.g. PHP associative arrays end up as objects in JS.
          * I also included a progressbar widget that I wrote for drumm's ongoing update.php work. It includes Ajax status updating/monitoring, but it is only used as a pure throbber in this patch. But as the code was already written and is going to be used in the near future, I left that part in. It's pretty small ;). If PHP supports ad-hoc upload info in the future like Ruby on Rails, we can implement that in 5 minutes.
  13. 30 Aug, 2005 2 commits
    • Dries's avatar
      - Patch #7582 by Gerhard: improved node revisions! · d9d6a6e0
      Dries authored
      All node revisions were stored in a serialized field in the node table and retrieved for _each_ page view although they are rarely needed. We created a separate revisions table which would be in principle identical to the node table, only that it could have several old copies of the same node.  This also allows us to revision-related information, and to provide log entries to non-book pages when a new revision is being created.
      1. Provide upgrade instructions for node module maintainers!
      2. Upgrade modules that implement node types.
      3. Provide an upgarde path for revisions.  Dependency on the upgrade system.
    • Dries's avatar
      - Patch #20255 by Cvbge: simplified a query in the throttle.module. Fixes a... · 7e5d0c94
      Dries authored
      - Patch #20255 by Cvbge: simplified a query in the throttle.module.  Fixes a PostgreSQL compatibility bug too.
  14. 29 Aug, 2005 2 commits
  15. 28 Aug, 2005 5 commits
    • Dries's avatar
    • Dries's avatar
      - Patch #16452 by chx: allow modules to rewrite taxonomy-related SQL queries much · 8f71d899
      Dries authored
        like we do with node-related SQL queries.
        (chx promised to document this, check his documentation as soon it is available.)
    • Dries's avatar
    • Dries's avatar
      - Patch #29785 by Chx: multiple node types were broken so we refactored · c9fc300b
      Dries authored
        part of the node system!  If you have a module that implements node
        types, you'll have to udpate its CVS HEAD version.
        We replaced _node_name() and _node_types() by _node().  The new _node()
        hook let's you define one or more node types, including their names.
        The implementation of the _node() hook needs to:
         return array($type1 => array('name' => $name1, 'base' => $base1),
                      $type2 => array('name' => $name2, 'base' => $base2));
        where $type is the node type, $name is the human readable name of the type
        and $base is used instead of <hook> for <hook>_load, <hook>_view, etc.
        For example, the story module's node hook looks like this:
          function story_node() {
            return array('story' => array('name' => t('story'), 'base' => 'story'));
        The page module's node hook module like:
          function page_node() {
            return array('page' => array('name' => t('page'), 'base' => 'page'));
        However, more complex node modules like the project module and the
        flexinode module can use the 'base' parameter to specify a different base.
        The project module implements two node types, proejcts and issues, so it
        can do:
          function project_node() {
            return array(
             array('project_project' => array('name' => t('project'), 'base' => 'project'),
             array('project_issue' => array('name' => t('issue'), 'base' => 'project_issue'));
        In the flexinode module's case there can only one base ...
        This hook will simplify the CCK, and will make it easy (or easier) to merge
        the story and page module.
        In addition, node_list() became node_get_types().  In addition, we created
        the following functions: node_get_name($type) and node_get_base($type).
    • Dries's avatar