4include_once(
"./Services/Export/classes/class.ilXmlImporter.php");
 
   29                include_once 
"./Modules/TestQuestionPool/classes/class.ilObjQuestionPool.php";
 
   33                if($new_id = $a_mapping->getMapping(
'Services/Container',
'objs',$a_id))
 
   36                        $newObj->setOnline(
true);
 
   40                else if ($new_id = $a_mapping->getMapping(
'Modules/TestQuestionPool',
'qpl', 
"new_id"))
 
   47                        $GLOBALS[
'ilLog']->write(__METHOD__.
': non container and no tax mapping, perhaps old qpl export' );
 
   55                if(!@file_exists($xml_file))
 
   57                        $GLOBALS[
'ilLog']->write(__METHOD__.
': Cannot find xml definition: '. $xml_file);
 
   60                if(!@file_exists($qti_file))
 
   62                        $GLOBALS[
'ilLog']->write(__METHOD__.
': Cannot find qti definition: '. $qti_file);
 
   66                $newObj->fromXML($xml_file);
 
   69                if( isset(
$_POST[
"qpl_new"]) && strlen(
$_POST[
"qpl_new"]) )
 
   71                        $newObj->setTitle(
$_POST[
"qpl_new"]);
 
   81                $GLOBALS[
'ilLog']->write(__METHOD__.
': xml file: '. $xml_file . 
", qti file:" . $qti_file);
 
   83                if( isset(
$_SESSION[
"qpl_import_idents"]) )
 
   94                include_once 
"./Services/QTI/classes/class.ilQTIParser.php";
 
   96                $result = $qtiParser->startParsing();
 
   99                if (strlen($xml_file))
 
  101                        include_once (
"./Modules/LearningModule/classes/class.ilContObjParser.php");
 
  103                        $contParser->setQuestionMapping($qtiParser->getImportMapping());
 
  104                        $contParser->startParsing();
 
  106                        foreach ($qtiParser->getImportMapping() as $k => $v)
 
  108                                $oldQuestionId = substr($k, strpos($k, 
'qst_')+strlen(
'qst_'));
 
  109                                $newQuestionId = $v[
'pool']; 
 
  111                                $a_mapping->addMapping(
 
  112                                        "Services/Taxonomy", 
"tax_item", 
"qpl:quest:$oldQuestionId", $newQuestionId
 
  115                                $a_mapping->addMapping(
 
  116                                        "Services/Taxonomy", 
"tax_item_obj_id", 
"qpl:quest:$oldQuestionId", $newObj->getId()
 
  119                                $a_mapping->addMapping(
 
  120                                        "Modules/TestQuestionPool", 
"quest", $oldQuestionId, $newQuestionId
 
  125                $a_mapping->addMapping(
"Modules/TestQuestionPool", 
"qpl", $a_id, $newObj->getId());
 
  128                $this->poolOBJ = $newObj;
 
  141                include_once(
"./Services/Taxonomy/classes/class.ilObjTaxonomy.php");
 
  142                $maps = $a_mapping->getMappingsOfEntity(
"Modules/TestQuestionPool", 
"qpl");
 
  143                foreach ($maps as $old => $new)
 
  145                        if ($old != 
"new_id" && (
int) $old > 0)
 
  148                                $new_tax_ids = $a_mapping->getMapping(
"Services/Taxonomy", 
"tax_usage_of_obj", $old);
 
  149                                if($new_tax_ids !== 
false)
 
  151                                        $tax_ids = explode(
":", $new_tax_ids);
 
  152                                        foreach($tax_ids as $tid)
 
  158                                $taxMappings = $a_mapping->getMappingsOfEntity(
'Services/Taxonomy', 
'tax');
 
  159                                foreach($taxMappings as $oldTaxId => $newTaxId)
 
  161                                        if( $oldTaxId == $this->poolOBJ->getNavTaxonomyId() )
 
  163                                                $this->poolOBJ->setNavTaxonomyId($newTaxId);
 
  164                                                $this->poolOBJ->saveToDb();
 
  178                $GLOBALS[
'ilLog']->write(__METHOD__.
': '.$this->getImportDirectory());
 
  183                $qti = $this->
getImportDirectory().
'/'.preg_replace(
'/qpl/', 
'qti', $basename).
'.xml';
 
  185                return array($xml,$qti);
 
  191                $dir = dirname($dir);
 
  198                $name = basename($dir);
 
_setImportDirectory($a_import_dir=null)
set import directory
static saveUsage($a_tax_id, $a_obj_id)
Save Usage.
getInstanceByObjId($a_obj_id, $stop_on_error=true)
get an instance of an Ilias object by object id
Importer class for question pools.
parseXmlFileNames()
Create qti and xml file name.
finalProcessing($a_mapping)
Final processing.
getImportDirectoryContainer()
importXmlRepresentation($a_entity, $a_id, $a_xml, $a_mapping)
Import XML.
getImportDirectory()
Get import directory.
$GLOBALS['PHPCAS_CLIENT']
This global variable is used by the interface class phpCAS.