This is coming from Traversecity website.
Has 5 images for the navigation section.
There are 4 seasons.
Each season has 5 images.
They can select from any season, will switch out all images in nav.
$stmt->bindValue(':schema', 'ckimages', PDO::PARAM_STR);
$stmt->execute();
+ if (defined('SEASONATOR') && SEASONATOR) {
+ // define seasonator search path
+ $stmt->bindValue(':schema', 'seasonator', PDO::PARAM_STR);
+ $stmt->execute();
+ }
+
if (defined('RETAIL_SHOP') && RETAIL_SHOP) {
$stmt->bindValue(':schema', 'retail_shop', PDO::PARAM_STR);
$stmt->execute();
--- /dev/null
+CREATE SCHEMA seasonator;
+GRANT ALL ON SCHEMA seasonator TO nobody;
+--
+-- Tables
+--
+
+\i ./tables/seasons.sql
+\i ./tables/season.sql
+
+--
+-- data
+---
+
+\i ./data/season.sql
+\i ./data/seasons.sql
\ No newline at end of file
--- /dev/null
+INSERT INTO seasonator.season (name) VALUES ('winter');
\ No newline at end of file
--- /dev/null
+INSERT INTO seasonator.seasons (season) VALUES ('winter');
+INSERT INTO seasonator.seasons (season) VALUES ('spring');
+INSERT INTO seasonator.seasons (season) VALUES ('summer');
+INSERT INTO seasonator.seasons (season) VALUES ('fall');
\ No newline at end of file
--- /dev/null
+DROP TABLE IF EXISTS seasonator.season;
+
+CREATE TABLE seasonator.season
+(
+ id SERIAL,
+ name TEXT NOT NULL,
+ last_update TIMESTAMP (0) NOT NULL DEFAULT now(),
+ PRIMARY KEY (id)
+);
+
+GRANT ALL ON seasonator.season TO nobody;
+GRANT ALL ON seasonator.season_id_seq TO nobody;
\ No newline at end of file
--- /dev/null
+DROP TABLE IF EXISTS seasonator.seasons CASCADE;
+
+CREATE TABLE seasonator.seasons
+(
+ id SERIAL,
+ season TEXT UNIQUE NOT NULL,
+ image1 TEXT,
+ image2 TEXT,
+ image3 TEXT,
+ image4 TEXT,
+ image5 TEXT,
+ PRIMARY KEY (id)
+);
+
+GRANT ALL on seasonator.seasons_id_seq to nobody;
+GRANT ALL on seasonator.seasons to nobody;
\ No newline at end of file
--- /dev/null
+<?php
+
+/**
+ * Seasons.php
+ *
+ * PHP version 5.2
+ *
+ * @category Toolkit
+ * @package Seasonator
+ * @author Steve Sutton <steve@gaslightmedia.com>
+ * @copyright 2012 Gaslight Media
+ * @license Gaslight Media
+ * @version SVN: $Id: IndexController.php 11152 2012-06-14 13:54:58Z steve $
+ * @link <>
+ */
+
+/**
+ * Toolkit_Seasonator_IndexController
+ *
+ * Creates objects of class Season. Fields here need to be
+ * the same as the database table fields. This class represents the
+ * table seasons.
+ *
+ * @category Toolkit
+ * @package Seasonator
+ * @author Steve Sutton <steve@gaslightmedia.com>
+ * @copyright 2012 Gaslight Media
+ * @license Gaslight Media
+ * @version SVN: $Id: IndexController.php 11152 2012-06-14 13:54:58Z steve $
+ * @link <>
+ */
+class Toolkit_Seasonator_IndexController
+ extends Toolkit_BaseControllerAbstract
+ implements Toolkit_IController
+{
+ /**
+ * Default action for Controller
+ *
+ * @return string
+ */
+ public function indexAction()
+ {
+ $GLOBALS['topScripts'][] = MEDIA_APP_BASE_URL
+ . 'libjs/jquery/jquery-1.7.2.min.js';
+ $GLOBALS['styleSheets'][]
+ = BASE_URL . 'Toolkit/Seasonator/css/styles.css';
+ $GLOBALS['styleSheets'][]
+ = GLM_APP_BASE_URL . 'libjs/jqueryui/1.8.13/' .
+ 'development-bundle/themes/start/jquery.ui.all.css';
+ $GLOBALS['bottomScripts'][]
+ = GLM_APP_BASE_URL . 'libjs/jqueryui/1.8.13/' .
+ 'development-bundle/ui/jquery-ui-1.8.13.custom.js';
+ $GLOBALS['bottomScripts'][]
+ = BASE_URL . 'Toolkit/Seasonator/js/listSeasons.js';
+ $tpl = new HTML_Template_Flexy(
+ $this->registry->applicationConfig->flexyOptions->toArray()
+ );
+ $tpl->compile('seasons.html');
+ $page = new stdClass();
+ $page->baseUrl = BASE_URL;
+ $e = $tpl->getElements();
+ $seasonName = $this->getSeasonName();
+ $page->currentSeason = $seasonName;
+ $page->season = $seasonName;
+ if ($seasonName) {
+ $e['season']->value = $seasonName;
+ }
+ $page->navData = $this->getSeasons();
+ $html = $tpl->bufferedOutputObject($page, $e);
+ return $html;
+ }
+
+ protected function getSeasons()
+ {
+ $mainNavs = new Toolkit_Seasonator_MainNavigation($this->registry);
+ return $mainNavs->getAllSeasons();
+ }
+
+ /**
+ * Returns the season class object or null if not found
+ *
+ * @return Toolkit_Seasonator_Season|null
+ */
+ protected function getSeasonName()
+ {
+ $seasonMapper = new Toolkit_Seasonator_Season();
+ $season = $seasonMapper->fetchById(
+ Toolkit_Database::getInstance(),
+ 1
+ );
+ return ($season) ? $season->getName() : null;
+ }
+
+}
--- /dev/null
+<?php
+
+/**
+ * MainNavigation.php
+ *
+ * PHP version 5.2
+ *
+ * @category Toolkit
+ * @package Seasonator
+ * @author Steve Sutton <steve@gaslightmedia.com>
+ * @copyright 2012 Gaslight Media
+ * @license Gaslight Media
+ * @version SVN: $Id$
+ * @link <>
+ */
+
+/**
+ * Toolkit_Seasonator_MainNavigation
+ *
+ * Creates the elements of the main navigation based on the season
+ *
+ * @category Toolkit
+ * @package Seasonator
+ * @author Steve Sutton <steve@gaslightmedia.com>
+ * @copyright 2012 Gaslight Media
+ * @license Gaslight Media
+ * @version SVN: $Id$
+ * @link <>
+ */
+class Toolkit_Seasonator_MainNavigation
+{
+ private $_registry;
+
+ private $_seasons = array(
+ 'winter',
+ 'spring',
+ 'summer',
+ 'fall'
+ );
+
+ /**
+ * Constructor for Class
+ *
+ * @param Toolkit_Registry $registry
+ */
+ public function __construct(Toolkit_Registry $registry)
+ {
+ $this->_registry = $registry;
+ }
+
+ /**
+ * Returns the navigation array for a season
+ *
+ * @param type $season Season name of the nav items
+ *
+ * @return type
+ */
+ private function _getNavDataForSeason($season)
+ {
+ $navData = array();
+ try {
+ $sql = "
+ SELECT id
+ FROM seasons
+ WHERE season = :season";
+ $stmt = $this->_registry->dbh->prepare($sql);
+ $stmt->bindParam(':season', $season);
+ $stmt->execute();
+ while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
+ $seasonsMapper = new Toolkit_Seasonator_Seasons();
+ $navData[] = $seasonsMapper->fetchById(
+ Toolkit_Database::getInstance(),
+ $row['id']
+ );
+ }
+ } catch (PDOException $e) {
+ Toolkit_Common::handleError($e);
+ }
+ return $navData;
+ }
+
+ private function _getNavigationNamesForSections()
+ {
+ $navArray = unserialize(MAIN_NAV_PAGES);
+ $navData = array();
+ try {
+ $sql = "
+ SELECT navigation_name
+ FROM pages
+ WHERE id = :id";
+ $stmt = $this->_registry->dbh->prepare($sql);
+ foreach ($navArray as $id) {
+ $stmt->bindParam(':id', $id, PDO::PARAM_INT);
+ $stmt->execute();
+ $navData[] = $stmt->fetchColumn();
+ }
+ } catch (PDOException $e) {
+ Toolkit_Common::handleError($e);
+ }
+ return $navData;
+ }
+
+ /**
+ * create the items for nav based on a season
+ *
+ * @param type $season Season name of the navigation
+ *
+ * @return string
+ */
+ private function _getNavForSeason($season)
+ {
+ $tpl = new HTML_Template_Flexy(
+ $this->_registry->applicationConfig->flexyOptions->toArray()
+ );
+ $tpl->compile('navigation.html');
+ $page = new stdClass();
+ $page->baseUrl = BASE_URL;
+ // setup image sizes
+ $page->original = ORIGINAL;
+ $page->resized = RESIZED;
+ $page->midsized = MIDSIZED;
+ $page->thumb = THUMB;
+ $page->headThumb = MAIN_NAV_THUMB;
+ $page->navData = $this->_getNavDataForSeason($season);
+ $page->navName = $this->_getNavigationNamesForSections();
+ $html = $tpl->bufferedOutputObject($page);
+ return $html;
+ }
+
+ public function getAllSeasons()
+ {
+ $html = '';
+ foreach ($this->_seasons as $season) {
+ $html .= $this->_getNavForSeason($season);
+ }
+ return $html;
+ }
+
+}
+
--- /dev/null
+<?php
+
+/**
+ * Season.php
+ *
+ * PHP version 5.2
+ *
+ * @category Toolkit
+ * @package Seasonator
+ * @author Steve Sutton <steve@gaslightmedia.com>
+ * @copyright 2012 Gaslight Media
+ * @license Gaslight Media
+ * @version SVN: $Id: Seasons.php 9429 2012-03-05 20:00:19Z steve $
+ * @link <>
+ */
+
+/**
+ * Toolkit_Seasonator_Season
+ *
+ * Creates objects of class Season. Fields here need to be
+ * the same as the database table fields. This class represents the
+ * table seasons.
+ *
+ * @category Toolkit
+ * @package Seasonator
+ * @author Steve Sutton <steve@gaslightmedia.com>
+ * @copyright 2012 Gaslight Media
+ * @license Gaslight Media
+ * @version SVN: $Id: Seasons.php 9429 2012-03-05 20:00:19Z steve $
+ * @link <>
+ */
+class Toolkit_Seasonator_Season
+ extends Toolkit_Table
+{
+ protected $tableName = 'season';
+ protected $id;
+ protected $name;
+ protected $last_update;
+
+ /**
+ * Returns the id
+ *
+ * @return int
+ */
+ public function getId()
+ {
+ return $this->id;
+ }
+
+ /**
+ * Returns name
+ *
+ * @return string
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Returns last_update
+ *
+ * @return string
+ */
+ public function getLastUpdate()
+ {
+ return $this->last_update;
+ }
+}
--- /dev/null
+<?php
+
+/**
+ * Seasons.php
+ *
+ * PHP version 5.2
+ *
+ * @category Toolkit
+ * @package Seasonator
+ * @author Steve Sutton <steve@gaslightmedia.com>
+ * @copyright 2012 Gaslight Media
+ * @license Gaslight Media
+ * @version SVN: $Id: Seasons.php 17352 2013-08-01 14:15:42Z steve $
+ * @link <>
+ */
+
+/**
+ * Toolkit_Seasonator_Seasons
+ *
+ * Creates objects of class Seasons. Fields here need to be
+ * the same as the database table fields. This class represents the
+ * table seasons.
+ *
+ * @category Toolkit
+ * @package Seasonator
+ * @author Steve Sutton <steve@gaslightmedia.com>
+ * @copyright 2012 Gaslight Media
+ * @license Gaslight Media
+ * @version SVN: $Id: Seasons.php 17352 2013-08-01 14:15:42Z steve $
+ * @link <>
+ */
+class Toolkit_Seasonator_Seasons
+ extends Toolkit_Table
+{
+ protected $tableName = 'seasons';
+ protected $id;
+ protected $season;
+ protected $image1;
+ protected $image2;
+ protected $image3;
+ protected $image4;
+ protected $image5;
+
+ /**
+ * Returns the id
+ *
+ * @return int
+ */
+ public function getId()
+ {
+ return $this->id;
+ }
+
+ /**
+ * Returns the Season
+ *
+ * @return string
+ */
+ public function getSeason()
+ {
+ return $this->season;
+ }
+
+ /**
+ * Set the name to correct image variable
+ *
+ * @param type $name Field name to set
+ * @param type $image Image to use
+ *
+ * @return void
+ */
+ public function setImageToName($name, $image)
+ {
+ $this->$name = $image;
+ }
+
+ /**
+ * Returns the image from a variable name
+ *
+ * @param type $name name of field to get
+ *
+ * @return image name
+ */
+ public function getImageFromName($name)
+ {
+ return $this->$name;
+ }
+
+ /**
+ * Returns the image1
+ *
+ * @return string
+ */
+ public function getImage1()
+ {
+ return $this->image1;
+ }
+
+ /**
+ * Returns the image2
+ *
+ * @return string
+ */
+ public function getImage2()
+ {
+ return $this->image2;
+ }
+
+ /**
+ * Returns image3
+ *
+ * @return string
+ */
+ public function getImage3()
+ {
+ return $this->image3;
+ }
+
+ /**
+ * Returns image4
+ *
+ * @return string
+ */
+ public function getImage4()
+ {
+ return $this->image4;
+ }
+
+ /**
+ * Returns image5
+ *
+ * @return string
+ */
+ public function getImage5()
+ {
+ return $this->image5;
+ }
+
+ public function fetchBySeason(PDO $dbh, $season)
+ {
+ try {
+ $sql = "
+ SELECT *
+ FROM seasons
+ WHERE season = :season";
+ $stmt = $dbh->prepare($sql);
+ $stmt->bindParam(':season', $season);
+ $stmt->execute();
+ return $this->createByValues($stmt->fetch(PDO::FETCH_ASSOC));
+ } catch (PDOException $e) {
+ Toolkit_Common::handleError($e);
+ }
+ }
+}
+
--- /dev/null
+; Production server configuration data
+[production]
+application.name = "Seasonator"
+flexyOptions.templateDir = BASE "Toolkit/Seasonator/templates"
+flexyOptions.compileDir = BASE "Toolkit/Seasonator/templates/compiled"
+flexyOptions.url_rewrite = "baseurl/::" BASE_URL
+flexyOptions.allowPHP = On
+flexyOptions.forceCompile = Off
+
+; development server configuration data inherits from production and
+; overrides values as necessary
+[development : production]
+flexyOptions.forceCompile = On
+
+; chuck's server configuration data inherits from development
+; and overrides values as necessary
+[chuck : development]
+
+; john's server configuration data inherits from development
+; and overrides values as necessary
+[john : development]
+
+; steve's server configuration data inherits from development
+; and overrides values as necessary
+[steve : development]
+
+[vagrant : development]
--- /dev/null
+nav li.navLi div img {
+ float: left;
+ margin: 0 10px 10px 0;
+}
+nav li.navLi div h3 {
+ color: #00456c;
+}
+.active {background-color: #CDE0FF;}
+
+div.winter {
+/* background: url(../assets/winter.jpg) no-repeat center top;*/
+}
+div.spring {
+/* background: url(../assets/spring.jpg) no-repeat center top;*/
+}
+div.summer {
+/* background: url(../assets/summer.jpg) no-repeat center top;*/
+}
+div.fall {
+/* background: url(../assets/fall.jpg) no-repeat center top;*/
+}
+
+
+
+nav li.navLi {
+ position: relative;
+ margin-right: 28px;
+ float: left;
+ height: 100px;
+ }
+nav li.navLi>a {
+ width: 140px;
+ line-height: 24px;
+ font-size: 12px;
+ padding-top: 75px;
+ display: block;
+ color: white;
+ text-decoration: none;
+ text-indent: 24px;
+ padding-bottom: 10px;
+ position: absolute;
+ top: 0;
+ color: #00456c;
+ }
+.ulCr, ol.ulCr, ul.ulCr,.ulCr li, .ulCr ul, .ulCr li {
+ list-style-type: none;
+ margin: 0;
+ padding: 0;
+ display: block;
+ text-decoration: none;
+ }
+h2 {
+ clear: left;
+ margin: 0 0 5px 0;
+ }
+nav ul {
+ height: 1%;
+ overflow: hidden;
+ }
+#seasonwinter, #seasonsummer, #seasonspring, #seasonfall {
+ padding: 5px 10px;
+ border: 1px solid #CDE0FF;
+ margin-bottom: -1px;
+ }
+form {
+ margin-bottom: 10px !important;
+ }
\ No newline at end of file
--- /dev/null
+$(function() {
+ $("#radio").buttonset();
+ $('#radio').change(function(){
+ var newSeason = $('input:checked').val();
+ switchSeason(newSeason);
+ setSeasonDiv(newSeason);
+ $.ajax({
+ cache: false,
+ url: baseUrl + "Toolkit/Seasonator/updateSeason.php",
+ data: "season=" + newSeason
+ });
+ });
+ $(".form-element").click(function () {
+ $("#id").val($(this).attr('rel'));
+ $("#imageName").val($(this).attr('rel2'));
+ $("#dialog-form").dialog( "open" );
+ });
+ setSeasonDiv(currentSeason);
+ var image = $("#image"),
+ id = $("#id"),
+ imageName = $("#imageName")
+ allFields = $([]).add(id).add(image).add(imageName),
+ tips = $(".validateTips");
+
+ $( "#dialog-form" ).dialog({
+ autoOpen: false,
+ height: 250,
+ width: 350,
+ modal: true,
+ buttons: {
+ "Upload": function() {
+ $("#file_upload_form").submit();
+ $("#file_upload_process").show();
+ },
+ Cancel: function() {
+ $(this).dialog("close");
+ }
+ },
+ close: function() {
+ allFields.val("").removeClass("ui-state-error");
+ }
+ });
+});
+
+function stopUpload() {
+ $("#dialog-form").dialog("close");
+ location.href = baseUrl + 'admin/seasonator.php';
+}
+
+function switchSeason(season){
+ $(".demo").removeClass('winter');
+ $(".demo").removeClass('summer');
+ $(".demo").removeClass('spring');
+ $(".demo").removeClass('fall');
+ $(".demo").addClass(season);
+}
+
+function setSeasonDiv(season){
+ $("#seasonwinter").removeClass("active");
+ $("#seasonspring").removeClass("active");
+ $("#seasonsummer").removeClass("active");
+ $("#seasonfall").removeClass("active");
+ $("#season" + season).addClass("active");
+}
\ No newline at end of file
--- /dev/null
+<flexy:toJavascript
+ flexy:prefix=""
+ baseUrl="baseUrl"
+>
+<div flexy:foreach="navData,nav" id="season{nav.getSeason()}">
+ <h2>{nav.getSeason()}</h2>
+ <nav>
+ <ul class="ulCr">
+ <li class="navLi">
+ {if:nav.getImage1()}
+ <img src="{headThumb:h}{nav.getImage1():h}">
+ {else:}
+ <img src="baseurl/assets/nav1bg.jpg">
+ {end:}
+ <a href="#" class="form-element" rel="{nav.getId()}" rel2="image1">{navName[0]}</a>
+ </li>
+ <li class="navLi">
+ {if:nav.getImage2()}
+ <img src="{headThumb:h}{nav.getImage2():h}">
+ {else:}
+ <img src="baseurl/assets/nav1bg.jpg">
+ {end:}
+ <a href="#" class="form-element" rel="{nav.getId()}" rel2="image2">{navName[1]}</a>
+ </li>
+ <li class="navLi">
+ {if:nav.getImage3()}
+ <img src="{headThumb:h}{nav.getImage3():h}">
+ {else:}
+ <img src="baseurl/assets/nav1bg.jpg">
+ {end:}
+ <a href="#" class="form-element" rel="{nav.getId()}" rel2="image3">{navName[2]}</a>
+ </li>
+ <li class="navLi">
+ {if:nav.getImage4()}
+ <img src="{headThumb:h}{nav.getImage4():h}">
+ {else:}
+ <img src="baseurl/assets/nav1bg.jpg">
+ {end:}
+ <a href="#" class="form-element" rel="{nav.getId()}" rel2="image4">{navName[3]}</a>
+ </li>
+ <li class="navLi">
+ {if:nav.getImage5()}
+ <img src="{headThumb:h}{nav.getImage5():h}">
+ {else:}
+ <img src="baseurl/assets/nav1bg.jpg">
+ {end:}
+ <a href="#" class="form-element" rel="{nav.getId()}" rel2="image5">{navName[4]}</a>
+ </li>
+ </ul>
+ </nav>
+</div>
--- /dev/null
+<flexy:toJavascript
+ flexy:prefix=""
+ baseUrl="baseUrl"
+ currentSeason="currentSeason"
+>
+<div class="demo {season:h}">
+
+<form>
+ <div id="radio">
+ <input type="radio" id="winter" name="season" value="winter">
+ <label for="winter" style="font-size: 1.5em">Winter</label>
+ <input type="radio" id="spring" name="season" value="spring">
+ <label for="spring" style="font-size: 1.5em">Spring</label>
+ <input type="radio" id="summer" name="season" value="summer">
+ <label for="summer" style="font-size: 1.5em">Summer</label>
+ <input type="radio" id="fall" name="season" value="fall">
+ <label for="fall" style="font-size: 1.5em">Fall</label>
+ </div>
+</form>
+
+<div id="dialog-form" title="Edit Form">
+ <p class="validateTips">Upload a new image.</p>
+ <form action="../Toolkit/Seasonator/updateSeasonsWithNewImage.php" id="file_upload_form" method="post" enctype="multipart/form-data" target="iframe-post-form">
+ <fieldset>
+ <input type="hidden" name="id" id="id" value="" />
+ <input type="hidden" name="imageName" id="imageName" value="" />
+ <label for="subject">New Image</label>
+ <input type="file" name="image" id="image" class="text ui-widget-content ui-corner-all" />
+ </fieldset>
+ <div id="file_upload_process" style="display:none;">Loading Image...</div>
+ <div id="result"></div>
+ <iframe id="iframe-post-form" name="iframe-post-form" style="display:none;"></iframe>
+ </form>
+</div>
+
+{navData:h}
+</div>
\ No newline at end of file
--- /dev/null
+<?php
+/**
+ * updateSeason.php
+ *
+ * PHP version 5.2
+ *
+ * @category Toolkit
+ * @package Seasonator
+ * @author Steve Sutton <steve@gaslightmedia.com>
+ * @copyright 2012 Gaslight Media
+ * @license Gaslight Media
+ * @version SVN: $Id: updateSeason.php 11527 2012-07-20 18:04:45Z steve $
+ * @link <>
+ */
+require_once '../../setup.phtml';
+
+$newSeason = filter_input(
+ INPUT_GET,
+ 'season',
+ FILTER_SANITIZE_STRING
+);
+if ($newSeason) {
+ $seasonMapper = new Toolkit_Seasonator_Season();
+ $season = $seasonMapper->fetchById(
+ Toolkit_Database::getInstance(),
+ 1
+ );
+ $season->setName($newSeason);
+ $season->setLast_update(date('Y-m-d H:i:s'));
+ $season->save(Toolkit_Database::getInstance());
+ $cache = new Cache_Lite($GLOBALS['cacheOptions']);
+ $cache->clean('Season');
+ $cache->clean('Nav');
+ return 1;
+}
+return 0;
\ No newline at end of file
--- /dev/null
+<?php
+
+/**
+ * updateSeasonsWithNewImage.php
+ *
+ * PHP version 5.2
+ *
+ * @category Toolkit
+ * @package Seasonator
+ * @author Steve Sutton <steve@gaslightmedia.com>
+ * @copyright 2012 Gaslight Media
+ * @license Gaslight Media
+ * @version SVN: $Id$
+ * @link <>
+ */
+require_once '../../setup.phtml';
+$id = filter_input(
+ INPUT_POST,
+ 'id',
+ FILTER_VALIDATE_INT
+);
+$image = filter_input(
+ INPUT_POST,
+ 'image',
+ FILTER_SANITIZE_STRING
+);
+$imageName = filter_input(
+ INPUT_POST,
+ 'imageName',
+ FILTER_SANITIZE_STRING
+);
+
+if ($id) {
+ $dbh = Toolkit_Database::getInstance();
+ $dataMapper = new Toolkit_Seasonator_Seasons();
+ $seasons = $dataMapper->fetchById($dbh, $id);
+ // upload the image and save the seasons record
+ $image_name = GLM_TOOLBOX::process_image('image');
+ $seasons->setImageToName($imageName, $image_name);
+ $seasons->save($dbh);
+ $cache = new Cache_Lite($GLOBALS['cacheOptions']);
+ $cache->clean('Season');
+ $cache->clean('Nav');
+}
+?>
+<script language="javascript" type="text/javascript">
+ window.parent.window.stopUpload();
+</script>
$nav[$app['name']] = MEDIA_BASE_URL . 'admin/rotatingImages.php?app=' . $app['id'];
}
}
+if (defined('SEASONATOR') && SEASONATOR) {
+ $seasonConfig = new Zend_Config_Ini(
+ BASE . 'Toolkit/Seasonator/application.ini',
+ strtolower($_ENV['GLM_HOST_ID'])
+ );
+ $nav[$seasonConfig->application->name] = BASE_URL . 'admin/seasonator.php';
+}
if (defined('SEASONS') && SEASONS) {
$seasonConfig = new Zend_Config_Ini(
BASE . 'Toolkit/Seasons/application.ini',
--- /dev/null
+<?php
+require_once '../setup.phtml';
+$registry = new Toolkit_Registry;
+$registry->dbh = Toolkit_Database::getInstance();
+$registry->logger = Toolkit_Logger::getLogger();
+$registry->router = new Toolkit_Router($registry);
+$registry->router->setPath(BASE . 'Toolkit/Seasonator');
+$registry->router->setApplication('Seasonator');
+
+$applicationConfig = new Zend_Config_Ini(
+ BASE . 'Toolkit/Seasonator/application.ini',
+ strtolower($_ENV['GLM_HOST_ID'])
+);
+$registry->applicationConfig = $applicationConfig;
+
+$html = $registry->router->loader();
+
+$appName = $applicationConfig->application->name;
+
+GLM_TOOLBOX::top($appName, '');
+echo $html;
+GLM_TOOLBOX::footer();
employment.application = Off
videos.application = On
seasons.application = Off
+seasonator.application = On
blocks.application = On
; development server configuration data inherits from production and
; overrides values as necessary
BASE . 'config/application.ini',
strtolower($_ENV['GLM_HOST_ID'])
);
+// If we need more main level pages we have to add more images to
+// the seasonator.seasons table as image(number) ie.
+// ALTER TABLE seasonator.seasons ADD image6 TEXT
+$mainLevelNav = array(
+ 2, // Activities
+ 7, // Attractions
+ 13, // Lodging
+ 14, // Restaurants
+ 15 // Shopping
+);
+define('MAIN_NAV_PAGES', serialize($mainLevelNav));
//$applicationConfig = Toolkit_ApplicationConfig::getInstance();
/**
define('WEATHER', $applicationConfig->weather->application);
define('EMPLOYMENT', $applicationConfig->employment->application);
define('VIDEOS', $applicationConfig->videos->application);
+define('SEASONATOR', $applicationConfig->seasonator->application);
define('SEASONS', $applicationConfig->seasons->application);
define('GLM_BLOCKS', $applicationConfig->blocks->application);
/**
* Home page headlines thumbnail
*/
define('HOMEPAGE_HEADLINE_THUMB', FILE_SERVER_URL.IS_OWNER_ID."/homepageHeadlineThumb/");
+define('MAIN_NAV_THUMB', FILE_SERVER_URL.IS_OWNER_ID."/mainNav/");
define('HEADLINE_THUMB', FILE_SERVER_URL.IS_OWNER_ID.'/headline/');
// Coupon Image rules