ILIAS  release_5-2 Revision v5.2.25-18-g3f80b82851
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
 int More...
 
 $browsable = true
 bool More...
 
 $hierarchical = true
 bool More...
 
- Data Fields inherited from HTMLPurifier_URIScheme
 $default_port = null
 Scheme's default port (integer). More...
 
 $browsable = false
 Whether or not URIs of this scheme 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 bool. 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 
)
Parameters
HTMLPurifier_URI$uri
HTMLPurifier_Config$config
HTMLPurifier_Context$context
Returns
bool

Definition at line 29 of file ftp.php.

30  {
31  $uri->query = null;
32 
33  // typecode check
34  $semicolon_pos = strrpos($uri->path, ';'); // reverse
35  if ($semicolon_pos !== false) {
36  $type = substr($uri->path, $semicolon_pos + 1); // no semicolon
37  $uri->path = substr($uri->path, 0, $semicolon_pos);
38  $type_ret = '';
39  if (strpos($type, '=') !== false) {
40  // figure out whether or not the declaration is correct
41  list($key, $typecode) = explode('=', $type, 2);
42  if ($key !== 'type') {
43  // invalid key, tack it back on encoded
44  $uri->path .= '%3B' . $type;
45  } elseif ($typecode === 'a' || $typecode === 'i' || $typecode === 'd') {
46  $type_ret = ";type=$typecode";
47  }
48  } else {
49  $uri->path .= '%3B' . $type;
50  }
51  $uri->path = str_replace(';', '%3B', $uri->path);
52  $uri->path .= $type_ret;
53  }
54  return true;
55  }

Field Documentation

◆ $browsable

HTMLPurifier_URIScheme_ftp::$browsable = true

bool

Definition at line 16 of file ftp.php.

◆ $default_port

HTMLPurifier_URIScheme_ftp::$default_port = 21

int

Definition at line 11 of file ftp.php.

◆ $hierarchical

HTMLPurifier_URIScheme_ftp::$hierarchical = true

bool

Definition at line 21 of file ftp.php.


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