Skip to content
  1. Feb 25, 2011
  2. Oct 18, 2006
  3. May 14, 2006
  4. May 05, 2006
  5. Mar 27, 2006
  6. Feb 21, 2006
  7. Jan 26, 2006
  8. Jan 20, 2006
    • Dries Buytaert's avatar
      - Patch #45530 by Morbus: filter_form shouldn't default to #weight 0 · 8c02d4ec
      Dries Buytaert authored
      When a form element doesn't specify a #weight, it is assumed internally as #weight 0. However, to ensure that our form elements display visually *as they were defined in the array* we, in form_builder, count the number of elements, divide by 1000, and set that as the weight:
      
      # Assign a decimal placeholder weight to preserve original array order
      if (!isset($form[$key]['#weight'])) {
        $form[$key]['#weight'] = $count/1000;
      }
      
      The above code will set the #weights of elements that have not defined a weight to something like 0 (first element in array definition), 0.001, 0.002, and so on. However, anytime a form element *explicitly* defines a #weight of 0, that #weight is kept at exactly 0, which would cause that form element to appear BEFORE the elements that didn't have a #weight defined (and thus received a #weight such as 0.002).
      
      Consider the following pseudo example:
      
      $form['game_title'] = array(
          '#type' => 'textfield',
          ...
          );
      $form['game_description'] = array(
          '#type' => 'textarea',
          ...
          );
      $form['game_format'] = filter_form(variable_get('game_format', NULL));
      return $form;
      
      Here, we're not definiing weights on our two textfields. We then add an filter_form. The second parameter of the filter_form is $weight, which defaults to 0. After this $form hits form_builder, we have weights 0 (game_title), 0.001 (game_description), and 0 (filter_form) respectively. This is then sorted by weight, which causes filter_form (the third element in the array) to appear BEFORE game_description (0 is lighter than 0.001).
      
      The short lesson is: explicitly defining #weight 0 for a form element is probably a bad idea. This patch changes the default #weight of filter_form to NULL, instead of 0, and also removes any other explicit setting of #weight to 0 in core.
      8c02d4ec
  9. Jan 19, 2006
  10. Jan 18, 2006
  11. Dec 29, 2005
  12. Dec 05, 2005
  13. Nov 23, 2005
  14. Nov 12, 2005
  15. Nov 01, 2005
  16. Oct 11, 2005
  17. Oct 07, 2005
  18. Sep 28, 2005
  19. Sep 23, 2005
  20. Sep 18, 2005
    • Dries Buytaert's avatar
      - Patch #3986 by James (and Boris :)):consolidated all feed-related settings in one place. · 1dc53d97
      Dries Buytaert 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.
      1dc53d97
  21. Sep 14, 2005
  22. Sep 07, 2005
  23. Aug 29, 2005
  24. Aug 28, 2005
    • Dries Buytaert's avatar
      - Patch #29785 by Chx: multiple node types were broken so we refactored · c9fc300b
      Dries Buytaert 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).
      c9fc300b
  25. Aug 25, 2005
  26. Jul 31, 2005
  27. Jul 29, 2005
  28. Jul 25, 2005
  29. Jul 17, 2005
  30. Jul 02, 2005
  31. May 31, 2005
  32. Apr 28, 2005
  33. Apr 24, 2005
    • Dries Buytaert's avatar
      · a76a1e1f
      Dries Buytaert authored
      - Patch 20910 by chx: centralize print theme page.
      a76a1e1f
  34. Apr 12, 2005
  35. Feb 12, 2005
  36. Jan 29, 2005
  37. Jan 26, 2005
  38. Jan 25, 2005