/**
 * Kontrolas iun rajton de la aktuala uzanto.
 *
 * Faras demandon al la datumbazo tiucele.
 * @param $ago nomo de kolumno en la rajto-tabelo.
 * @return boolean true, se la uzanto havas tiun rajton,
 *                 false alikaze (ankaŭ se la uzanto ne
 *                  ekzistas aŭ pasvorto malĝustas).
 * @global string _SESSION["kodvorto"]  la pasvorto de la
 *                 uzanto, uzata por kontroli.
 * @global string _SESSION["kodnomo"] la uzantonomo por
 *                 kontroli la rajton.
 */
function rajtas($ago)
{
    $sql = datumbazdemando(array($ago, "kodvorto"), "entajpantoj", "nomo = '" . $_SESSION["kodnomo"] . "'", "", array("order" => "id"));
    $row = mysql_fetch_assoc(sql_faru($sql));
    return $row and $row['kodvorto'] == $_SESSION['kodvorto'] and 'J' == $row[$ago];
}
/**
 * Kreas SQL-ordonon el la $valoroj-listo.
 *
 * @param array $valoroj la senditaĵo de la formularo de
 *    {@link gxenerala_sercxo.php}.
 * @return array  array($kampoj, $informoj, $sql), kie
 *      - $kampoj estas array() de kampoj montrenda en la rezulto,
 *          en la formo    tabelo.kamponomo => alias,
 *           en la formo uzebla de datumbazdemando().
 *          - $informoj estas array() de la formo<code>
 *               alias => array('kampo' => tabelo.kamponomo,
 *                             'titolo' => titolo)
 *             </code>
 *      - $sql estas la kreita SQL-esprimo (sen ordigo).
 * @uses kreuKondicxojn()
 * @uses kreuKampoliston()
 * @uses certiguCxiujnKonektojn()
 * @uses kreuKonektKondicxojn()
 * @uses datumbazdemando()
 */
function kreuSercxSQL($valoroj)
{
    if (DEBUG) {
        echo "<!-- valoroj: " . var_export($valoroj, true) . "-->";
    }
    /*
     * TODO: metu tiun liston aliloken, ekzemple la instalilo povus ĝin krei.
     */
    $cxiujtabeloj = array("renkontigxo", "cxambroj", "litonoktoj", "partoprenoj", "partoprenantoj", "invitpetoj", "individuaj_rabatoj", "individuaj_krompagoj", "pagoj", "notoj", "landoj");
    $uzatajtabeloj = array();
    foreach ($cxiujtabeloj as $tabelnomo) {
        if ($valoroj['sercxo_tabelo_' . $tabelnomo . '_uzu'] == 'JES') {
            $uzatajtabeloj[] = $tabelnomo;
        }
    }
    $kondicxoj = kreuKondicxojn($uzatajtabeloj, $valoroj);
    list($kampoj, $inversa) = kreuKampoliston($uzatajtabeloj, $valoroj);
    if (empty($kampoj)) {
        return array("", "", "");
    }
    certiguCxiujnKonektojn($uzatajtabeloj);
    $kondicxoj = array_merge($kondicxoj, kreuKonektKondicxojn($uzatajtabeloj));
    if (DEBUG) {
        echo "<!--";
        echo "\n kampoj: ";
        var_export($kampoj);
        echo "\n kondiĉoj: ";
        var_export($kondicxoj);
        echo "\n uzatajtabeloj: ";
        var_export($uzatajtabeloj);
        echo "-->";
    }
    return array($kampoj, $inversa, datumbazdemando($kampoj, $uzatajtabeloj, $kondicxoj));
}
/**
 * serĉas partoprenon por partoprenanto, kaj metas ĝin
 * en la sesion.
 * @param int $ppantoID Partoprenanto-identigilo.
 * @param int $ppenoID Partopreno-identigilo. Se ne 0,
 *           ni simple vokas {@link sesio_aktualigu_ppenon()}.
 *           Alikaze ni serĉas taŭgan partoprenon por $ppantoID,
 *           kaj metas tiun en la sesion.
 * @uses sesio_aktualigu_ppenon()
 * @return int se ni sukcesis, 1, alikaze la nombron de diversaj
 *             kandidatoj.
 */
function sesio_trovu_ppenon($ppantoID, $ppenoID = 0)
{
    debug_echo("<!-- trovu_ppenon(" . $ppantoID . ", " . $ppenoID . ") -->");
    if ($ppenoID) {
        sesio_aktualigu_ppenon($ppenoID);
        return 1;
    } else {
        if ($_SESSION['partopreno'] and $_SESSION['partopreno']->datoj['partoprenantoID'] == $ppantoID) {
            // ni havas jam unu partoprenon, kaj ĝi estas
            //  por la ĝusta partoprenanto.
            sesio_aktualigu_ppenon($_SESSION['partopreno']->datoj['ID']);
            return 1;
        }
        // malfacila kazo
        $sql = datumbazdemando("ID", "partoprenoj", array("partoprenantoID = '" . $ppantoID . "'"), array("renkontigxo" => "renkontigxoID"));
        $rez = sql_faru($sql);
        $num_pp = mysql_num_rows($rez);
        if ($num_pp == 1) {
            // precize unu partopreno por la aktuala
            // renkontiĝo - prenu tiun.
            $linio = mysql_fetch_assoc($rez);
            sesio_aktualigu_ppenon($linio['ID']);
        } else {
            // ne estas ununura taŭga partopreno por tiu ĉi
            // partoprenanto.
            unset($_SESSION['partopreno']);
        }
        // eble la vokanto volas scii, kiom da aliĝoj estis.
        return $num_pp;
    }
}
/**
 * kreas liston de la aligxintoj en array-formo.
 *
 * @param int $renkontigxoID
 * @param string $ordigo
 * @param lingvokodo $lingvo
 *
 * @return array du-dimensia array de la formo: <code>
 *   array( array('sxildnomo' => ...,
 *                'personanomo' => ...,
 *                'fam' => ...,
 *                'urbo' => ...,
 *                'landoid' => (ID de la lando),
 *                'sxildlando' => (eble alia lando indikita de la aligxinto),
 *                'partoprenoID' => (identigilo de la partopreno),
 *                'ordigoID' => (numero por uzo eble anstataux
 *                               la partoprenoID),
 *                'lando' => (la lando-objekto),
 *                'landonomo' => (nomo de la lando post traduko),
 *                'ordigo' => (aux ordigoID aux partoprenoID),
 *               ),
 *          array(...),
 *          ...)
 *   </code>
 * Gxi jam estas ordigita laux la petata maniero.
 */
