function bootstrapDefinedMeaning( $spelling, $languageId, $definition ) { $expression = findOrCreateExpression( $spelling, $languageId ); $definedMeaningId = createNewDefinedMeaning( $expression->id, $languageId, $definition ); return $definedMeaningId; }
public function add( IdStack $idPath, $record ) { if ( $this->filterLanguageId == 0 ) { $expressionLanguageId = $record->expression->language; } else { $expressionLanguageId = $this->filterLanguageId; } $expressionMeanings = $record->expressionMeanings->expressionExactMeanings; if ( $expressionLanguageId != 0 && $expressionMeanings->getRecordCount() > 0 ) { $expressionMeaning = $expressionMeanings->getRecord( 0 ); $definition = $expressionMeaning->definedMeaning->definition; $translatedContent = $definition->translatedText; if ( $this->filterLanguageId == 0 ) { if ( $translatedContent->getRecordCount() > 0 ) { $definitionRecord = $translatedContent->getRecord( 0 ); $text = $definitionRecord->text; $languageId = $definitionRecord->language; if ( $languageId != 0 && $text != "" ) { $expression = findOrCreateExpression( $this->spelling, $expressionLanguageId ); createNewDefinedMeaning( $expression->id, $languageId, $text ); } } } elseif ( $translatedContent != "" ) { $expression = findOrCreateExpression( $this->spelling, $expressionLanguageId ); createNewDefinedMeaning( $expression->id, $this->filterLanguageId, $translatedContent ); } } }
function importSNTypes( $collectionId, $query, $languageId ) { global $db; $queryResult = mysql_query( $query, $db ); while ( $semanticNetworkType = mysql_fetch_object( $queryResult ) ) { $expressionText = $semanticNetworkType->semtypeab; $expressionText = strtolower( str_replace( "_", " ", $expressionText ) ); $definedMeaningId = getDefinedMeaningFromCollection( $collectionId, $semanticNetworkType->semtypeab ); $expression = findOrCreateExpression( $expressionText, $languageId ); if ( !$definedMeaningId ) { $definedMeaningId = createNewDefinedMeaning( $expression->id, $languageId, $semanticNetworkType->definition ); addDefinedMeaningToCollection( $definedMeaningId, $collectionId, $semanticNetworkType->semtypeab ); } } mysql_free_result( $queryResult ); }
public function addExpressionAsDefinedMeaning( $spelling, $definition, $internalIdentifier, $collectionId ) { $expression = $this->getOrCreateExpression( $spelling ); $definedMeaningId = createNewDefinedMeaning( $expression->id, $this->languageId, $definition ); addDefinedMeaningToCollection( $definedMeaningId, $collectionId, $internalIdentifier ); return $definedMeaningId; }
/** * FIXME - work in progress * */ public function save() { initializeOmegaWikiAttributes( $this->viewInformation ); initializeObjectAttributeEditors( $this->viewInformation ); # Nice try sherlock, but we really need to get our DMID from elsewhere # $definedMeaningId = $this->getId(); # Need 3 steps: copy defining expression, create new dm, then update $expression = $this->dupDefiningExpression(); var_dump( $expression ); # to make the expression really work, we may need to call # more here? $expression->createNewInDatabase(); # shouldn't this stuff be protected? $expressionId = $expression->id; $languageId = $expression->languageId; $this->hackDC(); // XXX $text = $this->getDefiningExpression(); $this->unhackDC(); // XXX # here we assume the DM is not there yet.. not entirely wise # in the long run. echo "id: $expressionId lang: $languageId"; $newDefinedMeaningId = createNewDefinedMeaning( $expressionId, $languageId, $text ); getDefinedMeaningEditor( $this->viewInformation )->save( $this->getIdStack( $newDefinedMeaningId ), $this->getRecord() ); return $newDefinedMeaningId; }