From e0bcc0003b530dd5c29a81b987e94ef149942f73 Mon Sep 17 00:00:00 2001 From: tmont Date: Fri, 17 Oct 2008 05:14:48 +0000 Subject: [PATCH] main views, plus crappy logo --- src/bootstrap.php | 3 ++ src/lib/PanaceaPageController.php | 2 +- src/lib/PanaceaViewFactory.php | 2 +- src/lib/views/PanaceaHeaderView.php | 60 ++++++++++++++++++++++++++ src/lib/views/PanaceaLogoView.php | 42 ++++++++++++++++++ src/lib/views/PanaceaMenuView.php | 49 +++++++++++++++++++++ src/lib/views/PanaceaTemplateView.php | 21 ++++++++- src/media/css/global.css | 37 ++++++++++++++++ src/media/images/logo.png | Bin 0 -> 17517 bytes 9 files changed, 212 insertions(+), 4 deletions(-) create mode 100644 src/lib/views/PanaceaHeaderView.php create mode 100644 src/lib/views/PanaceaLogoView.php create mode 100644 src/lib/views/PanaceaMenuView.php create mode 100644 src/media/images/logo.png diff --git a/src/bootstrap.php b/src/bootstrap.php index 768ff81..bff6a5f 100644 --- a/src/bootstrap.php +++ b/src/bootstrap.php @@ -31,6 +31,9 @@ case 'PanaceaPageView': case 'PanaceaTemplateView': + case 'PanaceaHeaderView': + case 'PanaceaLogoView': + case 'PanaceaMenuView': $file = "$path/lib/views/$className.php"; break; } diff --git a/src/lib/PanaceaPageController.php b/src/lib/PanaceaPageController.php index 42a7844..b3309bc 100644 --- a/src/lib/PanaceaPageController.php +++ b/src/lib/PanaceaPageController.php @@ -55,7 +55,7 @@ try { $templateView = new PanaceaTemplateView($this->page); - $templateView->addView($this->viewFactory->getView($this->page)); + $templateView->addView($this->viewFactory->getView($this->page, $templateView->getNextPriority())); return $templateView; } catch (ClassNotFoundException $e) { diff --git a/src/lib/PanaceaViewFactory.php b/src/lib/PanaceaViewFactory.php index 173a59b..6fba135 100644 --- a/src/lib/PanaceaViewFactory.php +++ b/src/lib/PanaceaViewFactory.php @@ -43,7 +43,7 @@ * @throws {@link ClassNotFoundException} * @return View */ - public function getView($page) { + public function getView($page, $priority = 0) { if (!is_string($page)) { throw new InvalidTypeException(1, 'string', $page); } diff --git a/src/lib/views/PanaceaHeaderView.php b/src/lib/views/PanaceaHeaderView.php new file mode 100644 index 0000000..4b020fd --- /dev/null +++ b/src/lib/views/PanaceaHeaderView.php @@ -0,0 +1,60 @@ +Panacea + * + * @package Panacea + * @subpackage Views + * @author Tommy Montgomery + * @since 2008-10-16 + */ + class PanaceaHeaderView extends View { + + /** + * Creates a view for the header + * + * @author Tommy Montgomery + * @since 2008-10-16 + * @uses PanaceaLogoView + * @uses PanaceaMenuView + * + * @param int $priority The priority of the view + */ + public function __construct($priority = 1) { + parent::__construct($priority); + + $this->addView(new PanaceaLogoView(1)); + $this->addView(new PanaceaMenuView(2)); + } + + /** + * Renders the view + * + * @author Tommy Montgomery + * @since 2008-10-16 + */ + public function send() { ?> + + + \ No newline at end of file diff --git a/src/lib/views/PanaceaLogoView.php b/src/lib/views/PanaceaLogoView.php new file mode 100644 index 0000000..a7f172e --- /dev/null +++ b/src/lib/views/PanaceaLogoView.php @@ -0,0 +1,42 @@ +Panacea + * + * @package Panacea + * @subpackage Views + * @author Tommy Montgomery + * @since 2008-10-16 + */ + class PanaceaLogoView extends View { + + /** + * Renders the view + * + * @author Tommy Montgomery + * @since 2008-10-16 + */ + public function send() { ?> + + + \ No newline at end of file diff --git a/src/lib/views/PanaceaMenuView.php b/src/lib/views/PanaceaMenuView.php new file mode 100644 index 0000000..1de0fc6 --- /dev/null +++ b/src/lib/views/PanaceaMenuView.php @@ -0,0 +1,49 @@ +Panacea + * + * @package Panacea + * @subpackage Views + * @author Tommy Montgomery + * @since 2008-10-16 + */ + class PanaceaMenuView extends View { + + /** + * Renders the view + * + * @author Tommy Montgomery + * @since 2008-10-16 + */ + public function send() { ?> + + + \ No newline at end of file diff --git a/src/lib/views/PanaceaTemplateView.php b/src/lib/views/PanaceaTemplateView.php index 142fbaa..c98a4b0 100644 --- a/src/lib/views/PanaceaTemplateView.php +++ b/src/lib/views/PanaceaTemplateView.php @@ -30,7 +30,7 @@ * * @param string $title The title of the page */ - public function __construct($title = 'Home') { + public function __construct($title = '') { if (!is_string($title)) { throw new InvalidTypeException(1, 'string', $title); } @@ -38,7 +38,9 @@ parent::__construct(); $this->defaultTitle = 'Panacea'; - $this->title = (!empty($title)) ? $title : 'Home'; + $this->title = (!empty($title)) ? $title : 'It doesn\'t suck'; + + $this->addView(new PanaceaHeaderView(1)); } /** @@ -54,6 +56,21 @@ return parent::getMetaData()->addCss('/panacea/src/media/css/global.css'); } + /** + * Gets the next default priority + * + * @author Tommy Montgomery + * @since 2008-10-16 + */ + public function getNextPriority() { + $priority = 1; + foreach ($this->views as $view) { + $priority = max($priority, $view->priority); + } + + return $priority + 1; + } + /** * Renders the view * diff --git a/src/media/css/global.css b/src/media/css/global.css index 3875bd3..7131538 100644 --- a/src/media/css/global.css +++ b/src/media/css/global.css @@ -6,4 +6,41 @@ body { font-family: Verdana, Arial, sans-serif; font-size: 8pt; color: #000000; +} + +#wrapper { + +} + +#head { + +} + +#logo { + width: 535px; + height: 173px; + margin: auto; +} + +#menu { + border-top: 2px solid #000000; + border-bottom: 2px solid #000000; +} +#menu ul { + list-style-type: none; + margin: 0; + padding: 0; +} +#menu ul li { + float: left; +} +#menu ul li a { + display: block; + width: 10em; + height: 2em; + font-size: 1.5em; + line-height: 1.5em; + font-weight: bold; + margin-right: 1px; + text-decoration: none; } \ No newline at end of file diff --git a/src/media/images/logo.png b/src/media/images/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..c18993eb14f1ce37940dd2033ed9fef9d0b95014 GIT binary patch literal 17517 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 LCR-+L{^I`u;riL5 literal 0 HcmV?d00001