function &kreu_aligxintoliston($renkontigxoID, $ordigo, $lingvo)
{
    $sql = datumbazdemando(array("p.sxildnomo", "p.personanomo", "p.nomo" => "fam", "p.urbo" => 'urbo', "p.lando" => "landoid", "p.sxildlando" => 'sxildlando', "pn.ID" => 'partoprenoID', "pn.ordigoID"), array("partoprenantoj" => "p", "partoprenoj" => "pn"), array("p.ID = pn.partoprenantoID", "alvenstato = 'v'", "pn.listo = 'J'", "pn.renkontigxoID" => $renkontigxoID), "", array("order" => "pn.ID"));
    $rez = sql_faru($sql);
    $landolisto = array();
    $listo = array();
    while ($linio = mysql_fetch_assoc($rez)) {
        if ($linio['ordigoID'] != 0.0) {
            $linio['ordigo'] = (double) $linio['ordigoID'];
        } else {
            $linio['ordigo'] = (double) $linio['partoprenoID'];
        }
        if (!isset($landolisto[$linio['landoid']])) {
            $landolisto[$linio['landoid']] =& new Lando($linio['landoid']);
        }
        $linio['lando'] =& $landolisto[$linio['landoid']];
        $linio['landonomo'] = $linio['lando']->tradukita('nomo', $lingvo);
        $listo[] = $linio;
    }
    $komparilo = donu_komparilon($ordigo);
    metu_ordigolokalajxon($lingvo);
    if (!usort($listo, $komparilo)) {
        darf_nicht_sein("ordigado ne funkciis");
    }
    debug_echo("<!--" . var_export($listo, true) . "-->\n");
    $nombro_entute = eltrovu_gxenerale("COUNT(*)", "partoprenoj", array("renkontigxoID" => $renkontigxoID, "alvenstato" => 'v'));
    $nombro_landoj = eltrovu_gxenerale("COUNT(DISTINCT p.lando)", array("partoprenoj" => "pn", "partoprenantoj" => "p"), array("renkontigxoID" => $renkontigxoID, "alvenstato" => 'v', "pn.partoprenantoID = p.ID"));
    return array($listo, $nombro_entute, $nombro_landoj);
}
function montru_konfiguran_liston()
{
    eoecho("\n<h2>Renkontig^o-konfiguroj</h2>\n<p>Jen maniero konfiguri detalojn de via renkontig^o.</p>\n<ul>\n");
    //       TODO: ligo al helpoteksto
    foreach ($GLOBALS['konfiguraj_tipoj'] as $tipo => $titolo) {
        echo "  <li>";
        ligu("#" . $tipo, $titolo[0]);
        echo "</li>\n";
    }
    echo "</ul>\n";
    foreach ($GLOBALS['konfiguraj_tipoj'] as $tipo => $titolo) {
        eoecho("<h3 id='" . $tipo . "'>" . $titolo[0] . "</h3>");
        eoecho("<table>\n   <tr>\n      <th>ID</th><th>grupo</th><th>interna</th>\n      <th>teksto</th><th>rimarko</th>\n   </tr>\n");
        $sql = datumbazdemando(array('ID', 'grupo', 'interna', 'teksto', 'aldona_komento'), 'renkontigxaj_konfiguroj', array('tipo' => $tipo), 'renkontigxoID', array('order' => 'grupo ASC, interna ASC'));
        $rez = sql_faru($sql);
        while ($linio = mysql_fetch_assoc($rez)) {
            echo "<tr><td>";
            ligu("renkontigxaj_konfiguroj.php?id=" . $linio['ID'], $linio['ID']);
            eoecho("</td><td>" . $linio['grupo'] . "</td><td>" . $linio['interna'] . "</td><td>" . $linio['teksto'] . "</td><td>" . $linio['aldona_komento'] . "</td></tr>\n");
        }
        echo "</table>\n";
        echo "<p>";
        ligu("renkontigxaj_konfiguroj.php?id=nova&tipo=" . $tipo, "kreu novan " . $titolo[1] . "n");
        echo "</p>";
    }
    // foreach tipo/titolo
}
Esempio n. 6
0
/**
 * kontrolas, cxu la nuna uzanto (identifikata per la
 * globalaj variabloj $kodnomo kaj $kodvorto) havas la
 * rajton $ago.
 * redonas TRUE aux FALSE.
 */
function rajtas($ago)
{
    $sql = datumbazdemando($ago, "entajpantoj", array("nomo = '" . $_SESSION["kodnomo"] . "'", "kodvorto = '" . $_SESSION["kodvorto"] . "'"), "", array("order" => "id"));
    $result = sql_faru($sql);
    if ($row = mysql_fetch_array($result, MYSQL_BOTH) and $row[$ago] == "J") {
        return true;
    } else {
        return false;
    }
}
function aligilo_aligxinto_listo($renkontigxoID, $lingvo, $ordigo)
{
    $prafix = $GLOBALS['prafix'] = get_option("aligilo-prafix");
    require_once $GLOBALS['prafix'] . "/iloj/iloj.php";
    malfermu_datumaro();
    $sql_listo = datumbazdemando(array("COUNT(pn.ID)" => "nombro"), array("partoprenantoj" => "p", "partoprenoj" => "pn"), array("p.ID = pn.partoprenantoID", "pn.alvenstato = 'v'", "pn.listo = 'J'", "pn.renkontigxoID ='{$renkontigxoID}'"));
    $rez_listo = sql_faru($sql_listo);
    $linio = mysql_fetch_assoc($rez_listo);
    $nombro_listo = $linio['nombro'];
    $sql_listo = datumbazdemando(array("COUNT(pn.ID)" => "nombro"), array("partoprenantoj" => "p", "partoprenoj" => "pn"), array("p.ID = pn.partoprenantoID", "pn.alvenstato = 'v'", "pn.renkontigxoID ='{$renkontigxoID}'"));
    $rez_listo = sql_faru($sql_listo);
    $linio = mysql_fetch_assoc($rez_listo);
    $nombro_chiuj = $linio['nombro'];
    $sql_landoj = datumbazdemando(array("COUNT(distinct p.lando)" => "nombro"), array("partoprenantoj" => "p", "partoprenoj" => "pn"), array("p.ID = pn.partoprenantoID", "pn.alvenstato = 'v'", "pn.renkontigxoID ='{$renkontigxoID}'"));
    echo "<!-- {$sql_landoj} -->";
    $rez_listo = sql_faru($sql_landoj);
    $linio = mysql_fetch_assoc($rez_listo);
    $nombro_landoj = $linio['nombro'];
    $sql = datumbazdemando(array("IF(p.sxildnomo<> '', p.sxildnomo, p.personanomo)" => 'persona', "p.nomo" => 'fam', "p.urbo" => 'urbo', "p.sxildlando" => 'sxildo', "l.nomo" => 'lando_eo', "l.lokanomo" => 'lando_de'), array("partoprenantoj" => "p", "partoprenoj" => "pn", "landoj" => "l"), array("p.ID = pn.partoprenantoID", "alvenstato <> 'm'", "p.lando = l.ID", "pn.listo = 'J'", "pn.renkontigxoID ='{$renkontigxoID}'"), "", array("order" => "p.personanomo ASC, p.nomo ASC"));
    $tabelo = "<tbody>";
    $rez = sql_faru($sql);
    while ($linio = mysql_fetch_array($rez)) {
        $tabelo .= "<tr>\n";
        $tabelo .= "  <td  style='text-align: right; padding-right:0.3em;'>";
        $tabelo .= uni($linio['persona']);
        $tabelo .= "</td>\n<td>";
        /*         if ($linio['fam']{1} == '^')
                     {
                         $fam = substr($linio['fam'], 0,2);
                     }
                 else
                     {
                         $fam = mb_substr($linio['fam'], 0, 1, "utf-8");
                     }
                 */
        $fam = $linio['fam'];
        $tabelo .= uni($fam);
        $tabelo .= "</td>\n  <td>";
        if ($linio['sxildo']) {
            $tabelo .= uni($linio['sxildo']);
        } else {
            if ($lingvo == 'de') {
                $tabelo .= uni($linio['lando_de']);
            } else {
                $tabelo .= uni($linio['lando_eo']);
            }
        }
        $tabelo .= "</td>\n  <td>";
        $tabelo .= uni($linio['urbo']);
        $tabelo .= "</td>\n</tr>\n";
    }
    $tabelo .= "</tbody>\n";
    return compact("tabelo", "nombro_landoj", "nombro_listo", "nombro_chiuj");
}
/**
 * Listas la renkontiĝo-konfigurojn de donita tipo por iu renkontiĝo.
 * @param asciistring $tipo unu el "pagotipo", "valuto", "rabatotipo",
 *        "kromtipo" kaj "logxtipo".
 * @param Renkontigxo|int $renkontigxo (aux ID de tiu)
 * @return array ({@link Renkontigxa_konfiguro})
 */
