Example #1
0
function main() {
	$collection_id = 376317; # olpc dictionary.... WAY too big

	$fetcher = new OWFetcher();
	echo "fullset...\n";
	$fullSetXML = $fetcher->getFullSetXML_asString( $collection_id );

	$fullSet = new DOMDocument();
	$success = $fullSet->loadXML( $fullSetXML );
	if ( !$success ) {
		throw new Exception( "Failed to load category XML from server" );
	}

	$maxSubSet = dom2set( $fullSet );
	# sort($maxSubSet); foreach ($maxSubSet as $dmid) {print "$dmid,";}


	# var_dump($fullSet->saveXML());
	$exercise = new Exercise( $fetcher, $fullSet, $maxSubSet ); # pwease, not the max!
	# $exercise->setLanguages(array("eng","fra","deu"));
	$exercise->setQuestionLanguages( array( "deu" ) );
	$exercise->setAnswerLanguages( array( "eng" ) );

	# $question_dmid=$maxSubSet[array_rand($maxSubSet)];
	echo "question...\n";
	# $questionNode=$exercise->getQuestionNode($question_dmid);

	# dumpNode($questionNode);
	$runex = $exercise->randSubExercise( 10 );
	dumpExercise( $runex, 5 );

	echo "\n\n=== presistence test ===\n\n";
	saveExercise( $runex );
	$exid = mysql_insert_id();
	$loadex = loadExercise( $exid );
	$loadex->setFetcher( $fetcher );
	dumpExercise( $loadex, 10 );

}
Example #2
0
	/** create a new Exercise from scratch.
	# */
	public function createExercise( $userName, $size, $collection_id, $questionLanguages, $answerLanguages, $hide ) {

		# this can be simplified for now...
		# first get a master exercise...
		$fetcher = new OWFetcher();
		$fullSetXML = $fetcher->getFullSetXML_asString( $collection_id, array_merge( $questionLanguages, $answerLanguages ) );
		$fullSet = new DOMDocument();
		$success = $fullSet->loadXML( $fullSetXML );
		if ( !$success ) {
			throw new Exception( "Failed to load category XML from server" );
		}

		$exercise = new Exercise( $fetcher, $fullSet );
		$exercise->setQuestionLanguages( $questionLanguages );
		$exercise->setAnswerLanguages( $answerLanguages );
		$exercise->setHide( $hide );

		# This is the master exercise... which we should now store and 
		# worship. That's for mark II though. 
		# Today we toss it in the trash and just snarf a
		# subset instead. Mean huh?

		$subExercise = $exercise->randSubExercise( $size );
		$this->saveExercise( $subExercise, $userName );
		return $subExercise;
	}