Changeset 80d4466
- Timestamp:
- 08/26/10 15:26:14 (21 months ago)
- Branches:
- ('master', '8434b8322dd6f8ff37c17bd45b94e7a826f86b53')('vitrine', 'afe109c61a407808bd54d88bcccb1cde726a010a')
- Children:
- f0daea643ebbade00cd85a4698420c4d1894a697
- Parents:
- ce9b376399bdac774ac9123625fc841f9afdfbb4
- git-author:
- Benoit Grégoire <benoitg@coeus.ca>2010-08-26 15:26:14-04:00
- git-committer:
- Benoit Grégoire <benoitg@coeus.ca>2010-08-26 15:26:14-04:00
- File:
-
- 1 edited
-
html/classes/SearchEngine.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
html/classes/SearchEngine.php
rce9b376 r80d4466 623 623 624 624 $navigableRelationships = configGetNavigableRelationshipsIdArray(); 625 625 $sql .= " LEFT JOIN vocabulary_relationships AS navigated_relationship_level_{$navLevel} ON ( \n"; 626 $joinCondArray=array(); 626 627 //navigableSourceToDest 627 628 if(count($navigableRelationships['navigableSourceToDest']>0)){ 628 629 $tmpSql = null; 629 $tmpSql .= " LEFT JOIN vocabulary_relationships AS navigated_relationship_level_{$navLevel}_sourceToDest ON( \n";630 $tmpSql .= " navigated_relationship_level_{$navLevel} _sourceToDest.source_term_vocabulary_identifier=$leftTable.vdex_4_vocabulary_identifier \n";631 $tmpSql .= " AND navigated_relationship_level_{$navLevel} _sourceToDest.source_term_identifier=$leftTable.vdex_6_1_identifier \n";632 $tmpSql .= " AND navigated_relationship_level_{$navLevel} _sourceToDest.target_term_vocabulary_identifier!=$leftTable.vdex_4_vocabulary_identifier \n";633 $tmpSql .= " AND navigated_relationship_level_{$navLevel} _sourceToDest.target_term_identifier!=$leftTable.vdex_6_1_identifier \n";630 $tmpSql .= " ( \n"; 631 $tmpSql .= " navigated_relationship_level_{$navLevel}.source_term_vocabulary_identifier=$leftTable.vdex_4_vocabulary_identifier \n"; 632 $tmpSql .= " AND navigated_relationship_level_{$navLevel}.source_term_identifier=$leftTable.vdex_6_1_identifier \n"; 633 $tmpSql .= " AND navigated_relationship_level_{$navLevel}.target_term_vocabulary_identifier!=$leftTable.vdex_4_vocabulary_identifier \n"; 634 $tmpSql .= " AND navigated_relationship_level_{$navLevel}.target_term_identifier!=$leftTable.vdex_6_1_identifier \n"; 634 635 $internaljoinCondArray = array(); 635 636 foreach($navigableRelationships['navigableSourceToDest'] as $relationshipType) { 636 $internaljoinCondArray[] = "(navigated_relationship_level_{$navLevel} _sourceToDest.vdex_7_4_1_relationship_type_source='$relationshipType[1]' AND navigated_relationship_level_{$navLevel}_sourceToDest.vdex_7_4_2_relationship_type_value='$relationshipType[0]') \n";637 $internaljoinCondArray[] = "(navigated_relationship_level_{$navLevel}.vdex_7_4_1_relationship_type_source='$relationshipType[1]' AND navigated_relationship_level_{$navLevel}.vdex_7_4_2_relationship_type_value='$relationshipType[0]') \n"; 637 638 } 638 639 $internalJoinCond=implode(" OR \n", $internaljoinCondArray); 639 640 $tmpSql .= " AND (\n$internalJoinCond) \n"; 640 $tmpSql .=" )\n";641 $ sql.=$tmpSql;641 $tmpSql .=" )\n"; 642 $joinCondArray[]=$tmpSql; 642 643 } 643 644 //navigableDestToSource 644 645 if(count($navigableRelationships['navigableDestToSource']>0)){ 645 646 $tmpSql = null; 646 $tmpSql .= " LEFT JOIN vocabulary_relationships AS navigated_relationship_level_{$navLevel}_destToSource ON( \n";647 $tmpSql .= " navigated_relationship_level_{$navLevel} _destToSource.target_term_vocabulary_identifier=$leftTable.vdex_4_vocabulary_identifier \n";648 $tmpSql .= " AND navigated_relationship_level_{$navLevel} _sourceToDest.source_term_identifier IS NULL\n";647 $tmpSql .= " ( \n"; 648 $tmpSql .= " navigated_relationship_level_{$navLevel}.target_term_vocabulary_identifier=$leftTable.vdex_4_vocabulary_identifier \n"; 649 $tmpSql .= " AND navigated_relationship_level_{$navLevel}.target_term_identifier=$leftTable.vdex_6_1_identifier \n"; 649 650 $internaljoinCondArray = array(); 650 651 foreach($navigableRelationships['navigableDestToSource'] as $relationshipType) { 651 $internaljoinCondArray[] = "(navigated_relationship_level_{$navLevel} _destToSource.vdex_7_4_1_relationship_type_source='$relationshipType[1]' AND navigated_relationship_level_{$navLevel}_destToSource.vdex_7_4_2_relationship_type_value='$relationshipType[0]') \n";652 $internaljoinCondArray[] = "(navigated_relationship_level_{$navLevel}.vdex_7_4_1_relationship_type_source='$relationshipType[1]' AND navigated_relationship_level_{$navLevel}.vdex_7_4_2_relationship_type_value='$relationshipType[0]') \n"; 652 653 } 653 654 $internalJoinCond=implode(" OR \n", $internaljoinCondArray); 654 655 $tmpSql .= " AND (\n$internalJoinCond) \n"; 655 $tmpSql .=")\n"; 656 $sql.=$tmpSql; 657 } 658 656 $tmpSql .=" )\n"; 657 $joinCondArray[]=$tmpSql; 658 } 659 $sql .= implode("\n OR \n", $joinCondArray); 660 $sql .= " )\n"; 659 661 $joinCondArray = array(); 660 $selectListArray[] = "navigated_relationship_level_{$navLevel}_destToSource.vdex_7_4_2_relationship_type_value as destToSourceRT"; 661 $selectListArray[] = "navigated_relationship_level_{$navLevel}_sourceToDest.vdex_7_4_2_relationship_type_value as sourceToDestRT"; 662 $selectListArray[] = "navigated_relationship_level_{$navLevel}_destToSource.source_term_identifier as l{$navLevel}_destToSourceSTid, navigated_relationship_level_{$navLevel}_sourceToDest.target_term_identifier as l{$navLevel}_sourceToDestDTid"; 662 $selectListArray[] = "navigated_relationship_level_{$navLevel}.vdex_7_4_2_relationship_type_value as RT"; 663 $selectListArray[] = "navigated_relationship_level_{$navLevel}.source_term_identifier as l{$navLevel}_STid, navigated_relationship_level_{$navLevel}.target_term_identifier as l{$navLevel}_TTid"; 664 $caseSql = " CASE \n"; 665 $caseSql .= " WHEN navigated_relationship_level_{$navLevel}.target_term_identifier!=$leftTable.vdex_6_1_identifier THEN navigated_relationship_level_{$navLevel}.target_term_identifier\n"; 666 $caseSql .= " WHEN navigated_relationship_level_{$navLevel}.source_term_identifier!=$leftTable.vdex_6_1_identifier THEN navigated_relationship_level_{$navLevel}.source_term_identifier \n"; 667 $caseSql .= " END as navigated_relationship_level_{$navLevel}_joined_term_identifier \n"; 668 $caseSql .= " , CASE \n"; 669 $caseSql .= " WHEN navigated_relationship_level_{$navLevel}.target_term_identifier!=$leftTable.vdex_6_1_identifier THEN navigated_relationship_level_{$navLevel}.target_term_vocabulary_identifier\n"; 670 $caseSql .= " WHEN navigated_relationship_level_{$navLevel}.source_term_identifier!=$leftTable.vdex_6_1_identifier THEN navigated_relationship_level_{$navLevel}.source_term_vocabulary_identifier \n"; 671 $caseSql .= " END as navigated_relationship_level_{$navLevel}_joined_term_vocabulary_identifier \n"; 672 $selectListArray[] = $caseSql; 663 673 /* 664 674 $selectListArray[] = "navigated_terms_level_{$navLevel}.vdex_4_vocabulary_identifier as l{$navLevel}_voc, navigated_terms_level_{$navLevel}.vdex_6_1_identifier as l{$navLevel}_term";
Note: See TracChangeset
for help on using the changeset viewer.
