コード例 #1
0
ファイル: Meaning.php プロジェクト: florinp/dexonline
 /**
  * Convert a tree produced by the tree editor to the format used by loadTree.
  * We need this in case validation fails and we cannot save the tree, so we need to display it again.
  **/
 static function convertTree($meanings)
 {
     $meaningStack = array();
     $results = array();
     foreach ($meanings as $tuple) {
         $row = array();
         $m = $tuple->id ? self::get_by_id($tuple->id) : Model::factory('Meaning')->create();
         $m->internalRep = $tuple->internalRep;
         $m->htmlRep = AdminStringUtil::htmlize($m->internalRep, 0);
         $m->internalEtymology = $tuple->internalEtymology;
         $m->htmlEtymology = AdminStringUtil::htmlize($m->internalEtymology, 0);
         $m->internalComment = $tuple->internalComment;
         $m->htmlComment = AdminStringUtil::htmlize($m->internalComment, 0);
         $row['meaning'] = $m;
         $row['sources'] = Source::loadByIds(StringUtil::explode(',', $tuple->sourceIds));
         $row['tags'] = MeaningTag::loadByIds(StringUtil::explode(',', $tuple->meaningTagIds));
         $row['relations'] = Relation::loadRelatedLexems($tuple->relationIds);
         $row['children'] = array();
         if ($tuple->level) {
             $meaningStack[$tuple->level - 1]['children'][] =& $row;
         } else {
             $results[] =& $row;
         }
         $meaningStack[$tuple->level] =& $row;
         unset($row);
     }
     return $results;
 }