/**
 * Function to make the request to synonims dictionary server
 *
 * @return json response
 */
function sc_find_sinonim()
{
    $service_name = 'Diccionari de sinònims';
    if (!isset($_POST['_wpnonce']) || !wp_verify_nonce($_POST['_wpnonce'], $_POST["action"])) {
        $result = 'S\'ha produït un error en el servidor. Proveu més tard';
        throw_service_error($service_name, 'Error wp_nonce');
    } else {
        $paraula = sanitize_text_field($_POST["paraula"]);
        $url_sinonims_server = get_option('api_diccionari_sinonims');
        $url = $url_sinonims_server . urlencode($paraula);
        try {
            $sinonims_server = json_decode(do_json_api_call($url));
            if ($sinonims_server != null && $sinonims_server != 'error' && count($sinonims_server->synsets) > 0) {
                $sinonims['paraula'] = $paraula;
                $sinonims['response'] = $sinonims_server->synsets;
                $result = Timber::fetch('ajax/sinonims-list.twig', array('sinonims' => $sinonims));
            } else {
                if ($sinonims_server == 'error' || $sinonims_server == null) {
                    throw_service_error($service_name);
                    $result = 'S\'ha produït un error en el servidor. Proveu més tard';
                } else {
                    throw_error('404', 'No Results For This Search');
                    $result = 'La paraula que esteu cercant no es troba al diccionari.';
                }
            }
        } catch (Exception $e) {
            throw_service_error($service_name);
            $result = 'S\'ha produït un error en el servidor. Proveu més tard';
        }
    }
    $response = json_encode($result);
    die($response);
}
Example #2
0
            $sinonims['response'] = $sinonims_server->synsets;
            $content_title = 'Diccionari de sinònims: «' . $paraula . '»';
            $title = 'Diccionari de sinònims en català: «' . $paraula . '»';
            $prefix_description = 'Sinònims de «' . $paraula . '» en català.';
            $canonical = get_current_url();
            $context_holder['sinonims_result'] = Timber::fetch('ajax/sinonims-list.twig', array('sinonims' => $sinonims));
        } else {
            if ($sinonims_server == 'error') {
                throw_service_error($content_title);
            } else {
                throw_error('404', 'No Results For This Search');
                $context_holder['sinonims_result'] = 'La paraula que esteu cercant no es troba al diccionari.';
            }
        }
    } catch (Exception $e) {
        throw_service_error($content_title);
    }
}
$context_overrides = array('title' => $title, 'prefix_description' => $prefix_description, 'canonical' => $canonical);
$context_filterer = new SC_ContextFilterer($context_holder);
$context = $context_filterer->get_filtered_context($context_overrides, false);
$context['post'] = $post;
$context['paraula'] = $paraula;
$context['content_title'] = $content_title;
$context['links'] = $post->get_field('link');
$context['credits'] = $post->get_field('credit');
$context['sidebar_top'] = Timber::get_widgets('sidebar_top_recursos');
$context['sidebar_elements'] = array('static/ajudeu.twig', 'static/dubte_forum.twig', 'baixades.twig', 'links.twig');
$context['sidebar_bottom'] = Timber::get_widgets('sidebar_bottom_recursos');
//Contact Form
$context['contact']['to_email'] = get_option('email_recursos');