This repository has been archived on 2024-12-02. You can view files and clone it, but cannot push or open issues or pull requests.
AbetoArmarios_Web/Source/gallery2/modules/shutterfly/module.inc

147 lines
4.1 KiB
PHP

<?php
/*
* Gallery - a web based photo album viewer and editor
* Copyright (C) 2000-2007 Bharat Mediratta
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or (at
* your option) any later version.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
*/
/**
* Photo printing at shutterfly.com
*
* @package Shutterfly
* @author Alan Harder <alan.harder@sun.com>
* @version $Revision: 16471 $
*/
class ShutterflyModule extends GalleryModule {
function ShutterflyModule() {
global $gallery;
$this->setId('shutterfly');
$this->setName($gallery->i18n('Shutterfly'));
$this->setDescription($gallery->i18n('Shutterfly Photo Printing Module'));
$this->setVersion('1.0.7.1'); /* Update upgrade() too */
$this->setGroup('commerce', $gallery->i18n('Commerce'));
$this->setCallbacks('getItemLinks');
$this->setRequiredCoreApi(array(7, 4));
$this->setRequiredModuleApi(array(3, 3));
}
/**
* @see GalleryModule::upgrade
*/
function upgrade($currentVersion) {
global $gallery;
if (!isset($currentVersion)) {
$currentVersion = '0';
} else if (version_compare($currentVersion, '1.0.0', '<')) {
/* Instead of enumerating all previous versions... */
$currentVersion = '1.0.0';
}
list ($ret, $coreParams) = GalleryCoreApi::fetchAllPluginParameters('module', 'core');
if ($ret) {
return $ret;
}
switch ($currentVersion) {
case '0':
/* Register our permission */
$ret = GalleryCoreApi::registerPermission($this->getId(), 'shutterfly.print',
$gallery->i18n('[shutterfly] Print'));
if ($ret) {
return $ret;
}
/* Give everybody print permission by default */
$ret = GalleryCoreApi::addGroupPermission(
$coreParams['id.rootAlbum'], $coreParams['id.everybodyGroup'],
'shutterfly.print', true);
if ($ret) {
return $ret;
}
break;
case '1.0.0':
$ret = GalleryCoreApi::registerPermission($this->getId(), 'shutterfly.print',
$gallery->i18n('[shutterfly] Print'));
if ($ret) {
return $ret;
}
$ret = GalleryCoreApi::addGroupPermission(
$coreParams['id.rootAlbum'], $coreParams['id.everybodyGroup'],
'shutterfly.print', true);
if ($ret) {
return $ret;
}
case '1.0.1':
case '1.0.2':
case '1.0.3':
case '1.0.4':
case '1.0.5':
case '1.0.6':
case '1.0.7':
case 'end of upgrade path':
break;
default:
return GalleryCoreApi::error(ERROR_BAD_PLUGIN, __FILE__, __LINE__,
sprintf('Unknown module version %s', $currentVersion));
}
return null;
}
/**
* @see GalleryModule::performFactoryRegistrations
*/
function performFactoryRegistrations() {
$ret = GalleryCoreApi::registerFactoryImplementation(
'CartPluginInterface_1_0', 'ShutterflyCartPlugin', 'shutterfly',
'modules/shutterfly/classes/ShutterflyCartPlugin.class', 'shutterfly', null);
if ($ret) {
return $ret;
}
return null;
}
/**
* @see GalleryModule::getItemLinks
*/
function getItemLinks($items, $wantsDetailedLinks, $permissions) {
global $gallery;
$session =& $gallery->getSession();
$links = array();
foreach ($items as $item) {
$itemId = $item->getId();
if (isset($wantsDetailedLinks[$itemId]) &&
isset($permissions[$itemId]['shutterfly.print']) &&
GalleryUtilities::isA($item, 'GalleryPhotoItem')) {
$links[$itemId][] =
array('text' => $this->translate('Print on Shutterfly.com'),
'params' => array('view' => 'shutterfly.PrintPhotos', 'itemId' => $itemId,
'returnUrl' => '%CURRENT_URL%',
'authToken' => $session->getAuthToken()));
}
}
return array(null, $links);
}
}
?>