/**
  * @param int $user_id
  * @param int $mail_folder_id
  * @throws Exception
  */
 public function search($user_id, $mail_folder_id)
 {
     /**
      * @var $ilSetting ilSetting
      * @var $ilLog     ilLog
      * @var $ilBench   ilBenchmark
      */
     global $ilBench, $ilSetting, $ilLog;
     if (!$this->query_parser->getQuery()) {
         throw new ilException('mail_search_query_missing');
     }
     $ilBench->start('Mail', 'LuceneSearch');
     try {
         include_once 'Services/WebServices/RPC/classes/class.ilRpcClientFactory.php';
         $xml = ilRpcClientFactory::factory('RPCSearchHandler')->searchMail(CLIENT_ID . '_' . $ilSetting->get('inst_id', 0), (int) $user_id, (string) $this->query_parser->getQuery(), (int) $mail_folder_id);
     } catch (XML_RPC2_FaultException $e) {
         $ilBench->stop('Mail', 'LuceneSearch');
         $ilLog->write(__METHOD__ . ': ' . $e->getMessage());
         throw $e;
     } catch (Exception $e) {
         $ilBench->stop('Mail', 'LuceneSearch');
         $ilLog->write(__METHOD__ . ': ' . $e->getMessage());
         throw $e;
     }
     $ilBench->stop('Mail', 'LuceneSearch');
     include_once 'Services/Mail/classes/class.ilMailSearchLuceneResultParser.php';
     $parser = new ilMailSearchLuceneResultParser($this->result, $xml);
     $parser->parse();
 }
 /**
  * index 
  * @return 
  */
 public function index()
 {
     global $ilSetting, $ilLog;
     try {
         include_once './Services/WebServices/RPC/classes/class.ilRpcClientFactory.php';
         $res = ilRpcClientFactory::factory('RPCIndexHandler')->index(CLIENT_ID . '_' . $ilSetting->get('inst_id', 0), true);
     } catch (XML_RPC2_FaultException $e) {
         // TODO: better error handling
         $ilLog->write(__METHOD__ . ': ' . $e->getMessage());
         return;
     } catch (Exception $e) {
         $ilLog->write(__METHOD__ . ': ' . $e->getMessage());
         return;
     }
 }
 /**
  * Update lucene index
  * @param type $a_obj_ids
  */
 public static function updateLuceneIndex($a_obj_ids)
 {
     global $ilSetting;
     include_once './Services/Search/classes/class.ilSearchSettings.php';
     if (!ilSearchSettings::getInstance()->isLuceneUserSearchEnabled()) {
         return false;
     }
     try {
         include_once './Services/WebServices/RPC/classes/class.ilRpcClientFactory.php';
         ilRpcClientFactory::factory('RPCIndexHandler')->indexObjects(CLIENT_ID . '_' . $ilSetting->get('inst_id', 0), $a_obj_ids);
     } catch (XML_RPC2_FaultException $e) {
         $error_message = $e->getMessage();
         $GLOBALS['ilLog']->write(__METHOD__ . ': ' . $e->getMessage());
     } catch (Exception $e) {
         $error_message = $e->getMessage();
         $GLOBALS['ilLog']->write(__METHOD__ . ': ' . $e->getMessage());
     }
 }
 public function run()
 {
     global $ilSetting;
     $status = ilCronJobResult::STATUS_NO_ACTION;
     $error_message = null;
     try {
         include_once './Services/WebServices/RPC/classes/class.ilRpcClientFactory.php';
         ilRpcClientFactory::factory('RPCIndexHandler')->index(CLIENT_ID . '_' . $ilSetting->get('inst_id', 0), true);
     } catch (XML_RPC2_FaultException $e) {
         $error_message = $e->getMessage();
     } catch (Exception $e) {
         $error_message = $e->getMessage();
     }
     $result = new ilCronJobResult();
     if ($error_message) {
         $result->setMessage($error_message);
         $status = ilCronJobResult::STATUS_CRASHED;
     } else {
         $status = ilCronJobResult::STATUS_OK;
     }
     $result->setStatus($status);
     return $result;
 }