function listu_konfigurojn($tipo, $renkontigxo = "")
{
    $renkontigxo = kreuRenkontigxon($renkontigxo);
    $sql = datumbazdemando(array("ID", "grupo", "interna"), "renkontigxaj_konfiguroj", array('tipo' => $tipo, 'renkontigxoID' => $renkontigxo->datoj['ID']), "", array('order' => "grupo ASC, interna ASC"));
    $rez = sql_faru($sql);
    $listo = array();
    while ($linio = mysql_fetch_assoc($rez)) {
        $konf = new Renkontigxa_konfiguro($linio["ID"]);
        $listo[] = $konf;
    }
    return $listo;
}
function aligilo_aligxintoj_nombro()
{
    $prafix = get_option("aligilo-prafix");
    $GLOBALS['prafix'] = $prafix;
    $renkID = get_option("aligilo-renkontigxo");
    require_once $prafix . "/iloj/iloj.php";
    malfermu_datumaro();
    $sql = datumbazdemando(array("COUNT(*)" => "num"), array("partoprenoj" => "p"), array("p.alvenstato = 'v'", "p.renkontigxoID = '{$renkID}'"));
    $rez = sql_faru($sql);
    $linio = mysql_fetch_assoc($rez);
    return $linio['num'];
}
 /**
  * trovas kaj redonas la kondicxo-objekton por tiu cxi
  *  malaligxkondicxosistemo kaj la menciita aligxkategori-objekto.
  */
 function donu_kondicxon($aligxkategorio)
 {
     if (is_object($aligxkategorio)) {
         $aligxkategorio = $aligxkategorio->datoj['ID'];
     }
     $sql = datumbazdemando("kondicxtipo", "malaligxkondicxoj", array("sistemo = '" . $this->datoj['ID'] . "'", "aligxkategorio = '" . $aligxkategorio . "'"));
     $linio = mysql_fetch_assoc(sql_faru($sql));
     if (!$linio) {
         return null;
     }
     return new Malaligxkondicxotipo($linio['kondicxtipo']);
 }
Esempio n. 11
0
function listu_kurzojn_por($valuto)
{
    $sql = datumbazdemando(array('dato', 'kurzo', 'ID'), 'kurzoj', array('valuto' => $valuto), "", array('order' => 'dato ASC'));
    $rez = sql_faru($sql);
    echo "<table class='kurzolisto'>\n";
    while ($linio = mysql_fetch_assoc($rez)) {
        echo "  <tr><td>";
        ligu("kurzoj.php?id=" . $linio['ID'], "red.");
        echo "</td><td>" . $linio['dato'] . "</td><td>" . $linio['kurzo'] . "</td></tr>\n";
    }
    echo "</table>\n";
}
Esempio n. 12
0
 /**
  * initializas malplenan objekton el la strukturo de la datumbazo.
  *
  * @param resource $rezulto rezulto de (eble malplena)
  *       datumbazdemando pri tiu tabelo. Se mankas, ni mem demandas.
  * @access private
  */
 function prenu_strukturon($rezulto = null)
 {
     if (!is_resource($rezulto)) {
         /* prenu nur la strukturon el la datumbazo */
         $sql = datumbazdemando("*", $this->tabelnomo, "", "", array("limit" => "0,0"));
         $rezulto = sql_faru($sql);
     }
     for ($i = 0; $i < mysql_num_fields($rezulto); $i++) {
         $this->datoj[mysql_field_name($rezulto, $i)] = "";
     }
     mysql_free_result($rezulto);
 }
Esempio n. 13
0
 /**
  * Konstruilo.
  *
  * Se $id == 0, kreas novan (malplenan) objekton
  * (la strukturon gxi prenas el la datumbazo),
  * alikaze prenas la jam ekzistan objekton (kun
  * tiu identifikilo) el la datumbazo.
  *
  *  $id - la identifikilo (aux 0).
  *  $tn - la (abstrakta) nomo de la tabelo.
  */
 function Objekto($id, $tn)
 {
     $this->tabelnomo = $tn;
     if ($id == 0) {
         /* prenu nur la strukturon el la datumbazo */
         $sql = datumbazdemando("*", $tn, "", "", array("limit" => "1,1"));
         $rezulto = sql_faru($sql);
         for ($i = 0; $i < mysql_num_fields($rezulto); $i++) {
             $this->datoj[mysql_field_name($rezulto, $i)] = "";
         }
     } else {
         /* prenu tutan tabel-linion el la datumbazo */
         $this->prenu_el_datumbazo($id);
     }
 }
Esempio n. 14
0
/**
 * eltrovas la lastan kurzon de valuto ĝis iu dato.
 *
 * @param asciistring $valuto
 * @param datostring $dato (se forlasita, la nuna dato)
 * @return array (kurzo, dato)
 */
function eltrovu_kurzon($valuto, $dato = "")
{
    if ($valuto == CXEFA_VALUTO) {
        return array(1.0, null);
    }
    if (!$dato) {
        $dato = date("y-m-d");
    }
    $sql = datumbazdemando(array('kurzo', 'dato'), 'kurzoj', array('valuto' => $valuto, "dato <= '{$dato}'"), "", array('order' => 'dato DESC', 'limit' => '0,1'));
    $linio = mysql_fetch_assoc(sql_faru($sql));
    if ($linio) {
        return array($linio['kurzo'], $linio['dato']);
    } else {
        return null;
    }
}
/**
 * Donas tekston el la datumbazo.
 *
 * $identifikilo  - la mesagxidentifikilo (litercxeno).
 *                  pri la signifoj rigardu pli supre en
 *                  la dokumentado de la dosiero.
 *
 * $renkontigxo   - objekto de la klaso Renkontigxo (-> objektoj).
 *                  Ni sercxas la tekston por tiu renkontigxo.
 *
 *                  Vi povas ankaux forlasi gxin aux uzi "",
 *                  tiam la metodo uzas la sesio-variablo
 *                  $renkontigxo (se ekzistas) aux la globala
 *                  variablo $renkontigxo
 *
 * Se la teksto ne ekzistas, la metodo anstatauxe 
 * redonas erarmesagxon ("la teksto ... ne trovigxis.")
 */
