Nor Gara? Nire kontua Kontuan sartu Erregistratu

Zer da Sermo?

Sermo, online hiztegi ireki bat da euskaraz eta gazteleraz. Edozeinek lagundu dezake hitzak gehituz. 

Webgune hau, kaixomundua.eus-en lehiaketan parte hartu duen proiektu bat da. Kaixomundua, PuntuEUS fundazioak sustatutako proiektu bat da. Honen helburua, gazteen artean konpetentzai digitalak garatzea da, gazteak kontsumitzaile-digitalak izatetik pasa eta sortzaile-digitalak bilakatuz.

Nola dabil?

Erabilitako programazio hizkuntzak: HTML, CSS, Javascript, PHP, MYSQL.

Formularioa betetzean, bertako datuak datu-base batera bidaltzen ditu eta “post” berri bat sortzen du, bertan shortcode batekin. Shortcoden egongo liteke hitz bakoitza joango den zatia. Edozein momentutan kodearen zati bat aldatu nahiko bagenu, shortcodeak erraztasun handia ematen du.

Ondoren, “post” batean sartzerakoan, tituluaren arabera datu-basetik hartzen ditu datuak eta orrian jartzen ditu.

Hitz-sarrera sistema:

<link href=’https://fonts.googleapis.com/css?family=Ubuntu&display=swap’ rel=’stylesheet’>
<link href=’https://fonts.googleapis.com/css?family=Oswald&display=swap’ rel=’stylesheet’>
<title>Sartu hitza</title>

<style>
    body {
        padding:50px 40px;    
    }
    h1, h2 {
        font-family:’Oswald’;
    }
    a, p {
       font-family: ‘Ubuntu’, sans-serif;
       font-size:16px;
       color:black;
    }
    .volver {
        position:relative;
        top:20px;
    }
</style>

<?php
    include_once ‘bd_conexion.php’;
    include_once ‘show_errors.php’;
    include_once ‘/home/sermo/www/wp-load.php’;
    include_once ‘show_errors.php’;

    // Declaracion de las variables
    $titulo = wp_strip_all_tags($_POST[‘titulo’]);
    #
    $definicion = wp_strip_all_tags($_POST[‘definicion’]);
    #
    $sin1 = wp_strip_all_tags($_POST[‘sin1’]);
    $sin2 = wp_strip_all_tags($_POST[‘sin2’]);
    $sin3 = wp_strip_all_tags($_POST[‘sin3’]);
    $sin4 = wp_strip_all_tags($_POST[‘sin4’]);
    $sin5 = wp_strip_all_tags($_POST[‘sin5’]);
    $sin6 = wp_strip_all_tags($_POST[‘sin6’]);

    // Declaracion de la consulta

    $insert = ‘INSERT INTO bd_entradas_eus (titulo, definicion, sin1, sin2, sin3, sin4, sin5, sin6) VALUES (‘$titulo’, ‘$definicion’, ‘$sin1’, ‘$sin2’, ‘$sin3’, ‘$sin4’, ‘$sin5’, ‘$sin6’); ‘;

    // Ejeccion de las consult

    $result = mysqli_query($connect, $insert);
    mysqli_query($connect, $insert);

    if (empty($titulo)) {
        mysqli_close($connect);
        echo ‘<p>Titulua sartu behar duzu</p>’;
        echo ‘<a href=’https://sermo.eus/sartu-hitza’>Saiatu berriro</a>’;
        exit();
    }

   if (!$result) {
        $display_result_h1 = ‘Errore bat egon da hitza sartzerakoan. Mesedez saiatu berriro.’;
        $display_result_h2 = ‘<br />’ . ‘Izan liteke iada hitza sartua egotea.’;
        $txt_ver_entrada = ”;
        $txt_insertar_otra = ‘Saiatu berriro’;

    } else {
        $display_result_h1 = ‘Eskerrik asko zure ekarpenarengatik’;
        $txt_ver_entrada = ‘Ikusi sartutako hitza’;
        $txt_insertar_otra = ‘Beste hitz bat sartu’;

        include_once ‘insertar_entrada.php’; /*POST-AREN SORKETA*/
    }

    // Cerrar conexion
    mysqli_close($connect);
?>

<h1><?php echo $display_result_h1 ?></h1>
<h2><?php echo $display_result_h2 ?></h2>

<br> <a class=’ver_palabra_insertada’ href=’http://sermo.eus/blog/<?php echo $titulo ?>’><?php echo $txt_ver_entrada ?></a>
<br> <a class=’volver’ href=’http://sermo.eus/sartu-hitza’><?php echo $txt_insertar_otra ?></a>

 

