git-svn-id: https://192.168.0.254/svn/Proyectos.MatritumCantat_Web/trunk@2 8e3496fd-7892-4c45-be36-0ff06e9dacc6
113 lines
3.9 KiB
PHP
113 lines
3.9 KiB
PHP
<?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;
|
|
}
|
|
}
|