Changeset 80d4466


Ignore:
Timestamp:
08/26/10 15:26:14 (21 months ago)
Author:
Benoit Grégoire <benoitg@…>
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
Message:

Snapshot

File:
1 edited

Legend:

Unmodified
Added
Removed
  • html/classes/SearchEngine.php

    rce9b376 r80d4466  
    623623 
    624624        $navigableRelationships = configGetNavigableRelationshipsIdArray(); 
    625  
     625        $sql .= " LEFT JOIN vocabulary_relationships AS navigated_relationship_level_{$navLevel} ON ( \n"; 
     626        $joinCondArray=array(); 
    626627        //navigableSourceToDest 
    627628        if(count($navigableRelationships['navigableSourceToDest']>0)){ 
    628629            $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"; 
    634635            $internaljoinCondArray = array(); 
    635636            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"; 
    637638            } 
    638639            $internalJoinCond=implode(" OR \n", $internaljoinCondArray); 
    639640            $tmpSql .= " AND (\n$internalJoinCond) \n"; 
    640             $tmpSql .=")\n"; 
    641             $sql.=$tmpSql; 
     641            $tmpSql .=" )\n"; 
     642            $joinCondArray[]=$tmpSql; 
    642643        } 
    643644        //navigableDestToSource 
    644645        if(count($navigableRelationships['navigableDestToSource']>0)){ 
    645646            $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"; 
    649650            $internaljoinCondArray = array(); 
    650651            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"; 
    652653            } 
    653654            $internalJoinCond=implode(" OR \n", $internaljoinCondArray); 
    654655            $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"; 
    659661        $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; 
    663673        /* 
    664674         $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.