“Post”-a sortzeko sistema (aurreko kodean ‘insertar_entrada.php’ bezala azaltzen da ):

<?php

    $content =  “
        [snippet_sc]
“;
    if (empty($sin1)) {
        $sinsVar = ‘Ez dago sinonimorik’;
    } else if (empty($sin2)) {
        $sinsVar = $sin1;
    } else if (empty($sin3)) {
        $sinsVar = $sin1 . ‘, ‘ . $sin2;
    } else if (empty($sin4)) {
        $sinsVar = $sin1 . ‘, ‘ . $sin2 . ‘, ‘ . $sin3;
    } else if (empty($sin5)) {
        $sinsVar = $sin1 . ‘, ‘ . $sin2 . ‘, ‘ . $sin3 . ‘, ‘ . $sin4;
    } else if (empty($sin6)) {
        $sinsVar = $sin1 . ‘, ‘ . $sin2 . ‘, ‘ . $sin3 . ‘, ‘ . $sin4 . ‘, ‘ . $sin5;
    } else if (!empty($sin6)) {
        $sinsVar = $sin1 . ‘, ‘ . $sin2 . ‘, ‘ . $sin3 . ‘, ‘ . $sin4 . ‘, ‘ . $sin5 . ‘, ‘ . $sin6;
    } else {
        $sinsVar = ‘Errore bat gertatu da sinonimoak ezartzerakoan’;
    }

    if (empty($definicion)) {
        $definicion = ‘Ez dago definiziorik’;
    }

    $excerptVar = $definicion . ‘ | ‘ . $sinsVar;

    wp_nonce_field(‘gehituHitza’, true);

    $user_id = get_current_user_id();     

$entrada_berria = array(
    ‘post_title’ => wp_strip_all_tags($titulo),
    ‘post_content’ => $content,
    ‘post_type’ => ‘post’,
    ‘post_status’ => ‘publish’,
    ‘sins_input’ => $sinsVar,
    ‘post_excerpt’ => $excerptVar,
    ‘post_author’ => $user_id,
    ‘guid’ => ”,

);  
if (!empty($titulo)) {
    $nuevo_post = wp_insert_post($entrada_berria, true);
}

?>

“Post”-aren sistema datu-basetik hitzak jasotzeko:


<?php

      ////////////CONEXION//////////

      $db_hostname = “localhost”;
    $db_username = “bd_sermo”;
    $db_password = “**********”;
    $db_name = “bd_sermo”;

    $connect = mysqli_connect($db_hostname, $db_username, $db_password, $db_name);

      /////////LLAMADA A LA BASE DE DATOS/////////

    $title=get_the_title();

    $sql = “SELECT * from bd_entradas_eus WHERE titulo=’$title’;” ;
    $result = mysqli_query($connect, $sql);
    $check_result = mysqli_num_rows($result);

    if ($check_result > 0) {
       while ($rows = mysqli_fetch_array($result)) {
        $titulo = $rows[‘titulo’];
        #
        $definicion = $rows[‘definicion’];
        #
        $etimologia = $rows[‘etimologia’];
        #
        $sin1 = $rows[‘sin1’];
        $sin2 = $rows[‘sin2’];
        $sin3 = $rows[‘sin3’];
        $sin4 = $rows[‘sin4’];
        $sin5 = $rows[‘sin5’];
        $sin6 = $rows[‘sin6’];        

         if (empty($definicion)) {
           echo “<script>setTimeout(function(){
                document.getElementById(‘definicion_b’).innerHTML = ‘<i>Ez dago definiziorik</i>’;
          }, 40); </script>”;
         } else {
           echo “<script>setTimeout(function(){
                document.getElementById(‘definicion_b’).textContent = ‘$definicion’;
          }, 40); </script>”;
         }
        if (!empty($sin1)) {
            echo “<script>setTimeout(function(){
                document.getElementById(‘sino1’).innerHTML = ‘$sin1’;
          }, 0); </script>”;
        }
        if (!empty($sin2)) {
            echo “<script>setTimeout(function(){
                document.getElementById(‘sino2’).innerHTML = ‘$sin2’;
          }, 40); </script>”;
        }
        if (!empty($sin3)) {
            echo “<script>setTimeout(function(){
                document.getElementById(‘sino3’).innerHTML = ‘$sin3’;
          }, 40); </script>”;
        }
        if (!empty($sin4)) {
            echo “<script>setTimeout(function(){
                document.getElementById(‘sino4’).innerHTML = ‘$sin4’;
          }, 40); </script>”;
        }
        if (!empty($sin5)) {
            echo “<script>setTimeout(function(){
                document.getElementById(‘sino5’).innerHTML = ‘$sin5’;
          }, 40); </script>”;
        }
        if (!empty($sin6)) {
            echo “<script>setTimeout(function(){
                document.getElementById(‘sino6’).innerHTML = ‘$sin6’;
          }, 40); </script>”;
        }
        if (empty($sin1) && empty($sin2) && empty($sin3) && empty($sin4) && empty($sin5) && empty($sin6)) {
         echo “<script>setTimeout(function(){
          if ( document.getElementById(‘sino1’)) {
              document.getElementById(‘sino1’).innerHTML = ‘<i>Ez dago sinonimorik</i>’;
          }
          }, 40);</script>”;
        }

    }} else {

    echo “<script>
    if (document.getElementById(‘error’)) {
        document.getElementById(‘error’).style.display = ‘block’;
    }
    </script>”;

     if (empty($definicion)) {
        $definicion = ‘No ez dago definiziorik’;
     }

    if (empty($sin1) && empty($sin2) && empty($sin3) && empty($sin4) && empty($sin5) && empty($sin6)) {
         echo “<script>setTimeout(function(){
          if ( document.getElementById(‘sino1’)) {
              document.getElementById(‘sino1’).innerHTML = ‘<i>Ez dago sinonimorik</i>’;
          }
          }, 40);</script>”;
        }
    }
    mysqli_close($connect);

