function isRPC()
 {
     $no_html = intval(zmgGetParam($_GET, 'no_html', 0));
     if ($no_html === 1) {
         return true;
     }
     return false;
 }
 function process()
 {
     $gid = zmgGetParam($_REQUEST, 'zmg_edit_gallery_gid', 0);
     $isNew = false;
     if ($gid === "new") {
         $isNew = true;
         $gid = 0;
     }
     $gid = intval($gid);
     $events =& zmgFactory::getEvents();
     $messages =& zmgFactory::getMessages();
     $gallery = new zmgGallery(zmgDatabase::getDBO());
     $res = true;
     if ($gid > 0) {
         if (!($res = $gallery->load($gid))) {
             $messages->append(T_('Gallery could not be saved') . ': ' . $gallery->getError());
         }
     }
     if ($res && $gid > 0 || $isNew) {
         $data = array('name' => zmgSQLEscape(zmgGetParam($_REQUEST, 'zmg_edit_gallery_name', $gallery->name)), 'descr' => zmgSQLEscape(zmgGetParam($_REQUEST, 'zmg_edit_gallery_descr', $gallery->descr)), 'keywords' => zmgSQLEscape(zmgGetParam($_REQUEST, 'zmg_edit_gallery_keywords', $gallery->keywords)), 'hide_msg' => intval(zmgGetParam($_REQUEST, 'zmg_edit_gallery_hidenm', $gallery->hide_msg)), 'shared' => intval(zmgGetParam($_REQUEST, 'zmg_edit_gallery_shared', $gallery->shared)), 'published' => intval(zmgGetParam($_REQUEST, 'zmg_edit_gallery_published', $gallery->published)), 'uid' => intval(zmgGetParam($_REQUEST, 'zmg_edit_gallery_acl_gid', $gallery->uid)));
         if ($isNew) {
             $data['dir'] = zmgSQLEscape(zmgGetParam($_REQUEST, 'zmg_edit_gallery_dir', ''));
         }
         //do some additional validation of strings
         $data['name'] = $events->fire('onvalidate', false, $data['name']);
         $data['descr'] = $events->fire('onvalidate', false, $data['descr']);
         $data['keywords'] = $events->fire('onvalidate', false, $data['keywords']);
         if (!$gallery->bind($data)) {
             $messages->append(T_('Gallery could not be saved') . ': ' . $gallery->getError());
         } else {
             if (!$gallery->store()) {
                 $messages->append(T_('Gallery could not be saved') . ': ' . $gallery->getError());
             } else {
                 if ($isNew) {
                     $gallery->buildDirStructure();
                 }
                 $messages->append(T_('Gallery saved successfully!'));
             }
         }
     } else {
         $messages->append(T_('Gallery could not be saved') . ': ' . $gid);
     }
 }
 function process()
 {
     $mid = intval(zmgGetParam($_REQUEST, 'zmg_edit_mid', 0));
     $medium = new zmgMedium(zmgDatabase::getDBO());
     $res = true;
     $events =& zmgFactory::getEvents();
     $messages =& zmgFactory::getMessages();
     if ($mid > 0) {
         if (!($res = $medium->load($mid))) {
             $messages->append(T_('Medium could not be saved') . ': ' . $medium->getError());
         }
     }
     if ($res && $mid > 0) {
         $data = array('name' => zmgSQLEscape(zmgGetParam($_REQUEST, 'zmg_edit_name', $medium->name)), 'descr' => zmgSQLEscape(zmgGetParam($_REQUEST, 'zmg_edit_descr', $medium->descr)), 'keywords' => zmgSQLEscape(zmgGetParam($_REQUEST, 'zmg_edit_keywords', $medium->keywords)), 'shared' => intval(zmgGetParam($_REQUEST, 'zmg_edit_shared', $medium->shared)), 'published' => intval(zmgGetParam($_REQUEST, 'zmg_edit_published', $medium->published)), 'uid' => intval(zmgGetParam($_REQUEST, 'zmg_edit_acl_gid', $medium->uid)));
         //do some additional validation of strings
         $data['name'] = $events->fire('onvalidate', false, $data['name']);
         $data['descr'] = $events->fire('onvalidate', false, $data['descr']);
         $data['keywords'] = $events->fire('onvalidate', false, $data['keywords']);
         if (!$medium->bind($data)) {
             $messages->append(T_('Medium could not be saved') . ': ' . $medium->getError());
         } else {
             if (!$medium->store()) {
                 $messages->append(T_('Medium could not be saved') . ': ' . $medium->getError());
             } else {
                 $isGalleryImg = intval(zmgGetParam($_REQUEST, 'zmg_edit_gimg', 0)) === 1;
                 $isParentImg = intval(zmgGetParam($_REQUEST, 'zmg_edit_pimg', 0)) === 1;
                 if (!($isGalleryImg && $medium->setAsGalleryImage())) {
                     $messages->append(T_('Medium could not be saved') . ': ' . T_('unable to set as image of gallery'));
                     $res = false;
                 }
                 if (!($isParentImg && $medium->setAsGalleryImage(true))) {
                     $messages->append(T_('Medium could not be saved') . ': ' . T_('unable to set as image of parent gallery'));
                     $res = false;
                 }
                 if ($res) {
                     $messages->append(T_('Medium saved successfully!'));
                 }
             }
         }
     } else {
         $messages->append(T_('Medium could not be saved') . ': ' . $mid);
     }
 }
 function set()
 {
     $view = trim(zmgGetParam($_REQUEST, 'view', ZMG_ADMIN ? 'admin:home' : 'gallery:show:home'));
     if (empty($view)) {
         $view = ZMG_ADMIN ? "admin:dispatchresult" : "dispatchresult";
         $this->throwError('No view specified.');
     }
     $this->_active_view = $view;
     $this->_view_tokens = split(':', $view);
     $events =& zmgFactory::getEvents();
     //check for dispatches that 'put' data (in contrary to 'get' requests)
     $isDataStore = $events->fire('onisdatastore', false, $this->_view_tokens);
     if ((bool) $isDataStore) {
         $events->fire('ondatastore', false, $this->_view_tokens);
         $this->_active_view = (ZMG_ADMIN ? "admin:dispatchresult" : "dispatchresult") . ":" . str_replace(':', '_', str_replace('admin:', '', $view));
         $this->_view_tokens = split(':', $this->_active_view);
     }
     /*
     switch ($page) {
         case 'editimg':
             if ($zoom->privileges->hasPrivilege('priv_editmedium') || $zoom->_isAdmin) {
                 include(ZMG_ABS_PATH.'/components/com_zoom/www/admin/editimg.php');
             } else {
                 $zoom->notAuth();
             }
             break;
         case 'view':
             include(ZMG_ABS_PATH.'/components/com_zoom/www/view.php');
             break;
         case 'special':
             include(ZMG_ABS_PATH.'/components/com_zoom/www/special.php');
             break;
         // Admin module pages...
         case 'admin':
             if ($zoom->privileges->hasPrivileges()) {
                 include(ZMG_ABS_PATH.'/components/com_zoom/www/admin/admin.php');
                 $zoom->adminFooter();
             } else {
                 $zoom->notAuth();
             }
             break;
         case 'zoomthumb':
             include(ZMG_ABS_PATH.'/components/com_zoom/www/admin/zoomthumb.php');
             break;
         case 'catsmgr':
             if ($zoom->_isAdmin || ($zoom->privileges->hasPrivilege('priv_creategal') || $zoom->privileges->hasPrivilege('priv_editgal') || $zoom->privileges->hasPrivilege('priv_delgal'))) {
                 include(ZMG_ABS_PATH.'/components/com_zoom/www/admin/catsmgr.php');
                 $zoom->adminFooter();
             } else {
                 $zoom->notAuth();
             }
             break;
         case 'mediamgr':
             if ($zoom->_isAdmin || ($zoom->privileges->hasPrivilege('priv_upload') || $zoom->privileges->hasPrivilege('priv_editmedium') || $zoom->privileges->hasPrivilege('priv_delmedium'))) {
                 include(ZMG_ABS_PATH.'/components/com_zoom/www/admin/mediamgr.php');
                 $zoom->adminFooter();
             } else {
                 $zoom->notAuth();
             }
             break;
         case 'upload':
             if ($zoom->_isAdmin || $zoom->privileges->hasPrivilege('priv_upload')) {
                 include(ZMG_ABS_PATH.'/components/com_zoom/www/admin/upload.php');
                 $zoom->adminFooter();
             } else {
                 $zoom->notAuth();
             }
             break;
         case 'settings':
             if ($zoom->_isAdmin) {
                 include(ZMG_ABS_PATH.'/components/com_zoom/www/admin/settings.php');
                 $zoom->adminFooter();
             } else {
                 $zoom->notAuth();
             }
             break;
         case 'movefiles':
             if ($zoom->_isAdmin) {
                 include(ZMG_ABS_PATH.'/components/com_zoom/www/admin/movefiles.php');
                 $zoom->adminFooter();
             } else {
                 $zoom->notAuth();
             }
             break;
         case 'credits':
             if ($zoom->privileges->hasPrivileges()) {
                 include(ZMG_ABS_PATH.'/components/com_zoom/www/admin/credits.php');
                 $zoom->adminFooter();
             } else {
                 $zoom->notAuth();
             }
             break;
         case 'lightbox':
             if ($zoom->_CONFIG['lightbox']) {
                 include(ZMG_ABS_PATH.'/components/com_zoom/www/lightbox.php');
             } else {
                 $zoom->notAuth();
             }
             break;
         case 'ecard':
             if ($zoom->_CONFIG['ecards']) {
                 include(ZMG_ABS_PATH.'/components/com_zoom/www/ecard.php');
             } else {
                 $zoom->notAuth();
             }
             break;
         case 'search':
             include(ZMG_ABS_PATH.'/components/com_zoom/www/search.php');
             break;
         default:
             $action = trim(mosGetParam($_REQUEST,'action'));
             if ($action === 'delimg') {
                 if ($zoom->_isAdmin || $zoom->privileges->hasPrivilege('priv_delmedium')) {
                     $key = mosGetParam($_REQUEST,'key');
                     $PageNo = mosGetParam($_REQUEST,'PageNo');
                     if ($key || $key == 0) {
                         $zoom->_gallery->_images[$key]->getInfo();
                         if ($zoom->_gallery->_images[$key]->delete()) {
                             mosRedirect(sefRelToAbs("index.php?option=$option&catid=".$zoom->_gallery->_id."&PageNo=$PageNo&Itemid=$Itemid"), _ZOOM_ALERT_DELPIC);
                         } else {
                             mosRedirect(sefRelToAbs("index.php?option=$option&catid=".$zoom->_gallery->_id."&PageNo=$PageNo&Itemid=$Itemid"), _ZOOM_ALERT_NODELPIC);
                         }
                     }
                 } else {
                     $zoom->notAuth();
                 }
             }
             if (!empty($zoom->_gallery) || $zoom->_isAdmin || $catid == 0) {
                 $valid = true;
                 if (!empty($zoom->_gallery)) {
                     if (!$zoom->_gallery->_published  && !$zoom->_isAdmin) {
                         $valid = false;
                     }
                 }
                 if ($valid) {
                     include(ZMG_ABS_PATH.'/components/com_zoom/www/galleryshow.php');
                 } else {
                     $zoom->notAuth();
                 }
             } else {
                 $zoom->notAuth();
             }
             break;
     }
     */
     $events->fire('onviewset');
 }
 function finalizeUpload($gid = 0)
 {
     //finish the SwfUpload sequence...
     if ($gid === 0) {
         return zmgToolboxPlugin::registerError(T_('Upload media'), T_('No valid gallery ID provided'));
     }
     $session =& zmgFactory::getSession();
     $events =& zmgFactory::getEvents();
     $config =& zmgFactory::getConfig();
     $db =& zmgDatabase::getDBO();
     $gallery = new zmgGallery($db);
     $gallery->load($gid);
     //now we got the gallery and its data, retrieve the uploaded media
     $media = $session->get('uploadtool.fancyfiles');
     if (!is_array($media) || count($media) == 0) {
         return zmgToolboxPlugin::registerError(T_('Upload media'), T_('No media have been uploaded; nothing to do.'));
     }
     zmgimport('org.zoomfactory.lib.helpers.zmgFileHelper');
     $src_path = ZMG_ABS_PATH . DS . "etc" . DS . "cache" . DS;
     $dest_path = zmgEnv::getRootPath() . DS . $config->get('filesystem/mediapath') . $gallery->dir . DS;
     foreach ($media as $medium) {
         $obj = new zmgMedium($db);
         $name = zmgSQLEscape(zmgGetParam($_REQUEST, 'zmg_upload_name', ''));
         $descr = zmgSQLEscape(zmgGetParam($_REQUEST, 'zmg_upload_descr', ''));
         $data = array('name' => $name, 'filename' => $medium, 'descr' => $descr, 'published' => 1, 'gid' => $gallery->gid);
         $obj->setGalleryDir($gallery->dir);
         //saves a SQL query later on...
         //do some additional validation of strings
         $data['name'] = $events->fire('onvalidate', $data['name']);
         if (!$data['name']) {
             $data['name'] = $name;
         }
         $data['descr'] = $events->fire('onvalidate', $data['descr']);
         if (!$data['descr']) {
             $data['descr'] = $descr;
         }
         if (!$obj->bind($data)) {
             zmgToolboxPlugin::registerError(T_('Upload media'), T_('Medium could not be saved') . ': ' . $obj->getError());
         } else {
             if (!zmgFileHelper::copy($src_path . $medium, $dest_path . $medium)) {
                 zmgToolboxPlugin::registerError(T_('Upload media'), T_('Unable to copy file') . ' ' . $medium);
             } else {
                 if (!zmgFileHelper::delete($src_path . $medium)) {
                     zmgToolboxPlugin::registerError(T_('Upload media'), T_('Unable to delete temporary file') . ' ' . $medium);
                 } else {
                     if (!zmgToolboxPlugin::processMedium($obj, $gallery)) {
                         zmgToolboxPlugin::registerError(T_('Upload media'), T_('Medium could not be processed') . ' ' . $medium);
                     } else {
                         if (!$obj->store()) {
                             //now save this medium in our DB
                             zmgToolboxPlugin::registerError(T_('Upload media'), T_('Medium could not be saved') . ': ' . $obj->getError());
                         }
                     }
                 }
             }
         }
         //delete medium from session data: fourth parameter as TRUE
         $session->update('uploadtool.fancyfiles', $medium, ZMG_DATATYPE_ARRAY, true);
     }
     zmgToolboxPlugin::throwErrors();
 }
