/**
  * Front-end display of widget.
  *
  * @see WP_Widget::widget()
  *
  * @param array $args Widget arguments.
  * @param array $instance Saved values from database.
  */
 public function widget($args, $instance)
 {
     if (WPSOLR_Global::getOption()->get_search_is_replace_default_wp_search() && WPSOLR_Global::getOption()->get_search_is_use_current_theme_search_template() && WPSOLR_Query_Parameters::is_wp_search()) {
         echo $args['before_widget'];
         $results = WPSOLR_Global::getSolrClient()->display_results(WPSOLR_Global::getQuery());
         echo '<div id="res_facets">' . WPSOLR_UI_Facets::Build(WPSOLR_Data_Facets::get_data(WPSOLR_Global::getQuery()->get_filter_query_fields_group_by_name(), WPSOLR_Global::getOption()->get_facets_to_display(), $results[1]), OptionLocalization::get_options()) . '</div>';
         echo $args['after_widget'];
     }
 }
function return_solr_results()
{
    $final_result = WPSOLR_Global::getSolrClient()->display_results(WPSOLR_Global::getQuery());
    // Add result rows as html
    $res1[] = $final_result[3];
    // Add pagination html
    $total = $final_result[2];
    $number_of_res = WPSOLR_Global::getOption()->get_search_max_nb_results_by_page();
    $paginat_var = '';
    if ($total > $number_of_res) {
        $pages = ceil($total / $number_of_res);
        $paginat_var .= '<ul id="pagination-flickr"class="wdm_ul">';
        for ($k = 1; $k <= $pages; $k++) {
            $paginat_var .= "<li ><a class='paginate' href='javascript:void(0)' id='{$k}'>{$k}</a></li>";
        }
        $paginat_var .= '</ul>';
    }
    $res1[] = $paginat_var;
    // Add results infos html ('showing x to y results out of n')
    $res1[] = $final_result[4];
    // Add facets data
    $res1[] = WPSOLR_UI_Facets::Build(WPSOLR_Data_Facets::get_data(WPSOLR_Global::getQuery()->get_filter_query_fields_group_by_name(), WPSOLR_Global::getOption()->get_facets_to_display(), $final_result[1]), OptionLocalization::get_options());
    // Output Json response to Ajax call
    echo json_encode($res1);
    die;
}
 /**
  * Replace a field value by it's localization.
  *
  * @param $field_name
  * @param $field_value
  *
  * @return mixed
  */
 public static function get_field_value_localization($field_name, $field_value, $language)
 {
     $value = $field_value;
     if (WpSolrSchema::_FIELD_NAME_TYPE === $field_name && null === self::$fields_items_labels[$field_name]) {
         // Init the items labels once, only for field WpSolrSchema::_FIELD_NAME_TYPE
         self::$fields_items_labels = WPSOLR_Global::getOption()->get_facets_items_labels();
     }
     if (WpSolrSchema::_FIELD_NAME_TYPE === $field_name && !empty(self::$fields_items_labels[$field_name])) {
         if (!empty(self::$fields_items_labels[$field_name][$field_value])) {
             $value = apply_filters(WpSolrFilters::WPSOLR_FILTER_TRANSLATION_STRING, $field_value, array('domain' => WPSOLR_Option::TRANSLATION_DOMAIN_FACET_LABEL, 'name' => $field_value, 'text' => $field_value, 'language' => $language));
         }
         if ($value === $field_value) {
             // No translation for this value, try to get the localization instead.
             $value = !empty(self::$fields_items_labels[$field_name][$field_value]) ? self::$fields_items_labels[$field_name][$field_value] : $field_value;
         }
     }
     return $value;
 }