Example #5
0
 /**
  * Delivers a PDF file from a XSL-FO string
  *
  * @param string $fo The XSL-FO string
  * @access public
  */
 public function deliverPDFfromFO($fo, $title = null)
 {
     global $ilLog;
     include_once "./Services/Utilities/classes/class.ilUtil.php";
     $fo_file = ilUtil::ilTempnam() . ".fo";
     $fp = fopen($fo_file, "w");
     fwrite($fp, $fo);
     fclose($fp);
     include_once './Services/WebServices/RPC/classes/class.ilRpcClientFactory.php';
     try {
         $pdf_base64 = ilRpcClientFactory::factory('RPCTransformationHandler')->ilFO2PDF($fo);
         $filename = strlen($title) ? $title : $this->getTitle();
         ilUtil::deliverData($pdf_base64->scalar, ilUtil::getASCIIFilename($filename) . ".pdf", "application/pdf", false, true);
         return true;
     } catch (XML_RPC2_FaultException $e) {
         $ilLog->write(__METHOD__ . ': ' . $e->getMessage());
         return false;
     } catch (Exception $e) {
         $ilLog->write(__METHOD__ . ': ' . $e->getMessage());
         return false;
     }
     /*
     include_once "./Services/Transformation/classes/class.ilFO2PDF.php";
     $fo2pdf = new ilFO2PDF();
     $fo2pdf->setFOString($fo);
     $result = $fo2pdf->send();
     $filename = (strlen($title)) ? $title : $this->getTitle();
     ilUtil::deliverData($result, ilUtil::getASCIIFilename($filename) . ".pdf", "application/pdf", false, true);
     */
 }
 function pingServer()
 {
     include_once './Services/WebServices/RPC/classes/class.ilRpcClientFactory.php';
     try {
         ilRpcClientFactory::factory('RPCebug')->ping();
         return true;
     } catch (Exception $e) {
         $ilLog->write(__METHOD__ . ': ' . $e->getMessage());
         return false;
     }
 }
 function buildExportFilePDF()
 {
     global $ilBench;
     /*include_once('./Services/WebServices/RPC/classes/class.ilRPCServerSettings.php');
     		$pp = ilRPCServerSettings::getInstance();
     		if(!$pp->isEnabled()||!$pp->pingServer())
     		{
     			$this->ilias->raiseError("Xml Rpc Server is not running. Check Administration/Webservices/Java-Server settings", $this->ilias->error_obj->MESSAGE);
     			return;
     		}*/
     $ilBench->start("ContentObjectExport", "buildExportFile");
     require_once "./Services/Xml/classes/class.ilXmlWriter.php";
     // create directories
     $this->createExportDirectory();
     ilUtil::makeDir($this->export_dir . "/" . $this->subdir);
     // get Log File
     $expDir = $this->export_dir;
     $expLog = new ilLog($expDir, "export.log");
     $expLog->delete();
     $expLog->setLogFormat("");
     $expLog->write(date("[y-m-d H:i:s] ") . "Start Export");
     $ilBench->start("ContentObjectExport", "buildExportFile_getXML");
     $fo_string = $this->cont_obj->exportPDF($this->inst_id, $this->export_dir . "/" . $this->subdir, $expLog);
     $ilBench->stop("ContentObjectExport", "buildExportFile_getXML");
     $ilBench->start("ContentObjectExport", "buildExportFile_pdfFile");
     fputs(fopen($this->export_dir . "/" . $this->subdir . '/temp.fo', 'w+'), $fo_string);
     global $ilLog;
     include_once './Services/WebServices/RPC/classes/class.ilRpcClientFactory.php';
     try {
         $pdf_base64 = ilRpcClientFactory::factory('RPCTransformationHandler')->ilFO2PDF($fo_string);
         //ilUtil::deliverData($pdf_base64->scalar,'learning_progress.pdf','application/pdf');
         fputs(fopen($this->export_dir . '/' . $this->subdir . '.pdf', 'w+'), $pdf_base64->scalar);
     } catch (XML_RPC2_FaultException $e) {
         ilUtil::sendFailure($e->getMessage(), true);
         return false;
     } catch (Exception $e) {
         ilUtil::sendFailure($e->getMessage(), true);
         return false;
     }
     $ilBench->stop("ContentObjectExport", "buildExportFile_pdfFile");
     ilUtil::delDir($this->export_dir . "/" . $this->subdir);
     $expLog->write(date("[y-m-d H:i:s] ") . "Finished Export");
     $ilBench->stop("ContentObjectExport", "buildExportFile");
     return $this->export_dir . "/" . $this->subdir . ".pdf";
 }
 /**
  * Save Lucene settings 
  * @return
  */
 protected function saveLuceneSettingsObject()
 {
     global $ilBench, $ilLog, $ilSetting;
     $this->initFormLuceneSettings();
     $settings = ilSearchSettings::getInstance();
     $settings->enableLuceneUserSearch((int) $_POST['user_search_enabled']);
     $settings->setFragmentCount((int) $_POST['fragmentCount']);
     $settings->setFragmentSize((int) $_POST['fragmentSize']);
     $settings->setMaxSubitems((int) $_POST['maxSubitems']);
     $settings->showRelevance((int) $_POST['relevance']);
     $settings->enableLuceneOfflineFilter((int) $_POST['offline_filter']);
     $settings->enableLuceneMimeFilter((int) $_POST['mime_enabled']);
     $settings->setLuceneMimeFilter((array) $_POST['mime']);
     $settings->showSubRelevance((int) $_POST['subrelevance']);
     $settings->enablePrefixWildcardQuery((int) $_POST['prefix']);
     if ($this->form->checkInput()) {
         $settings->setLastIndexTime($this->form->getItemByPostVar('last_index')->getDate());
         $settings->update();
         // refresh lucene server
         $ilBench->start('Lucene', 'LuceneRefreshSettings');
         try {
             include_once './Services/WebServices/RPC/classes/class.ilRpcClientFactory.php';
             ilRpcClientFactory::factory('RPCAdministration')->refreshSettings(CLIENT_ID . '_' . $ilSetting->get('inst_id', 0));
             ilUtil::sendInfo($this->lng->txt('settings_saved'));
             $this->luceneSettingsObject();
             return true;
         } catch (Exception $e) {
             $ilLog->write(__METHOD__ . ': ' . $e->getMessage());
             ilUtil::sendFailure($e->getMessage());
             $this->luceneSettingsObject();
             return false;
         }
     }
     ilUtil::sendInfo($this->lng->txt('err_check_input'));
     $this->luceneSettingsObject();
     return false;
 }
 /**
  * search lucene 
  * @return
  */
 protected function performSearch()
 {
     global $ilBench, $ilSetting, $ilLog;
     // TODO error handling
     if (!$this->query_parser->getQuery()) {
         return;
     }
     $ilBench->start('Lucene', 'SearchCombinedIndex');
     try {
         switch ($this->getType()) {
             case self::TYPE_USER:
                 include_once './Services/WebServices/RPC/classes/class.ilRpcClientFactory.php';
                 $res = ilRpcClientFactory::factory('RPCSearchHandler')->searchUsers(CLIENT_ID . '_' . $ilSetting->get('inst_id', 0), (string) $this->query_parser->getQuery());
                 break;
             case self::TYPE_STANDARD:
             default:
                 include_once './Services/WebServices/RPC/classes/class.ilRpcClientFactory.php';
                 $res = ilRpcClientFactory::factory('RPCSearchHandler')->search(CLIENT_ID . '_' . $ilSetting->get('inst_id', 0), (string) $this->query_parser->getQuery(), $this->getPageNumber());
                 break;
         }
     } catch (XML_RPC2_FaultException $e) {
         // TODO: better error handling
         $ilBench->stop('Lucene', 'SearchCombinedIndex');
         $ilLog->write(__METHOD__ . ': ' . $e->getMessage());
         return;
     } catch (Exception $e) {
         $ilBench->stop('Lucene', 'SearchCombinedIndex');
         $ilLog->write(__METHOD__ . ': ' . $e->getMessage());
         return;
     }
     $ilBench->stop('Lucene', 'SearchCombinedIndex');
     // Parse results
     $ilBench->start('Lucene', 'ParseSearchResult');
     include_once './Services/Search/classes/Lucene/class.ilLuceneSearchResultParser.php';
     $parser = new ilLuceneSearchResultParser($res);
     $GLOBALS['ilLog']->write(__METHOD__ . ' Result is: ' . $res);
     $parser->parse($this->result);
     $ilBench->stop('Lucene', 'ParseSearchResult');
     return;
 }
