/home/coolpkct/www/websites/cake3.cool.rocks/admin/plugins/simpleviewer/simpleviewerimage.inc.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>');
require_once 'classes'.DIRECTORY_SEPARATOR.'image.php';
require_once 'classes'.DIRECTORY_SEPARATOR.'helpers.php';
 
/**
 * Sv2Image
 *
 * @package Showkase
 */
class SimpleviewerImage extends Image
{
  
 /**
  * @var string image link url
  */
  protected $imageLinkUrl = SV_IMAGE_LINK_URL;

  
 /**
  * constructor
  *
  * @param string  gallery path rel svm
  * @param string image path rel gallery or null if not known
  * @param object xml image element
  */
  public function __construct(Page $page, $galleryPathRelSvm, $imagePathRelGallery, $imageData=null)
  {
    parent::__construct($page, $galleryPathRelSvm, $imagePathRelGallery, $imageData);
    if (is_null($imageData))
    {
      $this->thumbPathRelGallery = SV_THUMB_PATH.basename($this->imagePathRelGallery);
      $this->thumbUrl = str_replace(array('\\', '/'), '/', $this->thumbPathRelGallery);
    }
    else
    {
      if ($this->thumbUrl == '')
      {
        $this->thumbUrl = SV_THUMB_PATH.basename($this->imageUrl);
      }
      $this->thumbPathRelGallery = str_replace(array('\\', '/'), DIRECTORY_SEPARATOR, $this->thumbUrl);
    }
    $this->thumbPathRelGallery = Helpers::changeFileExtension($this->thumbPathRelGallery, 'jpg', array('jpeg', 'JPG', 'JPEG'));
    $this->thumbUrl = Helpers::changeFileExtension($this->thumbUrl, 'jpg', array('jpeg', 'JPG', 'JPEG'));
  }
  
 /**
  * Return dom document object
  * @return object
  */
  public function getXml()
  {
    $domDoc = new domDocument('1.0', 'utf-8');
    $rootElement = $domDoc->createElement('image');
    $domDoc->appendChild($rootElement); 
    $rootElement->setAttribute('imageURL', str_replace(array('\\', '/'), '/', $this->imagePathRelGallery));
    $rootElement->setAttribute('thumbURL', str_replace(array('\\', '/'), '/', $this->thumbPathRelGallery));
    $rootElement->setAttribute('linkURL', $this->imageLinkUrl);
    $rootElement->setAttribute('linkTarget', $this->imageLinkTarget);
    $captionElement = $domDoc->createElement('caption');
    $captionText = $domDoc->createCDATASection($this->imageCaption);
    $captionElement->appendChild($captionText);
    $rootElement->appendChild($captionElement);
    return $domDoc; 
  }
    
 /**
  * get image link url
  *
  * @access public
  * @return string
  */
  public function getImageLinkUrl()
  {
    return $this->imageLinkUrl;
  }
  
 /**
  * get image link target
  *
  * @access public
  * @return string
  */
  public function getImageLinkTarget()
  {
    return $this->imageLinkTarget;
  }
  
 /**
  * Set image caption
  *
  * @access public
  * @return void
  * @param string caption text
  * @param string acceptable html tags
  */
  public function setImageAttributes($caption, $linkUrl, $linkTarget, $i, $okTags)
  {
      $this->imageCaption = $this->formatImageAttributes($caption, $i);
      $this->imageLinkUrl = $this->formatImageAttributes($linkUrl, $i);
      $this->imageLinkTarget = $linkTarget;
  }
}