ILIAS  release_4-4 Revision
HTMLPurifier_URIScheme_ftp Class Reference

Validates ftp (File Transfer Protocol) URIs as defined by generic RFC 1738. More...

+ Inheritance diagram for HTMLPurifier_URIScheme_ftp:
+ Collaboration diagram for HTMLPurifier_URIScheme_ftp:

Public Member Functions

 doValidate (&$uri, $config, $context)
 
- Public Member Functions inherited from HTMLPurifier_URIScheme
 doValidate (&$uri, $config, $context)
 Validates the components of a URI for a specific scheme. More...
 
 validate (&$uri, $config, $context)
 Public interface for validating components of a URI. More...
 

Data Fields

 $default_port = 21
 
 $browsable = true
 
 $hierarchical = true
 
- Data Fields inherited from HTMLPurifier_URIScheme
 $default_port = null
 Scheme's default port (integer). More...
 
 $browsable = false
 Whether or not URIs of this schem are locatable by a browser http and ftp are accessible, while mailto and news are not. More...
 
 $secure = false
 Whether or not data transmitted over this scheme is encrypted. More...
 
 $hierarchical = false
 Whether or not the URI always uses <hier_part>, resolves edge cases with making relative URIs absolute. More...
 
 $may_omit_host = false
 Whether or not the URI may omit a hostname when the scheme is explicitly specified, ala file:///path/to/file. More...
 

Detailed Description

Validates ftp (File Transfer Protocol) URIs as defined by generic RFC 1738.

Definition at line 6 of file ftp.php.

Member Function Documentation

◆ doValidate()

HTMLPurifier_URIScheme_ftp::doValidate ( $uri,
  $config,
  $context 
)

Definition at line 12 of file ftp.php.

12  {
13  $uri->query = null;
14 
15  // typecode check
16  $semicolon_pos = strrpos($uri->path, ';'); // reverse
17  if ($semicolon_pos !== false) {
18  $type = substr($uri->path, $semicolon_pos + 1); // no semicolon
19  $uri->path = substr($uri->path, 0, $semicolon_pos);
20  $type_ret = '';
21  if (strpos($type, '=') !== false) {
22  // figure out whether or not the declaration is correct
23  list($key, $typecode) = explode('=', $type, 2);
24  if ($key !== 'type') {
25  // invalid key, tack it back on encoded
26  $uri->path .= '%3B' . $type;
27  } elseif ($typecode === 'a' || $typecode === 'i' || $typecode === 'd') {
28  $type_ret = ";type=$typecode";
29  }
30  } else {
31  $uri->path .= '%3B' . $type;
32  }
33  $uri->path = str_replace(';', '%3B', $uri->path);
34  $uri->path .= $type_ret;
35  }
36 
37  return true;
38  }

Field Documentation

◆ $browsable

HTMLPurifier_URIScheme_ftp::$browsable = true

Definition at line 9 of file ftp.php.

◆ $default_port

HTMLPurifier_URIScheme_ftp::$default_port = 21

Definition at line 8 of file ftp.php.

◆ $hierarchical

HTMLPurifier_URIScheme_ftp::$hierarchical = true

Definition at line 10 of file ftp.php.


The documentation for this class was generated from the following file: