Plugin Directory

Changeset 917713


Ignore:
Timestamp:
05/20/2014 06:59:03 AM (12 years ago)
Author:
naveenann
Message:

Working on indexing taxonomies related to a post.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • opensearchserver-search/trunk/opensearchserver_admin.php

    r904190 r917713  
    8080  opensearchserver_setField($schema,$schema_xml,'user_url',NULL,'no','yes','yes','no','no');
    8181  opensearchserver_setField($schema,$schema_xml,'allContent','TextAnalyzer','no','yes','no','yes','no');
    82   opensearchserver_setField($schema,$schema_xml,'categories','TextAnalyzer','yes','yes','no','yes','no');
    83   opensearchserver_setField($schema,$schema_xml,'categoriesExact',NULL,'yes','yes','no','yes','no');
    8482  opensearchserver_setField($schema,$schema_xml,'tags','TextAnalyzer','yes','yes','no','yes','no');
    8583  opensearchserver_setField($schema,$schema_xml,'tagsExact',NULL,'yes','yes','no','yes','no');
     
    8987  opensearchserver_setField($schema,$schema_xml,'year',NULL,'no','yes','no','no','no');
    9088  opensearchserver_setField($schema,$schema_xml,'year_month',NULL,'no','yes','no','no','no');
     89  //Add taxonomies schema
     90  $taxonomies=get_taxonomies('','names');
     91    foreach ($taxonomies as $taxonomy ) {
     92      $check_taxonomy_name = 'oss_taxonomy_'.$taxonomy;
     93       if(get_option($check_taxonomy_name)==1) {
     94          opensearchserver_setField($schema,$schema_xml,'taxonomy_'.$taxonomy,NULL,'no','yes','no','yes','no');
     95       }
     96    }
    9197  if (isset($custom_fields) && $custom_fields != null) {
    9298    $custom_fields_array = explode(',', $custom_fields);
     
    132138  $query_template->setReturnField('search','user_name');
    133139  $query_template->setReturnField('search','user_email');
    134   $query_template->setReturnField('search','categories');
    135140  $query_template->setReturnField('search','tags');
    136141  $query_template->setReturnField('search','timestamp');
     
    336341    $document->newField('language', $post_language_information['locale']);
    337342  }
     343  $taxonomies=get_taxonomies('','names');
     344    foreach ($taxonomies as $taxonomy ) {
     345      $check_taxonomy_name = 'oss_taxonomy_'.$taxonomy;
     346       if(get_option($check_taxonomy_name)==1) {
     347          $terms = get_the_terms( $post->ID, $taxonomy);
     348          if ( $terms && ! is_wp_error( $terms ) ) {
     349                $taxonomy_data = array();
     350                foreach ( $terms as $term ) {
     351                  $taxonomy_data[] = $term->name;
     352                }
     353          }
     354           $document->newField('taxonomy_'.$taxonomy, $taxonomy_data);
     355       }
     356    }
    338357 
    339   $categories_data= '';
    340 
    341   // Handling categories
    342   $categories_data = NULL;
    343   $categories = get_the_category($post->ID);
    344   if ($categories != NULL) {
    345     $categories_data = array();
    346     foreach( $categories as $category ) {
    347       $categories_data[] = $category->cat_name;
    348     }
    349     $document->newField('categories', $categories_data);
    350     $document->newField('categoriesExact', $categories_data);
    351     $categories = NULL;
    352   }
    353358 
    354359  //Handling tags
     
    390395  // Build all content field
    391396  $all_content = opensearchserver_stripInvalidXml(strip_tags($post->post_title)). ' '.$content;
    392   if ($categories_data) {
    393     $all_content = strip_tags($all_content.' '.$categories_data);
    394   }
     397 
    395398  if ($custom_clean_all) {
    396399    $all_content .= ' ' .$custom_clean_all;
    397400    $custom_clean_all = null;
    398401  }
    399   $document->newField("allContent", strip_tags($all_content.' '.$categories_data));
     402  $document->newField("allContent", strip_tags($all_content));
    400403}
    401404
     
    426429        'timestamp' => 'TimeStamp',
    427430        'tags' => 'Tags',
    428         'categories' => 'Categories',
    429431        'year' => 'Year',
    430432        'year_month' => 'Month'
     
    574576    }
    575577    if(empty($facets)) {
    576         $facets = array();
     578        $facets = '';
    577579    }
    578580    update_option('oss_facet', $facets);
     
    606608    $oss_clean_query_enable = isset($_POST['oss_clean_query_enable']) ? $_POST['oss_clean_query_enable'] : NULL;
    607609    update_option('oss_clean_query_enable', $oss_clean_query_enable);
    608     $oss_log_enable = isset($_POST['oss_log_enable']) ? $_POST['oss_log_enable'] : NULL;
    609     update_option('oss_log_enable', $oss_log_enable);
    610     $oss_log_ip = isset($_POST['oss_log_ip']) ? $_POST['oss_log_ip'] : NULL;
    611     update_option('oss_log_ip', $oss_log_ip);
    612610   
    613611    //some options needs to post changes to OSS
     
    635633      $post_form_type = (int)$_POST['oss_index_types_'.$post_type];
    636634      update_option('oss_index_types_'.$post_type, $post_form_type);
     635    }
     636    $taxonomies=get_taxonomies('','names');
     637    foreach ($taxonomies as $taxonomy ) {
     638      $check_taxonomy_name = (int)$_POST['oss_taxonomy_'.$taxonomy];
     639      update_option('oss_taxonomy_'.$taxonomy, $check_taxonomy_name);
    637640    }
    638641    opensearchserver_display_messages('OpenSearchServer Index Settings have been updated.');
     
    932935                            </fieldset>
    933936                           
    934                            
     937                            <fieldset><legend>Other options</legend>
     938                            <p>
     939                                <label for="oss_language">Default language</label>: <select
     940                                    name="oss_language"><?php
     941                                    $opt = get_option('oss_language');
     942                                    foreach ($languages as $key => $field) {
     943                                      $selected = '';
     944                                      if($opt == $key) {
     945                                        $selected = 'selected="selected"';
     946                                      }
     947                                      ?>
     948                                    <option value="<?php print $key;?>" <?php print $selected;?>>
     949                                        <?php print $field;?>
     950                                    </option>
     951                                    <?php }?>
     952                                </select>
     953                            </p>
     954                            <p>
     955                                <input
     956                                    type="checkbox" name="oss_phonetic" value="1"
     957                                    <?php checked( 1 == get_option('oss_phonetic')); ?> />
     958                                     <label for="oss_phonetic">Enable phonetic</label>
     959                            </p>
     960                            <p>
     961                                Display:&nbsp;
     962                                    <input type="checkbox" name="oss_display_date" id="oss_display_date" value="1" <?php checked( 1 == get_option('oss_display_date')); ?> />&nbsp;
     963                                    <label for="oss_display_date">date</label>
     964                                    <input type="checkbox" name="oss_display_type" id="oss_display_type" value="1" <?php checked( 1 == get_option('oss_display_type')); ?> />&nbsp;
     965                                    <label for="oss_display_type">type</label>
     966                                   <input type="checkbox" name="oss_display_user" id="oss_display_user" value="1" <?php checked( 1 == get_option('oss_display_user')); ?> />
     967                                    <label for="oss_display_user">user</label>&nbsp;&nbsp;
     968                                    <input type="checkbox" name="oss_display_category"  id="oss_display_category" value="1" <?php checked( 1 == get_option('oss_display_category')); ?> />&nbsp;
     969                                    <label for="oss_display_category">category</label>&nbsp;&nbsp;
     970                                     <br/><span class="help">Choose what kind of information should be displayed below each result.</span>
     971                            </p>
     972                            <p>
     973                                <input type="checkbox" name="oss_sort_timestamp" id="oss_sort_timestamp" value="1" <?php checked( 1 == get_option('oss_sort_timestamp')); ?> />&nbsp;
     974                                <label for="oss_sort_timestamp">Display link to sort results by date</label>
     975                            </p>
     976                            </fieldset>
    935977                            <fieldset><legend>Clean query</legend>
    936978                                <p>
     
    948990                                </p>
    949991                            </fieldset>
    950                            
    951                            
    952                             <fieldset><legend>Logs</legend>
    953                                 <p>
    954                                     <input type="checkbox" id="oss_log_enable"
    955                                         value="1" name="oss_log_enable"
    956                                         <?php checked( 1 == get_option('oss_log_enable')); ?> />
    957                                     <label for="oss_log_enable">Enable logging of queries in OpenSearchServer</label>
    958                                     <br/><span class="help">Reports can be viewed in OpenSearchServer in tab "Report".</span>
    959                                 </p>
    960                                
    961                                 <div id="oss_logs_custom" style="<?php if(get_option('oss_log_enable') != 1) { echo 'display:none'; }?>">
    962                                     <p><strong>Custom logs:</strong></p>
    963                                     <p>
    964                                         <input type="checkbox" id="oss_log_ip"
    965                                             value="1" name="oss_log_ip"
    966                                             <?php checked( 1 == get_option('oss_log_ip')); ?>  />
    967                                         <label for="oss_log_ip">Log IP (<code>$_SERVER['REMOTE_ADDR']</code>)</label>
    968                                     </p>
    969                                 </div>
    970                             </fieldset>
    971                            
    972                             <fieldset><legend>Other options</legend>
    973                             <p>
    974                                 <label for="oss_language">Default language</label>: <select
    975                                     name="oss_language"><?php
    976                                     $opt = get_option('oss_language');
    977                                     foreach ($languages as $key => $field) {
    978                                       $selected = '';
    979                                       if($opt == $key) {
    980                                         $selected = 'selected="selected"';
    981                                       }
    982                                       ?>
    983                                     <option value="<?php print $key;?>" <?php print $selected;?>>
    984                                         <?php print $field;?>
    985                                     </option>
    986                                     <?php }?>
    987                                 </select>
    988                             </p>
    989                             <p>
    990                                 <input
    991                                     type="checkbox" name="oss_phonetic" value="1"
    992                                     <?php checked( 1 == get_option('oss_phonetic')); ?> />
    993                                      <label for="oss_phonetic">Enable phonetic</label>
    994                             </p>
    995                             <p>
    996                                 Display:&nbsp;
    997                                     <input type="checkbox" name="oss_display_date" id="oss_display_date" value="1" <?php checked( 1 == get_option('oss_display_date')); ?> />&nbsp;
    998                                     <label for="oss_display_date">date</label>
    999                                     <input type="checkbox" name="oss_display_type" id="oss_display_type" value="1" <?php checked( 1 == get_option('oss_display_type')); ?> />&nbsp;
    1000                                     <label for="oss_display_type">type</label>
    1001                                    <input type="checkbox" name="oss_display_user" id="oss_display_user" value="1" <?php checked( 1 == get_option('oss_display_user')); ?> />
    1002                                     <label for="oss_display_user">user</label>&nbsp;&nbsp;
    1003                                     <input type="checkbox" name="oss_display_category"  id="oss_display_category" value="1" <?php checked( 1 == get_option('oss_display_category')); ?> />&nbsp;
    1004                                     <label for="oss_display_category">category</label>&nbsp;&nbsp;
    1005                                      <br/><span class="help">Choose what kind of information should be displayed below each result.</span>
    1006                             </p>
    1007                             <p>
    1008                                 <input type="checkbox" name="oss_sort_timestamp" id="oss_sort_timestamp" value="1" <?php checked( 1 == get_option('oss_sort_timestamp')); ?> />&nbsp;
    1009                                 <label for="oss_sort_timestamp">Display link to sort results by date</label>
    1010                             </p>
    1011                             </fieldset>
    1012                            
    1013992                            <p>
    1014993                                <input type="hidden" name="oss_submit" value="query_settings" />
     
    10401019                            action="">
    10411020                            <p>
    1042                                 <label for="oss_index_types">Choose type of content to index:</label><br />
    1043                                 <?php
    1044                                 foreach (get_post_types() as $post_type) {
    1045                                   $checkTypeName = 'oss_index_types_'.$post_type;
    1046                                   ?>
    1047                                 <input type="checkbox" name="<?php print $checkTypeName;?>"
    1048                                     value="1" <?php checked( 1 == get_option($checkTypeName)); ?> id="<?php print $checkTypeName;?>"/>&nbsp;<label
    1049                                     for="<?php print $checkTypeName;?>"><?php print $post_type;?> </label><br />
    1050                                 <?php } ?>
     1021                                <fieldset>
     1022                  <legend>Content-Type to index</legend>
     1023                                <?php
     1024                                foreach (get_post_types() as $post_type) {
     1025                    $checkTypeName = 'oss_index_types_'.$post_type;
     1026                  ?>
     1027                                <input type="checkbox" name="<?php print $checkTypeName;?>"
     1028                                    value="1" <?php checked( 1 == get_option($checkTypeName)); ?> id="<?php print $checkTypeName;?>"/>&nbsp;<label
     1029                                    for="<?php print $checkTypeName;?>"><?php print $post_type;?> </label><br />
     1030                                <?php } ?>
     1031                </fieldset>
     1032                <fieldset>
     1033                  <legend>Taxonomies to index</legend>
     1034                  <?php
     1035                    $taxonomies=get_taxonomies('','names');
     1036                    foreach ($taxonomies as $taxonomy ) {
     1037                      $check_taxonomy_name = 'oss_taxonomy_'.$taxonomy;
     1038                      ?>
     1039                      <input type="checkbox" name="<?php print $check_taxonomy_name;?>"
     1040                    value="1" <?php checked( 1 == get_option($check_taxonomy_name)); ?> id="<?php print $check_taxonomy_name;?>"/>&nbsp;<label
     1041                    for="<?php print $taxonomy;?>"><?php print $taxonomy;?> </label><br />
     1042                  <?php
     1043                    }
     1044                  ?>
     1045                </fieldset>
    10511046                            </p>
    10521047                           
     
    11831178    </div>
    11841179</div>
    1185 
    1186 <script type="text/javascript">
    1187     jQuery('#oss_log_enable').click(function(e) { jQuery('#oss_logs_custom').toggle();});
    1188 </script>
    11891180<?php
    11901181opensearchserver_add_toogle();
     
    12011192    jQuery('.postbox h3').click( function() { jQuery(jQuery(this).parent().get(0)).toggleClass('closed'); } );
    12021193    jQuery('.postbox.close-me').each(function(){
    1203        jQuery(this).addClass("closed");
     1194    jQuery(this).addClass("closed");
    12041195    });
    12051196    //-->
Note: See TracChangeset for help on using the changeset viewer.