Example #1
1
 /**
  * @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());
 }
Example #2
0
 /**
  * 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;
 }
Example #3
0
 function index()
 {
     $this->validate();
     PluginRegistry::loadCategory('oaiMetadataFormats', true);
     $oai = new JournalOAI(new OAIConfig(Request::getRequestUrl(), Config::getVar('oai', 'repository_id')));
     $oai->execute();
 }
Example #4
0
 function index()
 {
     $this->validate();
     PluginRegistry::loadCategory('schemas');
     $oai = new ArchiveOAI(new OAIConfig(Request::getRequestUrl(), Config::getVar('oai', 'repository_id')));
     $oai->execute();
 }
Example #5
0
 /**
  * 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;
 }
Example #6
0
 /**
  * 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()));
 }
Example #8
0
 function index()
 {
     OAIHandler::validate();
     $oai =& new JournalOAI(new OAIConfig(Request::getRequestUrl(), Config::getVar('oai', 'repository_id')));
     $oai->execute();
 }