/**
 * konservas la sercxon en la serxo-tabelo.
 */
function konservuSercxon($nomo, $priskribo, $koditaSercxo, $id = '')
{
    if ($id) {
        sxangxu_datumbazon("sercxoj", array("nomo" => $nomo, "priskribo" => $priskribo, "sercxo" => $koditaSercxo, "entajpanto" => $_SESSION['kkren']['entajpanto']), array('ID' => $id));
    } else {
        aldonu_al_datumbazo("sercxoj", array("nomo" => $nomo, "priskribo" => $priskribo, "sercxo" => mysql_real_escape_string($koditaSercxo), "entajpanto" => $_SESSION['kkren']['entajpanto']));
    }
}
/**
 * konservas la serĉon en la serxo-tabelo.
 * La funkcias eldonas iun HTML-tekstan informon pri la rezulto.
 *
 * @param eostring $nomo la nomo, sub kiu ni savu la serĉon.
 * @param eostring $priskribo priskriba teksto pri la serĉo.
 * @param string   $koditaSercxo serĉo-detaloj en kodita formo
 * @param int      $id identigilo - se donita, ni ŝanĝos ekzistantan
 *                    serĉon, alikaze kreas novan.
 */
function konservuSercxon($nomo, $priskribo, $koditaSercxo, $id = '')
{
    if ($id) {
        sxangxu_datumbazon("sercxoj", array("nomo" => $nomo, "priskribo" => $priskribo, "sercxo" => $koditaSercxo, "entajpanto" => $_SESSION['kkren']['entajpanto']), array('ID' => $id));
        eoecho("<p>Serc^o #" . $id . "  s^ang^ita.</p>");
    } else {
        aldonu_al_datumbazo("sercxoj", array("nomo" => $nomo, "priskribo" => $priskribo, "sercxo" => mysql_real_escape_string($koditaSercxo), "entajpanto" => $_SESSION['kkren']['entajpanto']));
        $id = mysql_insert_id();
        eoecho("<p>Serc^o #" . $id . "  aldonita.</p>");
    }
}
/**
 * @param Partopreno partopreno pp-objekto.
 * @param array $mangxmendo $_POST['mangxmendo']
 * @todo: atentu, kiam iu malplilongigas sian partoprentempon.
 */
