- <?php
- /** Változók kezelését végző függvények
- *
- * Ebben a fájlban találhatóak azok a függvényeke, amelyek az adatbázis
- * variables táblájában tárolt változókat tudják kezelni (módosítás,
- * lekérdezés)
- *
- * @package koliportal
- * @author Karakó Miklós <palacsint_X_freemail.hu>
- * @copyright Copyright © 2005, Karakó Miklós
- */
-
- /**
- * @see init.inc.php
- */
-
- require_once(dirname(__FILE__) . "/../init.inc.php");
-
- /** Változó értékének lekérdezése
- *
- * Lekérdezi a variables táblából a name mezőnek megfelelő változó értékét
- * @param string $name a változó neve
- * @return string a változó értéke
- */
- function variable_get($name)
- {
- global $database;
-
- $name = addslashes($name);
- $sql_q = "SELECT * FROM variables WHERE name = '$name'";
- //debug_echo($sql_q, DEBUG_SQL);
- $vres = mysql_query($sql_q, $database)
- or myerr(ERROR_DB, $sql_q);
-
- if (mysql_num_rows($vres) !== 1)
- {
- debug_echo("variable_get() bug?");
- return false; /* vmilyen hiba lépett fel? */
- }
-
- $varr = mysql_fetch_assoc($vres)
- or myerr(ERROR_DB, $sql_q);
-
- return $varr["value"];
- }
-
- /** Információk lekérdezése egy változóról
- *
- * Lekérdezi a variables táblából a name mezőnek megfelelő változó információit
- * @param string $name a változó neve
- * @return array a variables tábla tname és description attributumia
- * egy tömbben, ugyanilyen nevű indexekkel
- */
- function variable_info_get($name)
- {
- global $database;
-
- $name = addslashes($name);
- $sql_q = "SELECT * FROM variables WHERE name = '$name'";
- //debug_echo($sql_q, DEBUG_SQL);
- $vres = mysql_query($sql_q, $database)
- or myerr(ERROR_DB, $sql_q);
-
- if (mysql_num_rows($vres) !== 1)
- {
- debug_echo("variable_get() bug?");
- return false; /* vmilyen hiba lépett fel? */
- }
-
- $varr = mysql_fetch_assoc($vres)
- or myerr(ERROR_DB, $sql_q);
-
- return array("tname" => $varr["tname"], "description" => $varr["description"]);
- }
-
-
-
- /** Változó értékének beállítása
- *
- * Beállítja egy változó értékét. Ha még nem létezik a változó, akkor
- * felveszi az adatbázisba.
- * FIXME: ezt esetleg nem kellene?
- *
- * @param string $name a változó neve
- * @param string $value a változó értéke
- * @return bool sikerült-e vagy sem a módosítás
- */
- function variable_set($name, $value)
- {
- global $database;
-
- $value = addslashes($value);
- $name = addslashes($name);
-
- if (variable_get($name) == $value)
- {
- debug_echo("azonosak változó... ([$name] = $value)");
- return true;
- }
-
- $sql_u = "UPDATE variables SET value = '$value' WHERE name = '$name'";
- $vres = mysql_query($sql_u, $database)
- or myerr(ERROR_DB, $sql_u);
- $afrows = mysql_affected_rows($database);
- echo $afrows;
-
- /* még nincs ilyen az adatbázisban, beletesszük
- FIXME: öngyógyító funkció, kell ez egyáltalán?
- */
- if (0 === $afrows)
- {
- $sql_i = "INSERT INTO variables (name, value) VALUES
- ('$name', '$value')";
- $vres = mysql_query($sql_i, $database)
- or myerr(ERROR_DB, $sql_i);
- if (1 !== mysql_affected_rows($database))
- {
- myerr(ERROR_DB, $sql_i);
- }
- } elseif (1 === $afrows)
- {
- /* sikerült módosítani */
- return true;
- } else {
- /* valami hiba lépett fel! */
- myerr(ERROR_DB, $sql_u);
- }
-
- /* ha eddig eljutottunk, akkor minden rendben */
- return true;
- }
-
-
- // debug_echo(__FILE__);
- // variable_set("login_allowed", "yes");
-
-
-
- ?>