A tumblelog CMS built on AJAX, PHP and MySQL.

user.php 6.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190
  1. <?
  2. /* ===========================
  3. gelato CMS development version
  4. http://www.gelatocms.com/
  5. gelato CMS is a free software licensed under GPL (General public license)
  6. =========================== */
  7. ?>
  8. <?
  9. require_once('../config.php');
  10. include("../classes/functions.php");
  11. include("../classes/user.class.php");
  12. require_once("../classes/configuration.class.php");
  13. $user = new user();
  14. $conf = new configuration();
  15. $isEdition = isset($_GET["edit"]);
  16. $userId = ($isEdition) ? $_GET["edit"] : NULL;
  17. if ($user->isAdmin()) {
  18. if (isset($_GET["delete"])) {
  19. $user->deleteUser($_GET['delete']);
  20. header("Location: admin.php?delete=true");
  21. die();
  22. }
  23. if(isset($_POST["btnAdd"])) {
  24. unset($_POST["btnAdd"]);
  25. if (isset($_POST["repass"])) {
  26. unset($_POST["repass"]);
  27. }
  28. if (isset($_POST["btnVerifyUser"])) {
  29. unset($_POST["btnVerifyUser"]);
  30. }
  31. if (isset($_POST["password"])) {
  32. $_POST["password"] = md5($_POST["password"]);
  33. }
  34. if (isset($_POST["id_user"])) {
  35. $user->modifyUser($_POST, $_POST["id_user"]);
  36. } else {
  37. $user->addUser($_POST);
  38. }
  39. } else {
  40. if ($isEdition) {
  41. $register = $user->getUserByID($userId);
  42. }
  43. ?>
  44. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
  45. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  46. <head>
  47. <title>gelato :: Add user</title>
  48. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  49. <link rel="shortcut icon" href="<?=$conf->urlGelato;?>/images/favicon.ico" />
  50. <script language="javascript" type="text/javascript" src="<?=$conf->urlGelato;?>/admin/scripts/mootools.js"></script>
  51. <script language="javascript" type="text/javascript">
  52. function validateFrmAddUser() {
  53. if ($('login').value == "") {
  54. alert("The username field cannot be left blank.");
  55. document.frm_add.login.select();
  56. return false;
  57. }
  58. if ($('password').value == "") {
  59. alert("The password field cannot be left blank.");
  60. document.frm_add.password.select();
  61. return false;
  62. }
  63. if ($('password').value != $('repass').value) {
  64. alert("The password must match,\nplease verify them.");
  65. document.frm_add.password.focus();
  66. return false;
  67. }
  68. return true;
  69. }
  70. function verifyExistingUser() {
  71. $('div-process').style.display="block";
  72. el = $('target');
  73. el.style.display="block";
  74. var path = 'ajax.php?action=verify&login='+$('login').value;
  75. new Ajax(path, {
  76. onComplete:function(e) {
  77. el.setHTML(e);
  78. $('div-process').style.display="none";
  79. }
  80. }).request();
  81. return false;
  82. }
  83. </script>
  84. <style type="text/css" media="screen">
  85. @import "<?=$conf->urlGelato;?>/admin/css/style-codice.css";
  86. </style>
  87. </head>
  88. <body>
  89. <div id="div-process" style="display:none;">Processing request...</div>
  90. <div id="titulo">
  91. <img src="<?=$conf->urlGelato;?>/images/logo.jpg" alt="gelato CMS" title="gelato CMS" />
  92. </div>
  93. <div id="menuContenedor">
  94. <ul>
  95. <li id="active"><a href="#" id="current">Users</a></li>
  96. <ul>
  97. <li id="subactive"><a href="#" id="subcurrent"><? echo ($isEdition) ? "Edit" : "Add"; ?></a></li>
  98. <li><a href="admin.php">Manage</a></li>
  99. </ul>
  100. </li>
  101. <li><a href="index.php">Control Panel</a></li>
  102. </ul>
  103. </div>
  104. <div id="contenido">
  105. <div class="center">
  106. <div class="ventana">
  107. <p class="titulo"><span class="handle"><? echo ($isEdition) ? "Edit" : "Add"; ?> the user information</span></p>
  108. <div id="formulario">
  109. <form action="user.php" method="post" onSubmit="return validateFrmAddUser();" name="frm_add">
  110. <fieldset>
  111. <?
  112. if ($isEdition) {
  113. ?>
  114. <input type="hidden" name="id_user" id="id_user" value="<?=$userId;?>" />
  115. <?
  116. }
  117. ?>
  118. <p>
  119. <label for="login">user:</label>
  120. <input class="input-text" name="login" id="login" type="text" autocomplete="off" value="<?=isset($register["login"])?$register["login"]:"";?>" />
  121. <?
  122. if (!$isEdition) {
  123. ?>
  124. <script language="javascript" type="text/javascript">
  125. document.write("<br /><input class='submit_normal_azul' name='btnVerifyUser' id='btnVerifyUser' type='button' value='Check availability' onclick='verifyExistingUser()' />");
  126. </script>
  127. <?
  128. }
  129. ?>
  130. </p>
  131. <p>
  132. <div id="target" style="display:none;"></div>
  133. </p>
  134. <p>
  135. <label for="pass">password:</label>
  136. <input class="input-text" name="password" id="password" type="password" />
  137. </p>
  138. <p>
  139. <label for="repass">retype password:</label>
  140. <input class="input-text" name="repass" id="repass" type="password" />
  141. </p>
  142. <p>
  143. <label for="name">name:</label>
  144. <input class="input-text" name="name" id="name" type="text" value="<?=isset($register["name"])?$register["name"]:"";?>" />
  145. </p>
  146. <p>
  147. <label for="email">e-mail:</label>
  148. <input class="input-text" name="email" id="email" type="text" value="<?=isset($register["email"])?$register["email"]:"";?>" />
  149. </p>
  150. <p>
  151. <label for="website">website:</label>
  152. <input class="input-text" name="website" id="website" type="text" value="<?=isset($register["website"])?$register["website"]:"";?>" />
  153. </p>
  154. <p>
  155. <label for="about">about:</label><br />
  156. <textarea rows="5" cols="50" name="about" id="about" tabindex="7"><?=isset($register["about"])?$register["about"]:"";?></textarea>
  157. </p>
  158. <p>
  159. <input class="submit" name="btnAdd" type="submit" value="<? echo ($isEdition) ? "Modify" : "Add"; ?> user" />
  160. </p>
  161. </fieldset>
  162. </form>
  163. </div>
  164. </div>
  165. </div>
  166. <div id="pie">
  167. <p>
  168. <a href="http://www.gelatocms.com/" title="gelato CMS" target="_blank">gelato CMS</a> :: PHP/MySQL Tumblelog Content Management System.
  169. </p>
  170. </div>
  171. </div>
  172. </body>
  173. </html>
  174. <?
  175. }
  176. } else {
  177. header("Location: ".$conf->urlGelato."/login.php");
  178. }
  179. ?>