A lightweight forum engine written in PHP. Repository is now obsolete and read-only. http://www.pioder.pl/uforum.html
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

133 lines
3.8 KiB

  1. <?php
  2. /**
  3. * @package uForum
  4. * @file includes/pms/pms_view.php
  5. * @version $Id$
  6. * @copyright 2007-2010 (c) PioDer <pioder@wp.pl>
  7. * @link http://www.pioder.pl/
  8. * @license see LICENSE.txt
  9. **/
  10. if ( !defined('IN_uF') )
  11. {
  12. die('Hacking attempt');
  13. }
  14. //smiles cache
  15. $sql = "SELECT * FROM ".SMILES_TABLE."";
  16. $query = DataBase::sql_query($sql,GENERAL,'Could not obtain emoticons information.');
  17. $i = 1;
  18. while($result = DataBase::fetch($query))
  19. {
  20. $smile[$i]['smile'] = $result['smile'];
  21. $smile[$i]['url'] = $result['url'];
  22. $i +=1;
  23. }
  24. $mid = intval($_GET['id']);
  25. if (!isset($_GET['submode']))
  26. {
  27. message_forum($lng['invalidmode'],'pms.php');
  28. }
  29. switch($_GET['submode'])
  30. {
  31. case 'author':
  32. {
  33. $sql = "SELECT * FROM ".PM_SENTBOX_TABLE." WHERE m_id='$mid'";
  34. break;
  35. }
  36. case 'user':
  37. {
  38. $sql = "SELECT * FROM ".PM_INBOX_TABLE." WHERE m_id='$mid'";
  39. break;
  40. }
  41. default:
  42. {
  43. message_forum($lng['invalidmode'],'pms.php');
  44. break;
  45. }
  46. }
  47. $query = DataBase::sql_query($sql,CRITICAL,'Could not obtain messages information');
  48. $result = DataBase::fetch($query);
  49. //if message exist....
  50. if ($result['m_id']=='')
  51. {
  52. message_forum($lng['no_message'],'pms.php');
  53. }
  54. switch($_GET['submode'])
  55. {
  56. case 'user':
  57. {
  58. //if message user loged....
  59. if ($result['u_id']!=$_SESSION['uid'])
  60. {
  61. message_forum($lng['merror_2'],'index.php');
  62. }
  63. break;
  64. }
  65. case 'author':
  66. {
  67. //if message author loged....
  68. if ($result['u_n_id']!=$_SESSION['uid'])
  69. {
  70. message_forum($lng['merror_2'],'index.php');
  71. }
  72. break;
  73. }
  74. }
  75. if ($_GET['submode']=='user')
  76. {
  77. DataBase::sql_query("UPDATE ".PM_INBOX_TABLE." SET `read`='1' WHERE `m_id`='$mid'", GENERAL, 'Could not update message.');
  78. }
  79. $sql = "SELECT * FROM ".USERS_TABLE." WHERE `u_id`='".$result['u_n_id']."'";
  80. $query = DataBase::sql_query($sql,GENERAL,'Could not obtain user information');
  81. $user = DataBase::fetch($query);
  82. $folder = ($_GET['submode']=='author') ? '<a href="pms.php?mode=folder&amp;submode=sentbox" class="navigator">'.$lng['sentbox'].'</a>' : '<a href="pms.php?mode=folder&amp;submode=inbox" class="navigator">'.$lng['inbox'].'</a>';
  83. //add skin variables
  84. $skin = array(
  85. 'lang'=>DefaultLang(),
  86. 'lname'=>$lng['message'],
  87. 'u_id'=>$result['u_n_id'],
  88. 'username'=>Topic::UserName($user['nick'], $user['rank']),
  89. 'userrank'=>User::UserRank($user['rank']),
  90. 'delete'=>'<a href="javascript:confirm_action(\''.$lng['c_delete_pm'].'\',\'pms.php?mode=delete&amp;user='.$_GET['submode'].'&amp;m='.$mid.'\')"><img src="skins/'.$default_skin.'/images/delete_small.gif" alt="del"></a>',
  91. 'avatar'=>($user['avatar']!='') ? '<img src="'.$user['avatar'].'" alt="av">' : '<br><br><br><br>',
  92. 'msgtext'=>Topic::PostText($result['message'],0,0),
  93. 'sig'=> ($user['sig']!='') ? '<br>------------------------<br>'.$user['sig'] : '',
  94. 'posts'=>$user['posts'],
  95. 'regdate'=>date('d-m-Y',$user['regdate']),
  96. 'lastvisit'=>date('d-m-Y',$user['lastvisit']),
  97. //labels
  98. 'lrank'=>$lng['lurank2'],
  99. 'llastvisit'=>$lng['lulastvisit'],
  100. 'lregdate'=>$lng['regdate2'],
  101. 'lposts'=>$lng['posts'],
  102. 'lno'=>$lng['no.'],
  103. 'lpinfo'=>$lng['postinfo']
  104. );
  105. $skin = array_push_assoc($skin,GenerateHeader($lng['show_message'].': '.$result['name'], .$folder.' &raquo;
  106. <a href="pms.php?mode=view&amp;submode='.$_GET['submode'].'&amp;id='.
  107. $result['m_id'].'" class="navigator">'.$lng['show_message']
  108. .': '.$result['name']));
  109. //do it!
  110. require('./skins/'.$default_skin.'/overall_header.tpl');
  111. require('./skins/'.$default_skin.'/msgs_msg_body.tpl');
  112. if(RANK=='2')
  113. {
  114. $skin['pa_link']='<a href="admin/index.php" class="fsmall"><b>'.$lng['pa_link'].'</b></a>';
  115. }
  116. else
  117. {
  118. $skin['pa_link']='';
  119. }
  120. $stop = TimeGeneration();
  121. $skin['queries'] = ShowQueries($start, $stop);
  122. require('./skins/'.$default_skin.'/overall_footer.tpl');
  123. break;
  124. ?>