Example #1
0
 /**
  * Returns the file stream to handle the requested path
  *
  * @param   PathInformation     $path   The path information
  * @param   string              $mode   The mode used to open the path
  * @return  FileBuffer                  The file buffer to handle the path
  */
 public function createFileBuffer(PathInformation $path, $mode)
 {
     $repo = $path->getRepository();
     $buffer = $repo->showFile($path->getLocalPath(), $path->getRef());
     $objectInfo = $repo->getObjectInfo($path->getLocalPath(), $path->getRef());
     return new StringBuffer($buffer, $objectInfo, 'r');
 }
Example #2
0
 /**
  * Returns the file stream to handle the requested path
  *
  * @param   PathInformation     $path   The path information
  * @param   string              $mode   The mode used to open the path
  * @return  FileBuffer                  The file buffer to handle the path
  */
 public function createFileBuffer(PathInformation $path, $mode)
 {
     $repo = $path->getRepository();
     $buffer = implode(str_repeat(PHP_EOL, 3), $repo->getLog($path->getArgument('limit'), $path->getArgument('skip')));
     return new StringBuffer($buffer, array(), 'r');
 }
Example #3
0
 /**
  * Returns the file stream to handle the requested path
  *
  * @param   PathInformation     $path   The path information
  * @param   string              $mode   The mode used to open the path
  * @return  FileBuffer                  The file buffer to handle the path
  */
 public function createFileBuffer(PathInformation $path, $mode)
 {
     return new StreamBuffer($path->getFullPath(), $mode);
 }
Example #4
0
 /**
  * Returns the file stream to handle the requested path
  *
  * @param   PathInformation     $path   The path information
  * @param   string              $mode   The mode used to open the path
  * @return  FileBuffer                  The file buffer to handle the path
  */
 public function createFileBuffer(PathInformation $path, $mode)
 {
     $repo = $path->getRepository();
     $buffer = $repo->showCommit($path->getArgument('ref'));
     return new StringBuffer($buffer, array(), 'r');
 }
Example #5
0
 /**
  * streamWrapper::stream_open — Opens file or URL
  *
  * @param   string   $path          Specifies the URL that was passed to the original function.
  * @param   string   $mode          The mode used to open the file, as detailed for fopen().
  * @param   integer  $options       Holds additional flags set by the streams API. It can hold one or more of
  *                                      the following values OR'd together.
  *                                      STREAM_USE_PATH         If path is relative, search for the resource using
  *                                                              the include_path.
  *                                      STREAM_REPORT_ERRORS    If this flag is set, you are responsible for raising
  *                                                              errors using trigger_error() during opening of the
  *                                                              stream. If this flag is not set, you should not raise
  *                                                              any errors.
  * @param   string   $opened_path   If the path is opened successfully, and STREAM_USE_PATH is set in options, opened_path
  *                                  should be set to the full path of the file/resource that was actually opened.
  * @return  boolean                 Returns TRUE on success or FALSE on failure.
  */
 public function stream_open($path, $mode, $options, &$opened_path)
 {
     try {
         $path = $this->getPath($path);
         $resolver = $this->createBufferFactoryResolver();
         $factory = $resolver->findFactory($path, $mode);
         $this->fileBuffer = $factory->createFileBuffer($path, $mode);
         $this->path = $path;
         if (self::maskHasFlag($options, STREAM_USE_PATH)) {
             $opened_path = $this->path->getUrl();
         }
         return true;
     } catch (\Exception $e) {
         if (self::maskHasFlag($options, STREAM_REPORT_ERRORS)) {
             trigger_error($e->getMessage(), E_USER_WARNING);
         }
         return false;
     }
 }