QWnetEdit.php 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. <?php
  2. // filewriter 0.1, NickK, 2004-12-28
  3. // Provides an Edit Box for text files on server's hdd.
  4. // Original on /home/nick/scripts
  5. error_reporting(E_ALL^E_NOTICE);
  6. // Files to read/write - absolute path
  7. $READFILE = "/home/haui/httpd/quadaver.mine.nu/htdocs/qw-serveme/qwnet.cfg";
  8. $WRITEFILE = "/home/haui/httpd/quadaver.mine.nu/htdocs/qw-serveme/qwnet.cfg";
  9. // --------------------------------------------------------------------
  10. // make a textarea size depending on our adminusers :) (and their monitor resolutions)
  11. $txt_cols = "110";
  12. $txt_rows = "21";
  13. if ($_REQUEST['user']=="mcbell") {
  14. $txt_cols = "140";
  15. $txt_rows = "35";
  16. $hidden_uservalue = '<input type="hidden" name="user" value="mcbell"/>';
  17. $user="mcbell";
  18. }
  19. // template for the standard UI part
  20. $html = '<html>
  21. <body style="font-family: sans-serif">
  22. <h1>Edit-Box&trade; qwnet.cfg</h1>
  23. <p style="background-color: #e0c0c0; padding:5pt">
  24. <strong>Ged&auml;chtnisst&uuml;tze:</strong> !mnet_&lt;BOTNAME&gt;. Geht nur in #messagenet.
  25. <br />
  26. <span style="font-size:smaller">[02:59:44] (QuAd|Haui) 1. bot joinen lassen
  27. [02:59:51] (QuAd|Haui) 2. cfg editieren und cfg beim bot reloaden</span>
  28. <br />
  29. Konfuzius sagt: <em>Mann der Textfeld neu l&auml;dt bevor er schwer denken, der Weisheit zeigen.</em>
  30. <br />
  31. Sein Sch&uuml;ler stellt fest: <em>Mann der hinterl&auml;sst Datum und Namen seiniges, der kann haben guten Schlaf.</em>
  32. </p>
  33. <form method="POST" action="#SELF#">
  34. '.$hidden_uservalue.'
  35. <textarea cols="'.$txt_cols.'" rows="'.$txt_rows.'" name="contents">
  36. #CONTENTS#</textarea>
  37. <br />
  38. <input type="submit" value="Speichern" />
  39. </form>
  40. </body>
  41. </html>';
  42. // --------------------------------------------------------------------
  43. // first check: Can we write at all?
  44. if (!is_writable($WRITEFILE)) {
  45. print("(1) Sorry. $WRITEFILE ist nicht schreibbar (+w flag missing).");
  46. exit;
  47. }
  48. // "contents" is given via POST. If it's not there, build the
  49. // HTML user interface. (See template $html above)
  50. if (!array_key_exists("contents", $_POST)) {
  51. // fetch template/old content
  52. $contents = file_get_contents ($READFILE);
  53. if ($contents == FALSE) {
  54. print("(2) Probleme beim Lesen von $READFILE.");
  55. exit;
  56. }
  57. // fill template (see $html above)
  58. $html = preg_replace("/#CONTENTS#/", $contents, $html);
  59. $html = preg_replace("/#SELF#/", basename(__FILE__), $html);
  60. print ($html);
  61. }
  62. else {
  63. // the active part of the script goes here. Write stuff.
  64. if (!$file = fopen($WRITEFILE, "w")) {
  65. print("(3) Sorry. Kann $WRITEFILE nicht öffnen, d.h. es wurde nichts geschrieben.");
  66. exit;
  67. }
  68. // echo '<pre>'.$_POST["contents"].'</pre>';
  69. // stripslashes needed because of php.ini directive magic quotes = on
  70. if (!fwrite($file, stripslashes($_POST["contents"]))) {
  71. print("(4) Konnte $WRITEFILE nicht schreiben. Sorry.");
  72. exit;
  73. }
  74. if (!fclose($file)) {
  75. print("(5) Konnte den Filehandler nicht schließen. Das macht aber nicht wirklich was.");
  76. }
  77. print('Fertig. <a href="' . $_SERVER["SCRIPT_NAME"] . '?user='.$user.'">Nochmal?</a>');
  78. }
  79. ?>