Esempio n. 1
0
function fn_searchanise_send_search_request($params, $lang_code = CART_LANGUAGE)
{
    $company_id = fn_se_get_company_id();
    $api_key = fn_se_get_api_key($company_id, $lang_code);
    if (empty($api_key)) {
        return;
    }
    $default_params = array('items' => 'true', 'facets' => 'true', 'output' => 'json');
    $params = array_merge($default_params, $params);
    if (empty($params['restrictBy'])) {
        unset($params['restrictBy']);
    }
    if (empty($params['union'])) {
        unset($params['union']);
    }
    $query = http_build_query($params);
    if (fn_se_check_debug()) {
        fn_print_r($params);
    }
    Registry::set('log_cut', true);
    if (strlen($query) > SE_MAX_SEARCH_REQUEST_LENGTH && fn_check_curl()) {
        $received = Http::post(SE_SERVICE_URL . '/search?api_key=' . $api_key, $params, array('timeout' => SE_SEARCH_TIMEOUT));
    } else {
        $params['api_key'] = $api_key;
        $received = Http::get(SE_SERVICE_URL . '/search', $params, array('timeout' => SE_SEARCH_TIMEOUT));
    }
    if (empty($received)) {
        return false;
    }
    $result = json_decode(trim($received), true);
    if (fn_se_check_debug()) {
        fn_print_r($result);
    }
    if (isset($result['error'])) {
        if ($result['error'] == 'NEED_RESYNC_YOUR_CATALOG') {
            fn_se_queue_import($company_id, $lang_code, false);
            return false;
        } elseif ($result['error'] == 'NAVIGATION_DISABLED') {
            fn_se_set_simple_setting('use_navigation', 'N');
        }
    }
    if (empty($result) || !is_array($result) || !isset($result['totalItems'])) {
        return false;
    }
    return $result;
}
Esempio n. 2
0
/**
 * Get curl information
 *
 * @param string $object object name to generate message for is case of error
 * @return string message
 */
function fn_get_curl_info($object = '')
{
    $curl = fn_check_curl();
    $result = '';
    if ($curl == false) {
        $msg = fn_get_lang_var('error_curl_not_exists');
    } elseif ($curl['ssl_support'] == false) {
        $msg = fn_get_lang_var('error_curl_ssl_not_exists');
    }
    if (!empty($msg)) {
        $msg = str_replace('[method]', $object, $msg);
        $result = "<p>{$msg}</p><hr />";
    }
    return $result;
}