uid == 0) { $user_string = 'anonymous'; $pass_string = 'anonymous'; } else { $user_string = $user->name; $pass_string = $user->pass; } if (!isset($url)) { $url = variable_get('islandora_base_url', 'http://localhost:8080/fedora'); } if (self::exists()) { $this->repository = new IslandoraRepositoryDecorator(RepositoryFactory::getRepository('fedora3', new RepositoryConfig($url, $user_string, $pass_string))); } } /** * Checks if the Connection class exists. * * @returns bool * TRUE if the Connection class exists FALSE otherwise. */ public static function exists() { return class_exists('RepositoryFactory'); } /** * Displays and error for use when Tuque is not installed. */ public static function getError() { $islandora_doc_link = l(t('Islandora documentation'), 'https://wiki.duraspace.org/display/ISLANDORA/Islandora'); $tuque_link = l(t('Tuque Fedora API'), 'http://github.com/islandora/tuque'); $message = t('Islandora requires the !tuque_url. Please install in /sites/all/libraries/tuque before continuing. See the !islandora_url.', array('!tuque_url' => $tuque_link, '!islandora_url' => $islandora_doc_link)); drupal_set_message(filter_xss($message), 'error', FALSE); } } class IslandoraRepositoryDecorator extends RepositoryDecorator { public function constructObject($id = NULL, $create_uuid = FALSE) { return new IslandoraObjectDecorator(parent::constructObject($id, $create_uuid)); } public function ingestObject(AbstractObject &$object) { $object = new IslandoraObjectDecorator(parent::ingestObject($object)); return $object; } public function getObject($id) { return new IslandoraObjectDecorator(parent::getObject($id)); } } class IslandoraObjectDecorator extends ObjectDecorator { } class IslandoraDatastreamDecorator extends DatastreamDecorator { }