Overview

Namespaces

  • Deliverist
    • Builder
      • Commands

Classes

  • Deliverist\Builder\Builder
  • Deliverist\Builder\Commands\ApacheImports
  • Deliverist\Builder\Commands\BowerInstall
  • Deliverist\Builder\Commands\ComposerInstall
  • Deliverist\Builder\Commands\Copy
  • Deliverist\Builder\Commands\CreateDirectory
  • Deliverist\Builder\Commands\GoogleAnalytics
  • Deliverist\Builder\Commands\GoogleClosureCompiler
  • Deliverist\Builder\Commands\LessCompile
  • Deliverist\Builder\Commands\MinifyContent
  • Deliverist\Builder\Commands\PingUrl
  • Deliverist\Builder\Commands\Remove
  • Deliverist\Builder\Commands\Rename
  • Deliverist\Builder\Commands\ReplaceContent

Interfaces

  • Deliverist\Builder\ICommand

Exceptions

  • Deliverist\Builder\BuilderException
  • Deliverist\Builder\CommandException
  • Deliverist\Builder\Commands\RenameException
  • Deliverist\Builder\Exception
  • Deliverist\Builder\FileSystemException
  • Deliverist\Builder\InvalidArgumentException
  • Deliverist\Builder\InvalidStateException
  • Overview
  • Namespace
  • Class
 1:  2:  3:  4:  5:  6:  7:  8:  9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 
<?php

    namespace Deliverist\Builder\Commands;

    use Deliverist\Builder\Builder;
    use Deliverist\Builder\InvalidArgumentException;
    use Deliverist\Builder\InvalidStateException;
    use Deliverist\Builder\ICommand;
    use Nette\Utils\FileSystem;


    class PingUrl implements ICommand
    {
        /**
         * @param  Builder
         * @param  string
         * @param  bool
         */
        public function run(Builder $builder, $url = NULL, $validateSsl = TRUE)
        {
            if (!isset($url)) {
                throw new InvalidArgumentException("Missing parameter 'url'.");
            }

            $options = array(
                'ssl' => array(
                    'verify_peer' => $validateSsl,
                    'verify_peer_name' => $validateSsl,
                ),
            );

            $err = ($out = @file_get_contents($url, FALSE, stream_context_create($options))) === FALSE;

            if ($err) {
                $error = error_get_last();
                $builder->logError('Error type ' . $error['type']);
                $builder->logError($error['message']);
                $builder->logError('in file ' . $error['file'] . ':' . $error['line']);
                throw new InvalidStateException('URL is unreachable ' . $url);
            }

            $out = strip_tags($out);
            $lines = explode("\n", $out);

            foreach ($lines as $line) {
                $line = trim($line);

                if ($line === '') {
                    continue;
                }

                $builder->log('> ' . $line);
            }
        }
    }
deliverist/builder master API documentation API documentation generated by ApiGen