/home/coolpkct/www/websites/cake3.cool.rocks/admin/classes/imagescreenhelper.php
<?php
/**
 * Part of Showkase web site management package
 *
 * @package Showkase
 * @author Jack Hardie {@link http://www.jhardie.com}
 * @copyright Copyright (c) 2012, SimpleViewer Inc.
 */
defined('SK_ACCESS')||die('<h1>403: Forbidden</h1>');
/**
 * Prepares variables for all images screens
 *
 * @access public
 * @package Showkase
 */
Class ImageScreenHelper
{
  
  /**
   * Constructor
   *
   * @access public
   * @param string gallery type
   * @return object screen object
   */
  public function __construct(Page $page) 
  {
    $this->page = $page;
    $this->navName = htmlspecialchars($this->page->getNavName(), ENT_QUOTES, 'UTF-8');
  }
  
 /**
  * Get Header html
  *
  * @param array screen context variables
  * @return string
  */
  public function getHeaderHtml($context)
  {
    return '
    <div class="subhead">
      <div class="hgroup">
        <h2>'.$this->navName.'</h2>
        <h3>'.$context['pageTypes'][$this->page->getPageType()]['name'].'</h3>
      </div>
      <ul class="buttons">
        <li><button type="button" onclick="window.location=\'index.php\';" class="btn btn-danger">Cancel</button></li>
        <li>
          <input type="hidden" name="token" value="'.$context['token'].'" >
          <input type="hidden" name="sortoutput" id="sortoutput" value="nosort"/>
          <input type="hidden" name="imagessubmitted" value="true" />
          <button type="submit" class="btn btn-success formbutton" >Update</button></li>
      </ul>
    </div>';
  }
  
  /**
   * Get sort options for html select
   *
   * @return string
   */
  public function getSortOptions()
  {
      $sortOrder = $this->page->gallery->getSortOrder();
      $sortOptions = array(
          'dragndrop'=>'drag and drop sort',
          'alpha'    =>'sort by file name A…z',
          'ralpha'   =>'sort by file name Z…a',
          'date'     =>'sort oldest first',
          'rdate'    =>'sort newest first'
      );
      $optionsHtml = '';
      foreach ($sortOptions as $value=>$option) {
          $selected = ($sortOrder == $value)
              ? "selected"
              : '';
          $optionsHtml .= '
          <option value="'.$value.'" '.$selected.'>'.$option.'</option>';
      }
      return $optionsHtml;
  }
  
  /**
   * Get html for no images in gallery
   *
   * @return string
   */
  public function getNoImagesHtml($context)
  {
    return '
    <div class="subhead">
      <div class="hgroup">
        <h2>'.$this->navName.'</h2>
        <h3>'.$context['pageTypes'][$this->page->getPageType()]['name'].'</h3>
      </div>
      <ul class="buttons">
        <li><button type="button" onclick="window.location=\'index.php\';" class="btn btn-danger">Cancel</button></li>
      </ul>
    </div>
    <p class="info">You have no images for this page</p>';
  }
  
  /**
   * Get html for unsupported page types
   *
   * @return string
   */
  public function getUnsupportedPageHtml()
  {
    return '
    <div class="subhead">
      <div class="hgroup">
        <h2>'.$this->page->getNavName().'</h2>
      </div>
      <ul class="buttons">
        <li><button type="button" onclick="window.location=\'index.php\';" class="btn btn-danger">Cancel</button></li>
      </ul>
    </div>';
  }
  
  /**
   * Get array of image data
   *
   * @return array
   */
  public function getImageData()
  {
    $gallery = $this->page->gallery;
    $imageObjects = $gallery->getImageObjects();
    $d = array();
    foreach ($imageObjects as $key => $imageObject)
    {
      $thumbName = Helpers::changeFileExtension($imageObject->getImageFileName(), 'jpg', array('jpeg', 'JPG', 'JPEG'));
      $d[$key]['thumbName'] = $thumbName;
      $d[$key]['src'] = file_exists($gallery->getThumbDirPathRelSvm().$thumbName) ?
        htmlspecialchars($gallery->getThumbDirUrlRelSvm().$thumbName, ENT_QUOTES, 'UTF-8') :
        rtrim(IMAGE_SRC, '\\/').'/nothumb.gif';
      $d[$key]['url'] = htmlspecialchars($gallery->getImageDirUrlRelSvm().$imageObject->getImageFileName(), ENT_QUOTES, 'UTF-8');
      $d[$key]['fileName'] = htmlspecialchars($imageObject->getImageFileName(), ENT_QUOTES, 'UTF-8');
      $d[$key]['title'] = htmlspecialchars($imageObject->getTitle(), ENT_QUOTES, 'UTF-8');
      $d[$key]['caption'] = htmlspecialchars($imageObject->getCaption(), ENT_QUOTES, 'UTF-8');
      $d[$key]['linkUrl'] = htmlspecialchars($imageObject->getImageLinkUrl(), ENT_QUOTES, 'UTF-8');
      $d[$key]['linkTarget'] = $imageObject->getImageLinkTarget();
      //$d[$key]['description'] = htmlspecialchars($imageObject->getDescription(), ENT_QUOTES, 'UTF-8');
      $imageSize = $imageObject->getImageSizeArray();
      if ($imageSize === false) $d['sizeString'] = 'unknown size';
      else $d[$key]['sizeString'] = $imageSize[0].' x '.$imageSize[1];
    }
    return $d;
  }
}