home *** CD-ROM | disk | FTP | other *** search
/ ftp.ee.pdx.edu / 2014.02.ftp.ee.pdx.edu.tar / ftp.ee.pdx.edu / oss / cvs-2004 / bahasa / web / request.php < prev    next >
PHP Script  |  2003-08-12  |  5KB  |  272 lines

  1. <?
  2. session_start();
  3. require_once("../php/Indonesia.php");
  4. require_once("../php/Web.php");
  5.  
  6. $web = new Web();
  7.  
  8. if (session_is_registered("NODUP_REQUEST_ENTRY")) {
  9.  
  10.     session_unregister("NODUP_REQUEST_ENTRY");
  11.  
  12.     $web->redirect("search.php");
  13. }
  14.  
  15. $indonesia = new Indonesia();
  16.  
  17. $status = $indonesia->get_dictionary_status();
  18.  
  19. if (
  20. ($status["status"] == 1) ||
  21. ($status["status"] == 2) || 
  22. ($status["status"] == 3)) {
  23.  
  24.     $web->redirect("offline.php");
  25.  
  26.     exit;
  27. }
  28.  
  29. ?>
  30. <html>
  31. <head>
  32. <title>
  33. Bahasa Indonesia Dictionary: Request a New Entry 
  34. </title>
  35. <script language="Javascript" type="text/javascript">
  36. //////////////////////////////////////////////////////////////////////////////
  37. function is_email(token) {
  38.  
  39.     var regexp = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
  40.  
  41.     if (regexp.test(token)) return(true);
  42.  
  43.     return(false);
  44. }
  45. //////////////////////////////////////////////////////////////////////////////
  46. function is_white_space(stoken) {
  47.  
  48.     if (stoken == null) return(true);
  49.  
  50.     if (stoken == '') return(true);
  51.  
  52.     if (stoken == "") return(true);
  53.  
  54.     return(false);
  55. }
  56. //////////////////////////////////////////////////////////////////////////////
  57. function trim(stoken) {
  58.  
  59.     if (is_white_space(stoken)) {
  60.  
  61.         return(stoken);
  62.     }
  63.  
  64.     stoken = stoken.replace(/^\s*/, "");
  65.  
  66.     stoken = stoken.replace(/\s*$/, "");
  67.  
  68.     return(stoken);
  69. }
  70. //////////////////////////////////////////////////////////////////////////////
  71. function verify() {
  72.  
  73.     english = document.request.english.value;
  74.  
  75.     english = trim(english);
  76.  
  77.     if (english.length > 255) {
  78.  
  79.         alert(
  80.         "The English value must be 255 characters or less!");
  81.  
  82.         document.request.english.focus();
  83.  
  84.         return(false);
  85.     }
  86.  
  87.     indonesian = document.request.indonesian.value;
  88.  
  89.     indonesian = trim(indonesian);
  90.  
  91.     if (indonesian.length > 255) {
  92.  
  93.         alert(
  94.         "The Indonesian value must be 255 characters or less!");
  95.  
  96.         document.request.indonesian.focus();
  97.  
  98.         return(false);
  99.     }
  100.  
  101.     return(true);
  102. }
  103. //////////////////////////////////////////////////////////////////////////////
  104. </script>
  105. </head>
  106. <body>
  107.  
  108. <h2>Bahasa Indonesia Dictionary: Request a New Entry</h2>
  109.  
  110. <a href="search.php">Search</a>
  111.  
  112. <?
  113. if (
  114. (isset($_POST['english'])) &&
  115. (isset($_POST['indonesian'])) &&
  116. (isset($_POST['spelling_flag'])) &&
  117. (isset($_POST['pos'])) && 
  118. (isset($_POST['comments']))) {
  119.  
  120.     $errstr = 
  121.     $indonesia->insert_request(
  122.     $_POST['english'], $_POST['indonesian'], 
  123.     $_POST['spelling_flag'], $_POST['pos'],
  124.     $_POST['comments']);
  125.  
  126.     if ($errstr != "") {
  127.  
  128.         print "<br><hr><b>${errstr}</b><hr><br>\n";
  129.  
  130.  
  131.     } else {
  132.  
  133.         print 
  134.         "<br><hr><b>Your entry has been submitted " .
  135.         "and will be reviewed!</b><hr><br>"; 
  136.  
  137.         $NODUP_REQUEST_ENTRY = 1;
  138.  
  139.         session_register("NODUP_REQUEST_ENTRY");
  140.     }
  141.  
  142. } else {
  143.  
  144.     show_request_form($web, $indonesia);
  145. }
  146. ?>
  147. </body>
  148. </html>
  149. <?
  150. //////////////////////////////////////////////////////////////////////////////
  151. function show_request_form($web, $indonesia) {
  152.  
  153.     $pos = array();
  154.  
  155.     $pos_select =
  156.     "<select name=\"pos\">\n";
  157.  
  158.     $errstr = $indonesia->get_parts_of_speech($pos);
  159.  
  160.     $pos_help =
  161.     "<table cellpadding=\"3\" cellspacing=\"3\" border=\"1\">\n" .
  162.     "<tr>\n" .
  163.     "<th>Part of Speech</th>\n" .
  164.     "<th>Description</th>\n" .
  165.     "</tr>\n";
  166.  
  167.     foreach($pos as $p) {
  168.  
  169.         $part_of_speech = $web->tohtml($p->part_of_speech);
  170.  
  171.         $description = $web->tohtml($p->description);
  172.  
  173.         $pos_select .=
  174.         "<option value=\"$p->pkey\">${part_of_speech}\n";
  175.  
  176.         $pos_help .= 
  177.         "<tr>\n" .
  178.         "<td>${part_of_speech}:</td>\n" .
  179.         "<td>${description}</td>\n" .
  180.         "</tr>\n"; 
  181.     }
  182.  
  183.     $pos_select .= "</select>\n"; 
  184.  
  185.     $pos_help .= "</table>\n";
  186.  
  187.     print <<<EOFSSF
  188. <form name="request" method="post" onSubmit='return verify()'>
  189. <table cellpadding="3" cellspacing="3" border="0">
  190.  
  191. <tr>
  192. <td>English (255 characters maximum):</td>
  193. </tr><tr>
  194. <td>
  195. <textarea name="english" wrap="soft" rows="2" cols="55"></textarea>
  196. </td>
  197.  
  198. </tr><tr>
  199. <td><hr></td>
  200.  
  201. </tr><tr>
  202. <td>Indonesian (255 characters maximum):</td>
  203. </tr><tr>
  204. <td>
  205. <textarea name="indonesian" wrap="soft" rows="2" cols="55"></textarea>
  206. </td>
  207.  
  208. </tr><tr>
  209. <td><hr></td>
  210.  
  211. </tr><tr>
  212. <td>Spelling Convention:</td>
  213. </tr><tr>
  214. <td>
  215. <input type="radio" name="spelling_flag" value="1">Before 1972
  216.   
  217. <input type="radio" name="spelling_flag" value="0" checked>Modern
  218. </td>
  219.  
  220. </tr><tr>
  221. <td><hr></td>
  222.  
  223. </tr><tr>
  224. <td>Part of Speech: <a href="request.php#pos">Help</a></td>
  225. </tr><tr>
  226. <td>
  227. $pos_select
  228. </td>
  229.  
  230. </tr><tr>
  231. <td><hr></td>
  232.  
  233. </tr><tr>
  234. <td>Comments:</td>
  235. </tr><tr>
  236. <td>
  237. <textarea name="comments" wrap="soft" rows="5" cols="55"></textarea>
  238. </td>
  239.  
  240. </tr><tr>
  241. <td><hr></td>
  242.  
  243. </tr><tr>
  244. <td align="right">
  245. <input type="reset" value="Clear Form">
  246.   
  247. <input type="submit" value="Send Request!"> 
  248. </td>
  249.  
  250. </tr>
  251. </table>
  252. </form>
  253.  
  254. <script language="Javascript" type="text/javascript">
  255. document.request.english.focus();
  256. </script>
  257.  
  258. <hr>
  259. <a name="pos"><h3>Parts of Speech Definitions</h3>
  260. <hr>
  261. $pos_help
  262. <hr>
  263. EOFSSF;
  264.  
  265.     return;
  266. }
  267. //////////////////////////////////////////////////////////////////////////////
  268. //////////////////////////////////////////////////////////////////////////////
  269. ?>
  270.  
  271.  
  272.