Project

General

Profile

Bug #2854 » repository_422_dc1e9fb09fd9.patch

Laurent Opprecht, 21/02/2011 11:59

View differences:

php/autoloader.class.php
use common\libraries\Filesystem;
/**
*
* @todo: create autoloader_base class and move utility functions there - such as check_directory ?
*
* $Id: repository_autoloader.class.php 236 2009-11-16 12:56:59Z scaramanga $
* @author vanpouckesven
* @package repository
......
'learning_path_scorm_export' => 'export/scorm/learning_path/learning_path_scorm_export',
'ims_metadata_reader' => 'import/cp/metadata/ims_metadata_reader',
'imscp_manifest_cp_import' => 'import/cp/object_import/import/dir/imscp_manifest_cp_import',
'qti_question_builder' => 'import/qti/object_import/qti_question_builder',
'qti_builder_base' => 'import/qti/object_import/qti_builder_base',
'qti_renderer_base' => 'import/qti/object_import/qti_builder_base',
'cp_object_import_base' => 'import/cp/object_import/cp_object_import_base',
'cp_object_export' => 'export/cp/object_export/cp_object_export',
'cpe_object_export_base' => 'export/cp/object_export/cpe_object_export_base',
......
return false;
}
/**
*
* @param <type> $directory
* @param <type> $recursive
* @return <type>
*/
static function check_directory($directory, $recursive = true) {
$files = scandir($directory);
$files = array_diff($files, array('.', '..'));
......
}
static function check_for_qti_files() {
return self::check_directory(dirname(__FILE__) . '/export/qti');
return self::check_directory(dirname(__FILE__) . '/import/qti');
return self::check_directory(dirname(__FILE__) . '/lib/import/qti');
return self::check_directory(dirname(__FILE__) . '/lib/export/qti');
}
}
php/lib/export/qti/main.php
<?php
//TODO remove these lines and replace by autoloading !
use common\libraries\Path;
require_once Path::get_common_libraries_path() .'php/ims/main.php';
require_once_all(dirname(__FILE__) .'/*.class.php');
require_once dirname(__FILE__) . '/object_export/qti_serializer_base.class.php';
require_once_all(dirname(__FILE__) .'/object_export/*.class.php');
require_once_all(dirname(__FILE__) .'/object_export/serializer/*.class.php');
php/lib/export/qti/qti_export.class.php
use common\libraries\Filecompression;
/**
* $Id: qti_export.class.php 200 2009-11-13 12:30:04Z kariboe $
* @package repository.lib.export.qti
*/
//FIXME Do not require main as it causses a cyclic dependency
//require_once dirname(__FILE__) . '/main.php';
/**
* Exports learning object to QTI format (xml)
*/
class QtiExport extends ContentObjectExport
......
{
$result = $exporter->export_content_object();
}
/*
$questions = $item->get_questions();
while ($complex_question = $questions->next_result()) {
$directory = $this->get_temp_directory();
$manifest = $this->get_manifest();
$toc = $this->toc;
if ($exporter = self :: factory_qti($complex_question->get_ref_object(), $directory, $manifest, $toc)) {
$result = $exporter->export_content_object();
} else {
}
}
*/
}
$xml = $this->get_manifest()->saveXML();
php/lib/import/qti/main.php
<?php
//FIXME do not use such a script because it requires unneeded files and
// creates cyclic dependencies
use common\libraries\Path;
require_once Path :: get_repository_content_object_path() . 'assessment_multiple_choice_question/php/assessment_multiple_choice_question_option.class.php';
require_once Path :: get_repository_content_object_path() . 'assessment_matching_question/php/assessment_matching_question_option.class.php';
require_once Path::get_common_libraries_path() .'php/ims/main.php';
require_once dirname(__FILE__) . '/qti_import.class.php';
require_once_all(dirname(__FILE__) .'/*.class.php');
require_once_all(dirname(__FILE__) . '/object_import/*.class.php');
(2-2/2)