Clues to reading this code:  
 More...
 | 
|   | __construct ($type='ul', $attributes='', $editable=false, $pageurl=null, $page=0, $pageparamname='page', $itemsperpage=20) | 
|   | Constructor.  More...
  | 
|   | 
| 
  | add_item ($item) | 
|   | 
| 
  | display_page_numbers () | 
|   | display list of page numbers for navigation 
  | 
|   | 
|   | find_item ($id, $suppresserror=false) | 
|   | Recurse down the tree and find an item by it's id.  More...
  | 
|   | 
|   | get_child_ids () | 
|   | Returns an array of ids of child items.  More...
  | 
|   | 
|   | get_items_peers ($itemid) | 
|   | Returns an array of ids of peers of an item.  More...
  | 
|   | 
|   | get_records () | 
|   | Should be overriden to return an array of records of list items.  More...
  | 
|   | 
|   | get_top_level_parent_id ($item) | 
|   | Returns the value to be used as the parent for the $item when it goes to the top level.  More...
  | 
|   | 
|   | item_is_first_on_page ($itemid) | 
|   | 
|   | item_is_last_on_page ($itemid) | 
|   | 
|   | list_from_records ($paged=false, $offset=0) | 
|   | Produces a hierarchical tree of list items from a flat array of records.  More...
  | 
|   | 
|   | move_item_left ($id) | 
|   | Moves the item one step up in the tree.  More...
  | 
|   | 
|   | move_item_right ($id) | 
|   | Make item with id $id the child of the peer that is just above it in the sort order.  More...
  | 
|   | 
|   | move_item_up_down ($direction, $id) | 
|   | Move a record up or down.  More...
  | 
|   | 
|   | process_actions ($left, $right, $moveup, $movedown) | 
|   | process any actions.  More...
  | 
|   | 
| 
  | reorder_peers ($peers) | 
|   | 
| 
  | set_parent ($parent) | 
|   | 
|   | to_html ($indent=0, $extraargs=array()) | 
|   | Returns html string.  More...
  | 
|   | 
 | 
| 
  | $attributes | 
|   | 
| 
array  | $childparent | 
|   | keys are child ids, values are parents. 
  | 
|   | 
| 
  | $editable | 
|   | 
| 
  | $fieldnamesparent = 'parent' | 
|   | 
| 
  | $firstitem = 1 | 
|   | 
| 
array  | $items = array() | 
|   | of $listitemclassname objects. 
  | 
|   | 
| 
  | $lastitem = 999999 | 
|   | 
| 
  | $listitemclassname = 'list_item' | 
|   | 
| 
  | $offset = 0 | 
|   | 
| 
  | $page = 0 | 
|   | 
| 
  | $pagecount | 
|   | 
| 
  | $paged = false | 
|   | 
| 
  | $pageparamname | 
|   | 
| 
  | $pageurl | 
|   | 
| 
list_item  | $parentitem = null | 
|   | or derived class. 
  | 
|   | 
| 
array  | $records = array() | 
|   | Records from db, only used in top level list. 
  | 
|   | 
| 
  | $table | 
|   | 
| 
string  | $type | 
|   | 'ol' or 'ul'. 
  | 
|   | 
Clues to reading this code: 
The functions that move things around the tree structure just update the database - they don't update the in-memory structure, instead they trigger a page reload so everything is rebuilt from scratch.
- Copyright
 - Jamie Pratt 
 
- License
 - http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 
 
 
