}
            } else {
                throw_error('404', 'No Results For This Search');
                $context_holder['cerca_result'] = 'Sembla que la paraula que esteu cercant no es troba al diccionari. Heu seleccionat la llengua correcta?';
            }
            $context_holder['cerca_result'] = $result;
        } else {
            throw_error('500', 'Error connecting to API server');
            $context_holder['cerca_result'] = 'S\'ha produït un error en contactar amb el servidor. Proveu de nou.';
        }
    }
} else {
    if (!empty($lletra)) {
        if (strlen($lletra) == '1') {
            $url = $url_api . 'index/' . $lletra;
            $api_response = json_decode(do_json_api_call($url));
            if ($api_response) {
                $response['lletra'] = $lletra;
                $response['result'] = $api_response;
                $title = 'Diccionari multilingüe: paraules que comencen per ' . $lletra;
                $content_title = 'Diccionari multilingüe. Lletra «' . $lletra . '»';
                $canonical = '/diccionari-multilingue/lletra/' . $lletra . '/';
                $context_holder['cerca_result'] = Timber::fetch('ajax/multilingue-lletra.twig', array('response' => $response));
            } else {
                throw_error('500', 'Error connecting to API server');
                $context_holder['cerca_result'] = 'S\'ha produït un error en contactar amb el servidor. Proveu de nou.';
            }
        } else {
            throw_error('404', 'No Results For This Search');
            $context_holder['cerca_result'] = 'Esteu utilitzant la cerca per lletra. Heu cercat <strong>' . $context['lletra'] . '</strong>. La cerca només pot contenir una lletra';
        }
Пример #2
0
/**
 * 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);
}
Пример #3
0
function multilingue_stats()
{
    $url_api = get_option('api_diccionari_multilingue');
    $api_call = do_json_api_call($url_api . '/statistics');
    $statistics = json_decode($api_call);
    $stats = '';
    if ($statistics) {
        $ca_labels = add_multilingue_stats($statistics, 'ca_labels');
        $ca_descs = add_multilingue_stats($statistics, 'ca_descs');
        $en_labels = add_multilingue_stats($statistics, 'en_labels');
        $en_descs = add_multilingue_stats($statistics, 'en_descs');
        $fr_labels = add_multilingue_stats($statistics, 'fr_labels');
        $fr_descs = add_multilingue_stats($statistics, 'fr_descs');
        $de_labels = add_multilingue_stats($statistics, 'de_labels');
        $de_descs = add_multilingue_stats($statistics, 'de_descs');
        $es_labels = add_multilingue_stats($statistics, 'es_labels');
        $es_descs = add_multilingue_stats($statistics, 'es_descs');
        $it_labels = add_multilingue_stats($statistics, 'it_labels');
        $it_descs = add_multilingue_stats($statistics, 'it_descs');
        ob_start();
        ?>
		<i><small>
			L'índex va ser actualitzat per últim cop el <?php 
        echo $statistics->wikidata->date;
        ?>
 i conté: <?php 
        echo $ca_labels;
        ?>
				paraules i <?php 
        echo $ca_descs;
        ?>
 definicions en català, <?php 
        echo $en_labels;
        ?>
 paraules i <?php 
        echo $en_descs;
        ?>
				definicions en anglès, <?php 
        echo $fr_labels;
        ?>
 paraules i <?php 
        echo $fr_descs;
        ?>
 definicions en francès,
				<?php 
        echo $it_labels;
        ?>
 paraules i <?php 
        echo $it_descs;
        ?>
 definicions en italià, <?php 
        echo $de_labels;
        ?>
 paraules i
				<?php 
        echo $de_descs;
        ?>
 definicions en alemany, <?php 
        echo $es_labels;
        ?>
 paraules i <?php 
        echo $es_descs;
        ?>
  definicions
				en espanyol, i <?php 
        echo $statistics->wikidata->images;
        ?>
 imatges.
		</small></i>
		<?php 
        $stats = ob_get_clean();
    }
    return $stats;
}
Пример #4
0
 * @package wp-softcatala
 */
/* JS scripts */
wp_enqueue_script('sc-js-contacte', get_template_directory_uri() . '/static/js/contact_form.js', array('sc-js-main'), WP_SOFTCATALA_VERSION, true);
wp_enqueue_script('sc-js-sinonims', get_template_directory_uri() . '/static/js/sinonims.js', array(), WP_SOFTCATALA_VERSION, true);
wp_localize_script('sc-js-sinonims', 'scajax', array('ajax_url' => admin_url('admin-ajax.php')));
$url_sinonims_server = get_option('api_diccionari_sinonims');
$post = new TimberPost();
//Ads
$context_holder['ads_container'] = generate_ads_html(array('13', '17'));
$paraula = sanitize_text_field(urldecode(get_query_var('paraula')));
$content_title = 'Diccionari de sinònims';
if (!empty($paraula)) {
    $url = $url_sinonims_server . urlencode($paraula);
    try {
        $sinonims_server = json_decode(do_json_api_call($url));
        if ($sinonims_server != 'error' && count($sinonims_server->synsets) > 0) {
            $sinonims['paraula'] = $paraula;
            $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.';
            }