Esempio n. 1
0
 /**
  * The main code goes here
  */
 function execute($par)
 {
     global $wgOut, $wgRequest;
     try {
         $this->setHeaders();
         $submitButtonText = "Import";
         // For now, print the result XML from the SPARQL query
         if ($wgRequest->getText('action') === 'import') {
             if (RDFIOUtils::currentUserHasWriteAccess()) {
                 $offset = $wgRequest->getVal('offset', 0);
                 $limit = $this->triplesPerBatch;
                 $submitButtonText = "Import next {$limit} triples...";
                 $wgOut->addHTML($this->getHTMLForm($submitButtonText));
                 $importInfo = $this->import($limit, $offset);
                 $externalSparqlUrl = $importInfo['externalSparqlUrl'];
                 $dataSourceImporter = new RDFIORDFImporter();
                 $dataSourceImporter->addDataSource($externalSparqlUrl, 'SPARQL');
             } else {
                 $errTitle = "No write access";
                 $errMsg = "The current logged in user does not have write access";
                 RDFIOUtils::showErrorMessage($errTitle, $errMsg);
             }
         } else {
             $wgOut->addHTML($this->getHTMLForm($submitButtonText));
             $wgOut->addHTML('<div id=sources style="display:none">');
             $wgOut->addWikiText('{{#ask: [[Category:RDFIO Data Source]] [[RDFIO Import Type::SPARQL]] |format=list }}');
             $wgOut->addHTML('</div>');
         }
     } catch (RDFIOException $e) {
         RDFIOUtils::showErrorMessage('Error!', $e->getMessage());
     }
 }
Esempio n. 2
0
 /**
  * Get data from the request object and store it in class variables
  */
 function getRequestData()
 {
     global $wgRequest, $wgArticlePath;
     $requestData = new RDFIORequestData();
     $requestData->action = $wgRequest->getText('action');
     $requestData->editToken = $wgRequest->getText('token');
     $requestData->importSource = $wgRequest->getText('importsrc');
     $requestData->nsPrefixInWikiTitlesProperties = $wgRequest->getBool('nspintitle_prop', false);
     // TODO: Remove?
     $requestData->nsPrefixInWikiTitlesEntities = $wgRequest->getBool('nspintitle_ent', false);
     // TODO: Remove?
     $requestData->externalRdfUrl = $wgRequest->getText('extrdfurl');
     $requestData->importData = $wgRequest->getText('importdata');
     $requestData->dataFormat = $wgRequest->getText('dataformat');
     $requestData->hasWriteAccess = RDFIOUtils::currentUserHasWriteAccess();
     $requestData->articlePath = $wgArticlePath;
     return $requestData;
 }