diff --git a/classes/Controller.php b/classes/Controller.php
index 7889dc0..d0b460e 100644
--- a/classes/Controller.php
+++ b/classes/Controller.php
@@ -13,7 +13,6 @@
* @copyright Copyright 2007-2010, Gravity Boulevard, LLC
* @license http://www.gnu.org/licenses/gpl.html GPL v3
* @link http://phpwithpickles.org
- * @usage require_once 'pickles.php';;
*/
/**
@@ -77,6 +76,9 @@ class Controller extends Object
unset($new_basename, $new_module_class, $new_module_filename, $new_css_class, $new_js_filename);
}
+ // Defaults the module return variable
+ $module_return = null;
+
// Loads the module or errors out
if (isset($module_filename) && $module_filename != null && file_exists($module_filename))
{
@@ -90,7 +92,7 @@ class Controller extends Object
// Checks that our default method exists
if (method_exists($module, '__default'))
{
- var_dump($module->__default());
+ $module_return = $module->__default();
}
}
}
@@ -99,7 +101,10 @@ class Controller extends Object
// @todo Error handling
// @todo Should we be creating a new generic Module?
}
-
+
+ // Starts up the display engine
+ $display_class = 'Display_' . (isset($module->engine) ? $module->engine : DISPLAY_PHP);
+ $display = new $display_class($module->template, $module_return);
exit('EOF');
@@ -136,19 +141,6 @@ class Controller extends Object
if (ini_get('session.auto_start') == 0) {
session_start();
}
-
- // Performs a logout if requested
- /**
- * @todo Maybe the logout shouldn't be an internal thing, what if
- * the user wanted to call the logout page something else? or
- * better yet, they want to next it, like /users/logout?
- * @todo May want to make it work from /store/admin/logout and not
- * just from /
- */
- if ($module['requested']['name'] == 'logout') {
- $security = new Security($config, $db);
- $security->logout();
- }
}
// Potentially requests use authentication
diff --git a/classes/Display/Common.php b/classes/Display/Common.php
index 9c8f64e..cd69c9d 100644
--- a/classes/Display/Common.php
+++ b/classes/Display/Common.php
@@ -3,50 +3,56 @@
/**
* Common Display Class File for PICKLES
*
- * PICKLES is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation, either version 3 of
- * the License, or (at your option) any later version.
+ * PHP version 5
*
- * PICKLES is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
+ * Licensed under the GNU General Public License Version 3
+ * Redistribution of these files must retain the above copyright notice.
*
- * You should have received a copy of the GNU Lesser General Public
- * License along with PICKLES. If not, see
- * .
- *
- * @author Joshua John Sherman
- * @copyright Copyright 2007, 2008 Joshua John Sherman
+ * @package pickles
+ * @author Josh Sherman
+ * @copyright Copyright 2007-2010, Gravity Boulevard, LLC
+ * @license http://www.gnu.org/licenses/gpl.html GPL v3
* @link http://phpwithpickles.org
- * @license http://www.gnu.org/copyleft/lesser.html
- * @package PICKLES
*/
/**
* Common Display Class
*
* This is the class that each viewer class should be extending from.
+ *
+ * @abstract
*/
-abstract class Display_Common extends Object {
+abstract class Display_Common extends Object
+{
+ /**
+ * Template
+ *
+ * @access protected
+ * @var string
+ */
+ protected $template = null;
+
+ /**
+ * Module Return Data
+ *
+ * @access protected
+ * @var array
+ */
+ protected $module_return = null;
/**
* Constructor
*
* Runs the parent's constructor and adds the module to the object.
*/
- public function __construct(Config $config, Error $error) {
+ public function __construct($template, $module_return)
+ {
parent::__construct();
- $this->config = $config;
- $this->error = $error;
-
- /**
- * @todo This may need to be flipped on only for Smarty and PHP templates
- */
+ // @todo This may need to be flipped on only for Smarty and PHP templates
// Obliterates any passed in PHPSESSID (thanks Google)
- if (stripos($_SERVER['REQUEST_URI'], '?PHPSESSID=') !== false) {
+ if (stripos($_SERVER['REQUEST_URI'], '?PHPSESSID=') !== false)
+ {
list($request_uri, $phpsessid) = split('\?PHPSESSID=', $_SERVER['REQUEST_URI'], 2);
header('HTTP/1.1 301 Moved Permanently');
header('Location: ' . $request_uri);
@@ -57,57 +63,27 @@ abstract class Display_Common extends Object {
ini_set('arg_separator.output', '&');
ini_set('url_rewriter.tags', 'a=href,area=href,frame=src,input=src,fieldset=');
+ // @todo Uncomment or remove
//header('Content-type: text/html; charset=UTF-8');
- if ($this->config->getDebug() === true) {
- ?>
-
-
- template = $template;
+ $this->module_return = $module_return;
}
/**
* Abstract rendering function that is overloaded within the loaded viewer
+ *
+ * @abstract
*/
public abstract function render();
- public function prepare() { }
+ /**
+ * Preparation for display
+ */
+ public function prepare()
+ {
+
+ }
}
?>
diff --git a/classes/Display/JSON.php b/classes/Display/JSON.php
index 5477ddf..0e00874 100644
--- a/classes/Display/JSON.php
+++ b/classes/Display/JSON.php
@@ -3,25 +3,16 @@
/**
* JSON Display Class File for PICKLES
*
- * PICKLES is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation, either version 3 of
- * the License, or (at your option) any later version.
+ * PHP version 5
*
- * PICKLES is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
+ * Licensed under the GNU General Public License Version 3
+ * Redistribution of these files must retain the above copyright notice.
*
- * You should have received a copy of the GNU Lesser General Public
- * License along with PICKLES. If not, see
- * .
- *
- * @author Joshua John Sherman
- * @copyright Copyright 2007, 2008, 2009 Joshua John Sherman
+ * @package pickles
+ * @author Josh Sherman
+ * @copyright Copyright 2007-2010, Gravity Boulevard, LLC
+ * @license http://www.gnu.org/licenses/gpl.html GPL v3
* @link http://phpwithpickles.org
- * @license http://www.gnu.org/copyleft/lesser.html
- * @package PICKLES
*/
/**
@@ -30,20 +21,24 @@
* Displays data in JavaScript Object Notation. Requires PHP 5 >= 5.2.0 or
* PECL json 1.2.0 or 1.2.1
*
- * @link http://json.org/
- * @link http://us.php.net/json_encode
- * @link http://pecl.php.net/package/json
+ * @link http://json.org/
+ * @link http://us.php.net/json_encode
+ * @link http://pecl.php.net/package/json
*/
-class Display_JSON extends Display_Common {
-
+class Display_JSON extends Display_Common
+{
/**
* Renders the data in JSON format
*/
- public function render() {
- if (!function_exists('json_encode')) {
+ public function render()
+ {
+ if (!function_exists('json_encode'))
+ {
echo '{ "type" : "error", "message" : "json_encode() not found" }';
- } else {
- echo json_encode($this->data);
+ }
+ else
+ {
+ echo json_encode($this->module_return);
}
}
}
diff --git a/classes/Display/PHP.php b/classes/Display/PHP.php
index 0ac1bb9..75fe6a9 100644
--- a/classes/Display/PHP.php
+++ b/classes/Display/PHP.php
@@ -3,25 +3,16 @@
/**
* PHP Display Class File for PICKLES
*
- * PICKLES is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation, either version 3 of
- * the License, or (at your option) any later version.
+ * PHP version 5
*
- * PICKLES is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
+ * Licensed under the GNU General Public License Version 3
+ * Redistribution of these files must retain the above copyright notice.
*
- * You should have received a copy of the GNU Lesser General Public
- * License along with PICKLES. If not, see
- * .
- *
- * @author Joshua John Sherman
- * @copyright Copyright 2007, 2008 Joshua John Sherman
+ * @package pickles
+ * @author Josh Sherman
+ * @copyright Copyright 2007-2010, Gravity Boulevard, LLC
+ * @license http://www.gnu.org/licenses/gpl.html GPL v3
* @link http://phpwithpickles.org
- * @license http://www.gnu.org/copyleft/lesser.html
- * @package PICKLES
*/
/**
@@ -33,24 +24,15 @@
* system than Smarty. The general rules around the caching will
* be the same though.
*/
-class Display_PHP extends Display_Common {
-
- private $template_path = null;
- private $template = null;
- private $shared_template = null;
-
- public function __construct(Config $config, Error $error) {
- parent::__construct($config, $error);
-
- // Establishes the template path
- $this->template_path = SITE_PATH . '../templates/';
- }
-
- public function prepare() {
-
+class Display_PHP extends Display_Common
+{
+ public function prepare()
+ {
// Enables caching
- if ($this->caching == true) {
- if (is_numeric($this->caching)) {
+ if ($this->caching == true)
+ {
+ if (is_numeric($this->caching))
+ {
//$this->smarty->cache_lifetime = $this->caching;
}
}
@@ -62,8 +44,8 @@ class Display_PHP extends Display_Common {
/**
* Renders the PHP templated pages
*/
- public function render() {
-
+ public function render()
+ {
//if (filemtime($this->template)) {
// readfile('/var/www/josh/pickles/var/joshtronic.localhost/smarty/cache/home.html');
//}
@@ -71,8 +53,10 @@ class Display_PHP extends Display_Common {
/**
* @todo There's a bug with the store home page since it's a redirect, maybe
*/
- if (!file_exists($this->template)) {
- if (file_exists($this->shared_template)) {
+ if (!file_exists($this->template))
+ {
+ if (file_exists($this->shared_template))
+ {
$this->template = $this->shared_template;
}
}
@@ -101,10 +85,12 @@ class Display_PHP extends Display_Common {
* @todo Should there be additional logic to allow the module or the
* template to determine whether or not the index should be loaded?
*/
- if (file_exists($this->template_path . 'index.php')) {
+ if (file_exists($this->template_path . 'index.php'))
+ {
require_once $this->template_path . 'index.php';
}
- else if (file_exists($this->template)) {
+ elseif (file_exists($this->template))
+ {
require_once $this->template;
}
diff --git a/classes/Display/RSS.php b/classes/Display/RSS.php
index 17eb957..3191223 100644
--- a/classes/Display/RSS.php
+++ b/classes/Display/RSS.php
@@ -3,25 +3,16 @@
/**
* RSS Display Class File for PICKLES
*
- * PICKLES is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation, either version 3 of
- * the License, or (at your option) any later version.
+ * PHP version 5
*
- * PICKLES is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
+ * Licensed under the GNU General Public License Version 3
+ * Redistribution of these files must retain the above copyright notice.
*
- * You should have received a copy of the GNU Lesser General Public
- * License along with PICKLES. If not, see
- * .
- *
- * @author Joshua John Sherman
- * @copyright Copyright 2007, 2008, 2009 Joshua John Sherman
+ * @package pickles
+ * @author Josh Sherman
+ * @copyright Copyright 2007-2010, Gravity Boulevard, LLC
+ * @license http://www.gnu.org/licenses/gpl.html GPL v3
* @link http://phpwithpickles.org
- * @license http://www.gnu.org/copyleft/lesser.html
- * @package PICKLES
*/
/**
@@ -35,8 +26,8 @@
* Feed viewer that would take a parameter to determine which type of
* of feed to use).
*/
-class Display_RSS extends Display_Common {
-
+class Display_RSS extends Display_Common
+{
/**
* Render the RSS feed data
*
@@ -45,22 +36,28 @@ class Display_RSS extends Display_Common {
*
* @todo Error handling is non-existant.
*/
- public function render() {
- if (isset($this->data->channel) || is_object($this->data['channel'])) {
+ public function render()
+ {
+ if (isset($this->data->channel) || is_object($this->data['channel']))
+ {
$channel = $this->data['channel'];
- if (!is_object($this->data['channel'])) {
+ if (!is_object($this->data['channel']))
+ {
$channel = $this->config->rss->$channel;
}
- if (isset($this->data->items)) {
+ if (isset($this->data->items))
+ {
$items = $this->data['items'];
}
- else {
+ else
+ {
$this->error->addError('No items were provided');
}
}
- else {
+ else
+ {
$this->error->addError('No channel was specified');
}
@@ -73,7 +70,8 @@ class Display_RSS extends Display_Common {
http://=$_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];?>
=$channel->description;?>
image)) {
+ if (isset($channel->image))
+ {
?>
=$channel->image;?>
@@ -87,11 +85,14 @@ class Display_RSS extends Display_Common {
=isset($channel->language) ? $channel->language : 'en-us';?>PICKLES (http://phpwithpickles.org)
$item) {
+ if (is_array($items))
+ {
+ foreach ($items as $key => $item)
+ {
$date = date('r', strtotime($item['date']));
- if ($key == 0) {
+ if ($key == 0)
+ {
echo "{$date}";
}
?>
@@ -112,4 +113,5 @@ class Display_RSS extends Display_Common {
diff --git a/classes/Display/Smarty.php b/classes/Display/Smarty.php
index a58b70d..f832c2f 100644
--- a/classes/Display/Smarty.php
+++ b/classes/Display/Smarty.php
@@ -3,25 +3,16 @@
/**
* Smarty Display Class File for PICKLES
*
- * PICKLES is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation, either version 3 of
- * the License, or (at your option) any later version.
+ * PHP version 5
*
- * PICKLES is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
+ * Licensed under the GNU General Public License Version 3
+ * Redistribution of these files must retain the above copyright notice.
*
- * You should have received a copy of the GNU Lesser General Public
- * License along with PICKLES. If not, see
- * .
- *
- * @author Joshua John Sherman
- * @copyright Copyright 2007, 2008, 2009 Joshua John Sherman
+ * @package pickles
+ * @author Josh Sherman
+ * @copyright Copyright 2007-2010, Gravity Boulevard, LLC
+ * @license http://www.gnu.org/licenses/gpl.html GPL v3
* @link http://phpwithpickles.org
- * @license http://www.gnu.org/copyleft/lesser.html
- * @package PICKLES
*/
/**
@@ -31,8 +22,8 @@
*
* @link http://smarty.net/
*/
-class Display_Smarty extends Display_Common {
-
+class Display_Smarty extends Display_Common
+{
private $smarty = null;
public function __construct(Config $config, Error $error) {