*/ /** * Photo printing at photoaccess.com * * @package PhotoAccess */ class PhotoAccessModule extends GalleryModule { function PhotoAccessModule() { global $gallery; $this->setId('photoaccess'); $this->setName($gallery->i18n('PhotoAccess')); $this->setDescription($gallery->i18n('PhotoAccess 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', 'PhotoAccessCartPlugin', 'photoaccess', 'modules/photoaccess/classes/PhotoAccessCartPlugin.class', 'photoaccess', null); if ($ret->isError()) { return $ret->wrap(__FILE__, __LINE__); } return GalleryStatus::success(); } /** * @see GalleryModule::isRecommendedDuringInstall */ function isRecommendedDuringInstall() { return false; } /** * @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['controller'] = 'photoaccess.PrintPhoto'; $params['itemId'] = $itemId; $params['returnUrl'] = '%CURRENT_URL%'; $links[$item->getId()][] = array('text' => $this->translate('Print on PhotoAccess.com'), 'params' => $params); } } } return array(GalleryStatus::success(), $links); } } ?>