*/ /** * Photo printing at shutterfly.com * * @package Shutterfly */ 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.0'); $this->setGroup('commerce', $this->translate('Commerce')); $this->setCallbacks('getItemLinks'); $this->setRequiredCoreApi(array(6, 0)); $this->setRequiredModuleApi(array(2, 0)); } /** * @see GalleryModule::performFactoryRegistrations() */ function performFactoryRegistrations() { $ret = GalleryCoreApi::registerFactoryImplementation( 'CartPluginInterface_1_0', 'ShutterflyCartPlugin', 'shutterfly', 'modules/shutterfly/classes/ShutterflyCartPlugin.class', 'shutterfly', null); if ($ret->isError()) { return $ret->wrap(__FILE__, __LINE__); } return GalleryStatus::success(); } /** * @see GalleryModule::isRecommendedDuringInstall */ function isRecommendedDuringInstall() { return true; } /** * @see GalleryModule::autoConfigure */ function autoConfigure() { /* We don't require any special configuration */ return array(GalleryStatus::success(), true); } /** * @see GalleryModule::getItemLinks() */ function getItemLinks($items, $wantsDetailedLinks, $permissions) { $links = array(); foreach ($items as $item) { $itemId = $item->getId(); if (isset($wantsDetailedLinks[$itemId])) { if (GalleryUtilities::isA($item, 'GalleryPhotoItem')) { $params['view'] = 'shutterfly.PrintPhotos'; $params['itemId'] = $itemId; $params['return'] = 1; $links[$item->getId()][] = array('text' => $this->translate('Print on Shutterfly.com'), 'params' => $params); } } } return array(GalleryStatus::success(), $links); } } ?>