/** * Factory * */ function &singleton($caller) { if ($caller == NULL) { return podcaster_repositoryimpl::_singleton($r = NULL); } if (!isset($caller->plugin)) { $caller->plugin = podcaster_repositoryimpl::get_plugin($caller->prefix); } return podcaster_repositoryimpl::_singleton($caller); }
/** * Factory */ function &create_repository($data, $disabled = false, $rss = false) { global $CFG; require_once $CFG->dirroot . '/mod/podcaster/lib/repository.php'; if (is_object($data)) { $info = $data; } else { // is_int the PHP Way if ($data === 0 || $data * 1 !== 0) { if (!$disabled) { if (($info = get_record('podcaster_repository', 'id', $data, 'enabled', '1')) == false) { return $info; } } else { if (($info = get_record('podcaster_repository', 'id', $data)) == false) { return $info; } } } elseif (!$disabled) { if (($info = get_record('podcaster_repository', 'prefix', $data, 'enabled', '1')) == false) { return $info; } } else { if (($info = get_record('podcaster_repository', 'prefix', $data)) == false) { return $info; } } } if ($rss && $info->id != $info->rss && $info->rss != 0) { $obj =& podcaster_repository::create_repository($info->rss, $disabled, false); return $obj; } $obj =& podcaster_repositoryimpl::_singleton($info); return $obj; }