function donu_tekston($identifikilo, $renkontigxo = "")
{
    if ($renkontigxo == "") {
        if ($_SESSION["renkontigxo"]) {
            $renkontigxo = $_SESSION["renkontigxo"];
        } else {
            $renkontigxo = $GLOBALS["renkontigxo"];
        }
    }
    $sql = datumbazdemando("teksto", "tekstoj", array("mesagxoID = '{$identifikilo}'", "renkontigxoID = '" . $renkontigxo->datoj["ID"] . "'"));
    $rez = mysql_fetch_array(sql_faru($sql));
    if (empty($rez)) {
        return "[Text '{$identifikilo}' fehlt leider für Treffen " . $renkontigxo->datoj["mallongigo"] . ". Bitte bei " . teknika_administranto . " beschweren!]";
    } else {
        return $rez["teksto"];
    }
}
Esempio n. 16
0
/**
 * @param asciistring $ordigo la nomo de la kampo, laux kiu estu
 *                   ordigita la listo.
 */
function kreu_la_longan_liston($ordigo)
{
    eoecho("<h2>Listo de partoprenantoj kaj eblaj membroj</h2>\n");
    echo "<form action='tejomembroj.php' method='POST'>\n";
    tenukasxe("ordigo", $ordigo);
    echo "<table id='tejomembreco'>\n";
    echo "<tr><th>";
    metu_ordigoligon("p-enoID", 'ID', $ordigo);
    echo "</th><th>";
    metu_ordigoligon("UEA-kodo", 'ueakodo', $ordigo);
    echo "</th><th>";
    metu_ordigoligon("persona nomo", 'personanomo', $ordigo);
    echo "</th><th>";
    metu_ordigoligon("familia nomo", 'nomo', $ordigo);
    echo "</th><th>";
    metu_ordigoligon("urbo", 'urbo', $ordigo);
    echo "</th><th>";
    metu_ordigoligon("lando", 'landonomo', $ordigo);
    echo "</th><th>";
    metu_ordigoligon("membro lau^dire", 'tejo_membro_laudire', $ordigo);
    if ($GLOBALS['rajtas_sxangxi']) {
        echo "</th><th colspan='4'>";
    } else {
        echo "</th><th>";
    }
    metu_ordigoligon("membro lau^ kontrolo", 'tejo_membro_kontrolita', $ordigo);
    echo "</th></tr>";
    $sql = datumbazdemando(array('pa.nomo', 'pa.personanomo', 'pa.sekso', 'pa.ueakodo', 'pa.urbo', 'pn.ID', 'pn.tejo_membro_laudire', 'pn.tejo_membro_kontrolita', 'pn.partoprenantoID', 'l.nomo' => "landonomo"), array('landoj' => 'l', 'partoprenoj' => 'pn', 'partoprenantoj' => 'pa'), array('l.ID = pa.lando', 'pa.ID = pn.partoprenantoID', "pn.alvenstato != 'm'"), "", array("order" => $ordigo));
    $rez = sql_faru($sql);
    while ($linio = mysql_fetch_assoc($rez)) {
        echo "<!-- linio: {$linio['ID']} -->";
        metu_tejomembro_tabellinion($linio);
    }
    echo "</table>\n<p>";
    if ($GLOBALS['rajtas_sxangxi']) {
        butono("sxangxu", "S^ang^u");
    }
    echo "</p>\n</form>\n";
}
/**
 * Eltrovas, kiujn mangxojn iu partoprenanto povus partopreni.
 *
 * @param Partopreno $partopreno partopreno-objekto, por eltrovi
 *                   renkontigxon, komenco- kaj fino-datojn.
 *
 *                   Se mankas, ni prenas $_SESSION['renkontigxo'] kaj
 *                   ties fin- kaj komenco-datojn.
 * @return array listo de cxiuj mangxoj, kiuj okazas dum la partoprentempo.
 */
function listu_eblajn_mangxojn($partopreno = null)
{
    if ($partopreno) {
        $de = $partopreno->datoj['de'];
        $gxis = $partopreno->datoj['gxis'];
        $renkID = $partopreno->datoj['renkontigxoID'];
    } else {
        $renkontigxo = kreuRenkontigxon();
        debug_echo("<!-- sen partopreno, uzas renkontigxon: " . var_export($renkontigxo, true) . "-->");
        $de = $renkontigxo->datoj['de'];
        $gxis = $renkontigxo->datoj['gxis'];
        $renkID = $renkontigxo->datoj['ID'];
    }
    $sql = datumbazdemando('ID', 'mangxtempoj', array("renkontigxoID = '" . $renkID . "'", "'" . $de . "' <= dato", "dato <= '" . $gxis . "'"));
    $rez = sql_faru($sql);
    $listo = array();
    while ($linio = mysql_fetch_assoc($rez)) {
        $listo[] = $linio['ID'];
    }
    debug_echo("<!--" . var_export($listo, true) . "-->");
    return $listo;
}
Esempio n. 18
0
        $sql = datumbazdemando(array('ID'), 'tekstoj', "mesagxoID = '" . $priskribo['mesagxoID'] . "'", "renkontigxoID");
        $rez = sql_faru($sql);
        $alia = mysql_fetch_assoc($rez);
        eoecho("<p>Tiu teksto estas lingva varianto de la teksto ");
        if ($alia) {
            ligu('nova_teksto.php?id=' . $alia['ID'], $priskribo['mesagxoID']);
            eoecho(".</p>\n");
        } else {
            eoecho("<code>" . $priskribo['mesagxoID'] . "</code>, kiu tamen ankorau^ ne ekzistas " . "en tiu renkontig^o. (");
            ligu("nova_teksto.php?mesagxoID=" . $priskribo['mesagxoID'], "Kreu g^in!");
            eoecho(")");
        }
    } else {
        if (in_array('lingvo', $priskribo['opcioj'])) {
            // TODO: aliaj lingvoj
            $sql = datumbazdemando(array('ID'), 'tekstoj', "mesagxoID = '" . $_REQUEST['mesagxoID'] . "_de'", "renkontigxoID");
            $rez = sql_faru($sql);
            $alia = mysql_fetch_assoc($rez);
            if ($alia) {
                eoecho("<p>Ekzistas ");
                ligu("nova_teksto.php?id=" . $alia['ID'], "germana versio de tiu teksto");
                eoecho(".</p>");
            } else {
                eoecho("<p>Por tiu teksto devus ekzisti germana versio.");
                ligu("nova_teksto.php?mesagxoID=" . $_REQUEST['mesagxoID'] . "_de", "Kreu g^in");
                echo "</p>";
            }
        }
    }
}
?>
Esempio n. 19
0
/**
 * kreas elektoliston (per radiaj butonoj) el la renkontigxo-konfiguroj,
 * en tabellinio.
 * <pre>
 * |--------+---------------|
 * | titolo | ( ) elekto 1  |
 * |        | (*) elekto 2  |
 * |        | ( ) elekto 3  |
 * |--------+---------------|
 * </pre>
 * @param eostring    $titolo
 * @param string      $nomo (la interna nomo)
 * @param asciistring $tipo la konfiguro-tipo, t.e.
 *                          sekcio de la konfiguro-tabelo.
 * @param asciistring $valoro la antauxelektota valoro.
 * @param Renkontigxo|int $renkontigxo
 *
 * @uses simpla_entajpbutono()
 * @uses datumbazdemando()
 */
