ILIAS  Release_4_0_x_branch Revision 61816
 All Data Structures Namespaces Files Functions Variables Groups Pages
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

 validate (&$uri, $config, $context)
 Validates the components of a URI.

Data Fields

 $default_port = 21
 $browsable = true
 $hierarchical = true
- Data Fields inherited from HTMLPurifier_URIScheme
 $default_port = null
 Scheme's default port (integer)
 $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.
 $hierarchical = false
 Whether or not the URI always uses <hier_part>, resolves edge cases with making relative URIs absolute.

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

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

Validates the components of a URI.

Note
This implementation should be called by children if they define a default port, as it does port processing.
Parameters
$uriInstance of HTMLPurifier_URI
$configHTMLPurifier_Config object
$contextHTMLPurifier_Context object
Returns
Bool success or failure

Reimplemented from HTMLPurifier_URIScheme.

Definition at line 12 of file ftp.php.

References $config, $key, $type, and elseif().

{
parent::validate($uri, $config, $context);
$uri->query = null;
// typecode check
$semicolon_pos = strrpos($uri->path, ';'); // reverse
if ($semicolon_pos !== false) {
$type = substr($uri->path, $semicolon_pos + 1); // no semicolon
$uri->path = substr($uri->path, 0, $semicolon_pos);
$type_ret = '';
if (strpos($type, '=') !== false) {
// figure out whether or not the declaration is correct
list($key, $typecode) = explode('=', $type, 2);
if ($key !== 'type') {
// invalid key, tack it back on encoded
$uri->path .= '%3B' . $type;
} elseif ($typecode === 'a' || $typecode === 'i' || $typecode === 'd') {
$type_ret = ";type=$typecode";
}
} else {
$uri->path .= '%3B' . $type;
}
$uri->path = str_replace(';', '%3B', $uri->path);
$uri->path .= $type_ret;
}
return true;
}

+ Here is the call graph for this function:

Field Documentation

HTMLPurifier_URIScheme_ftp::$browsable = true

Definition at line 9 of file ftp.php.

HTMLPurifier_URIScheme_ftp::$default_port = 21

Definition at line 8 of file ftp.php.

HTMLPurifier_URIScheme_ftp::$hierarchical = true

Definition at line 10 of file ftp.php.


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