getOptions(); unset( $params['seekable'] ); return array( 'Bucket' => $parts[0], 'Key' => isset( $parts[1] ) ? $parts[1] : null, ) + $params; } /** * Overrides so we don't check for stat on directories * * @param string $path * @param int $flags * * @return array */ public function url_stat( $path, $flags ) { $extension = pathinfo( $path, PATHINFO_EXTENSION ); // If the path is a directory then return it as always existing. if ( ! $extension ) { return array( 0 => 0, 'dev' => 0, 1 => 0, 'ino' => 0, 2 => 16895, 'mode' => 16895, 3 => 0, 'nlink' => 0, 4 => 0, 'uid' => 0, 5 => 0, 'gid' => 0, 6 => -1, 'rdev' => -1, 7 => 0, 'size' => 0, 8 => 0, 'atime' => 0, 9 => 0, 'mtime' => 0, 10 => 0, 'ctime' => 0, 11 => -1, 'blksize' => -1, 12 => -1, 'blocks' => -1, ); } return parent::url_stat( $path, $flags ); } /** * Override the S3 Put Object arguments * * @return bool */ public function stream_flush() { // Set the ACL as public by default $this->params['ACL'] = Amazon_S3_And_CloudFront::DEFAULT_ACL; $this->params = apply_filters( 'wpos3_stream_flush_params', $this->params ); return parent::stream_flush(); } }