|
|
@ -33,40 +33,57 @@ if (isset($current_thread['thread_id'])) { |
|
|
|
|
|
|
|
|
|
|
|
if (!empty($rows)) { |
|
|
|
if (!empty($rows)) { |
|
|
|
foreach ($rows as $row) { |
|
|
|
foreach ($rows as $row) { |
|
|
|
echo '<table width="100%" class="forum_table" cellspacing="5" border="0">'; |
|
|
|
|
|
|
|
// the style depends on the status of the message: approved or not |
|
|
|
|
|
|
|
if ($row['visible']=='0') { |
|
|
|
|
|
|
|
$titleclass = 'forum_message_post_title_2_be_approved'; |
|
|
|
|
|
|
|
$messageclass = 'forum_message_post_text_2_be_approved'; |
|
|
|
|
|
|
|
$leftclass = 'forum_message_left_2_be_approved'; |
|
|
|
|
|
|
|
} else { |
|
|
|
|
|
|
|
$titleclass = 'forum_message_post_title'; |
|
|
|
|
|
|
|
$messageclass = 'forum_message_post_text'; |
|
|
|
|
|
|
|
$leftclass = 'forum_message_left'; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
echo "<tr>"; |
|
|
|
|
|
|
|
echo "<td rowspan=\"3\" class=\"$leftclass\">"; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if ($row['user_id']=='0') { |
|
|
|
if (($current_forum_category && $current_forum_category['locked'] == 0) && |
|
|
|
$name = prepare4display($row['poster_name']); |
|
|
|
$current_forum['locked'] == 0 && |
|
|
|
|
|
|
|
$current_thread['locked'] == 0 || |
|
|
|
|
|
|
|
api_is_allowed_to_edit(false, true) |
|
|
|
|
|
|
|
) { |
|
|
|
|
|
|
|
if ($_user['user_id'] || ($current_forum['allow_anonymous'] == 1 && !$_user['user_id'])) { |
|
|
|
|
|
|
|
if (!api_is_anonymous() && api_is_allowed_to_session_edit(false,true)) { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$buttonReply = Display::tag('a','<i class="fa fa-reply"></i> '.get_lang('ReplyToMessage') ,array('href' => 'reply.php?'.api_get_cidreq().'&forum='.$clean_forum_id.'&thread='.$clean_thread_id.'&post='.$row['post_id'].'&action=replymessage&origin='.$origin, 'class' => 'btn btn-primary')); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$buttonQuote = Display::tag('a','<i class="fa fa-quote-left"></i> '.get_lang('QuoteMessage'),array('href' => 'reply.php?'.api_get_cidreq().'&forum='.$clean_forum_id.'&thread='.$clean_thread_id.'&post='.$row['post_id'].'&action=quote&origin='.$origin, 'class' => 'btn btn-success')); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
} else { |
|
|
|
} else { |
|
|
|
$name = api_get_person_name($row['firstname'], $row['lastname']); |
|
|
|
|
|
|
|
|
|
|
|
if (($current_forum_category && $current_forum_category['locked'] == 1)) { |
|
|
|
|
|
|
|
$closedPost = Display::tag('div','<i class="fa fa-exclamation-triangle"></i> '.get_lang('ForumcategoryLocked'),array('class'=>'alert alert-warning post-closed')); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
if ($current_forum['locked']==1) { |
|
|
|
|
|
|
|
$closedPost = Display::tag('div','<i class="fa fa-exclamation-triangle"></i> '.get_lang('ForumLocked'),array('class'=>'alert alert-warning post-closed')); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
if ($current_thread['locked']==1) { |
|
|
|
|
|
|
|
$closedPost = Display::tag('div','<i class="fa fa-exclamation-triangle"></i> '.get_lang('ThreadLocked'),array('class'=>'alert alert-warning post-closed')); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
$username = sprintf(get_lang('LoginX'), $row['username']); |
|
|
|
|
|
|
|
|
|
|
|
$html = ''; |
|
|
|
|
|
|
|
$html .= '<div class="panel panel-default forum-post">'; |
|
|
|
|
|
|
|
$html .= '<div class="panel-body">'; |
|
|
|
|
|
|
|
$html .= '<div class="row">'; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$html .= '<div class="col-md-2">'; |
|
|
|
|
|
|
|
|
|
|
|
if ($origin!='learnpath') { |
|
|
|
if ($origin!='learnpath') { |
|
|
|
if (api_get_course_setting('allow_user_image_forum')) { |
|
|
|
if (api_get_course_setting('allow_user_image_forum')) { |
|
|
|
echo '<br />'.display_user_image($row['user_id'], $name).'<br />'; |
|
|
|
$html .= '<div class="thumbnail">'.display_user_image($row['user_id'], $name).'</div>'; |
|
|
|
} |
|
|
|
} |
|
|
|
echo display_user_link($row['user_id'], $name, '', $username).'<br />'; |
|
|
|
$html .= Display::tag('h4', display_user_link($row['user_id'], $name, '', $username), array('class' => 'title-username')); |
|
|
|
} else { |
|
|
|
} else { |
|
|
|
echo Display::tag('span', $name, array('title' => api_htmlentities($username, ENT_QUOTES))).'<br />'; |
|
|
|
$html .= Display::tag('span', $name, array('title' => api_htmlentities($username, ENT_QUOTES))); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
echo api_convert_and_format_date($row['post_date']).'<br /><br />'; |
|
|
|
$html .= Display::tag('p',api_convert_and_format_date($row['post_date']),array('class' => 'post-date')); |
|
|
|
|
|
|
|
|
|
|
|
// get attach id |
|
|
|
// get attach id |
|
|
|
$attachment_list = get_attachment($row['post_id']); |
|
|
|
$attachment_list = get_attachment($row['post_id']); |
|
|
|
$id_attach = !empty($attachment_list) ? $attachment_list['id'] : ''; |
|
|
|
$id_attach = !empty($attachment_list) ? $attachment_list['id'] : ''; |
|
|
|
|
|
|
|
$iconEdit = ''; |
|
|
|
// The user who posted it can edit his thread only if the course admin allowed this in the properties of the forum |
|
|
|
// The user who posted it can edit his thread only if the course admin allowed this in the properties of the forum |
|
|
|
// The course admin him/herself can do this off course always |
|
|
|
// The course admin him/herself can do this off course always |
|
|
|
if ( |
|
|
|
if ( |
|
|
@ -79,7 +96,7 @@ if (isset($current_thread['thread_id'])) { |
|
|
|
) { |
|
|
|
) { |
|
|
|
if (api_is_allowed_to_session_edit(false, true)) { |
|
|
|
if (api_is_allowed_to_session_edit(false, true)) { |
|
|
|
if ($locked == false) { |
|
|
|
if ($locked == false) { |
|
|
|
echo "<a href=\"editpost.php?".api_get_cidreq()."&forum=".$clean_forum_id."&thread=".$clean_thread_id."&post=".$row['post_id']."&origin=".$origin."&edit=edition&id_attach=".$id_attach."\">". |
|
|
|
$iconEdit .= "<a href=\"editpost.php?".api_get_cidreq()."&forum=".$clean_forum_id."&thread=".$clean_thread_id."&post=".$row['post_id']."&origin=".$origin."&edit=edition&id_attach=".$id_attach."\">". |
|
|
|
Display::return_icon('edit.png',get_lang('Edit'), array(), ICON_SIZE_SMALL)."</a>"; |
|
|
|
Display::return_icon('edit.png',get_lang('Edit'), array(), ICON_SIZE_SMALL)."</a>"; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
@ -92,14 +109,14 @@ if (isset($current_thread['thread_id'])) { |
|
|
|
) { |
|
|
|
) { |
|
|
|
|
|
|
|
|
|
|
|
if ($locked == false) { |
|
|
|
if ($locked == false) { |
|
|
|
echo "<a href=\"".api_get_self()."?".api_get_cidreq()."&forum=".$clean_forum_id."&thread=".$clean_thread_id."&action=delete&content=post&id=".$row['post_id']."&origin=".$origin."\" onclick=\"javascript:if(!confirm('".addslashes(api_htmlentities(get_lang('DeletePost'), ENT_QUOTES))."')) return false;\">". |
|
|
|
$iconEdit .= "<a href=\"".api_get_self()."?".api_get_cidreq()."&forum=".$clean_forum_id."&thread=".$clean_thread_id."&action=delete&content=post&id=".$row['post_id']."&origin=".$origin."\" onclick=\"javascript:if(!confirm('".addslashes(api_htmlentities(get_lang('DeletePost'), ENT_QUOTES))."')) return false;\">". |
|
|
|
Display::return_icon('delete.png', get_lang('Delete'),array(), ICON_SIZE_SMALL)."</a>"; |
|
|
|
Display::return_icon('delete.png', get_lang('Delete'),array(), ICON_SIZE_SMALL)."</a>"; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
if (api_is_allowed_to_edit(false, true) && |
|
|
|
if (api_is_allowed_to_edit(false, true) && |
|
|
|
!(api_is_course_coach() && $current_forum['session_id'] != $sessionId) |
|
|
|
!(api_is_course_coach() && $current_forum['session_id'] != $sessionId) |
|
|
|
) { |
|
|
|
) { |
|
|
|
display_visible_invisible_icon( |
|
|
|
$iconEdit .= return_visible_invisible_icon( |
|
|
|
'post', |
|
|
|
'post', |
|
|
|
$row['post_id'], |
|
|
|
$row['post_id'], |
|
|
|
$row['visible'], |
|
|
|
$row['visible'], |
|
|
@ -109,9 +126,9 @@ if (isset($current_thread['thread_id'])) { |
|
|
|
'origin' => $origin, |
|
|
|
'origin' => $origin, |
|
|
|
) |
|
|
|
) |
|
|
|
); |
|
|
|
); |
|
|
|
echo ""; |
|
|
|
$iconEdit .= ""; |
|
|
|
if ($increment>0) { |
|
|
|
if ($increment>0) { |
|
|
|
echo "<a href=\"viewthread.php?".api_get_cidreq()."&forum=".$clean_forum_id."&thread=".$clean_thread_id."&action=move&post=".$row['post_id']."&origin=".$origin."\">".Display::return_icon('move.png',get_lang('MovePost'), array(), ICON_SIZE_SMALL)."</a>"; |
|
|
|
$iconEdit .= "<a href=\"viewthread.php?".api_get_cidreq()."&forum=".$clean_forum_id."&thread=".$clean_thread_id."&action=move&post=".$row['post_id']."&origin=".$origin."\">".Display::return_icon('move.png',get_lang('MovePost'), array(), ICON_SIZE_SMALL)."</a>"; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
@ -145,36 +162,57 @@ if (isset($current_thread['thread_id'])) { |
|
|
|
$userCanEdit = true; |
|
|
|
$userCanEdit = true; |
|
|
|
} |
|
|
|
} |
|
|
|
if ($increment > 0 && $locked == false && $userCanEdit) { |
|
|
|
if ($increment > 0 && $locked == false && $userCanEdit) { |
|
|
|
echo "<a href=\"forumqualify.php?".api_get_cidreq()."&forum=".$my_forum_id."&thread=".$clean_thread_id."&action=list&post=".$row['post_id']."&user=".$row['poster_id']."&user_id=".$row['poster_id']."&origin=".$origin."&idtextqualify=".$current_qualify_thread."\" >". |
|
|
|
$iconEdit .= "<a href=\"forumqualify.php?".api_get_cidreq()."&forum=".$my_forum_id."&thread=".$clean_thread_id."&action=list&post=".$row['post_id']."&user=".$row['poster_id']."&user_id=".$row['poster_id']."&origin=".$origin."&idtextqualify=".$current_qualify_thread."\" >". |
|
|
|
Display::return_icon('quiz.gif',get_lang('Qualify'))."</a> "; |
|
|
|
Display::return_icon('quiz.gif',get_lang('Qualify'))."</a> "; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
if($iconEdit != ''){ |
|
|
|
|
|
|
|
$html .= '<div class="tools-icons">'.$iconEdit.'</div>'; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (($current_forum_category && $current_forum_category['locked'] == 0) && |
|
|
|
$html .= $closedPost; |
|
|
|
$current_forum['locked'] == 0 && |
|
|
|
$html .= '</div>'; |
|
|
|
$current_thread['locked'] == 0 || |
|
|
|
|
|
|
|
api_is_allowed_to_edit(false, true) |
|
|
|
$html .= '<div class="col-md-10">'; |
|
|
|
) { |
|
|
|
|
|
|
|
if ($_user['user_id'] || ($current_forum['allow_anonymous'] == 1 && !$_user['user_id'])) { |
|
|
|
|
|
|
|
if (!api_is_anonymous() && api_is_allowed_to_session_edit(false,true)) { |
|
|
|
$titlePost = Display::tag('h3', $row['post_title'], array('class'=>'forum_post_title')); |
|
|
|
echo '<a href="reply.php?'.api_get_cidreq().'&forum='.$clean_forum_id.'&thread='.$clean_thread_id.'&post='.$row['post_id'].'&action=replymessage&origin='.$origin.'">'. |
|
|
|
$html .= Display::tag('div',$titlePost,array('class' => 'post-header')); |
|
|
|
Display :: return_icon('message_reply_forum.png', get_lang('ReplyToMessage'))."</a>"; |
|
|
|
|
|
|
|
echo '<a href="reply.php?'.api_get_cidreq().'&forum='.$clean_forum_id.'&thread='.$clean_thread_id.'&post='.$row['post_id'].'&action=quote&origin='.$origin.'">'. |
|
|
|
// see comments inside forumfunction.inc.php to lower filtering and allow more visual changes |
|
|
|
Display :: return_icon('quote.gif', get_lang('QuoteMessage'))."</a>"; |
|
|
|
|
|
|
|
} |
|
|
|
$html .= Display::tag('div',$row['post_text'],array('class' => 'post-body')); |
|
|
|
} |
|
|
|
$html .= '</div>'; |
|
|
|
|
|
|
|
$html .= '</div>'; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// the style depends on the status of the message: approved or not |
|
|
|
|
|
|
|
/* if ($row['visible']=='0') { |
|
|
|
|
|
|
|
$titleclass = 'forum_message_post_title_2_be_approved'; |
|
|
|
|
|
|
|
$messageclass = 'forum_message_post_text_2_be_approved'; |
|
|
|
|
|
|
|
$leftclass = 'forum_message_left_2_be_approved'; |
|
|
|
} else { |
|
|
|
} else { |
|
|
|
if ($current_forum_category && $current_forum_category['locked'] == 1) { |
|
|
|
$titleclass = 'forum_message_post_title'; |
|
|
|
echo get_lang('ForumcategoryLocked').'<br />'; |
|
|
|
$messageclass = 'forum_message_post_text'; |
|
|
|
} |
|
|
|
$leftclass = 'forum_message_left'; |
|
|
|
if ($current_forum['locked']==1) { |
|
|
|
} |
|
|
|
echo get_lang('ForumLocked').'<br />'; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
if ($current_thread['locked']==1) { |
|
|
|
if ($row['user_id']=='0') { |
|
|
|
echo get_lang('ThreadLocked').'<br />'; |
|
|
|
$name = prepare4display($row['poster_name']); |
|
|
|
} |
|
|
|
} else { |
|
|
|
|
|
|
|
$name = api_get_person_name($row['firstname'], $row['lastname']); |
|
|
|
} |
|
|
|
} |
|
|
|
echo "</td>"; |
|
|
|
$username = sprintf(get_lang('LoginX'), $row['username']); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$html .= '<div class="row">'; |
|
|
|
|
|
|
|
$html .= '<div class="col-md-12">'; |
|
|
|
|
|
|
|
$html .= '<div class="pull-right">'.$buttonReply . ' ' . $buttonQuote . '</div>'; |
|
|
|
|
|
|
|
$html .= '</div>'; |
|
|
|
|
|
|
|
$html .= '</div>'; |
|
|
|
|
|
|
|
|
|
|
|
// prepare the notification icon |
|
|
|
// prepare the notification icon |
|
|
|
if (isset($whatsnew_post_info[$current_forum['forum_id']][$current_thread['thread_id']][$row['post_id']]) && |
|
|
|
if (isset($whatsnew_post_info[$current_forum['forum_id']][$current_thread['thread_id']][$row['post_id']]) && |
|
|
|
!empty($whatsnew_post_info[$current_forum['forum_id']][$current_thread['thread_id']][$row['post_id']]) && |
|
|
|
!empty($whatsnew_post_info[$current_forum['forum_id']][$current_thread['thread_id']][$row['post_id']]) && |
|
|
@ -190,27 +228,17 @@ if (isset($current_thread['thread_id'])) { |
|
|
|
} |
|
|
|
} |
|
|
|
// The post title |
|
|
|
// The post title |
|
|
|
|
|
|
|
|
|
|
|
echo "</tr>"; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// The post title |
|
|
|
|
|
|
|
echo "<tr>"; |
|
|
|
|
|
|
|
echo Display::tag('td', prepare4display($row['post_title']), array('class'=>'forum_message_post_title')); |
|
|
|
|
|
|
|
echo "</tr>"; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// The post message |
|
|
|
|
|
|
|
echo "<tr>"; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// see comments inside forumfunction.inc.php to lower filtering and allow more visual changes |
|
|
|
|
|
|
|
echo "<td class=\"$messageclass\">".prepare4display($row['post_text'])."</td>"; |
|
|
|
|
|
|
|
echo "</tr>"; |
|
|
|
|
|
|
|
echo "</tr>"; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// The check if there is an attachment |
|
|
|
// The check if there is an attachment |
|
|
|
|
|
|
|
|
|
|
|
$attachment_list = getAllAttachment($row['post_id']); |
|
|
|
$attachment_list = getAllAttachment($row['post_id']); |
|
|
|
if (!empty($attachment_list) && is_array($attachment_list)) { |
|
|
|
if (!empty($attachment_list) && is_array($attachment_list)) { |
|
|
|
foreach ($attachment_list as $attachment) { |
|
|
|
foreach ($attachment_list as $attachment) { |
|
|
|
echo '<tr><td colspan="2" height="50%">'; |
|
|
|
|
|
|
|
$realname = $attachment['path']; |
|
|
|
$realname = $attachment['path']; |
|
|
|
$user_filename=$attachment['filename']; |
|
|
|
$user_filename=$attachment['filename']; |
|
|
|
|
|
|
|
|
|
|
@ -223,7 +251,7 @@ if (isset($current_thread['thread_id'])) { |
|
|
|
echo ' <a href="'.api_get_self().'?'.api_get_cidreq().'&origin='.Security::remove_XSS($_GET['origin']).'&action=delete_attach&id_attach='.$attachment['id'].'&forum='.$clean_forum_id.'&thread='.$clean_thread_id.'" onclick="javascript:if(!confirm(\''.addslashes(api_htmlentities(get_lang('ConfirmYourChoice'), ENT_QUOTES)).'\')) return false;">'.Display::return_icon('delete.png',get_lang('Delete'), array(), ICON_SIZE_SMALL).'</a><br />'; |
|
|
|
echo ' <a href="'.api_get_self().'?'.api_get_cidreq().'&origin='.Security::remove_XSS($_GET['origin']).'&action=delete_attach&id_attach='.$attachment['id'].'&forum='.$clean_forum_id.'&thread='.$clean_thread_id.'" onclick="javascript:if(!confirm(\''.addslashes(api_htmlentities(get_lang('ConfirmYourChoice'), ENT_QUOTES)).'\')) return false;">'.Display::return_icon('delete.png',get_lang('Delete'), array(), ICON_SIZE_SMALL).'</a><br />'; |
|
|
|
} |
|
|
|
} |
|
|
|
echo '<span class="forum_attach_comment" >'.$attachment['comment'].'</span>'; |
|
|
|
echo '<span class="forum_attach_comment" >'.$attachment['comment'].'</span>'; |
|
|
|
echo '</td></tr>'; |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -232,8 +260,12 @@ if (isset($current_thread['thread_id'])) { |
|
|
|
unset($whatsnew_post_info[$current_forum['forum_id']][$current_thread['thread_id']]); |
|
|
|
unset($whatsnew_post_info[$current_forum['forum_id']][$current_thread['thread_id']]); |
|
|
|
unset($_SESSION['whatsnew_post_info'][$current_forum['forum_id']][$current_thread['thread_id']][$row['post_id']]); |
|
|
|
unset($_SESSION['whatsnew_post_info'][$current_forum['forum_id']][$current_thread['thread_id']][$row['post_id']]); |
|
|
|
unset($_SESSION['whatsnew_post_info'][$current_forum['forum_id']][$current_thread['thread_id']]); |
|
|
|
unset($_SESSION['whatsnew_post_info'][$current_forum['forum_id']][$current_thread['thread_id']]); |
|
|
|
echo "</table>"; |
|
|
|
|
|
|
|
$increment++; |
|
|
|
$increment++; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$html .= '</div>'; |
|
|
|
|
|
|
|
$html .= '</div>'; |
|
|
|
|
|
|
|
echo $html; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|