function tabela_elektolisto_el_konfiguroj($titolo, $nomo, $tipo, $valoro, $renkontigxo = 0)
{
    debug_echo("<!-- tabela_elektolisto_el_konfiguroj(" . $titolo . ", " . $nomo . ", " . $tipo . ", " . $valoro . ", " . var_export($renkontigxo, true) . ")\n -->");
    if (is_object($renkontigxo)) {
        $renkontigxo = $renkontigxo->datoj['ID'];
    }
    if (!$renkontigxo or !is_int($renkontigxo)) {
        $renkontigxo = $_SESSION['renkontigxo']->datoj['ID'];
    }
    eoecho("<tr>\n   <th>" . $titolo . "</th>\n   <td>\n");
    $sql = datumbazdemando(array('interna', 'grupo', 'teksto', 'aldona_komento'), 'renkontigxaj_konfiguroj', array('renkontigxoID' => $renkontigxo, 'tipo' => $tipo), "", array('order' => "grupo ASC"));
    $rez = sql_faru($sql);
    $antauxa_grupo = '#';
    while ($linio = mysql_fetch_assoc($rez)) {
        debug_echo("<!-- " . var_export($linio, true) . "-->");
        if ($linio['grupo'] != $antauxa_grupo) {
            if ($antauxa_grupo != '#') {
                echo "<br/>\n<br/>";
            }
            $antauxa_grupo = $linio['grupo'];
        } else {
            echo "<br />\n";
        }
        //        echo $linio['interna'] . " ";
        simpla_entajpbutono($nomo, $valoro, $linio['interna']);
        eoecho(" " . $linio['teksto'] . "\n");
        if ($linio['aldona_komento']) {
            eoecho("<br/>\n<span class='aldona_komento'>" . $linio['aldona_komento'] . "</span>\n");
        }
    }
    echo "      </p>\n";
    echo "  </td>\n</tr>\n";
}
Esempio n. 20
0
/**
 * Eltrovas unu valoron el iu datumbaztabelo.
 *
 * Tiu funkcio estas kombino de {@link datumbazdemando()}
 * (por speciala kazo),
 * {@link sql_faru()}, {@link mysql_fetch_assoc() mysql_fetch_assoc()} kaj
 *  simpla array-aliro.
 *
 * @param string $kampo nomo de iu kampo, aŭ pli ĝenerale SQL-esprimo
 *               por precize unu valoro.
 * @param string|array $tabelnomoj nomo de unu tabelo, aŭ nomoj de pluraj
 *                     tabeloj en array (vidu {@link datumbazdemando()})
 * @param string|array $restriktoj
 *                     SQL-restriktoj (vidu {@link datumbazdemando()})
 * @param string|array $id_laux_sesio nomo(j) de sesio-variablo(j)
 *                      (vidu {@link datumbazdemando()})
 * @param array $aliaj_ordonoj aldonaj konfiguraj opcioj
 *                   (vidu {@link datumbazdemando()})
 * @return mixed la valoro de tiu unu SQL-esprimo.
 */
