Интеграция JComments в файловый архив Remository
|
Remository — не менее популярный чем DocMan компонент файлового архива для Joomla. Предлагаемая вашему вниманию интеграция заменяет встроенные средства комментирования файлов на JComments.
Интеграция с Remository 3.53.5
- Откройте файл /components/com_remository/v-classes/remositoryFileInfoHTML.php
- Найдите в нем код:
if ($this->repository->Allow_Comments) {
$commentsdb = remositoryComment::getComments($file->id);
if ($commentsdb){
$this->tabcnt = 1;
$legend = _DOWN_COMMENTS;
foreach ($commentsdb as $comment) {
$this->showComment($legend, $comment);
// Uncomment the next line if you want to restrict to a single comment
// if ($comment->userid == $this->remUser->id) $hascommented = true;
}
}
else {
$legend = $this->remUser->isLogged() ? _DOWN_FIRST_COMMENT : _DOWN_FIRST_COMMENT_NL;
$this->fileOutputBox('', '<strong>'.$legend.'</strong>');
}
if ($this->remUser->isLogged() AND empty($hascommented)) $this->commentBox($file);
// include_once('components/com_reviews/reviews.class.php');
// include_once('components/com_reviews/reviews.html.php');
// echo HTML_reviews::listItemCommentsHTML('com_remository',$file->id);
// echo HTML_reviews::solicitCommentHTML('com_remository', $file->id, "&func=fileinfo&id=$file->id");
}
и замените на следующий:
if ($this->repository->Allow_Comments) {
$commentsAPI = JPATH_SITE.DS.'components'.DS.'com_jcomments'.DS.'jcomments.php';
if (file_exists($commentsAPI)) {
require_once($commentsAPI);
echo JComments::showComments($file->id, 'com_remository', $file->filetitle);
}
}
Интеграция с Remository 2.x
- Откройте файл /components/com_remository/v-classes/remositoryFileInfoHTML.php
- Найдите в нем строки:
$commentsdb = $file->getComments();
if ($commentsdb){
$this->tabcnt = 1;
$legend = _DOWN_COMMENTS;
foreach ($commentsdb as $comment) $this->showComment($legend, $comment);
}
else {
$legend = $this->remUser->isLogged() ? _DOWN_FIRST_COMMENT : _DOWN_FIRST_COMMENT_NL;
$this->fileOutputBox('', '<strong>'.$legend.'</strong>');
}
if ($this->remUser->isLogged()) $this->commentBox($file);
и замените их на следующий код:
global $mosConfig_absolute_path;
$comments = $mosConfig_absolute_path . '/components/com_jcomments/jcomments.php';
if (file_exists($comments)) {
require_once($comments);
echo '<div style="clear: both;">';
echo JComments::showComments($file->id, 'com_remository', $file->filetitle);
echo '</div>';
}
Полезные ссылки:
|