A tumblelog CMS built on AJAX, PHP and MySQL.

user.php 6.2KB

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