function eltrovu_gxenerale($kampo, $tabelnomoj, $restriktoj = "", $id_laux_sesio = "", $aliaj_ordonoj = "")
{
    $sql = datumbazdemando(array($kampo => "valoro"), $tabelnomoj, $restriktoj, $id_laux_sesio);
    $rezulto = sql_faru($sql);
    $row = mysql_fetch_assoc($rezulto);
    return $row['valoro'];
}
Esempio n. 21
0
tabelentajpejo("Invitletero-retadreso", "invitleteroretadreso", $renk['invitleteroretadreso'], 30);
tabelentajpejo("Tema respondulo", 'temarespondulo', $renk['temarespondulo'], 20, "");
tabelentajpejo("Tema retadreso", "temaretadreso", $renk['temaretadreso'], 30);
tabelentajpejo("Distra respondulo", "distrarespondulo", $renk['distrarespondulo'], 20, "");
tabelentajpejo("Distra retadreso", "distraretadreso", $renk['distraretadreso'], 30);
tabelentajpejo("Vespera respondulo", "vesperarespondulo", $renk['vesperarespondulo'], 20, "");
tabelentajpejo("Vespera retadreso", "vesperaretadreso", $renk['vesperaretadreso'], 30);
tabelentajpejo("Muzika respondulo", "muzikarespondulo", $renk['muzikarespondulo'], 20, "");
tabelentajpejo("Muzika retadreso", "muzikaretadreso", $renk['muzikaretadreso'], 30);
tabelentajpejo("Nokta respondulo", "noktarespondulo", $renk['noktarespondulo'], 20, "");
tabelentajpejo("Nokta retadreso", "noktaretadreso", $renk['noktaretadreso'], 30);
tabelentajpejo("Novula/Junula respondulo", "novularespondulo", $renk['novularespondulo'], 20, "");
tabelentajpejo("Novula retadreso", "novularetadreso", $renk['novularetadreso'], 30);
eoecho("\n  </table>\n");
butono("sxangxu", "S^ang^u tiun renkontig^on");
butono("kreu", "Kreu novan renkontig^on");
eoecho("\n</form>\n\n  <hr/>\n\n  <h3 id='tekstoj'>Tekstoj</h3>\n  <p>\n    La <em>tekstoj</em> estas uzataj ekzemple por\n    havi retmesag^tekst(er)ojn kaj similajn aferojn, kiuj varias\n    lau^ renkontig^o,\n    ne en la programo sed en la datumbazo.\n  </p>");
$sql = datumbazdemando(array('count(*)' => 'nombro'), 'tekstoj', "renkontigxoID = '{$renk['ID']}'");
$rez = sql_faru($sql);
$linio = mysql_fetch_assoc($rez);
eoecho("\n<p>\n   Nuntempe ekzistas " . $linio['nombro'] . " tekstoj por la aktuala\n   renkontig^o.\n</p> <p>");
ligu("tekstoj.php", "Vidu la liston (kaj eble redaktu kelkajn)");
echo "<br/>";
ligu("nova_teksto.php", "Aldonu novan tekston");
echo "</p><p>";
ligu("administrado.php", "Reen al la administrado-pag^o.");
echo "</p>";
HtmlFino();
echo "<!--";
var_export($_SESSION);
echo "-->";
Esempio n. 22
0
function traktu_kampon_interne($tabelnomo, $kamponomo,
                               $dosiernomo, $restrikto, $atributoj)
{
    if ($atributoj['flag']) {
        traktu_kampon_flag($tabelnomo, $kamponomo,
                           $dosiernomo, $restrikto, $atributoj);
        return;
    }

    global $trovitaj, $chefa, $tradukoj;


    $helpajKampoj = array();

    if ($atributoj['helpoteksto']) {
        $helpajKampoj[$atributoj['helpoteksto']] = 'helpoteksto';
    }
    if ($atributoj['helpeDe']) {
        $helpajKampoj[$atributoj['helpeDe']] = 'helpo';
    }


    /*
     * ideo: ni trairas ambaŭ samtempe ordigitaj laŭ ID, kaj
     * tiel trovas samtempe aldonendajn kaj forigendajn.
     */

    $sql_org = 
        datumbazdemando(array_merge(array('ID',
                                          $kamponomo => 'org'),
                                    $helpajKampoj),
                        $tabelnomo,
                        $restrikto,
                        "",
                        array('order' => 'ID ASC'));
    /*
        "\n SELECT  `ID`, `" . $kamponomo . "` AS org" . $helpValSQL .
        "\n   FROM `" . $tabelo_interna . "` " .
        "\n   ORDER BY `ID` ASC ";
    */
    $sql_trad =
        datumbazdemando(array('(0 + `cheno`)' => 'ID',
                              'cheno', 'traduko'),
                        'tradukoj',
                        array("`dosiero` = '" . $dosiernomo . "'",
                              "`iso2` = '" . $chefa . "'"),
                        "",
                        array("order" => "`ID` ASC"));
    /*
        "\n SELECT (0 + `cheno`) AS `ID`, `cheno`, `traduko` " .
        "\n   FROM `" . $tabelo . "`  " .
        "\n   WHERE `dosiero` = '" . $dosiernomo . "' " .
        "\n     AND `iso2` = '" . $chefa . "' " .
        "\n     ORDER BY `ID` ASC ";
    */
    echo("<pre>$sql_org</pre><pre>$sql_trad</pre>");

    $rez_org = mysql_query($sql_org);
    $rez_trad = mysql_query($sql_trad);

    $linio_org = mysql_fetch_assoc($rez_org);
    $linio_trad = mysql_fetch_assoc($rez_trad);
    while (true) {
        if (null == $linio_org) {
            // ne plu estas linioj en la originala tabelo
            if (null == $linio_trad) {
                break;
            }
            // TODO: listu la restantajn
            $id_org = PHP_INT_MAX;
            $id_trad = (int) $linio_trad['ID'];
        }
        else if (null == $linio_trad) {
            // ne plu estas linioj en la traduktabeloj, sed ja en la originala
            // TODO: listu la restantajn
            $id_org = (int) $linio_org['ID'];
            $id_trad = PHP_INT_MAX;
        }
        else {
            $id_org = (int) $linio_org['ID'];
            $id_trad = (int) $linio_trad['ID'];
        }
        //        echo "<pre>org: $id_org, trad: $id_trad</pre>\n";

        if ($id_trad < $id_org) {
            // ni havas tradukon sen originalo - ne traktu nun, estos
            // trovita poste.

            // next(trad)
            $linio_trad = mysql_fetch_assoc($rez_trad);
        }
        else {
            // ni trovis linion en la originala tabelo, ĉu
            // kun aŭ sen traduko
            
            $trad_kampo = eotransformado($linio_org['org'],
                                         "por-tradukilo");

            if ($id_org == $id_trad) {
                // linio kun jam ekzistanta traduko
                $cheno = $linio_trad['cheno'];

                // ==> ni komparu ĝin nun.
                if ($trad_kampo != $linio_trad['traduko']) {
                    // proponu aktualigon
                    skatolo_por_cheno("aktualigu",
                                      $tradukoj["stato-aktualigenda-db"],
                                      "retradukenda",
                                      $dosiernomo, 1, $cheno, $chefa,
                                      $linio_trad['traduko'], $trad_kampo);
                }
                // next(trad)
                $linio_trad = mysql_fetch_assoc($rez_trad);
            }
            else {
                // ni havas linion en la originala tabelo sen tradukoj
                $trovitaj[]= $dosiernomo . "#" . $id_org;

                if ($atributoj['helpoteksto']) {
                    $cheno =
                        ((string)$id_org) .
                        " (" . $linio_org['helpoteksto'] . ")";
                }
                else  {
                    $cheno = (string)$id_org;
                }
                $komento = "";
                if ($atributoj['helpeDe']) {
                    if ($atributoj['klarigoj']) {
                        
                        require_once($GLOBALS['prafix'] .
                                     "/iloj/iloj_tekstoj.php");
                        $helpdosiero =
                            $GLOBALS['prafix'] . $atributoj['klarigoj'];

                        $informoj =
                            donu_tekstpriskribon($linio_org['helpo'],
                                                 $helpdosiero);
                        $komento = eotransformado($informoj['priskribo'],
                                                  "por-tradukilo");
//                         echo "<pre>";
//                         //                        var_export();
//                         var_export($helpdosiero);
//                         var_export($komento);
//                         echo "</pre>";
                    }
                    else {
                        $komento = "";
                    }
                }

                // proponu aldonon
                skatolo_por_cheno("aldonu",
                                  $tradukoj["stato-aldonenda-db"],
                                  "aldonenda",
                                  $dosiernomo, 1, $cheno, $chefa,
                                  "", $trad_kampo,
                                  $komento);
            }

            // por la listo de trovitajxoj
            $trovitaj[]= $dosiernomo . "#" . $cheno;
            // next(org)
            $linio_org = mysql_fetch_assoc($rez_org);
            
        } // else

    }// while

}  // traktu_kampon
    echo "</p>\n</form>\n";
} else {
    butono("sxangxu", "S^ang^u");
    butono("kopiu", "Kopiu");
    eoecho("(tiam donu novan nomon!)");
    echo "</p>\n</form>\n";
    echo "<hr/>\n";
    eoecho("<h2>Kondic^oj por la unuopaj malalig^periodoj</h2>");
    echo "<form action='malaligxkondicxsistemo.php' method='POST'>\n";
    tenukasxe("ID", $kondicxsistemo->datoj['ID']);
    $sql = datumbazdemando(array("ID", "nomo", "limdato"), "aligxkategorioj", array("sistemoID = '" . $kondicxsistemo->datoj['aligxkategorisistemo'] . "'"), "", array("order" => "limdato DESC"));
    $rez = sql_faru($sql);
    echo "<table>\n";
    eoecho("<tr><th>ID</th><th>nomo</th><th>limdato</th>" . "<th>kondic^o</th></tr>\n");
    while ($linio = mysql_fetch_assoc($rez)) {
        $sql = datumbazdemando("kondicxtipo", "malaligxkondicxoj", array("sistemo = '" . $kondicxsistemo->datoj['ID'] . "'", "aligxkategorio = '" . $linio['ID'] . "'"));
        $lin2 = mysql_fetch_assoc(sql_faru($sql));
        eoecho("<tr><td>" . $linio['ID'] . "</td><td>" . $linio['nomo'] . "</td><td>" . $linio['limdato'] . "</td><td>");
        elektilo_simpla_db("kondicxtipo[{$linio['ID']}]", "malaligxkondicxotipoj", "nomo", "ID", $lin2['kondicxtipo'], "uzebla = 'j'");
        echo "</td></tr>\n";
    }
    echo "</table>\n<p>";
    butono("sxangxuKond", "S^ang^u kondic^ojn");
    echo "</p></form>";
}
echo "<hr/>\n<p>";
ligu("kotizosistemoj.php", "C^iuj kotizosistemoj");
ligu("kategorisistemoj.php#malaligxsistemoj", "C^iuj kategoriosistemoj");
ligu("kotizoj.php", "c^io rilate al kotizoj");
echo "</p>";
HtmlFino();
Esempio n. 24
0
/**
 * Montras HTML-elektilon (<select>-elementon) de partoprenantoj
 * Gxi montras personan nomon, familian nomon kaj la mallongigo
 * de renkontigxo, kaj kiam oni elektis ion, gxi sendas la
 * identifikilon ("ID").
 *
 * $sql - la SQL-demando. La rezulto enhavu almenaux "ID", "nomo", "personanomo"
 *         kaj "renkNumero" kiel kampoj.
 *         Ekzempla SQL-demando por cxiuj partoprenantoj:
 *
 *  		$sql = datumbazdemando(array("pp.ID", "pp.nomo", "personanomo",
 *  									 "max(renkontigxoID) as renkNumero" ),
 *  							   array("partoprenantoj" => "pp",
 *  									 "partoprenoj" => "pn" ),
 *  							   "pn.partoprenantoID = pp.ID",
 *  							   "",
 *  							   array("group" => "pp.ID",
 *  									 "order" => "personanomo, nomo")
 *  							   );
 * $nomo - la valoro de la "name"-atributo de la <select>-elemento.
 *         La defauxlta valoro estas "partoprenantoidento".
 *
 */