| Copyright: copyright (C) 2007 by Mike de Boer                       |
| Description: zOOm Media Gallery, a multi-gallery component for      |
|              Joomla!. It's the most feature-rich gallery component  |
|              for Joomla!! For documentation and a detailed list     |
|              of features, check the zOOm homepage:                  |
|              http://www.zoomfactory.org                             |
| License: GPL                                                        |
| Filename: toolbar.html.php                                          |
|                                                                     |
-----------------------------------------------------------------------
* @version $Id:toolbar.zoom.php 124 2007-02-17 03:35:03Z spignataro $
* @package zOOmGallery
* @author Mike de Boer <*****@*****.**> 
**/
global $zoom, $mainframe;
$page = zmgGetParam($_REQUEST, 'page');
//mosMenuBar::startTable();
switch ($page) {
    case 'catsmgr':
        mosMenuBar::spacer();
        break;
    case 'mediamgr':
        $task = mosGetParam($_REQUEST, 'task');
        $catid = mosGetParam($_REQUEST, 'catid');
        if (empty($task) && !empty($catid)) {
            if ($zoom->_isAdmin || $zoom->privileges->hasPrivilege('priv_upload')) {
                mosMenuBar::custom('upload', 'new_f2.png', 'new_f2.png', _ZOOM_UPLOAD, false);
                mosMenuBar::spacer();
                mosMenuBar::divider();
                mosMenuBar::spacer();
            }
<?php

/**
 * zOOm Media Gallery! - a multi-gallery component 
 * 
 * @package zmg
 * @version $Revision$
 * @author Mike de Boer <mike AT zoomfactory.org>
 * @copyright Copyright &copy; 2007, Mike de Boer. All rights reserved.
 * @license http://www.gnu.org/copyleft/gpl.html GPL
 */
//list of global constants:
define("_ZMG_EXEC", 1);
define("ZMG_ABS_PATH", dirname(__FILE__) . "/../../..");
define("ZMG_ADMIN", 0);
//load all required libraries
include ZMG_ABS_PATH . '/lib/zmgFunctions.php';
$url = zmgDecrypt(zmgGetParam($_REQUEST, 'q', '', _ZMG_NOFILTER));
if (!empty($url) && !headers_sent()) {
    echo @header('Location: ' . $url);
    exit;
}
 function getRequestParamFloat($name, $default = 0)
 {
     return floatval(zmgGetParam($_REQUEST, $name, $default));
 }