diff options
author | Philip Nicolcev <frugen@gmail.com> | 2014-08-24 13:12:44 -0400 |
---|---|---|
committer | Philip Nicolcev <frugen@gmail.com> | 2014-08-24 13:12:44 -0400 |
commit | f5fe739314de24e3a9cb94b9c8c64e11ed9cc14c (patch) | |
tree | be46c6120d6dc0d08a7112a8dc80840281cbad33 /source/Command/VerifyInstallation | |
parent | 9ffeed7646620ae7de51b929a3b44f2cdffb677f (diff) | |
parent | 5d8755faf06fd2ff9d3977f103e641b0ba9f714e (diff) | |
download | AJAX-Chat-origin/cli_testing.zip AJAX-Chat-origin/cli_testing.tar.gz AJAX-Chat-origin/cli_testing.tar.bz2 |
Merge pull request #178 from stevleibelt/masterorigin/cli_testing
Implemented Command Line Tools in cli_testing branch
Diffstat (limited to 'source/Command/VerifyInstallation')
-rw-r--r-- | source/Command/VerifyInstallation/AbstractCommand.php | 50 | ||||
-rw-r--r-- | source/Command/VerifyInstallation/LocalFiles.php | 70 | ||||
-rw-r--r-- | source/Command/VerifyInstallation/Version.php | 40 |
3 files changed, 160 insertions, 0 deletions
diff --git a/source/Command/VerifyInstallation/AbstractCommand.php b/source/Command/VerifyInstallation/AbstractCommand.php new file mode 100644 index 0000000..d64a680 --- /dev/null +++ b/source/Command/VerifyInstallation/AbstractCommand.php @@ -0,0 +1,50 @@ +<?php +/** + * @author stev leibelt <artodeto@bazzline.net> + * @since 2014-08-21 + */ + +/** + * Class Command_VerifyInstallation_AbstractCommand + */ +abstract class Command_VerifyInstallation_AbstractCommand extends Command_AbstractCommand +{ + /** + * @var AbstractApplication + */ + protected $application; + + /** + * @var Filesystem + */ + protected $filesystem; + + /** + * @var Configuration_Path + */ + protected $pathConfiguration; + + /** + * @param AbstractApplication $application + */ + public function setApplication(AbstractApplication $application) + { + $this->application = $application; + } + + /** + * @param Filesystem $filesystem + */ + public function setFilesystem(Filesystem $filesystem) + { + $this->filesystem = $filesystem; + } + + /** + * @param Configuration_Path $configuration + */ + public function setPathConfiguration(Configuration_Path $configuration) + { + $this->pathConfiguration = $configuration; + } +}
\ No newline at end of file diff --git a/source/Command/VerifyInstallation/LocalFiles.php b/source/Command/VerifyInstallation/LocalFiles.php new file mode 100644 index 0000000..dafd44a --- /dev/null +++ b/source/Command/VerifyInstallation/LocalFiles.php @@ -0,0 +1,70 @@ +<?php +/** + * @author stev leibelt <artodeto@bazzline.net> + * @since 2014-08-21 + */ + +/** + * Class Command_VerifyInstallation_LocalFiles + */ +class Command_VerifyInstallation_LocalFiles extends Command_VerifyInstallation_AbstractCommand +{ + /** + * @throws Exception + */ + public function execute() + { + $pathToLibDirectory = $this->pathConfiguration->getChatPath() . DIRECTORY_SEPARATOR . 'lib'; + + if (!$this->filesystem->isDirectory($pathToLibDirectory)) { + throw new Exception( + 'directory "lib" is missing, installation needed' + ); + } + + $pathToDataDirectory = $pathToLibDirectory . DIRECTORY_SEPARATOR . 'data'; + + if (!$this->filesystem->isDirectory($pathToDataDirectory)) { + throw new Exception( + 'directory "data" is missing, installation needed' + ); + } + + $identifierToPublicPath = array( + 'channels' => $this->pathConfiguration->getChatChannelsFilePath(), + 'pathConfiguration' => $this->pathConfiguration->getChatConfigurationFilePath(), + 'users' => $this->pathConfiguration->getChatUsersFilePath(), + 'version' => $this->pathConfiguration->getChatVersionFilePath() + ); + + foreach ($identifierToPublicPath as $identifier => $path) { + if (!$this->filesystem->isFile($path)) { + throw new Exception( + 'file "' . $identifier . '" is missing, installation needed' + ); + } + } + + $pathToInstallPhp = $this->pathConfiguration->getChatPath() . DIRECTORY_SEPARATOR . 'install.php'; + + if ($this->filesystem->isFile($pathToInstallPhp)) { + throw new Exception( + 'file "' . $pathToInstallPhp . '" still available' + ); + } + } + + /** + * @return array + */ + public function getUsage() + { + } + + /** + * @throws Exception + */ + public function verify() + { + } +}
\ No newline at end of file diff --git a/source/Command/VerifyInstallation/Version.php b/source/Command/VerifyInstallation/Version.php new file mode 100644 index 0000000..a2f592b --- /dev/null +++ b/source/Command/VerifyInstallation/Version.php @@ -0,0 +1,40 @@ +<?php +/** + * @author stev leibelt <artodeto@bazzline.net> + * @since 2014-08-21 + */ + +/** + * Class Command_VerifyInstallation_Version + */ +class Command_VerifyInstallation_Version extends Command_VerifyInstallation_AbstractCommand +{ + /** + * @throws Exception + */ + public function execute() + { + $exampleVersion = $this->application->getExampleVersion(); + $currentVersion = $this->application->getCurrentVersion(); + + if ($exampleVersion !== $currentVersion) { + throw new Exception( + 'current version "' . $currentVersion . '" and code version "' . $exampleVersion . '" differs, update needed' + ); + } + } + + /** + * @return array + */ + public function getUsage() + { + } + + /** + * @throws Exception + */ + public function verify() + { + } +}
\ No newline at end of file |