function partoprenanto_elektilo($sql, $grandeco = '10', $nomo = "partoprenantoidento", $kun_identifikilo = FALSE)
{
    if (substr($sql, 0, 6) != "SELECT") {
        darf_nicht_sein();
        return false;
    }
    $rezulto = sql_faru($sql);
    $mallongigoj = array();
    echo "<select size='{$grandeco}' name='" . $nomo . "'>\n";
    while ($row = mysql_fetch_array($rezulto, MYSQL_BOTH)) {
        $mallongigo = $mallongigoj[$row["renkNumero"]];
        // Ni sercxas por cxiu renkontigxo maksimume unu foje la
        // mallongigon
        if (empty($mallongigo)) {
            $rez = mysql_fetch_assoc(sql_faru(datumbazdemando("mallongigo", "renkontigxo", "ID = '" . $row["renkNumero"] . "'", "", array("limit" => "1"))));
            $mallongigo = $rez["mallongigo"];
            $mallongigoj[$row["renkNumero"]] = $mallongigo;
        }
        echo "<option";
        eoecho(" value = \"" . $row["ID"] . "\">" . $row['personanomo'] . ' ' . $row['nomo']);
        if ($mallongigo) {
            eoecho(" (" . $mallongigo . ")");
        }
        if ($kun_identifikilo) {
            echo " (#" . $row["ID"] . ")";
        }
        echo "</option>\n";
    }
    echo "</select>\n";
}
 /**
  * donas liston de ĉiuj entajpantoj, kun nomo kaj la informo,
  * ĉu la aktuala noto estas por ili aŭ ne.
  * @return array array de la formo
  *           entajpantoID => array(nomo, noto_por_li)
  *           Tie noto_por_li estas true, se tiu ĉi noto estas por
  *           li, alikaze false.
  */
 function listu_entajpantojn()
 {
     $niaj_entajpantoj = $this->listu_entajpantojn_por_noto();
     $sql = datumbazdemando(array('ID', 'nomo'), 'entajpantoj');
     $listo = array();
     $rez = sql_faru($sql);
     while ($linio = mysql_fetch_assoc($rez)) {
         $listo[$linio['ID']] = array($linio['nomo'], in_array($linio['ID'], $niaj_entajpantoj));
     }
     return $listo;
 }
    ?>
":
        return <?php 
    echo $linio['ID'];
    ?>
;
<?php 
}
?>
    default:
        return null;
    }
}

