/** * 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; }
/** * 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; }
<?php /* ################################################### */ /* Cxi tie mi ekzportas partoprenantojn el la datumaro */ /* ################################################### */ require_once 'iloj/iloj.php'; session_start(); malfermu_datumaro(); HtmlKapo("kalkulilo"); $renkontigxo = kreuRenkontigxon(); echo "<form method=\"post\" action=\"{$PHP_SELF} \">"; montru_renkontigxoelektilon($renkontigxo->datoj["ID"]); send_butono("Elektu renkontig^on!"); echo "</form>"; echo "<hr />"; if ($sendu == "Faru!") { $partopreno = new Partopreno(); $partoprenanto = new Partoprenanto(); $partoprenanto->datoj[naskigxdato] = $naskigxdato; $partoprenanto->datoj[lando] = $lando; $partopreno->datoj[aligxkategoridato] = $aligxdato; $partopreno->datoj[invitletero] = $invitilo; $partopreno->datoj[invitilosendata] = "2000-01-01"; // TODO: Kial fiksa datumo? $partopreno->datoj[dulita] = $dulita[0]; $partopreno->datoj[ekskursbileto] = $ekskursbileto[0]; $partopreno->datoj[GEJmembro] = $GEJmembro[0]; // if ($studento[0]!="J") // { // $partopreno->datoj[okupigxo] = 10; // }
/** * Montras elektilon por lando. * La elektilo-nomo estas "lando". * * @param int $alteco la nombro da linioj en la elektilo. * se 1, tiam estas elektilo kun klapmenuo, * alikaze estos plurlinia elektilo. * @param int $lando la identigilo de la antaŭelektita lando. * (se vi nenion donis, uzos la konstanton HEJMLANDO.) * @param lingvokodo $lingvo identigilo por la lingvo uzenda por * la teksto (kaj la nomo de la landokategorio). @param boolean $loka uzu la loka-lingvan varianton de la landonomo (ekzemple germana), se <var>$loka</var> estas donita kaj io, kio iĝas 'true'. * @param string $klaso iu html-atribut-fragmento, ekzemple * class='mankas' por aldoni al la <select>-elemento. * @param Renkontigxo $renkontigxo renkontiĝo-objekto - rilate al ties * kotizosistemo ni montras la landokategoriojn. */ function montru_landoelektilon($alteco, $lando = HEJMLANDO, $lingvo = null, $klaso = "", $renkontigxo = null) { // provizore nur cxi tie require_once $GLOBALS['prafix'] . "/iloj/sqlobjektoj.php"; debug_echo("<!-- lando: {$lando} -->"); $renkontigxo = kreuRenkontigxon($renkontigxo); $kotSis = $renkontigxo->donu_kotizosistemon(); $landoKatSisID = $kotSis->datoj['landokategorisistemo']; $sqltrad = datumbazdemando(array("l.ID", 'l.nomo', 't.traduko' => 'trad'), array("landoj" => "l", "tradukoj" => "t"), array("l.id = (t.cheno + 0)", "t.iso2 = '{$lingvo}'", "t.dosiero = 'datumbazo:/landoj/nomo'"), "", array("order" => "nomo ASC")); $sql = datumbazdemando(array('l.nomo' => "nomo", 'k.kategorioID', "l.ID"), array("landoj" => "l", "kategorioj_de_landoj" => "k"), array("k.sistemoID" => $landoKatSisID, "k.landoID = l.ID"), "", array("order" => "nomo ASC")); $listilo = new SQL_outer_left_join("nomo"); $listilo->maldekstra_sql($sql); $listilo->dekstra_sql($sqltrad); $landolisto = array(); while ($linio = $listilo->sekva()) { debug_echo("<!-- \nlinio: " . var_export($linio, true) . " -->"); $landonomo = kalkulu_landonomon($linio['nomo'], $linio['trad'], $lingvo); $katNomo = kalkulu_kategorinomon($linio['kategorioID'], $lingvo); $landolisto[(string) $linio['ID']] = $landonomo . " (" . $katNomo . ")"; } debug_echo("<!--" . var_export($landolisto, true) . "-->"); ordigu_laux_lingvo($landolisto, $lingvo); elektilo_simpla("lando", $landolisto, $lando, "", $alteco, false, $klaso); // echo "<select name='lando' size='{$alteco}' {$klaso}>\n"; // echo " <option"; // if ($linio['ID'] == $lando) { // echo " selected='selected'"; // } // echo " value='" . $linio['ID'] . "'>"; // eoecho( $landonomo . " (" . $katNomo . ")"); // echo "</option>\n"; // echo "</select>\n"; }
/** * donas iun renkontigxo- kaj lingvo-specifan tekston * */ function donu_tekston_lauxlingve($identifikilo, $lingvo, $renkontigxo = "") { $renkontigxo = kreuRenkontigxon($renkontigxo); $id = eltrovu_gxenerale("ID", "tekstoj", array("mesagxoID = '" . $identifikilo . "'", "renkontigxoID = '" . $renkontigxo->datoj['ID'] . "'")); $teksto = traduku_datumbazeron("tekstoj", "teksto", $id, $lingvo); if (isset($teksto)) { return $teksto; } return "[traduko mankas (" . $lingvo . "): [" . donu_tekston($identifikilo, $lingvo, $renkontigxo) . "]]"; }
/** * Analizas la POST-datumojn kaj el tio kreas * Partopreno- kaj partoprenanto-objektojn. * * (Ne metas ilin en la datumbazon.) * * @return &array * array({@link Partoprenanto}, {$link Partopreno}, {$link Invitpeto}) */ function &mangxu_Aligxilajn_datumojn($renkontigxo = null) { $renkontigxo = kreuRenkontigxon($renkontigxo); $partoprenanto = new Partoprenanto(); $partoprenanto->kopiu(); $partopreno = new Partopreno(); debug_echo("<!-- kreita partopreno: " . var_export($partopreno, true) . "\n -->"); $partopreno->kopiu(); debug_echo("<!-- kopiita partopreno: " . var_export($partopreno, true) . "\n -->"); if ($partopreno->datoj['de'] == $renkontigxo->datoj['de'] and $partopreno->datoj['gxis'] == $renkontigxo->datoj['gxis']) { $partopreno->datoj['partoprentipo'] = "t"; } else { $partopreno->datoj['partoprentipo'] = "p"; } if (mangxotraktado == 'ligita') { if ($domotipo[0] == "J") { $partopreno->datoj['kunmangxas'] = "J"; } else { $partopreno->datoj['kunmangxas'] = "N"; } } else { if (mangxotraktado == 'libera') { //// TODO: kiel eblas trakti la mangxomendojn sen meti ilin //// jam nun en la datumbazon? // // traktu_mangxomendojn($partopreno, $_POST['mangxmendo']); } else { darf_nicht_sein(mangxotraktado); } } $partopreno->datoj['aligxdato'] = date("Y-m-d"); // if($_POST['cxambrotipo'] == 'd') // dulita // { // // gea cxambro // $partopreno->datoj['cxambrotipo'] = 'g'; // $partopreno->datoj['dulita'] = 'J'; // } if (KAMPOELEKTO_IJK) { if ($_POST['domotipo'] == 'J1') { // unulita $partopreno->datoj['domotipo'] = 'J'; $partopreno->datoj['dulita'] = 'U'; } else { if ($_POST['domotipo'] == 'J') { // dulita $partopreno->datoj['dulita'] = 'J'; } else { // plurlita $partopreno->datoj['dulita'] = 'N'; } } } $partopreno->datoj['renkontigxoID'] = $renkontigxo->datoj["ID"]; $partopreno->datoj['partoprenantoID'] = $partoprenanto->datoj['ID']; $partopreno->datoj['alvenstato'] = 'v'; // $partopreno->datoj['traktstato']='N'; $partopreno->datoj['havasNomsxildon'] = 'N'; $partopreno->datoj['havasMangxkuponon'] = 'N'; $partopreno->datoj['KKRen'] = 'n'; // $partopreno->datoj['surloka_membrokotizo'] = '?'; $partopreno->datoj['tejo_membro_kontrolita'] = '?'; if ($partopreno->datoj['tejo_membro_laudire'][0] != 'j') { // TODO: igxos? $partopreno->datoj['tejo_membro_laudire'] = 'n'; } if ($_POST['invitletero'] == 'J') { $partopreno->mia_invitpeto =& new Invitpeto(); $partopreno->mia_invitpeto->kopiu(); // $partopreno->mia_invitpeto->datoj['ID'] = $partopreno->datoj['ID']; $partopreno->mia_invitpeto->datoj['invitletero_sendenda'] = '?'; $partopreno->mia_invitpeto->datoj['invitletero_sendodato'] = '0000-00-00'; } debug_echo("<!-- fin-kreita partopreno: " . var_export($partopreno, true) . "\n -->"); return array(&$partoprenanto, &$partopreno, &$partopreno->mia_invitpeto); }
// session_unregister("ago"); // unset($ago); unset($_SESSION["ago"]); } else { if ($sp) { $_SESSION['sekvontapagxo'] = $sp; } } if ($_REQUEST["ago"]) { $_SESSION["ago"] = $_REQUEST["ago"]; } //TODO: kontrolu, cxu eblas uzi la funkciojn el iloj_sesio if ($_REQUEST['partoprenidento']) { $_SESSION['partopreno'] = new Partopreno($_REQUEST['partoprenidento']); $_SESSION['partoprenanto'] = new Partoprenanto($_SESSION['partopreno']->datoj['partoprenantoID']); $GLOBALS['partopreno_renkontigxo'] = kreuRenkontigxon($_SESSION['partopreno']->datoj['renkontigxoID']); } if ($_REQUEST['partoprenantoidento']) { $_SESSION['partoprenanto'] = new Partoprenanto($_REQUEST['partoprenantoidento']); } if ($_SESSION['ago'] == 'sxangxi' and $_SESSION['partopreno'] and $_SESSION['partopreno']->datoj['partoprenantoID'] != $_SESSION['partoprenanto']->datoj['ID']) { echo "<!-- eraro: malgxusta partoprenanto (#{$_SESSION['partoprenanto']->datoj['ID']})." . " Uzas pli tauxgan (#{$_SESSION['partopreno']->datoj['partoprenantoID']})! \n-->"; $_SESSION['partoprenanto'] = new Partoprenanto($_SESSION['partopreno']->datoj['partoprenantoID']); } // sxangpreparado if ($_SESSION["ago"] != "sxangxi" and !$parto) { // nova partopreno $_SESSION["partopreno"] = new Partopreno(); $_SESSION["partopreno"]->datoj['partoprenantoID'] = $_SESSION["partoprenanto"]->datoj[ID]; $_SESSION["partopreno"]->datoj['renkontigxoID'] = $_SESSION["renkontigxo"]->datoj[ID]; }
/** * Kreas liston de cxiuj kotizokategorioj kun limdatoj, kie ties limdato * ankoraux estas en la estonteco. * * @return array de la formo * kategorioID => limdato */ function listu_limdatojn($surloke, $renkontigxo = null, $ekde = null) { if (!$ekde) { $ekde = date("Y-m-d"); } $renkontigxo = kreuRenkontigxon($renkontigxo); $renkDato = $renkontigxo->datoj['de']; $listo = array(); $rez = sql_faru(datumbazdemando(array("ID", "limdato", "DATE_SUB('" . $renkDato . "', INTERVAL limdato DAY)" => "limdato_abs"), "aligxkategorioj", array('sistemoID' => $this->datoj['ID']), "", array("order" => "limdato_abs ASC"))); while ($linio = mysql_fetch_assoc($rez)) { if ($linio['limdato_abs'] > $ekde) { if ($linio['limdato'] > 0) { $listo[$linio['ID']] = $linio['limdato_abs']; } else { $listo[$linio['ID']] = $surloke; } } } return $listo; }