This repository has been archived on 2024-11-28. You can view files and clone it, but cannot push or open issues or pull requests.
MatritumCantat_Web/www/components/com_zoom/classes/lightbox.class.php

113 lines
3.9 KiB
PHP
Raw Normal View History

<?php
//zOOm Gallery//
/**
-----------------------------------------------------------------------
| zOOm Image Gallery! by Mike de Boer - a multi-gallery component |
-----------------------------------------------------------------------
-----------------------------------------------------------------------
| |
| Date: October, 2004 |
| Author: Mike de Boer, <http://www.mikedeboer.nl> |
| Copyright: copyright (C) 2004 by Mike de Boer |
| Description: zOOm Image Gallery, a multi-gallery component for |
| Mambo based on RSGallery by Ronald Smit. It's the most |
| feature-rich gallery component for Mambo! |
| Filename: lightbox.class.php |
| Version: 2.1.4 |
| |
-----------------------------------------------------------------------
**/
// MOS Intruder Alerts
defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' );
class lightbox extends zoom{
var $_session_id = null;
var $_items = array();
var $_file = null;
function lightbox(){
$_session_id = SID;
$this->_file = 'media/'.uniqid('lightbox_').'.zip';
}
function addItem($object_id, $type, $qty = 1){
$curr_id = $this->getNoOfItems();
foreach ($this->_items as $item){
}
$this->_items[$curr_id] = new lightbox_item($object_id, $type, $qty);
return true;
}
function removeItem($id){
unset($this->_items[$id]);
$temp_array = array_values($this->_items);
$this->_items = $temp_array;
return true;
}
function editItem($id,$qty){
$this->_items[$id]->setQty($qty);
return true;
}
function getNoOfItems(){
return sizeof($this->_items);
}
function createZipFile(){
global $zoom, $mosConfig_live_site;
// the idea is that the array of items is iterated through and images are added
// to the filelist array automatically. Galleries, however, need to be parsed
// individually!
echo _ZOOM_LIGHTBOX_PARSEZIP;
$filelist = array();
foreach($this->_items as $item){
if(isset($item->_image) || !empty($item->_image)){
// item has been identified as an image, so add it simply to the filelist...
$item->_image->getInfo();
$filelist[] = $zoom->_CONFIG['imagepath'].$item->_image->getDir().'/'.$item->_image->_filename;
}else{
// item has been identified as a gallery, so parse it for images an THEN
// add those to the filelist...
foreach($item->_gallery->_images as $image){
$image->getInfo();
$filelist[] = $zoom->_CONFIG['imagepath'].$item->_gallery->getDir().'/'.$image->_filename;
}
}
}
$remove_dir = $zoom->_CONFIG['imagepath'];
echo '<b><font color="green">'._ZOOM_INFO_DONE.'</font></b><br />';
echo _ZOOM_LIGHTBOX_DOZIP;
if($zoom->createArchive($filelist, $this->_file, $remove_dir)){
$zoom->_EditMon->setEditMon(0, 'lightbox', $this->_file);
echo '<b><font color="green">'._ZOOM_INFO_DONE.'</font></b><br />';
echo _ZOOM_LIGHTBOX_DLHERE.': <a href="'.$this->_file.'"><img src="'.$mosConfig_live_site.'/components/com_zoom/images/save.png" border="0" /></a>';
}else{
echo '<b><font color="red">error!</font></b><br />';
}
}
}
class lightbox_item extends lightbox{
var $_id = null;
var $_image = null;
var $_gallery = null;
var $_qty = null;
function lightbox_item($object_id, $type, $qty = 1){
if($type == 1)
$this->_image = new image($object_id);
elseif($type == 2)
$this->_gallery = new gallery($object_id);
$this->_qty = $qty;
}
function getImage(){
return $this->_image;
}
function getGallery(){
return $this->_gallery;
}
function getQty(){
return $this->_qty;
}
function setQty($qty = 1){
$this->_qty = $qty;
}
}