original_string: public function filter(&$value) {
          $accepted_types = optional_param_array('accepted_types', '', PARAM_RAW);
          if (isset($value['children'])) {
              if (!empty($value['children'])) {
                  $value['children'] = array_filter($value['children'], array($this, 'filter'));
              }
              return true; // always return directories
          } else {
              if ($accepted_types == '*' or empty($accepted_types)
                  or (is_array($accepted_types) and in_array('*', $accepted_types))) {
                  return true;
              } else {
                  foreach ($accepted_types as $ext) {
                      if (preg_match('#'.$ext.'$#i', $value['title'])) {
                          return true;
                      }
                  }
              }
          }
          return false;
      }
code: public function filter(&$value) {
          $accepted_types = optional_param_array('accepted_types', '', PARAM_RAW);
          if (isset($value['children'])) {
              if (!empty($value['children'])) {
                  $value['children'] = array_filter($value['children'], array($this, 'filter'));
              }
              return true; // always return directories
          } else {
              if ($accepted_types == '*' or empty($accepted_types)
                  or (is_array($accepted_types) and in_array('*', $accepted_types))) {
                  return true;
              } else {
                  foreach ($accepted_types as $ext) {
                      if (preg_match('#'.$ext.'$#i', $value['title'])) {
                          return true;
                      }
                  }
              }
          }
          return false;
      }
code_tokens: public function filter ( & $ value ) { $ accepted_types = optional_param_array ( 'accepted_types' , '' , PARAM_RAW ) ; if ( isset ( $ value [ 'children' ] ) ) { if ( ! empty ( $ value [ 'children' ] ) ) { $ value [ 'children' ] = array_filter ( $ value [ 'children' ] , array ( $ this , 'filter' ) ) ; } return true ; // always return directories } else { if ( $ accepted_types == '*' or empty ( $ accepted_types ) or ( is_array ( $ accepted_types ) and in_array ( '*' , $ accepted_types ) ) ) { return true ; } else { foreach ( $ accepted_types as $ ext ) { if ( preg_match ( '#' . $ ext . '$#i' , $ value [ 'title' ] ) ) { return true ; } } } } return false ; }
docstring: Filter file listing to display specific types
  
  @param array $value
  @return bool
docstring_tokens: Filter file listing to display specific types