edit.php 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. <?php
  2. session_start();
  3. $http_host = $_SERVER["HTTP_HOST"];
  4. $doc_root = $_SERVER["DOCUMENT_ROOT"] . "/";
  5. include $doc_root . "functions.php";
  6. $proto = get_protocol();
  7. $lang = "es";
  8. $con = start_db();
  9. $server = $proto . $http_host;
  10. $pserver = $proto . substr($http_host, 0, strpos($http_host, ':')); // public server
  11. if (!check_session($con)){
  12. http_response_code(401);
  13. header("Location: /authentication.php");
  14. }
  15. else{
  16. $id = intval(mysqli_real_escape_string($con, $_GET["p"]));
  17. if (strlen($id) < 1){
  18. http_response_code(400); // No or bad ID: Bad request.
  19. header("Location: /projects/");
  20. }
  21. else{
  22. $q_project = mysqli_query($con, "SELECT * FROM project WHERE id = $id;");
  23. if (mysqli_num_rows($q_project) == 0){
  24. http_response_code(404); // Unexistent id: Not found.
  25. header("Location: /projects/");
  26. }
  27. else{
  28. $r_project = mysqli_fetch_array($q_project);
  29. $id = $r_project["id"];
  30. $title = text($con, $r_project["title"], $lang);
  31. $q_lang = mysqli_query($con, "SELECT * FROM lang;");
  32. ?>
  33. <html>
  34. <head>
  35. <meta content='text/html; charset=windows-1252' http-equiv='content-type'/>
  36. <meta name='viewport' content='width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1'>
  37. <link rel='shortcut icon' href='<?=$pserver?>/img/logo/x2/favicon.ico'/>
  38. <title><?=$title?>I&ntilde;igo Valentin - Administration Panel</title>
  39. <style>
  40. <?php
  41. include $doc_root . "css/ui.css";
  42. include $doc_root . "css/home.css";
  43. ?>
  44. </style>
  45. <!-- CSS for mobile version -->
  46. <style media='(max-width : 990px)'>
  47. <?php
  48. include $doc_root . "css/m/ui.css";
  49. include $doc_root . "css/m/home.css";
  50. ?>
  51. </style>
  52. <!-- Script files -->
  53. <script type='text/javascript'>
  54. <?php
  55. include $doc_root . "script/ui.js";
  56. ?>
  57. </script>
  58. <script src='/script/ckeditor/ckeditor.js'></script>
  59. </head>
  60. <body>
  61. <?php
  62. include $doc_root . "header.php";
  63. ?>
  64. <div id='content'>
  65. <div class='section'>
  66. <h3 class='section_title'><?=$title?></h3>
  67. <div class='entry'>
  68. <span class='bold'>URL:</span>
  69. <?=$pserver?>/
  70. <span class='editable'>
  71. <span class='field_result'><?=$r_project["permalink"]?></span>
  72. <img class='button_edit' src='<?=$server?>/img/icon/edit.png' onclick='enableEdit(this);'/>
  73. <input class='field_editable' type='text' value='<?=$r_project["permalink"]?>'/>
  74. <img class='button_save' src='<?=$server?>/img/icon/save.png' onclick='saveEdit(this, "project", "permalink", <?=$id?>);'/>
  75. <img class='button_cancel' src='<?=$server?>/img/icon/cancel.png' onclick='cancelEdit(this);'/>
  76. </span>
  77. <div id='lang_tabs'>
  78. <table>
  79. <tr>
  80. <?php
  81. mysqli_data_seek($q_lang, 0);
  82. $active = 'lang_tabs_active';
  83. while ($r_lang = mysqli_fetch_array($q_lang)){
  84. ?>
  85. <td class='pointer <?=$active?>' id='lang_tab_<?=$r_lang["code"]?>' onclick='showLanguage("<?=$r_lang["code"]?>");'>
  86. <?=$r_lang["name"]?>
  87. </td>
  88. <?php
  89. $active = '';
  90. }
  91. ?>
  92. </tr>
  93. </table>
  94. </div>
  95. <?php
  96. mysqli_data_seek($q_lang, 0);
  97. $active = 'content_lang_active';
  98. while ($r_lang = mysqli_fetch_array($q_lang)){
  99. ?>
  100. <div id='content_lang_<?=$r_lang["code"]?>' class='content_lang <?=$active?>'>
  101. <div class='editable'>
  102. Title:
  103. <span class='field_result'><?=text($con, $r_project["title"], $r_lang["code"])?></span>
  104. <img class='button_edit' src='<?=$server?>/img/icon/edit.png' onclick='enableEdit(this);'/>
  105. <input class='field_editable' type='text' value='<?=text($con, $r_project["title"], $r_lang["code"])?>'/>
  106. <img class='button_save' src='<?=$server?>/img/icon/save.png' onclick='saveEdit(this, "text", "<?=$r_lang["code"]?>", "<?=$r_project["title"]?>");'/>
  107. <img class='button_cancel' src='<?=$server?>/img/icon/cancel.png' onclick='cancelEdit(this);'/>
  108. </div>
  109. <hr/>
  110. <div class='editable'>
  111. Summary:
  112. <span class='field_result'><?=text($con, $r_project["summary"], $r_lang["code"])?></span>
  113. <img class='button_edit' src='<?=$server?>/img/icon/edit.png' onclick='enableEdit(this);'/>
  114. <input class='field_editable' type='text' value='<?=text($con, $r_project["summary"], $r_lang["code"])?>'/>
  115. <img class='button_save' src='<?=$server?>/img/icon/save.png' onclick='saveEdit(this, "text", "<?=$r_lang["code"]?>", "<?=$r_project["summary"]?>");'/>
  116. <img class='button_cancel' src='<?=$server?>/img/icon/cancel.png' onclick='cancelEdit(this);'/>
  117. </div>
  118. <hr/>
  119. <div class='editable'>
  120. Text:
  121. <img class='button_edit' src='<?=$server?>/img/icon/edit.png' onclick='enableEdit(this);'/>
  122. <img class='button_save' src='<?=$server?>/img/icon/save.png' onclick='saveEdit(this, "text", "<?=$r_lang["code"]?>", "<?=$r_project["text"]?>");'/>
  123. <img class='button_cancel' src='<?=$server?>/img/icon/cancel.png' onclick='cancelEdit(this);'/>
  124. <br/>
  125. <p class='field_result'><?=text($con, $r_project["text"], $r_lang["code"])?></p>
  126. <textarea id='text_<?=$r_lang["code"]?>' class='field_editable'><?=text($con, $r_project["text"], $r_lang["code"])?></textarea>
  127. <script>CKEDITOR.replace('text_<?=$r_lang["code"]?>');</script>
  128. </div>
  129. </div> <!-- .project_add_language -->
  130. <?php
  131. $active = '';
  132. }
  133. ?>
  134. </div> <!-- #lang_tabs -->
  135. </div> <!-- .entry -->
  136. </div> <!-- .section -->
  137. </div> <!-- #content -->
  138. </body>
  139. </html>
  140. <?php
  141. }
  142. }
  143. }
  144. ?>