<?php 
$sql = datumbazdemando(array('landoID', 'kategorioID'), 'kategorioj_de_landoj', "sistemoID = '" . $kotizosistemo->datoj['landokategorisistemo'] . "'");
$rez = sql_faru($sql);
$tekstoj = array();
$i = 0;
while ($linio = mysql_fetch_assoc($rez)) {
    $i++;
    if ($i % 10 == 0) {
        $prefix = "\n                        ";
    } else {
        $prefix = "";
    }
    $tekstoj[] = $prefix . '"' . $linio['landoID'] . '" : ' . $linio['kategorioID'];
}
?>
var landokategorioj = { <?php 
echo implode(', ', $tekstoj);
         $form = new HTMLKotizoFormatilo();
         $tab = $kotkal->kreu_kotizotabelon_malnova();
         $form->formatu_tabelon($tab);
     }
 }
 echo "</td><td>";
 if (in_array($_SESSION['partopreno']->datoj['alvenstato'], array('v', 'i')) and $_SESSION['partopreno']->datoj['renkontigxoID'] == $_SESSION['renkontigxo']->datoj['ID']) {
     rajtligu("akceptado-datoj.php", "akcepti", "", "akcepti");
 }
 echo "</td></tr>\n";
 // gehört eigentlich nach montru_aligxo; -> Nee.
 echo "<tr><td>";
 /** kiam ri estas en kiu cxambro? */
 $rezulto = eltrovu_cxambrojn($_SESSION["partopreno"]->datoj[ID]);
 while ($row = mysql_fetch_assoc($rezulto)) {
     $sql = datumbazdemando("nomo", "cxambroj", "id = '{$row['cxambro']}'");
     $cxambronomo = mysql_fetch_assoc(sql_faru($sql));
     eoecho(sekvandaton($partopreno_renkontigxo->datoj['de'], $row['nokto_de'] - 1) . " &ndash; " . sekvandaton($partopreno_renkontigxo->datoj['de'], $row['nokto_gxis']) . " (" . $row['rezervtipo'] . ")\n");
     if (rajtas("cxambrumi")) {
         ligu("cxambro-detaloj.php?cxambronumero=" . $row["cxambro"], "c^ambro: " . $cxambronomo['nomo']);
         echo " ";
         ligu_butone('cxambroago.php?sp=partrezultoj.php', $row['rezervtipo'] == 'd' ? "forgesu" : "malrezervu", array('sendu' => 'forgesu_liton', 'forgesendalito' => $row["ID"]));
     } else {
         eoecho("c^ambro: " . $cxambronomo['nomo'] . " ");
     }
     echo "<br/>";
     $havas_cxambron = "true";
 }
 // while ($row)
 if ($_SESSION["partopreno"]->datoj['domotipo'] == "J") {
     if (!$havas_cxambron) {
Esempio n. 28
-1
function sxangxuEntajpanton(&$entajpanto)
{
    if ($_POST['ID'] != $entajpanto->datoj['ID']) {
        // oni nur sxangxu siajn proprajn datojn
        darf_nicht_sein("ID = '" . $_POST['ID'] . "' != '" . $entajpanto->datoj['ID'] . "' = entajpanto-ID!");
        return;
    }
    $sxangxita = false;
    if ($_POST['sendanto_nomo'] and $_POST['sendanto_nomo'] != $entajpanto->datoj['sendanto_nomo']) {
        $entajpanto->datoj['sendanto_nomo'] = $_POST['sendanto_nomo'];
        $sxangxita = true;
    }
    if ($_POST['retposxtadreso'] and $_POST['retposxtadreso'] != $entajpanto->datoj['retposxtadreso']) {
        $entajpanto->datoj['retposxtadreso'] = $_POST['retposxtadreso'];
        $sxangxita = true;
    }
    if ($_POST['partoprenanto_id'] != $entajpanto->datoj['partoprenanto_id']) {
        $num_id = intval($_POST['partoprenanto_id']);
        if ($num_id) {
            $sql = datumbazdemando("ID", "partoprenantoj", "ID = '{$num_id}'");
            $rez = sql_faru($sql);
            if (mysql_num_rows($rez) < 1) {
                erareldono("Ne ekzistas partoprenanto kun ID = #" . $num_id . " - mi ne s^ang^as vian " . "partoprenanto-Identigilon!");
            } else {
                $entajpanto->datoj['partoprenanto_id'] = $num_id;
                $sxangxita = true;
            }
        } else {
            $entajpanto->datoj['partoprenanto_id'] = null;
            $sxangxita = true;
        }
    }
    if ($_POST['pasvorto']) {
        if ($_POST['pasvorto'] == $_POST['dua_pasvorto']) {
            $entajpanto->datoj['kodvorto'] = $_POST['pasvorto'];
            $entajpanto->skribu();
            eoecho("<p>Mi s^ang^is la pasvorton. Bonvolu denove ");
            ligu("komenci.php", "ensaluti");
            echo "!</p>";
            protokolu("pasvorts^ang^o");
            $_SESSION["kodvorto"] = "";
            $_SESSION["kodnomo"] = "";
            unset($_SESSION['kkren']);
            session_destroy();
            HtmlFino();
            exit;
        } else {
            erareldono("Bonvolu entajpi dufoje la saman pasvorton!");
            // erarmesagxo
        }
    }
    if ($sxangxita) {
        $entajpanto->skribu();
        eoecho("<p>Mi s^ang^is viajn entajpanto-detalojn.</p>");
    } else {
        echo "<!-- nenio sxangxenda -->";
    }
}
Esempio n. 29
-1
/**
 *
 * @param array $objektoj
 *     <code>array('partopreno' => {@link Partopreno}, ...)</code>
 * @return boolean
 */
function kondicxo_havas_unulitan_cxambron($objektoj)
{
    $partopreno = $objektoj['partopreno'];
    if ($partopreno->datoj["dulita"] != "U") {
        // ne mendis unulitan ĉambron
        return false;
    }
    if (estas_unu_el($partopreno->datoj['alvenstato'], 'm', 'n')) {
        // malaliĝis / ne venis
        return false;
    }
    if ($partopreno->datoj['domotipo'] != 'J') {
        return false;
    }
    $rez = eltrovu_cxambrojn($partopreno->datoj['ID']);
    if (mysql_num_rows($rez) > 0) {
        // ricevis ĉambron
        while ($linio1 = mysql_fetch_assoc($rez)) {
            $sql = datumbazdemando(array("litonombro", "dulita"), "cxambroj", "ID = '" . $linio1['cxambro'] . "'");
            $linio2 = mysql_fetch_assoc(sql_faru($sql));
            if ($linio2['litonombro'] <= 1 or $linio2['dulita'] == 'U') {
                return true;
            }
        }
        // ni ne trovis dulitan ĉambron, kvankam ri mendis
        return false;
    } else {
        // ankoraŭ ne havas ĉambron,
        // ~~> verŝajne ricevos dulitan
        return true;
    }
}
Esempio n. 30
-1
    ligu("renkontigxo.php", "Reen al la renkontig^o");
    ligu("administrado.php", "Reen al la administrado-pag^o.");
    echo "\n</form>\n";
} else {
    // ############################################################
    // nur montru cxiujn tekstojn (kun redakto-ligo).
    $GLOBALS['tekstpriskriboj'][""] = array();
    eoecho("\n<form action='tekstoj.php' method='post'>\n\n\n  <h2>Tekstoj</h2>\n  <p>\n    La <em>tekstoj</em> estas uzataj ekzemple por\n    havi retmesag^tekstojn kaj similajn aferojn, kiuj varias lau^ renkontig^o,\n    ne en la programo, sed en la datumbazo. Pri la signifoj legu en \n    ");
    // TODO: movu la dokumentadon al pli tauxga loko
    ligu("http://www.esperanto.de/dej/vikio/IS-Datenbazo/Tekstoj", "la vikipag^o", "_blank");
    eoecho("\n    pri tiu temo. La tekstoj estu en esperanta &#99;^-kodigo.\n  </p>\n  <ul><li>Vi povos redakti unuopan tekston (inkluzive la identifikilon) per la <code>red</code>-ligo.</li>\n   <li>Alternative vi povos elekti plurajn tekstojn (meti hokon) kaj uzi la butonon <em>Redaktu la markitajn tekstojn</em> sube.</li>\n   <li>Vi ec^ povos <em>redakti c^iujn tekstojn</em> per samnoma butono.</li>\n  </ul>\n<table>");
    echo "<tr><td colspan='4'>";
    ligu("nova_teksto.php", "kreu novan tekston");
    echo "</td></tr>\n";
    eoecho("<tr><th>mesag^o-ID</th><td/><th>Valoro</th>" . "<th>Priskribo</th></tr>\n");
    $sql = datumbazdemando(array('id', 'mesagxoID', 'teksto'), 'tekstoj', "renkontigxoID = '{$renk['ID']}'");
    $rez = sql_faru($sql);
    while ($linio = mysql_fetch_assoc($rez)) {
        eoecho("\n    <tr><th>" . $linio['mesagxoID'] . "</th>\n      <td><input type='checkbox' name='redaktu[" . $linio['id'] . "]' value='true' /><br/>");
        ligu('nova_teksto.php?id=' . $linio['id'], "red.");
        $priskribo = donu_tekstpriskribon($linio['mesagxoID']);
        $GLOBALS['tekstpriskriboj'][""][$priskribo['mesagxoID']]['uzata'] = true;
        eoecho("</td><td><p style='white-space: pre; white-space: pre-wrap'>" . $linio['teksto'] . "</pre>\n      </td><td>" . $priskribo['priskribo'] . "\n      </td>\n    </tr>");
    }
    echo "</table>";
    butono('redaktu', "Redaktu la markitajn tekstojn");
    butono('redaktu_cxiujn', "Redaktu c^iujn tekstojn");
    ligu("renkontigxo.php", "Reen al la renkontig^o");
    ligu("administrado.php", "Reen al la grava administrado");
    echo "</form>\n";
    $restantaj = array();