/**
  * @param string $form.  THe form name
  * @param array $fields of string. The fields we want returned
  * Can include the special field 'last_modified' to get the last modification time for any of the fields of that form which is returned in the format  "Y-m-d H:i:s"
  * @param boolean $parent. Defaults to false.    If it is scalar and non-boolean, it is consider to be the ID of the parent, 
  * and then we get all forms with parent the given id. If true, we return the parent as one of the fields.
  *@param array $where_data.  contains the  where clause information about this form or a nested      
  * @param array $ordering. An array of fields to order by.  Defaults to the empty array.  Prepend a - to order by in descending order.
  * @param mixed $limit Defaults to false.  It true, returns only one result.  If an integer it is the numeber of records to limit to.
  *  If it is as an array of two integers, it is the offset and then number of results to limit to.
  * @param integer $mod_time. Defaults to -1.  If non-negative, we only list the requested fields for an id if at least one of them has a modification
  *    time greater than or equal to $mod_time.  If the form storage has no way of tracking modifucation time, all entries are listed.
  * @returns mixed an array with key id's and value and array of values.  the array of values has as keys the fields with their corresponding value.
  */
 public function listDisplayFields($form, $fields, $parent = false, $where_data = array(), $ordering = array(), $limit = false, $mod_time = -1, $user = false)
 {
     //public  function listDisplayFields($form, $fields, $parent = false, $where_data=array(), $ordering=array(), $limit = false, $mod_time = -1) {
     if (is_array($mod_time) && array_key_exists('mod_time', $mod_time)) {
         $mod_time = $mod_time['mod_time'];
     }
     if (is_scalar($mod_time) && $mod_time > 0) {
         $this->getDOMData($form);
         //need to do this so the mod time is set.
         if ($this->mod_time[$form] < $mod_time) {
             return array();
         }
     }
     $vals = parent::listDisplayFields($form, $fields, $parent, $where_data, $ordering, $limit, $mod_time);
     if (array_search('last_modified', $fields) !== false) {
         $mod_time = date("Y-m-d H:i:s", $this->mod_time[$form]);
         foreach ($vals as $id => &$data) {
             $data['last_modified'] = $mod_time;
         }
     }
     return $vals;
 }