function traktu_mangxomendojn($partopreno, $mangxmendo)
{
    $mangxolisto = listu_eblajn_mangxojn($partopreno);
    foreach ($mangxolisto as $mangxoID) {
        $antauxe_mendis = cxuMangxas($partopreno->datoj['ID'], $mangxoID);
        $nun_mendas = jesne_al_boolean($mangxmendo[$mangxoID]);
        if ($antauxe_mendis and !$nun_mendas) {
            forigu_el_datumbazo('mangxmendoj', array('partoprenoID' => $partopreno->datoj['ID'], 'mangxtempoID' => $mangxoID));
        } else {
            if ($nun_mendas and !$antauxe_mendis) {
                aldonu_al_datumbazo('mangxmendoj', array('partoprenoID' => $partopreno->datoj['ID'], 'mangxtempoID' => $mangxoID));
            }
        }
    }
}
 /**
  * @param array $noto_por listo de la formo id => JES/NE.
  */
 function sxangxu_entajpantojn_por_noto($noto_por)
 {
     $jam_estas = $this->listu_entajpantojn_por_noto();
     foreach ($noto_por as $id => $estu) {
         $estas = in_array($id, $jam_estas);
         echo "<!-- id: " . $id . ", estu: " . $estu . ", estas: " . $jam_estas . "\n -->";
         if ($estu == 'JES' and !$estas) {
             // aldonu, la noto nun estas (ankaŭ) por li
             aldonu_al_datumbazo('notoj_por_entajpantoj', array('notoID' => $this->datoj['ID'], 'entajpantoID' => $id));
         } else {
             if ($estu == 'NE' and $estas) {
                 // forigu, la noto ne plu estas por li
                 forigu_el_datumbazo('notoj_por_entajpantoj', array('notoID' => $this->datoj['ID'], 'entajpantoID' => $id));
             } else {
                 // jam estas en ordo, nenio farenda.
             }
         }
     }
 }
            eoecho("<p>Kreis novan Malalig^kotizosistemon #" . $id . ".</p>\n");
        }
        $_REQUEST['id'] = $id;
        // case kreu/kopiu
        break;
    case 'sxangxuKond':
        foreach ($_REQUEST['kondicxtipo'] as $kat => $tipo) {
            $sql = datumbazdemando("kondicxtipo", "malaligxkondicxoj", array("sistemo = '" . $_REQUEST['ID'] . "'", "aligxkategorio = '" . $kat . "'"));
            $linio = mysql_fetch_assoc(sql_faru($sql));
            if ($linio) {
                if ($linio['kondicxtipo'] != $tipo) {
                    sxangxu_datumbazon("malaligxkondicxoj", array("kondicxtipo" => $tipo), array("sistemo" => $_REQUEST['ID'], "aligxkategorio" => $kat));
                    eoecho("<p>S^ang^is kondic^on por kategorio #" . $kat . " de #" . $linio['kondicxtipo'] . " al #" . $tipo . ".\n</p>");
                }
            } else {
                aldonu_al_datumbazo("malaligxkondicxoj", array("kondicxtipo" => $tipo, "sistemo" => $_REQUEST['ID'], "aligxkategorio" => $kat));
                eoecho("<p>Aldonis kondic^on #" . $tipo . " por kategorio #" . $kat . ".\n</p>");
            }
        }
        $_REQUEST['id'] = $_REQUEST['ID'];
        break;
    default:
        echo "<pre>";
        var_export($_POST);
        echo "</pre>";
}
if ($_REQUEST['id']) {
    $kondicxsistemo = new Malaligxkondicxsistemo($_REQUEST['id']);
    eoecho("<h1>Redaktado de malalig^kondic^sistemo " . $kondicxsistemo->datoj['nomo'] . "</h1>\n");
} else {
    eoecho("<h1>Nova malalig^kondic^sistemo</h1>");
            if (!$nokto[$banto]) {
                $lito = "manko";
            } else {
                $lito = $nokto[$banto];
                $de = $banto;
            }
            do {
                $banto++;
            } while ($nokto[$banto] == $lito and $banto <= $renkontigxodauxro);
            if ($lito != "manko") {
                //         $sql2 .= " '$lito','$de','".($banto-1)."')";
                //         sql_faru($sql2);
                $valoroj2["litonumero"] = $lito;
                $valoroj2["nokto_de"] = $de;
                $valoroj2["nokto_gxis"] = $banto - 1;
                aldonu_al_datumbazo("litonoktoj", $valoroj2);
            }
        }
    }
}
HtmlKapo();
if ($_SESSION["partoprenanto"]) {
    eoecho("Ni serc^as c^ambron por: <b>" . $_SESSION["partoprenanto"]->datoj[personanomo] . " " . $_SESSION["partoprenanto"]->datoj[nomo] . " [" . $_SESSION["partoprenanto"]->datoj[sekso] . "/" . $_SESSION["partopreno"]->datoj[cxambrotipo] . "/" . $_SESSION["partopreno"]->datoj['agxo'] . "] </b> de: " . $_SESSION["partopreno"]->datoj[de] . " g^is: " . $_SESSION["partopreno"]->datoj[gxis] . "<BR>\n");
    if ($_SESSION["partopreno"]->datoj[renkontigxoID] != $_SESSION["renkontigxo"]->datoj[ID]) {
        erareldono("malg^usta renkontig^o!");
        exit;
    }
}
// provizore nur tiel
if ($cxambronumero) {
    $cxambronombro = $cxambronumero;
}
$tipo = $_REQUEST['tipo'];
HtmlKapo();
switch ($_REQUEST['sendu']) {
    case '':
        // (neniu buton-premado, simpla
        //   voko de la pagxo)
        break;
    case 'sxangxu':
        sxangxu_datumbazon($tipo . "kategorisistemoj", array('nomo' => $_REQUEST['nomo'], 'priskribo' => $_REQUEST['priskribo']), array('ID' => $_REQUEST['ID']));
        $_REQUEST['id'] = $_REQUEST['ID'];
        eoecho("<p>S^ang^is la bazajn datojn de la " . donu_eokatsisnomon($tipo) . " #" . $_REQUEST['id'] . ".</p>\n");
        break;
    case 'kreu':
    case 'kopiu':
        aldonu_al_datumbazo($tipo . "kategorisistemoj", array('nomo' => $_REQUEST['nomo'], 'entajpanto' => $_REQUEST['entajpanto'], 'priskribo' => $_REQUEST['priskribo']));
        $id = mysql_insert_id();
        $sistemo = donu_katsistemon($id, $tipo);
        $_REQUEST['id'] = $id;
        if ($_REQUEST['sendu'] == 'kopiu') {
            $sistemo->kopiu_kategoriojn_el($_REQUEST['ID']);
            eoecho("<p>Kreis novan " . donu_eokatsisnomon($tipo) . " #" . $id . " kiel kopio de #" . $_REQUEST['ID'] . ".</p>\n");
        } else {
            eoecho("<p>Kreis novan " . donu_eokatsisnomon($tipo) . " #" . $id . ".</p>\n");
        }
        break;
    case 'katSxangxu':
        // -------------- Sxangxo de unuopaj kategorioj --------
        if (DEBUG) {
            echo "<!-- GET: ";
            var_export($_GET);
        $malnova_sistemo = new Kostosistemo($_REQUEST['id']);
        $nova_sistemo = new Kostosistemo();
        $nova_sistemo->kopiu();
        if ($nova_sistemo->datoj['nomo'] == $malnova_sistemo->datoj['nomo']) {
            erareldono("Ne povas esti du sistemoj kun sama nomo!");
        } else {
            $nova_sistemo->skribu_kreante();
            // TODO: kopiu kostotabelon, krompagojn kaj antauxpagojn, se eblas.
            // poste montru la novan sistemon
            $_REQUEST['id'] = $nova_sistemo->datoj['ID'];
        }
        break;
        // kopiu
    // kopiu
    case 'nova_fikskosto':
        aldonu_al_datumbazo("fikskostoj", array("nomo" => $_REQUEST['nomo'], "kosto" => $_REQUEST['kosto'], "kostosistemo" => $_REQUEST['id']));
        break;
        // nova_fikskosto
    // nova_fikskosto
    default:
        echo "<pre>";
        var_export($_REQUEST);
        echo "</pre>";
        // TODO
}
// TODO
eoecho("<h1>Redaktado de kostosistemo</h1>\n");
eoecho("<h2>Bazaj datumoj</h2>\n");
$sistemo = new Kostosistemo($_REQUEST['id']);
echo "<form action='kostosistemo.php' method='POST'>\n";
// TODO: priskribo + nomo
/**
 * Protokolas la uzanton en la protokolo-tabelo, kun
 * nomo, pasvorto, komputilo, retumilo, tempo.
 */
function protokolu()
{
    //  global $HTTP_USER_AGENT;
    $de = gethostbyaddr($_SERVER["REMOTE_ADDR"]);
    $tempo = date("Y-m-d H:i:s");
    //    $sql = "insert into protokolo (deveno, ilo, entajpanto,kodvorto,tempo) VALUES ('$de','$HTTP_USER_AGENT','" . $_SESSION["kodnomo"] . "','" . $_SESSION["kodvorto"] . "','$tempo')";
    //    sql_faru($sql);
    aldonu_al_datumbazo("protokolo", array("deveno" => $de, "ilo" => $_SERVER["HTTP_USER_AGENT"], "entajpanto" => $_SESSION["kodnomo"], "tempo" => $tempo));
}
        default:
            break;
    }
    $deziro = new Kunlogxdeziro($_REQUEST['kunlogxID']);
    montru_kunlogxdezirdetalojn($deziro);
    HtmlFino();
    return;
}
if ($_REQUEST['partoprenoID']) {
    $_SESSION['partopreno'] = new Partopreno($_REQUEST['partoprenoID']);
    $_SESSION['partoprenanto'] = new Partoprenanto($_SESSION['partopreno']->datoj['partoprenantoID']);
}
if ($_SESSION['partopreno']) {
    switch ($_REQUEST['ago']) {
        case 'kunigu':
            aldonu_al_datumbazo("kunlogxdeziroj", array("partoprenoID" => $_REQUEST['partoprenoID'], "kunKiuID" => $_REQUEST['kunkiuID'], "stato" => '?'));
            eoecho("<p>Aldonis la kunlog^deziron de #" . $_REQUEST['partoprenoID'] . " kun #" . $_REQUEST['kunkiuID'] . " al la datumbazo.");
            break;
        case 'sercxu':
            $ri = $_SESSION['partoprenanto']->personapronomo;
            $Ri = ucfirst($ri);
            eoecho("<h2>Kunlog^deziroj de " . $_SESSION['partoprenanto']->tuta_nomo() . " (#" . $_SESSION['partopreno']->datoj['ID'] . ")</h2>");
            eoecho("<p>{$Ri} volas log^i kun:</p>");
            $nemontru = montru_kunlogxdezirojn($_SESSION['partopreno']);
            eoecho("<p>La jenaj aliaj personoj volas log^i kun {$ri}:</p>");
            montru_kunlogxdezirojn_inversajn($_SESSION['partopreno']);
            if ($_SESSION['partopreno']->datoj['kunkiu']) {
                eoecho("<p>{$Ri} indikis en la alig^ilo, ke {$ri} volas log^i kun <em>" . $_SESSION['partopreno']->datoj['kunkiu'] . "</em>. Tio povus" . " esti unu el la sekvaj personoj:</p>");
                sercxu_eblajn_kunlogxantojn($_SESSION['partopreno'], $_SESSION['partoprenanto']->tuta_nomo(), $nemontru);
            } else {
                eoecho("<p>{$Ri} ne indikis en {$ri}a alig^ilo iujn kunlog^dezirojn.</p>");
/**
 * aldonas aux sxangxas minimumajn antauxpagojn laux la entajpitajxo.
 */
function novaj_antauxpagoj()
{
    if (DEBUG) {
        echo "<!-- REQUEST: ";
        var_export($_REQUEST);
        echo "-->";
    }
    foreach ($_REQUEST['antauxpago'] as $lando => $pagoj) {
        $sql = datumbazdemando(array('oficiala_antauxpago', 'interna_antauxpago'), 'minimumaj_antauxpagoj', array("kotizosistemo = '" . $_REQUEST['id'] . "'", "landokategorio = '" . $lando . "'"));
        if ($linio = mysql_fetch_assoc(sql_faru($sql))) {
            if (count(array_diff_assoc($pagoj, $linio)) > 0) {
                // iu sxangxo
                sxangxu_datumbazon("minimumaj_antauxpagoj", $pagoj, array("kotizosistemo" => $_REQUEST['id'], 'landokategorio' => $lando));
            } else {
                // neniu sxangxo (aux mankanta valoro?)
            }
        } else {
            // ankoraux ne ekzistas -> aldonu
            aldonu_al_datumbazo("minimumaj_antauxpagoj", array_merge($pagoj, array("kotizosistemo" => $_REQUEST['id'], 'landokategorio' => $lando)));
        }
    }
}
Example #12
0
 /**
  * aldonas la tutan objekton al la datumbazo,
  * inkluzive de identifikilo kaj cxiuj datoj.
  *
  * Tiu funkciu estu uzata por cxiu objekto po maksimume unufoje,
  * kaj nur, kiam oni ne antauxe uzis kreu() aux la konstruilon kun ID.
  */
 function skribu_kreante()
 {
     aldonu_al_datumbazo($this->tabelnomo, $this->datoj);
     $this->prenu_el_datumbazo();
 }
 /**
  * kopiado de landokategorio (la listo de la landoj por tiu kategorio)
  */
 function finu_kopiadon_el($antauxa_katID, $antauxa_sistemoID)
 {
     // ankaux estus pli bona per insert ... select.
     $sql = datumbazdemando('landoID', 'kategorioj_de_landoj', array("sistemoID = '" . $antauxa_sistemoID . "'", "kategorioID = '" . $antauxa_katID . "'"));
     $rez = sql_faru($sql);
     while ($linio = mysql_fetch_assoc($rez)) {
         aldonu_al_datumbazo('kategorioj_de_landoj', array('kategorioID' => $this->datoj['ID'], 'sistemoID' => $this->datoj['sistemoID'], 'landoID' => $linio['landoID']));
     }
 }
Example #14
0
/**
 * Protokolas la uzanton en la protokolo-tabelo, kun
 * nomo, komputilo, retumilo, tempo.
 *
 * @param string $ago se donita, ni ankaŭ protokolas, kion la uzanto
 *                    nun faris. Ekzemploj estas "aliĝo", "elsaluto",
 *                    "ensaluto malsukcesa", "ensaluto sukcesa".
 */
function protokolu($ago = "")
{
    $de = gethostbyaddr($_SERVER["REMOTE_ADDR"]);
    $tempo = date("Y-m-d H:i:s");
    $entajpanto = $_SESSION['kodnomo'] or $entajpanto = "(aligxilo)";
    aldonu_al_datumbazo("protokolo", array("deveno" => $de, "ilo" => $_SERVER["HTTP_USER_AGENT"], "entajpanto" => $entajpanto, "tempo" => $tempo, 'ago' => $ago));
}
Example #15
0
        HtmlFino();
        return;
    }
}
if ($sendu) {
    //   echo "<pre>";
    //   var_export($_POST);
    //   echo "</pre>";
    $sxangxlisto = array();
    foreach (array("nomo", "kodo") as $tipo) {
        if ($_POST[$tipo]) {
            $sxangxlisto[$tipo] = $_POST[$tipo];
        }
    }
    if ($_POST['ID'] == 'nova') {
        aldonu_al_datumbazo("landoj", $sxangxlisto);
        $num = mysql_insert_id();
        eoecho("<p>Mi aldonis landon #" . $num . " al la tabelo.</p>");
        $redaktu = $num;
    } else {
        sxangxu_datumbazon("landoj", $sxangxlisto, array("ID" => $_POST['ID']));
        eoecho("<p>Mi s^ang^is landon #" . $_POST['ID'] . " en la tabelo.</p>");
    }
}
if ($_REQUEST['redaktu']) {
    eoecho("<h1>Redakto de lando</h1>");
    echo "<form method='POST' action='landoj.php'>\n";
    if ($_REQUEST['redaktu'] == 'nova') {
        $linio = array("ID" => 'nova');
        eoecho("<p> Ni aldonas novan landon</p>\n");
    } else {
    $sql = datumbazdemando(array('id', 'teksto'), "tekstoj", "mesagxoID = '" . $mesagxoID . "'", "renkontigxoID");
    $rez = sql_faru($sql);
    if (mysql_num_rows($rez) > 0) {
        // se jes, ni eldonas erarmesagxon kaj ebligas novan provon.
        $linio = mysql_fetch_assoc($rez);
        erareldono("Jam ekzistas mesag^o kun tia identifikilo en la aktuala renkontig^o:");
        echo "<pre>" . $linio['teksto'] . "</pre>";
        eoecho("<p>Bonvolu elekti alian identifikilon (au^ ");
        ligu("nova_teksto.php?id=" . $linio['id'], "redaktu la originalan tekston");
        eoecho(".)");
        //	  require('nova_teksto.php');
        HtmlFino();
        exit;
    } else {
        // Alikaze ni aldonas la novan tekston al la datumbazo.
        aldonu_al_datumbazo('tekstoj', array('renkontigxoID' => $_SESSION['renkontigxo']->datoj['ID'], 'mesagxoID' => $mesagxoID, 'teksto' => $teksto));
        $sql = datumbazdemando('id', 'tekstoj', "mesagxoID = '{$mesagxoID}'", "renkontigxoID");
        $rez = mysql_fetch_assoc(sql_faru($sql));
        $_REQUEST['id'] = $rez['id'];
        eoecho("<p>Aldonis la sekvan tekston #" . $rez['id'] . " kun identifikilo '{$mesagxoID}' al la renkontig^o '" . $_SESSION['renkontigxo']->datoj['mallongigo'] . "' (#" . $_SESSION['renkontigxo']->datoj['ID'] . "):</p>");
        echo "<pre>" . $teksto . "</pre>";
    }
} else {
    if ($_POST['sendu'] == 'sxangxu') {
        eoecho("<h2>S^ang^o de Teksto</h2>");
        // unue ni rigardas, cxu teksto kun sama identifikilo
        //  jam estas en la datumbazo (li estu!)
        $sql = datumbazdemando(array('mesagxoID', 'teksto', 'renkontigxoID'), "tekstoj", array("id = '" . $id . "'"));
        $rez = sql_faru($sql);
        if (mysql_num_rows($rez) != 1) {
            // tro multe aux tro malmulte
        }
    }
    foreach ($rajtolisto as $rajto => $alias) {
        if ($_POST[$rajto]) {
            $sxangxlisto[$rajto] = $_POST[$rajto][0];
        }
    }
    if ($_POST['pasvortsxangxo'] == 'jes') {
        if ($_POST['kodvorto']) {
            $sxangxlisto['kodvorto'] = $_POST['kodvorto'];
        } else {
            erareldono("Vi petis pri s^ang^o de pasvorto, sed ne donis novan!");
        }
    }
    if ($_POST['ID'] == 'nova') {
        aldonu_al_datumbazo("entajpantoj", $sxangxlisto);
        $num = mysql_insert_id();
        eoecho("<p>Mi aldonis linion #" . $num . " al la tabelo.</p>");
        if ($redaktu == 'nova') {
            $redaktu = $num;
        }
    } else {
        sxangxu_datumbazon("entajpantoj", $sxangxlisto, array("ID" => $_POST['ID']));
        eoecho("<p>Mi s^ang^is linion #" . $_POST['ID'] . " en la tabelo.</p>");
    }
}
if ($redaktu) {
    eoecho("<h1>Redakto de entajpanto</h1>");
    echo "<form method='POST' action='entajpantoj.php'>\n";
    if ($redaktu == 'nova') {
        $linio = array("ID" => 'nova');