home *** CD-ROM | disk | FTP | other *** search
/ Chip 2004 April / CMCD0404.ISO / Software / Freeware / Programare / dotproject / modules / forums / post_message.php < prev    next >
Encoding:
PHP Script  |  2004-01-29  |  5.9 KB  |  153 lines

  1. <?php /* FORUMS $Id: post_message.php,v 1.19 2004/01/29 07:44:27 ajdonnison Exp $ */
  2. // Add / Edit forum
  3. $message_id = isset( $_GET['message_id'] ) ? $_GET['message_id'] : 0;
  4. $message_parent = isset( $_GET['message_parent'] ) ? $_GET['message_parent'] : -1;
  5.  
  6. //Pull forum information
  7. $sql = "
  8. SELECT forum_name, forum_owner, forum_moderated,
  9.     project_name, project_id
  10. FROM projects, forums
  11. WHERE forums.forum_id = $forum_id
  12.     AND forums.forum_project = projects.project_id
  13. ";
  14.  
  15. $res = db_exec( $sql );
  16. $forum_info = db_fetch_assoc( $res );
  17. echo db_error();
  18.  
  19. //pull message information
  20. $sql = "
  21. SELECT forum_messages.*, user_first_name, user_last_name
  22. FROM forum_messages
  23. LEFT JOIN users ON message_author = users.user_id
  24. WHERE message_id = ";
  25. $sql .= $message_id ? $message_id : $message_parent;
  26. $res = db_exec( $sql );
  27. echo db_error();
  28. $message_info = db_fetch_assoc($res);
  29.  
  30. //pull message information from last response 
  31. if ($message_parent != -1)
  32. {
  33.     $sql = "
  34.     SELECT forum_messages.*
  35.     FROM forum_messages
  36.     WHERE message_parent = ";
  37.     $sql .= $message_id ? $message_id : $message_parent;
  38.     $sql .= " ORDER BY forum_messages.message_id DESC"; // fetch last message first
  39.     $res = db_exec( $sql );
  40.     echo db_error();
  41.     $last_message_info = db_fetch_assoc($res);
  42.     if (!$last_message_info) { // if it's first response, use original message
  43.         $last_message_info =& $message_info;
  44.         $last_message_info["message_body"] = wordwrap(@$last_message_info["message_body"], 50, "\n> ");
  45.     }
  46.     else {
  47.         $last_message_info["message_body"] = str_replace("\n", "\n> ", @$last_message_info["message_body"]);
  48.     }
  49. }
  50.  
  51. $crumbs = array();
  52. $crumbs["?m=forums"] = "forums list";
  53. $crumbs["?m=forums&a=viewer&forum_id=$forum_id"] = "topics for this forum";
  54. if ($message_parent > -1) {
  55.     $crumbs["?m=forums&a=viewer&forum_id=$forum_id&message_id=$message_parent"] = "this topic";
  56. }
  57. ?>
  58. <script language="javascript">
  59. function submitIt(){
  60.     var form = document.changeforum;
  61.     if (form.message_title.value.length < 1) {
  62.         alert("<?php echo $AppUI->_('forumSubject');?>");
  63.         form.message_title.focus();
  64.     } else if (form.message_body.value.length < 1) {
  65.         alert("<?php echo $AppUI->_('forumTypeMessage');?>");
  66.         form.message_body.focus();
  67.     } else {
  68.         form.submit();
  69.     }
  70. }
  71.  
  72. function delIt(){
  73.     var form = document.changeforum;
  74.     if (confirm( "<?php echo $AppUI->_('forumDeletePost');?>" )) {
  75.         form.del.value="<?php echo $message_id;?>";
  76.         form.submit();
  77.     }
  78. }
  79.  
  80. function orderByName(x){
  81.     var form = document.changeforum;
  82.     if (x == "name") {
  83.         form.forum_order_by.value = form.forum_last_name.value + ", " + form.forum_name.value;
  84.     } else {
  85.         form.forum_order_by.value = form.forum_project.value;
  86.     }
  87. }
  88. </script>
  89.  
  90. <table cellspacing="1" cellpadding="2" border="0" width="98%">
  91. <tr>
  92.     <td><?php echo breadCrumbs( $crumbs );?></td>
  93.     <td align="right"></td>
  94. </tr>
  95. </table>
  96.  
  97. <table cellspacing="0" cellpadding="3" border="0" width="98%" class="std">
  98.  
  99. <!-- <form name="changeforum" action="?m=forums&a=viewposts&forum_id=<?php echo $forum_id;?>" method="post"> -->
  100.  
  101. <form name="changeforum" action="?m=forums&forum_id=<?php echo $forum_id;?>" method="post">
  102.     <input type="hidden" name="dosql" value="do_post_aed" />
  103.     <input type="hidden" name="del" value="0" />
  104.     <input type="hidden" name="message_forum" value="<?php echo $forum_id;?>" />
  105.     <input type="hidden" name="message_parent" value="<?php echo $message_parent;?>" />
  106.     <input type="hidden" name="message_published" value="<?php echo $forum_info["forum_moderated"] ? '1' : '0';?>" />
  107.     <input type="hidden" name="message_author" value="<?php echo (isset($message_info["message_author"]) && ($message_id || $message_parent < 0)) ? $message_info["message_author"] : $AppUI->user_id;?>" />
  108.     <input type="hidden" name="message_editor" value="<?php echo (isset($message_info["message_author"]) && ($message_id || $message_parent < 0)) ? $AppUI->user_id : '0';?>" />
  109.     <input type="hidden" name="message_id" value="<?php echo $message_id;?>" />
  110.  
  111. <tr>
  112.     <th valign="top" colspan="2"><strong><?php
  113.         echo $AppUI->_( $message_id ? 'Edit Message' : 'Add Message' );
  114.     ?></strong></th>
  115. </tr>
  116. <?php
  117. if ($message_parent>=0) {    //check if this is a reply-post; if so, printout the original message
  118. $date = new CDate();
  119. $date = intval( $message_info["message_date"] ) ? new CDate( $message_info["message_date"] ) : null;
  120. ?>
  121.  
  122. <tr><td align="right"><?php echo $AppUI->_('Author') ?>:</td><td align="left"><?php echo $message_info['user_first_name']." ".$message_info['user_last_name'];?> (<?php echo $date->format( "$df $tf" );?>)</td></tr>
  123. <tr><td align="right"><?php echo  $AppUI->_('Subject') ?>:</td><td align="left"><?php echo $message_info['message_title'] ?></td></tr>
  124. <tr><td align="right" valign="top"><?php echo  $AppUI->_('Message') ?>:</td><td align="left"><textarea name="message_parent_body" cols="60" readonly="readonly" style="height:100px; font-size:8pt"><?php echo $message_info['message_body'];?></textarea></td></tr>
  125. <tr><td colspan="2" align="left"><hr></td></tr>
  126. <?php
  127. }                //end of if-condition
  128. ?>
  129. <tr>
  130.     <td align="right"><?php echo $AppUI->_( 'Subject' );?>:</td>
  131.     <td>
  132.         <input type="text" name="message_title" value="<?php echo ($message_id || $message_parent < 0 ? '' : 'Re: ') .$message_info['message_title'];?>" size=50 maxlength=250>
  133.     </td>
  134. </tr>
  135. <tr>
  136.     <td align="right" valign="top"><?php echo $AppUI->_( 'Message' );?>:</td>
  137.     <td align="left" valign="top">
  138.        <textarea cols="60" name="message_body" style="height:200px"><?php echo (($message_id == 0) and ($message_parent != -1)) ? '> ' .  $last_message_info["message_body"] . "\n" : '';?></textarea>
  139.     </td>
  140. </tr>
  141. <tr>
  142.     <td>
  143.         <input type="button" value="<?php echo $AppUI->_('back');?>" class=button onclick="javascript:window.location='./index.php?m=forums';">
  144.     </td>
  145.     <td align="right"><?php
  146.         if ($AppUI->user_id == $forum_info["forum_owner"] || $message_id ==0 || (!empty($perms['all']) && !getDenyEdit('all')) ) {
  147.             echo '<input type="button" value="'.$AppUI->_('submit').'" class=button onclick="submitIt()">';
  148.         }
  149.     ?></td>
  150. </tr>
  151. </form>
  152. </table>
  153.