phpDocumentor koliportal
[ class tree: koliportal ] [ index: koliportal ] [ all elements ]

Source for file func.variables.php

Documentation is available at func.variables.php

  1. <?php
  2. /** Változók kezelését végző függvények
  3. *
  4. * Ebben a fájlban találhatóak azok a függvényeke, amelyek az adatbázis
  5. * variables táblájában tárolt változókat tudják kezelni (módosítás,
  6. * lekérdezés)
  7. *
  8. * @package koliportal
  9. * @author Karakó Miklós <palacsint_X_freemail.hu>
  10. * @copyright Copyright &copy; 2005, Karakó Miklós
  11. */
  12.  
  13. /**
  14. * @see init.inc.php
  15. */
  16. require_once(dirname(__FILE__) . "/../init.inc.php");
  17. /** Változó értékének lekérdezése
  18. *
  19. * Lekérdezi a variables táblából a name mezőnek megfelelő változó értékét
  20. * @param string $name a változó neve
  21. * @return string a változó értéke
  22. */
  23. function variable_get($name)
  24. {
  25. global $database;
  26. $name = addslashes($name);
  27. $sql_q = "SELECT * FROM variables WHERE name = '$name'";
  28. //debug_echo($sql_q, DEBUG_SQL);
  29. $vres = mysql_query($sql_q, $database)
  30. or myerr(ERROR_DB, $sql_q);
  31. if (mysql_num_rows($vres) !== 1)
  32. {
  33. debug_echo("variable_get() bug?");
  34. return false; /* vmilyen hiba lépett fel? */
  35. }
  36.  
  37. $varr = mysql_fetch_assoc($vres)
  38. or myerr(ERROR_DB, $sql_q);
  39. return $varr["value"];
  40. }
  41.  
  42. /** Információk lekérdezése egy változóról
  43. *
  44. * Lekérdezi a variables táblából a name mezőnek megfelelő változó információit
  45. * @param string $name a változó neve
  46. * @return array a variables tábla tname és description attributumia
  47. * egy tömbben, ugyanilyen nevű indexekkel
  48. */
  49. function variable_info_get($name)
  50. {
  51. global $database;
  52. $name = addslashes($name);
  53. $sql_q = "SELECT * FROM variables WHERE name = '$name'";
  54. //debug_echo($sql_q, DEBUG_SQL);
  55. $vres = mysql_query($sql_q, $database)
  56. or myerr(ERROR_DB, $sql_q);
  57. if (mysql_num_rows($vres) !== 1)
  58. {
  59. debug_echo("variable_get() bug?");
  60. return false; /* vmilyen hiba lépett fel? */
  61. }
  62.  
  63. $varr = mysql_fetch_assoc($vres)
  64. or myerr(ERROR_DB, $sql_q);
  65. return array("tname" => $varr["tname"], "description" => $varr["description"]);
  66. }
  67.  
  68.  
  69. /** Változó értékének beállítása
  70. *
  71. * Beállítja egy változó értékét. Ha még nem létezik a változó, akkor
  72. * felveszi az adatbázisba.
  73. * FIXME: ezt esetleg nem kellene?
  74. *
  75. * @param string $name a változó neve
  76. * @param string $value a változó értéke
  77. * @return bool sikerült-e vagy sem a módosítás
  78. */
  79. function variable_set($name, $value)
  80. {
  81. global $database;
  82. $value = addslashes($value);
  83. $name = addslashes($name);
  84. if (variable_get($name) == $value)
  85. {
  86. debug_echo("azonosak változó... ([$name] = $value)");
  87. return true;
  88. }
  89. $sql_u = "UPDATE variables SET value = '$value' WHERE name = '$name'";
  90. $vres = mysql_query($sql_u, $database)
  91. or myerr(ERROR_DB, $sql_u);
  92. $afrows = mysql_affected_rows($database);
  93. echo $afrows;
  94. /* még nincs ilyen az adatbázisban, beletesszük
  95. FIXME: öngyógyító funkció, kell ez egyáltalán?
  96. */
  97. if (0 === $afrows)
  98. {
  99. $sql_i = "INSERT INTO variables (name, value) VALUES
  100. ('$name', '$value')";
  101. $vres = mysql_query($sql_i, $database)
  102. or myerr(ERROR_DB, $sql_i);
  103. if (1 !== mysql_affected_rows($database))
  104. {
  105. myerr(ERROR_DB, $sql_i);
  106. }
  107. } elseif (1 === $afrows)
  108. {
  109. /* sikerült módosítani */
  110. return true;
  111. } else {
  112. /* valami hiba lépett fel! */
  113. myerr(ERROR_DB, $sql_u);
  114. }
  115. /* ha eddig eljutottunk, akkor minden rendben */
  116. return true;
  117. }
  118. // debug_echo(__FILE__);
  119. // variable_set("login_allowed", "yes");
  120.  
  121. ?>

Documentation generated on Wed, 18 May 2005 19:24:22 +0200 by phpDocumentor 1.3.0RC3