diff --git a/module/ZfModule/config/module.config.php b/module/ZfModule/config/module.config.php index 3b489554..7a10463a 100644 --- a/module/ZfModule/config/module.config.php +++ b/module/ZfModule/config/module.config.php @@ -75,6 +75,7 @@ 'listModule' => 'ZfModule\View\Helper\ListModule', 'moduleView' => 'ZfModule\View\Helper\ModuleView', 'moduleDescription' => 'ZfModule\View\Helper\ModuleDescription', + 'composerView' => 'ZfModule\View\Helper\ComposerView', ), ), 'zfmodule' => array( diff --git a/module/ZfModule/src/ZfModule/Controller/IndexController.php b/module/ZfModule/src/ZfModule/Controller/IndexController.php index 5dc887b6..3c443990 100644 --- a/module/ZfModule/src/ZfModule/Controller/IndexController.php +++ b/module/ZfModule/src/ZfModule/Controller/IndexController.php @@ -50,12 +50,21 @@ public function viewAction() $license = 'No license file found for this Module'; } + try{ + $composerJson = $client->api('repos')->content($vendor, $module, 'composer.json'); + $composerConf = json_decode($composerJson); + $composerConf = base64_decode($composerConf->content); + $composerConf = json_decode($composerConf, true); + } catch(\Exception $e) { + $composerConf = 'No composer.json file found for this Module'; + } $viewModel = new ViewModel(array( 'vendor' => $vendor, 'module' => $module, 'repository' => $repository, 'readme' => base64_decode($readme->content), + 'composerConf' => $composerConf, 'license' => $license, )); diff --git a/module/ZfModule/src/ZfModule/View/Helper/ComposerView.php b/module/ZfModule/src/ZfModule/View/Helper/ComposerView.php new file mode 100644 index 00000000..dfb3a9ed --- /dev/null +++ b/module/ZfModule/src/ZfModule/View/Helper/ComposerView.php @@ -0,0 +1,41 @@ + $composerConf, + )); + $vm->setTemplate('zf-module/helper/composer-view.phtml'); + + + return $this->getView()->render($vm); + } + + /** + * @param string $viewTemplate + * @return ZfcUserLoginWidget + */ + public function setViewTemplate($viewTemplate) + { + $this->viewTemplate = $viewTemplate; + return $this; + } +} diff --git a/module/ZfModule/view/zf-module/helper/composer-view.phtml b/module/ZfModule/view/zf-module/helper/composer-view.phtml new file mode 100644 index 00000000..bf3f71a2 --- /dev/null +++ b/module/ZfModule/view/zf-module/helper/composer-view.phtml @@ -0,0 +1,17 @@ +
php composer.phar require "composerConf['name']?>"
+ +

Require

+ +composerConf['require-dev'])){?> +

Require Dev

+ + + \ No newline at end of file diff --git a/module/ZfModule/view/zf-module/index/view.phtml b/module/ZfModule/view/zf-module/index/view.phtml index 4359bd58..22ed0510 100644 --- a/module/ZfModule/view/zf-module/index/view.phtml +++ b/module/ZfModule/view/zf-module/index/view.phtml @@ -4,30 +4,39 @@

repository->description; ?>

-
- markdown($this->readme);?> -
-
- -
+
+ markdown($this->readme);?> +
+
+ composerView($this->composerConf); + } else { + echo $this->composerConf; + } + ?> +
+
+ +
+ echo $this->moduleDescription(array( + 'owner' => $repository->owner->login, + 'name' => $repository->name, + 'created_at' => $repository->created_at, + 'url' => $repository->html_url, + 'photo_url' => $repository->owner->avatar_url, + 'description' => $repository->description + )); + ?>