/** * montras tabelon kun cxiuj mangxtempoj * por la aktuala renkontigxo, kun ligo por * redakti unuopajn. */ function montru_MangxtempoListon() { $sercxilo = new Sercxilo(); $sercxilo->metu_datumbazdemandon(array('ID', 'dato', 'mangxotipo', 'komento'), 'mangxtempoj', "", "renkontigxoID"); $sercxilo->metu_kolumnojn(array('kampo' => 'ID', 'titolo' => "", 'tekstosxablono' => "–>", 'ligilsxablono' => "mangxredakto.php?id=XXXXX"), array('kampo' => 'dato'), array('kampo' => 'mangxotipo', 'anstatauxilo' => $GLOBALS['mangxotipoj']), array('kampo' => 'ID', 'titolo' => 'mendoj', 'anstatauxilo' => 'kalkulu_mangxmendojn'), array('kampo' => 'komento')); $sercxilo->metu_sumregulojn(array(array(array('#', '*', 'd'), array('XX', 'A', 'm'), array('∑', '*', 'd'), array('XX', 'NT', 'm')))); $sercxilo->metu_ordigon('dato', 'asc'); $sercxilo->metu_antauxtekston("Mang^otempoj en " . $_SESSION['renkontigxo']->datoj['nomo']); $sercxilo->montru_rezulton_en_HTMLtabelo(); }
/** * Uzas la serĉ-opciojn por serĉi kaj * montras la rezulton. * * TODO: Plibeligu la aspekton. * @uses Sercxilo */ function montruRezulton($valoroj) { $sercxilo = new Sercxilo(); $teksto = eotransform("<h3>Serc^rezulto</h3>\n"); list($kampoj, $inversa, $sql) = kreuSercxSQL($valoroj); if (empty($kampoj)) { eoecho("<p>Vi elektu <em>almenau^ unu serc^indaj^o</em>" . " – alikaze mi nenion povas serc^i.</p>"); return; } $sercxilo->metu_sql($sql); $teksto .= "<p><code>{$sql}</code></p>"; $kolumnoj = array(); foreach ($kampoj as $alias) { $kol = array('kampo' => $alias, 'titolo' => $inversa[$alias]['titolo']); if ($inversa[$alias]['ligo']) { $kol['ligilsxablono'] = $inversa[$alias]['ligo']; } $kolumnoj[] = $kol; // $kolumnoj []= array($alias, $inversa[$alias]['titolo'], 'XXXXX', 'l', // $inversa[$alias]['ligo'], ''); } $sercxilo->metu_kolumnojn($kolumnoj); if (in_array('nomo', $kampoj) and in_array('personanomo', $kampoj) and in_array('ID', $kampoj)) { if ($valoroj['sercxo_titolo']) { $sercxilo->metu_menutitolon("g^en. serc^o: " . $valoroj['sercxo_titolo']); } else { $sercxilo->metu_menutitolon("rezulto de sennoma " . "g^enerala serc^o"); } } else { } reset($kampoj); $sercxilo->metu_ordigon(current($kampoj), 'asc'); $sercxilo->metu_sumregulojn(array(array(array('entute:', '', 'r'), array('XX', 'A', 'l')))); $sercxilo->metu_memligomontradon(true); $sercxilo->metu_identigilon('gxenerala_sercxo_rezulto'); if (strtoupper(substr($_REQUEST['tipo'], 0, 4)) == 'HTML') { echo $teksto; } echo "<!-- " . var_export($sercxilo, true) . "-->"; $sercxilo->montru_rezulton_en_tipo($_REQUEST['tipo']); }
/** * @param string $identigilo * identigilo por la serĉilo-objekto (uzata por ordigoj). * ne estu la sama kiel por aliaj serĉoj sur la sama * paĝo. * @param boolean $kunPartoprenanto se true, ni ankaŭ montras la * nomon de la partoprenanto, pri kiu estas la noto * (kun ligo al la * {@link partrezultoj.php PP-detalo-pagxo}). * @param string $aktualtipo * nur montru iun elekton: * - remontrendaj: neprilaboritaj, kun revidu-dato estinte. * - remontrotaj: neprilaboritaj, kun revidu-dato estonte. * - neprilaboritaj: (nu, kion la nomo diras) * - prilaboritaj: (nu, kion la nomo diras) * - ĉiuj: montru ĉiujn, sendepende de * prilaboro-stato. * @param int $porEntajpanto se ne 0, montras nur tiajn notojn, kiuj estas * por la indikita entajpanto. * @param int $aldona_kondicxo se ne "", aldona kondiĉo por la elekto. */ function kreu_NotoTabelilon($identigilo, $kunPartoprenanto, $aktualTipo = "", $porEntajpanto = 0, $aldona_kondicxo = "") { $sercxilo = new Sercxilo(); $sercxilo->metu_identigilon($identigilo); $sumoj = array(array(array('#', '*', 'd'), array('XX', 'A', 'c'), '', '', array('aliaj formatoj?', 'X', 'c'))); $sercx_kampoj = array('n.ID' => 'notoID', 'n.kiu', 'n.kunKiu', 'n.tipo', 'n.dato', 'n.subjekto', 'n.revidu', 'n.prilaborata', 'n.partoprenantoID'); $sercx_tabeloj = array('notoj' => 'n'); $kolumnoj = array(array('kampo' => 'notoID', 'titolo' => "", 'tekstosxablono' => "–>", 'ligilsxablono' => "notoj.php?notoID=XXXXX", 'menuidkampo' => 'partoprenantoID'), array('kampo' => 'dato'), array('kampo' => 'subjekto'), array('kampo' => "kiu"), array("kunKiu", "kun", 'XXXXX', 'l', '', '-1'), array("tipo", "tipo", 'XXXXX', 'l', '', '-1'), array('kampo' => 'prilaborata', 'titolo' => 'prilaborita?', 'tekstosxablono' => 'XXXXX', 'arangxo' => 'z', 'anstatauxilo' => array('j' => '<strong class="malaverto">prilaborita</strong>', '' => '<strong class="averto">neprilaborita</strong>', 'n' => '<strong class="averto">neprilaborita</strong>'))); $kondicxoj = array(); if ($aldona_kondicxo) { $kondicxoj[] = $aldona_kondicxo; } if ($kunPartoprenanto) { $sercx_tabeloj['partoprenantoj'] = 'p'; $sercx_kampoj[] = "CONCAT(personanomo, ' ', nomo) AS tuta_nomo"; // $sercx_kampoj[]= 'nomo'; // $sercx_kampoj[]= 'personanomo'; array_splice($kolumnoj, 2, 0, array(array('kampo' => 'partoprenantoID', 'titolo' => "pri", 'tekstosxablono' => "# XXXXX", 'ligilsxablono' => 'partrezultoj.php?partoprenantoidento=XXXXX', 'ligilkampo' => 'partoprenantoID', 'menuidkampo' => 'partoprenantoID'), array('kampo' => 'tuta_nomo', 'titolo' => "pri-nomo"))); array_splice($sumoj[0], 2, 0, array('', '')); $kondicxoj[] = "p.ID = n.partoprenantoID"; } switch ($aktualTipo) { case 'remontrendaj': $kondicxoj[] = "prilaborata <> 'j'"; $kondicxoj[] = "revidu <= NOW()"; break; case 'remontrotaj': $kondicxoj[] = "prilaborata <> 'j'"; $kondicxoj[] = "NOW() < revidu"; break; case 'neprilaboritaj': $kondicxoj[] = "prilaborata <> 'j'"; break; case 'prilaboritaj': $kondicxoj[] = "prilaborata = 'j'"; break; case 'cxiuj': default: // neniu kondiĉoj break; } if ($porEntajpanto) { $sercx_tabeloj['notoj_por_entajpantoj'] = 'ne'; $kondicxoj[] = "ne.entajpantoID = '{$porEntajpanto}'"; $kondicxoj[] = "ne.notoID = n.ID"; } $sercxilo->metu_kolumnojn($kolumnoj); $sercxilo->metu_sumregulojn($sumoj); $sercxilo->metu_datumbazdemandon($sercx_kampoj, $sercx_tabeloj, $kondicxoj); $sercxilo->metu_ordigon('dato', 'desc'); return $sercxilo; }