“Sartu hitza”-ko formularioan, sinonimoak ordenean mantentzea derrigortzen duen “script”-a :


function vacio(par) {
    if (par == “”) {
        return true;
    } else if (par != “”) {
        return false;
    } else {
        return “Error”;
    }
}
const sin_p = document.getElementById(‘sin_p’);
function requerido(elemento, accion) {
    atributo_req = elemento.getAttribute(‘required’);
    if (accion == ‘poner’ && atributo_req == null)
    {
        elemento.setAttribute(‘required’, ‘true’);
        console.log(‘requerido AÑADIDO ‘ + atributo_req);
        if (sin_p.classList.contains(‘hide’) == true) {
            sin_p.classList.remove(‘hide’);
        }
    }
    else if (accion == ‘quitar’ && atributo_req == “true”)
    {    
        elemento.removeAttribute(‘required’);
        console.log(‘requerido ELIMINADO’);
        if (sin_p.classList.contains(‘hide’) == false) {
            sin_p.classList.add(‘hide’);
        }
    }
}
var sinonimoak = document.getElementById(“sinonimoak”);var sin1 = document.getElementById(‘sin1’).value;var sin2 = document.getElementById(‘sin2’).value;    var sin3 = document.getElementById(‘sin3’).value;    var sin4 = document.getElementById(‘sin4’).value;    var sin5 = document.getElementById(‘sin5’).value;    var sin6 = document.getElementById(‘sin6’).value;
const sin_1 = document.getElementById(‘sin1’) ;const sin_2 = document.getElementById(‘sin2’) ;    const sin_3 = document.getElementById(‘sin3’) ;    const sin_4 = document.getElementById(‘sin4’) ;    const sin_5 = document.getElementById(‘sin5’) ;    const sin_6 = document.getElementById(‘sin6’) ;
    
sinonimoak.addEventListener(‘change’, () =>
{

 var sinonimoak = document.getElementById(“sinonimoak”);var sin1 = document.getElementById(‘sin1’).value;
var sin2 = document.getElementById(‘sin2’).value;    var sin3 = document.getElementById(‘sin3’).value;  
var sin4 = document.getElementById(‘sin4’).value;    var sin5 = document.getElementById(‘sin5’).value;
var sin6 = document.getElementById(‘sin6’).value;
    
    requerido(sin_1, ‘quitar’);
    requerido(sin_2, ‘quitar’);
    requerido(sin_3, ‘quitar’);
    requerido(sin_4, ‘quitar’);
    requerido(sin_5, ‘quitar’);
    requerido(sin_6, ‘quitar’);
    var i = 1;
    while (vacio(eval(‘sin’ + i)))
    {
        el = document.getElementById(‘sin’ + i);
        requerido(el, ‘poner’);
        i++;
        if (i == 7)
        {
            break;
        }
        console.log(i);
    }
    
    if (sin1 == “” && sin2 == “” && sin3 == “” && sin4 == “” && sin5 == “” && sin6 == “”)
    {
        requerido(sin_1, ‘quitar’);
        requerido(sin_2, ‘quitar’);
        requerido(sin_3, ‘quitar’);
        requerido(sin_4, ‘quitar’);
        requerido(sin_5, ‘quitar’);
        requerido(sin_6, ‘quitar’);
    }
    


});