Exemplo n.º 1
0
 /**
  * Establishes a connection to the DAL module with the given ID.
  *   
  * @param string $moduleID
  * 		The ID of a module that is specified in the following description e.g.
  * 		"ReadCSV"
  *  
  * @param string $moduleDesc
  * 		Description of the DAL modules as XML structure as returned by 
  * 		getDALModules().
  * 
  * @return string
  * 		An XML structure with the value <true> if the connection was 
  * 		successfully established, <false> and an error message otherwise. 
  * 		Example:
  * 		<?xml version="1.0"?>
  *		<ReturnValue xmlns="http://www.ontoprise.de/smwplus#">
  *		    <value>true</value>
  *		    <message>Successfully connected to module "ReadCSV".</message>
  *		</ReturnValue >
  * 
  */
 public function connectDAL($moduleID, &$moduleDesc)
 {
     global $smwgDIIP;
     require_once $smwgDIIP . '/specials/TermImport/SMW_XMLParser.php';
     $retVal = 'true';
     $parser = new XMLParser($moduleDesc);
     $result = $parser->parse();
     if ($result !== TRUE) {
         $msg = $result;
         $retVal = 'false';
     } else {
         $moduleSpec = $parser->findElementWithContent('ID', $moduleID);
         if ($moduleSpec) {
             $className = $moduleSpec['CLASS']['value'];
             $file = $moduleSpec['FILE']['value'];
             $inc = TERM_IMPORT_PATH . $file . '.php';
             if (include_once $inc) {
                 $this->connectedDAL = new $className();
                 $msg = wfMsg('smw_ti_succ_connected', $moduleID);
             } else {
                 $msg = wfMsg('smw_ti_class_not_found', $className);
             }
         } else {
             $msg = wfMsg('smw_ti_no_tl_module_spec', $moduleID);
             $retVal = 'false';
         }
     }
     return '<?xml version="1.0"?>' . "\n" . '<ReturnValue xmlns="http://www.ontoprise.de/smwplus#">' . "\n" . '<value>' . $retVal . '</value>' . "\n" . '<message>' . $msg . '</message>' . "\n" . '</ReturnValue >' . "\n";
 }