/** * @param Request $request * @param Response $response * @throws SurvariumException */ public function __construct(Request $request, Response $response) { if (!extension_loaded('curl')) { throw new SurvariumException('You should install curl extension'); } $this->curl = curl_init(); $this->request = $request; $this->response = $response; $this->setOptions($request->getRequestUrl(), $request->getHeaders(), $request->getHttpMethod()); }
/** * Return string containing the contents of the HTML file. * This function performs any necessary filtering, like image URL replacement. * @param $baseImageUrl string base URL for image references * @return string */ function getHTMLContents() { import('file.ArticleFileManager'); $fileManager =& new ArticleFileManager($this->getArticleId()); $contents = $fileManager->readFile($this->getFileId()); $journal =& Request::getJournal(); // Replace media file references $images =& $this->getImageFiles(); foreach ($images as $image) { $imageUrl = Request::url(null, 'article', 'viewFile', array($this->getArticleId(), $this->getBestGalleyId($journal), $image->getFileId())); $pattern = preg_quote(rawurlencode($image->getOriginalFileName())); $contents = preg_replace('/([Ss][Rr][Cc]|[Hh][Rr][Ee][Ff]|[Dd][Aa][Tt][Aa])\\s*=\\s*"([^"]*' . $pattern . ')"/', '\\1="' . $imageUrl . '"', $contents); // Replacement for Flowplayer $contents = preg_replace('/[Uu][Rr][Ll]\\s*\\:\\s*\'(' . $pattern . ')\'/', 'url:\'' . $imageUrl . '\'', $contents); // Replacement for other players (ested with odeo; yahoo and google player won't work w/ OJS URLs, might work for others) $contents = preg_replace('/[Uu][Rr][Ll]=([^"]*' . $pattern . ')/', 'url=' . $imageUrl, $contents); } // Perform replacement for ojs://... URLs $contents = String::regexp_replace_callback('/(<[^<>]*")[Oo][Jj][Ss]:\\/\\/([^"]+)("[^<>]*>)/', array(&$this, '_handleOjsUrl'), $contents); // Perform variable replacement for journal, issue, site info $issueDao =& DAORegistry::getDAO('IssueDAO'); $issue =& $issueDao->getIssueByArticleId($this->getArticleId()); $journal =& Request::getJournal(); $site =& Request::getSite(); $paramArray = array('issueTitle' => $issue ? $issue->getIssueIdentification() : Locale::translate('editor.article.scheduleForPublication.toBeAssigned'), 'journalTitle' => $journal->getJournalTitle(), 'siteTitle' => $site->getSiteTitle(), 'currentUrl' => Request::getRequestUrl()); foreach ($paramArray as $key => $value) { $contents = str_replace('{$' . $key . '}', $value, $contents); } return $contents; }
function index() { $this->validate(); PluginRegistry::loadCategory('oaiMetadataFormats', true); $oai = new JournalOAI(new OAIConfig(Request::getRequestUrl(), Config::getVar('oai', 'repository_id'))); $oai->execute(); }
function index() { $this->validate(); PluginRegistry::loadCategory('schemas'); $oai = new ArchiveOAI(new OAIConfig(Request::getRequestUrl(), Config::getVar('oai', 'repository_id'))); $oai->execute(); }
/** * Return string containing the contents of the HTML file. * This function performs any necessary filtering, like image URL replacement. * @param $baseImageUrl string base URL for image references * @return string */ function getHTMLContents() { import('file.PaperFileManager'); $fileManager = new PaperFileManager($this->getPaperId()); $contents = $fileManager->readFile($this->getFileId()); // Replace image references $images =& $this->getImageFiles(); foreach ($images as $image) { $imageUrl = Request::url(null, 'paper', 'viewFile', array($this->getPaperId(), $this->getGalleyId(), $image->getFileId())); $pattern = preg_quote(rawurlencode($image->getOriginalFileName())); $contents = preg_replace('/[Ss][Rr][Cc]\\s*=\\s*"([^"]*' . $pattern . ')"/', 'src="' . $imageUrl . '"', $contents); $contents = preg_replace('/[Hh][Rr][Ee][Ff]\\s*=\\s*"([^"]*' . $pattern . ')"/', 'href="' . $imageUrl . '"', $contents); } // Perform replacement for ocs://... URLs $contents = preg_replace_callback('/(<[^<>]*")[Oo][Jj][Ss]:\\/\\/([^"]+)("[^<>]*>)/', array(&$this, '_handleOcsUrl'), $contents); // Perform variable replacement for site info etc. $schedConf =& Request::getSchedConf(); $site =& Request::getSite(); $paramArray = array('confTitle' => $schedConf->getSchedConfTitle(), 'siteTitle' => $site->getLocalizedTitle(), 'currentUrl' => Request::getRequestUrl()); foreach ($paramArray as $key => $value) { $contents = str_replace('{$' . $key . '}', $value, $contents); } return $contents; }
/** * Get the complete URL to this page, including parameters. * @return string */ function getCompleteUrl() { static $completeUrl; if (!isset($completeUrl)) { $completeUrl = Request::getRequestUrl(); $queryString = Request::getQueryString(); if (!empty($queryString)) { $completeUrl .= "?{$queryString}"; } HookRegistry::call('Request::getCompleteUrl', array(&$completeUrl)); } return $completeUrl; }
function OjsAnnotationService() { $servicePath = Request::getRequestUrl(); $host = Request::getServerHost(); // Get install date. Seems to produce 1969-12-31 $versionDao =& DAORegistry::getDAO('VersionDAO'); $versions =& $versionDao->getVersionHistory(); $firstVersion = array_pop($versions); $installDate = $firstVersion->getDateInstalled(); $installDate = strtotime($installDate); $username = Request::getUser(); if ($username) { $username = $username->getUsername(); } $sessionManager =& SessionManager::getManager(); $session = $sessionManager->getUserSession(); AnnotationService::AnnotationService($host, $servicePath, $installDate, $username, array('csrfCookie' => Config::getVar('general', 'session_cookie_name'), 'csrfCookieValue' => $session->getId())); }
function index() { OAIHandler::validate(); $oai =& new JournalOAI(new OAIConfig(Request::getRequestUrl(), Config::getVar('oai', 'repository_id'))); $oai->execute(); }