var $AutoAsciiExt;
/* Constructor */
- function ftp_base($port_mode=FALSE) {
- $this->__construct($port_mode);
- }
-
function __construct($port_mode=FALSE, $verb=FALSE, $le=FALSE) {
$this->LocalEcho=$le;
$this->Verbose=$verb;
elseif(strtoupper(substr(PHP_OS, 0, 3)) === 'MAC') $this->OS_local=FTP_OS_Mac;
}
+ function ftp_base($port_mode=FALSE) {
+ $this->__construct($port_mode);
+ }
+
// <!-- --------------------------------------------------------------------------------------- -->
// <!-- Public functions -->
// <!-- --------------------------------------------------------------------------------------- -->
function pwd() {
if(!$this->_exec("PWD", "pwd")) return FALSE;
if(!$this->_checkCode()) return FALSE;
- return ereg_replace("^[0-9]{3} \"(.+)\".+", "\\1", $this->_message);
+ return preg_replace("/^[0-9]{3} \"(.+)\".*$/s", "\\1", $this->_message);
}
function cdup() {
}
if(!$this->_exec("SIZE ".$pathname, "filesize")) return FALSE;
if(!$this->_checkCode()) return FALSE;
- return ereg_replace("^[0-9]{3} ([0-9]+)".CRLF, "\\1", $this->_message);
+ return preg_replace("/^[0-9]{3} ([0-9]+).*$/s", "\\1", $this->_message);
}
function abort() {
}
if(!$this->_exec("MDTM ".$pathname, "mdtm")) return FALSE;
if(!$this->_checkCode()) return FALSE;
- $mdtm = ereg_replace("^[0-9]{3} ([0-9]+)".CRLF, "\\1", $this->_message);
+ $mdtm = preg_replace("/^[0-9]{3} ([0-9]+).*$/s", "\\1", $this->_message);
$date = sscanf($mdtm, "%4d%2d%2d%2d%2d%2d");
$timestamp = mktime($date[3], $date[4], $date[5], $date[1], $date[2], $date[0]);
return $timestamp;
return $this->_list(($arg?" ".$arg:"").($pathname?" ".$pathname:""), "LIST", "rawlist");
}
- function nlist($pathname="") {
+ function nlist($pathname="", $arg="") {
return $this->_list(($arg?" ".$arg:"").($pathname?" ".$pathname:""), "NLST", "nlist");
}
}
foreach($list as $k=>$v) {
$list[$k]=$this->parselisting($v);
- if($list[$k]["name"]=="." or $list[$k]["name"]=="..") unset($list[$k]);
+ if( ! $list[$k] or $list[$k]["name"]=="." or $list[$k]["name"]=="..") unset($list[$k]);
}
$ret=true;
foreach($list as $el) {
foreach($list as $k=>$v) {
$list[$k]=$this->parselisting($v);
- if($list[$k]["name"]=="." or $list[$k]["name"]=="..") unset($list[$k]);
+ if( ! $list[$k] or $list[$k]["name"]=="." or $list[$k]["name"]=="..") unset($list[$k]);
}
$ret=true;
function glob_regexp($pattern,$probe) {
$sensitive=(PHP_OS!='WIN32');
return ($sensitive?
- ereg($pattern,$probe):
- eregi($pattern,$probe)
+ preg_match( '/' . preg_quote( $pattern, '/' ) . '/', $probe ) :
+ preg_match( '/' . preg_quote( $pattern, '/' ) . '/i', $probe )
);
}
$mod_sockets = extension_loaded( 'sockets' );
}
-require_once "class-ftp-" . ( $mod_sockets ? "sockets" : "pure" ) . ".php";
-?>
+require_once dirname( __FILE__ ) . "/class-ftp-" . ( $mod_sockets ? "sockets" : "pure" ) . ".php";
+
+if ( $mod_sockets ) {
+ class ftp extends ftp_sockets {}
+} else {
+ class ftp extends ftp_pure {}
+}