Example #10
0
 public function outCertificateWithGivenContentAndVariables($content, $insert_tags)
 {
     global $ilLog;
     ilDatePresentation::setUseRelativeDates(false);
     $form_fields = $this->getFormFieldsFromFO();
     $form_fields['certificate_text'] = $content;
     $xslfo = $this->processXHTML2FO($form_fields);
     $content = $this->exchangeCertificateVariables($xslfo, $insert_tags);
     $content = str_replace('[BR]', "<fo:block/>", $content);
     include_once './Services/WebServices/RPC/classes/class.ilRpcClientFactory.php';
     try {
         $pdf_base64 = ilRpcClientFactory::factory('RPCTransformationHandler')->ilFO2PDF($content);
         include_once "./Services/Utilities/classes/class.ilUtil.php";
         ilUtil::deliverData($pdf_base64->scalar, $this->getAdapter()->getCertificateFilename(array()), "application/pdf");
     } catch (XML_RPC2_FaultException $e) {
         $ilLog->write(__METHOD__ . ': ' . $e->getMessage());
         return false;
     } catch (Exception $e) {
         $ilLog->write(__METHOD__ . ': ' . $e->getMessage());
         return false;
     }
     ilDatePresentation::setUseRelativeDates(true);
 }
 /**
  * Creates a PDF preview of the XSL-FO certificate
  */
 public function createPreview()
 {
     global $ilLog;
     ilDatePresentation::setUseRelativeDates(false);
     $xslfo = file_get_contents($this->getXSLPath());
     include_once './Services/WebServices/RPC/classes/class.ilRpcClientFactory.php';
     try {
         $pdf_base64 = ilRpcClientFactory::factory('RPCTransformationHandler')->ilFO2PDF($this->exchangeCertificateVariables($xslfo));
         ilUtil::deliverData($pdf_base64->scalar, $this->getAdapter()->getCertificateFilename(), "application/pdf");
     } catch (XML_RPC2_FaultException $e) {
         $ilLog->write(__METHOD__ . ': ' . $e->getMessage());
         return false;
     } catch (Exception $e) {
         $ilLog->write(__METHOD__ . ': ' . $e->getMessage());
         return false;
     }
     ilDatePresentation::setUseRelativeDates(true);
     /*
     include_once "./Services/Transformation/classes/class.ilFO2PDF.php";
     $fo2pdf = new ilFO2PDF();
     $fo2pdf->setFOString($this->exchangeCertificateVariables($xslfo));
     $result = $fo2pdf->send();
     include_once "./Services/Utilities/classes/class.ilUtil.php";
     ilUtil::deliverData($result, $this->getAdapter()->getCertificateFilename(), "application/pdf");
     */
 }