◆ __construct()
      
        
          | moodle_list::__construct  | 
          ( | 
            | 
          $type = 'ul',  | 
        
        
           | 
           | 
            | 
          $attributes = '',  | 
        
        
           | 
           | 
            | 
          $editable = false,  | 
        
        
           | 
           | 
            | 
          $pageurl = null,  | 
        
        
           | 
           | 
            | 
          $page = 0,  | 
        
        
           | 
           | 
            | 
          $pageparamname = 'page',  | 
        
        
           | 
           | 
            | 
          $itemsperpage = 20  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Constructor. 
- Parameters
 - 
  
    | string | $type |  | 
    | string | $attributes |  | 
    | boolean | $editable |  | 
    | moodle_url | $pageurl | url for this page  | 
    | integer | $page | if 0 no pagination. (These three params only used in top level list.)  | 
    | string | $pageparamname | name of url param that is used for passing page no  | 
    | integer | $itemsperpage | no of top level items.  | 
  
   
 
 
◆ find_item()
      
        
          | moodle_list::find_item  | 
          ( | 
            | 
          $id,  | 
        
        
           | 
           | 
            | 
          $suppresserror = false  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Recurse down the tree and find an item by it's id. 
- Parameters
 - 
  
    | integer | $id |  | 
    | boolean | $suppresserror | error if not item found?  | 
  
   
- Return values
 - 
  
  
 
 
 
◆ get_child_ids()
      
        
          | moodle_list::get_child_ids  | 
          ( | 
           | ) | 
           | 
        
      
 
Returns an array of ids of child items. 
- Return values
 - 
  
  
 
 
 
◆ get_items_peers()
      
        
          | moodle_list::get_items_peers  | 
          ( | 
            | 
          $itemid | ) | 
           | 
        
      
 
Returns an array of ids of peers of an item. 
- Parameters
 - 
  
    | int | itemid - if given, restrict records to those with this parent id.  | 
  
   
- Return values
 - 
  
  
 
 
 
◆ get_records()
  
  
      
        
          | moodle_list::get_records  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
abstract   | 
  
 
 
◆ get_top_level_parent_id()
      
        
          | moodle_list::get_top_level_parent_id  | 
          ( | 
            | 
          $item | ) | 
           | 
        
      
 
Returns the value to be used as the parent for the $item when it goes to the top level. 
Override if needed.
- Parameters
 - 
  
    | list_item | $item | The item which its top level parent is going to be returned.  | 
  
   
- Return values
 - 
  
  
 
Reimplemented in qbank_managecategories\question_category_list.
 
 
◆ item_is_first_on_page()
      
        
          | moodle_list::item_is_first_on_page  | 
          ( | 
            | 
          $itemid | ) | 
           | 
        
      
 
- Parameters
 - 
  
    | integer | $itemid | an item id.  | 
  
   
- Return values
 - 
  
    | boolean | Is the item with the given id the first top-level item on the current page?  | 
  
   
 
 
◆ item_is_last_on_page()
      
        
          | moodle_list::item_is_last_on_page  | 
          ( | 
            | 
          $itemid | ) | 
           | 
        
      
 
- Parameters
 - 
  
    | integer | $itemid | an item id.  | 
  
   
- Return values
 - 
  
    | boolean | Is the item with the given id the last top-level item on the current page?  | 
  
   
 
 
◆ list_from_records()
      
        
          | moodle_list::list_from_records  | 
          ( | 
            | 
          $paged = false,  | 
        
        
           | 
           | 
            | 
          $offset = 0  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Produces a hierarchical tree of list items from a flat array of records. 
'parent' field is expected to point to a parent record. records are already sorted. If the parent field doesn't point to another record in the array then this is a top level list
- Parameters
 - 
  
    | integer | $offset | how many list toplevel items are there in lists before this one  | 
  
   
- Return values
 - 
  
    | array(boolean,integer) | whether there is more than one page, $offset + how many toplevel items where there in this list.  | 
  
   
 
 
◆ move_item_left()
      
        
          | moodle_list::move_item_left  | 
          ( | 
            | 
          $id | ) | 
           | 
        
      
 
Moves the item one step up in the tree. 
- Parameters
 - 
  
  
 
- Return values
 - 
  
    | list_item | the item that used to be the parent of the item moved.  | 
  
   
 
 
◆ move_item_right()
      
        
          | moodle_list::move_item_right  | 
          ( | 
            | 
          $id | ) | 
           | 
        
      
 
Make item with id $id the child of the peer that is just above it in the sort order. 
- Parameters
 - 
  
  
 
 
 
◆ move_item_up_down()
      
        
          | moodle_list::move_item_up_down  | 
          ( | 
            | 
          $direction,  | 
        
        
           | 
           | 
            | 
          $id  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Move a record up or down. 
- Parameters
 - 
  
    | string | $direction | up / down  | 
    | integer | $id |  | 
  
   
 
 
◆ process_actions()
      
        
          | moodle_list::process_actions  | 
          ( | 
            | 
          $left,  | 
        
        
           | 
           | 
            | 
          $right,  | 
        
        
           | 
           | 
            | 
          $moveup,  | 
        
        
           | 
           | 
            | 
          $movedown  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
process any actions. 
- Parameters
 - 
  
    | integer | $left | id of item to move left  | 
    | integer | $right | id of item to move right  | 
    | integer | $moveup | id of item to move up  | 
    | integer | $movedown | id of item to move down  | 
  
   
- Return values
 - 
  
  
 
Reimplemented in qbank_managecategories\question_category_list.
 
 
◆ to_html()
      
        
          | moodle_list::to_html  | 
          ( | 
            | 
          $indent = 0,  | 
        
        
           | 
           | 
            | 
          $extraargs = array()  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Returns html string. 
- Parameters
 - 
  
    | integer | $indent | depth of indentation.  | 
  
   
 
 
The documentation for this class was generated from the following file: