Форум русской поддержки Joomla!® CMS
09.12.2016, 15:41:57 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

K2 и CB

 (Прочитано 6385 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Aspik
Завсегдатай
*****

Репутация: +63/-2
Offline Offline

Пол: Мужской
Сообщений: 546

В личку не писать, не отвечу.


« : 19.10.2009, 16:01:58 »

K2 и CB как заставить работать вместе (чтобы пользователи К2 были пользователями CB, чтобы профиль К2 было профиль СВ ! ! !)? может есть какойнить плагин ?
Записан
mikenike
Новичок
*

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 6


« Ответ #1 : 30.10.2009, 21:51:03 »

Очень просто, нужно в списке пользователей К2, вручную каждому назначить группу с необходимыми правами доступа, можно создать собственные группы с нужными свойствами, просто по умолчанию пользователям из Joomla (соответственно и из CB) группы К2 не назначены вообще...
(как вариант, создать группы с нужными правами, назначить хотя бы одному участнику, дальнейший процесс для скорости провести в соответствующей таблице базы данных просто скопировав значения)  drink
Записан
Diff
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 30


« Ответ #2 : 23.08.2011, 16:37:34 »

А как бы так сделать, чтобы пользователь из своего профиля CB мог добавлять статьи в К2??
Записан
xkn
Осваиваюсь на форуме
***

Репутация: +3/-0
Offline Offline

Сообщений: 36


« Ответ #3 : 31.08.2011, 15:33:18 »

А как бы так сделать, чтобы пользователь из своего профиля CB мог добавлять статьи в К2??
Легко...CB-> менеджер вкладок,-> Меню, Название меню-> по желанию,Название первого подменю-> Добавить статью,ниже в поле  URL первого подменю вставить : index.php?option=com_k2&view=item&task=add
Очистить кэш Joomla и sh404SEF исли стоит............
Пример ТУТ (после регистрации)
« Последнее редактирование: 31.08.2011, 15:37:59 от xkn » Записан
Diff
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 30


« Ответ #4 : 31.08.2011, 21:34:38 »

xkn

ВАх)) ну за такое и + дать не жалко;) спасибо. Отпишусь о результатах, несмотря на то, что почти успел отказать от этой идеи...
Записан
Diff
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 30


« Ответ #5 : 01.09.2011, 10:08:06 »

Попробовал, в общем-то работает, снова спасибо;) Я делал нечто подобное, правда, по другому подошел к этому - опубликовал меню юзера (через менеджер меню), и к одному из пунктов меню привязал ссылку на форму добавления статьи k2 index.php?option=com_k2&view=item&task=add

Остался открытым еще один вопрос - как сделать так, чтобы во вкладке Статьи были виды опубликованные материалы К2?
Записан
xkn
Осваиваюсь на форуме
***

Репутация: +3/-0
Offline Offline

Сообщений: 36


« Ответ #6 : 02.09.2011, 16:16:40 »

Остался открытым еще один вопрос - как сделать так, чтобы во вкладке Статьи были виды опубликованные материалы К2?

Легко  ...........
Немножко переписал стандартный плагин CB (Content Author).
Описание что сделать:
Админка -> CB -> менеджер вкладок: Опубликовать статьи ( плагин Content Author).
Найти файл (cb.authortab.php)  который живёт по адресу

:components/com_comprofiler/plugin/user/plug_cbmamboauthortab/cb.authortab.php
и заменить полностью, или сравнить и частично.
Код:
<?php
/**
* Author Tab Class for handling the CB tab api
* @version $Id: cb.authortab.php 1493 2011-07-16 15:38:31Z beat $
* @package Community Builder
* @subpackage cb.authortab.php
* @author JoomlaJoe
* @copyright (C) JoomlaJoe and Beat, www.joomlapolis.com
* @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU/GPL version 2
*/

// ensure this file is being included by a parent file
if ( ! ( defined( '_VALID_CB' ) || defined( '_JEXEC' ) || defined( '_VALID_MOS' ) ) ) { die( 'Direct Access to this location is not allowed.' ); }


class getAuthorTab extends cbTabHandler {

function getAuthorTab() {
$this->cbTabHandler();
}

function getDisplayTab($tab,$user,$ui) {
global $_CB_framework, $_CB_database, $mainframe;

$jVer = checkJversion();

$showHits = $_CB_framework->getCfg( 'hits' );
$showRating = $_CB_framework->getCfg( 'vote' );

$return = '';

$now = date( 'Y-m-d H:i:s', $_CB_framework->now() + $_CB_framework->getCfg( 'offset' ) * 60 * 60 );
$query = "SELECT a.id, a.catid, a.title, a.hits,a.created, ROUND( r.rating_sum / r.rating_count ) AS rating,r.rating_count";
if ( $jVer >= 1 ) {
$query .= ', CASE WHEN CHAR_LENGTH(a.alias) THEN CONCAT_WS(\':\', a.id, a.alias) ELSE a.id END as slug,'
. ' CASE WHEN CHAR_LENGTH(cc.alias) THEN CONCAT_WS(":", cc.id, cc.alias) ELSE cc.id END as catslug';
}
$query .= "\n FROM #__k2_items AS a"
. "\n LEFT JOIN #__k2_rating AS r ON r.itemID=a.id";
if ( $jVer >= 1 ) {
$query .= "\n LEFT JOIN #__k2_categories AS cc ON cc.id = a.catid";
}
$query .= "\n WHERE a.created_by=". (int) $user->id .""
. "\n AND a.published  = 1 "
. "\n AND (publish_up = '0000-00-00 00:00:00' OR publish_up <= '$now')"
. "\n AND (publish_down = '0000-00-00 00:00:00' OR publish_down >= '$now')"
. "\n AND a.access <= " . (int) $_CB_framework->myCmsGid()
. "\n ORDER BY a.created DESC"
;
$_CB_database->setQuery( $query );
//print $_CB_database->getQuery();
$items = $_CB_database->loadObjectList();
if(!count($items)>0) {
$return .= "<br /><br /><div class=\"cbNoArticles\" style=\"width:95%;\">";
$return .= _UE_NOARTICLES;
$return .= "</div>";
return $return;
}

$return .= $this->_writeTabDescription( $tab, $user );

$return .= "<table cellpadding=\"5\" cellspacing=\"0\" border=\"0\" width=\"95%\">";
$return .= "<tr class=\"sectiontableheader\">";
$return .= "<th>"._UE_ARTICLEDATE."</th>";
$return .= "<th>"._UE_ARTICLETITLE."</th>";
if( $showHits ) $return .= "<th>"._UE_ARTICLEHITS."</th>";
if( $showRating ) $return .= "<th>"._UE_ARTICLERATING."</th>";
$return .= "</tr>";
$i=1;
$hits="";
$rating="";
foreach($items AS $item) {
        if ( isset( $mainframe ) && is_callable( array( $mainframe, "getItemid" ) ) ) {
            $itemid = $mainframe->getItemid( $item->id );
        } elseif (is_callable( "JApplicationHelper::getItemid" ) ) {
        $itemid = JApplicationHelper::getItemid( $item->id );
        } else {
        $itemid = null;
        }
        $itemidtxt = $itemid ? "&amp;Itemid=" . (int) $itemid : "";
$i= ($i==1)? 2 : 1;
if (is_callable(array("mosAdminMenus","ImageCheck"))) {
$starImageOn = mosAdminMenus::ImageCheck( 'rating_star.png', '/images/M_images/' );
$starImageOff = mosAdminMenus::ImageCheck( 'rating_star_blank.png', '/images/M_images/' );
} else { // Mambo 4.5.0:
$starImageOn  = '<img src="'.$_CB_framework->getCfg( 'live_site' ).'/images/M_images/rating_star.png" alt="" align="middle" style="border:0px;" />';
$starImageOff = '<img src="'.$_CB_framework->getCfg( 'live_site' ).'/images/M_images/rating_star_blank.png" alt="" align="middle" style="border:0px;" />';
}
$img="";
if( $showRating ) {
for ($j=0; $j < $item->rating; $j++) {
$img .= $starImageOn;
}
for ($j=$item->rating; $j < 5; $j++) {
$img .= $starImageOff;
}

$rating = '<td><span class="content_rating">';
$rating .= $img . '&nbsp;/&nbsp;';
$rating .= intval( $item->rating_count );
$rating .= "</span></td>\n";
}
if ( $showHits ) {
$hits = "<td>".$item->hits."</td>";
}
if ( $jVer == 2 ) {
require_once( $_CB_framework->getCfg( 'absolute_path' ). '/components/com_content/helpers/route.php' );
$url = cbSef( ContentHelperRoute::getArticleRoute( $item->slug, $item->catid ) );
} elseif ( $jVer == 1 ) {
$url = cbSef( 'index.php?option=com_k2&view=item&id=' . (int) $item->id . $itemidtxt );
} else {
$url = cbSef( 'index.php?option=com_k2&view=item&id=' . (int) $item->id . $itemidtxt );
}

$return .= "<tr class=\"sectiontableentry$i\"><td>".cbFormatDate( $item->created )."</td><td><a href=\""
. $url . "\">"
.$item->title."</a></td>".$hits.$rating."</tr>\n";

}
$return .= "</table>";

return $return;
}
} // end class getAuthorTab.
?>

Не забываем чистить КЭШ.

И будет тебе счастье.........
Пример как всегда ЗДЕСЬ
« Последнее редактирование: 05.09.2011, 12:43:23 от xkn » Записан
pasha4ur
Осваиваюсь на форуме
***

Репутация: +0/-1
Offline Offline

Пол: Мужской
Сообщений: 82


« Ответ #7 : 17.10.2011, 20:35:57 »

Всем привет


Не имел дел с этими компонентами. Почитал, что CB дает возможность создать социальные профили и т д, а K2 расширяет возможности по редактированию.


Буду скачивать себе на комп свой сайт ( http://pasha4ur.org.ua/ 1,5) и проводить эксперименты.

С какими проблемами я могу столкнуться?

Как я понял, каждый из этих компонентов использует свою логин форму? Как объединить авторизацию, чтобы пользователь CB мог писать статьи используя K2

П.С. Не программист  Roll Eyes
Записан
SDKiller
Dev Team
******

Репутация: +325/-5
Offline Offline

Пол: Мужской
Сообщений: 2749


...ergo sum


« Ответ #8 : 17.10.2011, 22:21:21 »

Вы определитесь сначала что вам нужно.

"Профиль" вы и в К2 можете создать, и даже в J 1.7
Записан
pasha4ur
Осваиваюсь на форуме
***

Репутация: +0/-1
Offline Offline

Пол: Мужской
Сообщений: 82


« Ответ #9 : 17.10.2011, 22:45:01 »

Вы определитесь сначала что вам нужно.

"Профиль" вы и в К2 можете создать, и даже в J 1.7

На Joomla 1.7 страшно переходить, потому что:
1. могу потерять рейтинг в поисковиках
2. нет некоторых дополнений под нее (Jcomments, Xtypo)
3. потеряю комментарии к статьям и т д


От  CB хотелось взять функционал соц сети. Пока не ставил K2 и CB. Качаю по ним статьи.

Пока я понял что, то, что я хочу реализовано только в платных расширениях к СВ Sad : http://www.joomlapolis.com/forum/198-cb/154010-----?limit=6&start=6#179681
Записан
dedleo
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 10


« Ответ #10 : 29.11.2011, 12:20:36 »

На Joomla 1.7 страшно переходить, потому что:
1. могу потерять рейтинг в поисковиках
2. нет некоторых дополнений под нее (Jcomments, Xtypo)
3. потеряю комментарии к статьям и т д


От  CB хотелось взять функционал соц сети. Пока не ставил K2 и CB. Качаю по ним статьи.

Пока я понял что, то, что я хочу реализовано только в платных расширениях к СВ Sad : http://www.joomlapolis.com/forum/198-cb/154010-----?limit=6&start=6#179681


Ребята Привет ! Вопрос!
В профиле пользователя в CB есть закладка СТАТЬИ
Но в эти статьи попадает материал JOOMLA
Мне надо , чтобы туда попадали материалы пользователя из K2
Помогите. Спасибо за помощь

Записан
SDKiller
Dev Team
******

Репутация: +325/-5
Offline Offline

Пол: Мужской
Сообщений: 2749


...ergo sum


« Ответ #11 : 29.11.2011, 12:23:47 »

Надо переделывать плагин СВ, чтобы выбирал из К2
Не знаю, может и родной существует для него
Записан
oazis
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Сообщений: 97


« Ответ #12 : 04.12.2011, 14:41:31 »

Ребята Привет ! Вопрос!
В профиле пользователя в CB есть закладка СТАТЬИ
Но в эти статьи попадает материал JOOMLA
Мне надо , чтобы туда попадали материалы пользователя из K2
Помогите. Спасибо за помощь
Вопрос очень актуальный! Будет здорово если кто-то поможет.  Smiley
Записан
xkn
Осваиваюсь на форуме
***

Репутация: +3/-0
Offline Offline

Сообщений: 36


« Ответ #13 : 14.12.2011, 15:37:50 »

Вопрос очень актуальный! Будет здорово если кто-то поможет.  Smiley
А на 5 постов выше заглянуть нельзя ? Если лень нажми СЮДА
Записан
androkl
Гость
« Ответ #14 : 02.02.2012, 19:30:48 »

Привет всем!

Использую k2 v2.5.3 и CommunityBuilder 1.7.1.
Подскажите, пожалуйста, как сделать так, чтобы форма регистрации нового пользователя бралась из CB?

Заранее спасибо за ответ!
Записан
SDKiller
Dev Team
******

Репутация: +325/-5
Offline Offline

Пол: Мужской
Сообщений: 2749


...ergo sum


« Ответ #15 : 03.02.2012, 03:30:59 »

Для начала отключите профили пользователей в общих настройках К2.

В настройках СВ где-то включалась регистрация и авторизация, где точно уже забыл, не пользовался с версии 1.3
Записан
axel999
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 16


« Ответ #16 : 03.02.2012, 15:51:13 »

Всем всем, кто давал решения в этой ветке большое, человеческое Спасибо! Все использовал, помогло, доволен как слон!  Grin
Записан
OlgaTET
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 4


« Ответ #17 : 27.04.2012, 23:49:32 »

И я ОЧЕНЬ довольна! Большое спасибо!
Записан
ratisar
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 24



« Ответ #18 : 25.05.2012, 18:15:15 »

Сделал все как написано, сама вкладка работает, а вот ссылки не верны. Выдает ссылку типа http://erigras.ru/index.php/content/article?id=295:erigras-rift-10-level а нужно http://erigras.ru/index.php/news/item/295-erigras-rift-10-level побывал сам поправить не получается
Записан
vbzaxa
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 46


« Ответ #19 : 04.03.2014, 19:14:53 »

Легко  ...........
Немножко переписал стандартный плагин CB (Content Author).
Описание что сделать:
Админка -> CB -> менеджер вкладок: Опубликовать статьи ( плагин Content Author).
Найти файл (cb.authortab.php)  который живёт по адресу

:components/com_comprofiler/plugin/user/plug_cbmamboauthortab/cb.authortab.php
и заменить полностью, или сравнить и частично.
Код:
<?php
/**
* Author Tab Class for handling the CB tab api
* @version $Id: cb.authortab.php 1493 2011-07-16 15:38:31Z beat $
* @package CommunityBuilder
* @subpackage cb.authortab.php
* @author JoomlaJoe
* @copyright (C) JoomlaJoe and Beat, www.joomlapolis.com
* @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU/GPL version 2
*/

// ensure this file is being included by a parent file
if ( ! ( defined( '_VALID_CB' ) || defined( '_JEXEC' ) || defined( '_VALID_MOS' ) ) ) { die( 'Direct Access to this location is not allowed.' ); }


class getAuthorTab extends cbTabHandler {

function getAuthorTab() {
$this->cbTabHandler();
}

function getDisplayTab($tab,$user,$ui) {
global $_CB_framework, $_CB_database, $mainframe;

$jVer = checkJversion();

$showHits = $_CB_framework->getCfg( 'hits' );
$showRating = $_CB_framework->getCfg( 'vote' );

$return = '';

$now = date( 'Y-m-d H:i:s', $_CB_framework->now() + $_CB_framework->getCfg( 'offset' ) * 60 * 60 );
$query = "SELECT a.id, a.catid, a.title, a.hits,a.created, ROUND( r.rating_sum / r.rating_count ) AS rating,r.rating_count";
if ( $jVer >= 1 ) {
$query .= ', CASE WHEN CHAR_LENGTH(a.alias) THEN CONCAT_WS(\':\', a.id, a.alias) ELSE a.id END as slug,'
. ' CASE WHEN CHAR_LENGTH(cc.alias) THEN CONCAT_WS(":", cc.id, cc.alias) ELSE cc.id END as catslug';
}
$query .= "\n FROM #__k2_items AS a"
. "\n LEFT JOIN #__k2_rating AS r ON r.itemID=a.id";
if ( $jVer >= 1 ) {
$query .= "\n LEFT JOIN #__k2_categories AS cc ON cc.id = a.catid";
}
$query .= "\n WHERE a.created_by=". (int) $user->id .""
. "\n AND a.published  = 1 "
. "\n AND (publish_up = '0000-00-00 00:00:00' OR publish_up <= '$now')"
. "\n AND (publish_down = '0000-00-00 00:00:00' OR publish_down >= '$now')"
. "\n AND a.access <= " . (int) $_CB_framework->myCmsGid()
. "\n ORDER BY a.created DESC"
;
$_CB_database->setQuery( $query );
//print $_CB_database->getQuery();
$items = $_CB_database->loadObjectList();
if(!count($items)>0) {
$return .= "<br /><br /><div class=\"cbNoArticles\" style=\"width:95%;\">";
$return .= _UE_NOARTICLES;
$return .= "</div>";
return $return;
}

$return .= $this->_writeTabDescription( $tab, $user );

$return .= "<table cellpadding=\"5\" cellspacing=\"0\" border=\"0\" width=\"95%\">";
$return .= "<tr class=\"sectiontableheader\">";
$return .= "<th>"._UE_ARTICLEDATE."</th>";
$return .= "<th>"._UE_ARTICLETITLE."</th>";
if( $showHits ) $return .= "<th>"._UE_ARTICLEHITS."</th>";
if( $showRating ) $return .= "<th>"._UE_ARTICLERATING."</th>";
$return .= "</tr>";
$i=1;
$hits="";
$rating="";
foreach($items AS $item) {
        if ( isset( $mainframe ) && is_callable( array( $mainframe, "getItemid" ) ) ) {
            $itemid = $mainframe->getItemid( $item->id );
        } elseif (is_callable( "JApplicationHelper::getItemid" ) ) {
        $itemid = JApplicationHelper::getItemid( $item->id );
        } else {
        $itemid = null;
        }
        $itemidtxt = $itemid ? "&amp;Itemid=" . (int) $itemid : "";
$i= ($i==1)? 2 : 1;
if (is_callable(array("mosAdminMenus","ImageCheck"))) {
$starImageOn = mosAdminMenus::ImageCheck( 'rating_star.png', '/images/M_images/' );
$starImageOff = mosAdminMenus::ImageCheck( 'rating_star_blank.png', '/images/M_images/' );
} else { // Mambo 4.5.0:
$starImageOn  = '<img src="'.$_CB_framework->getCfg( 'live_site' ).'/images/M_images/rating_star.png" alt="" align="middle" style="border:0px;" />';
$starImageOff = '<img src="'.$_CB_framework->getCfg( 'live_site' ).'/images/M_images/rating_star_blank.png" alt="" align="middle" style="border:0px;" />';
}
$img="";
if( $showRating ) {
for ($j=0; $j < $item->rating; $j++) {
$img .= $starImageOn;
}
for ($j=$item->rating; $j < 5; $j++) {
$img .= $starImageOff;
}

$rating = '<td><span class="content_rating">';
$rating .= $img . '&nbsp;/&nbsp;';
$rating .= intval( $item->rating_count );
$rating .= "</span></td>\n";
}
if ( $showHits ) {
$hits = "<td>".$item->hits."</td>";
}
if ( $jVer == 2 ) {
require_once( $_CB_framework->getCfg( 'absolute_path' ). '/components/com_content/helpers/route.php' );
$url = cbSef( ContentHelperRoute::getArticleRoute( $item->slug, $item->catid ) );
} elseif ( $jVer == 1 ) {
$url = cbSef( 'index.php?option=com_k2&view=item&id=' . (int) $item->id . $itemidtxt );
} else {
$url = cbSef( 'index.php?option=com_k2&view=item&id=' . (int) $item->id . $itemidtxt );
}

$return .= "<tr class=\"sectiontableentry$i\"><td>".cbFormatDate( $item->created )."</td><td><a href=\""
. $url . "\">"
.$item->title."</a></td>".$hits.$rating."</tr>\n";

}
$return .= "</table>";

return $return;
}
} // end class getAuthorTab.
?>

Не забываем чистить КЭШ.

И будет тебе счастье.........
Пример как всегда ЗДЕСЬ


Блин! То, что надо, спасибо, пригодилось очень очень!
Записан
vbzaxa
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 46


« Ответ #20 : 05.03.2014, 14:33:24 »

Все оказалось еще гораздо проще! Качаете плагин http://extensions.joomla.org/extensions/extension-specific/community-builder-extensions/community-builder-authors/9849 и всего делов с К2 работает идеально, настраивается как надо, плагин халявный! Вариант описанный сверху, лажа, выводить выводит, но при нажатии на статью к ней не перекидывает, пишет 404.
Записан
xkn
Осваиваюсь на форуме
***

Репутация: +3/-0
Offline Offline

Сообщений: 36


« Ответ #21 : 30.03.2014, 15:48:36 »

Сейчас, все ещё проще.
В настройках K2 появилась возможность интеграции с СВ
Тему можно закрывать......
Записан
zeur84
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 15



« Ответ #22 : 02.09.2014, 16:09:01 »

Все оказалось еще гораздо проще! Качаете плагин http://extensions.joomla.org/extensions/extension-specific/community-builder-extensions/community-builder-authors/9849 и всего делов с К2 работает идеально, настраивается как надо, плагин халявный! Вариант описанный сверху, лажа, выводить выводит, но при нажатии на статью к ней не перекидывает, пишет 404.
Сейчас, все ещё проще.
В настройках K2 появилась возможность интеграции с СВ
Тему можно закрывать......

Интеграция-то появилась, но вкладка "Статьи" по-прежнему пуста и никак не хочет показывать статьи автора без напильника).

Сайт с данным плагином закрыт, соответственно и плагин скачать мы не можем. Поэтому засучил рукава и принялся разбираться в коде, который предоставил нам любезный xkn.

Итак, задача была такова: при нажатии на ссылку статьи нас перекидывает собственно на саму статью, да еще и в новой вкладке. Методом тыка подправил код, тестируем,  вуаля: все работает! Вот собственно код, если кому надо (тестировал на Joomla 3.3.1, k2 2.6.8, CB 1.9.1)
Код:
<?php
/**
* Author Tab Class for handling the CB tab api
* @version $Id: cb.authortab.php 1800 2012-06-19 20:04:35Z beat $
* @package CommunityBuilder
* @subpackage cb.authortab.php
* @author JoomlaJoe
* @copyright (C) JoomlaJoe and Beat, www.joomlapolis.com
* @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU/GPL version 2
*/

// ensure this file is being included by a parent file
if ( ! ( defined( '_VALID_CB' ) || defined( '_JEXEC' ) || defined( '_VALID_MOS' ) ) ) { die( 'Direct Access to this location is not allowed.' ); }


class getAuthorTab extends cbTabHandler {

function getAuthorTab() {
$this->cbTabHandler();
}

function getDisplayTab($tab,$user,$ui) {
global $_CB_framework, $_CB_database, $mainframe;

$jVer = checkJversion();

$showHits = $_CB_framework->getCfg( 'hits' );
$showRating = $_CB_framework->getCfg( 'vote' );

$return = '';

if ( $jVer >= 2 ) {
$curTz = date_default_timezone_get();
date_default_timezone_set( 'UTC' );
$now = date( 'Y-m-d H:i:s' );
date_default_timezone_set( $curTz );
} else {
$now = date( 'Y-m-d H:i:s', $_CB_framework->now() + $_CB_framework->getCfg( 'offset' ) * 60 * 60 );
}

$query = "SELECT a.id, a.catid, a.title, a.hits,a.created, ROUND( r.rating_sum / r.rating_count ) AS rating,r.rating_count";
if ( $jVer >= 1 ) {
$query .= ', CASE WHEN CHAR_LENGTH(a.alias) THEN CONCAT_WS(\':\', a.id, a.alias) ELSE a.id END as slug,'
. ' CASE WHEN CHAR_LENGTH(cc.alias) THEN CONCAT_WS(":", cc.id, cc.alias) ELSE cc.id END as catslug';
}
$query .= "\n FROM #__k2_items AS a"
. "\n LEFT JOIN #__k2_rating AS r ON r.itemID=a.id";
if ( $jVer < 2 ) {
$query .= "\n INNER JOIN #__sections AS s ON s.id=a.sectionid AND s.title != 'Mamblog'";
}
if ( $jVer >= 1 ) {
$query .= "\n LEFT JOIN #__k2_categories AS cc ON cc.id = a.catid";
}
$query .= "\n WHERE a.created_by=". (int) $user->id .""
. "\n AND a.published = 1 "
. "\n AND (publish_up = '0000-00-00 00:00:00' OR publish_up <= '$now')"
. "\n AND (publish_down = '0000-00-00 00:00:00' OR publish_down >= '$now')"
. "\n AND a.access IN (" . implode( ',', CBuser::getMyInstance()->getAuthorisedViewLevelsIds( ( $jVer >= 2 ? false : true ) ) ). ')' . "\n ORDER BY a.created DESC"
;
$_CB_database->setQuery( $query );
//print $_CB_database->getQuery();
$items = $_CB_database->loadObjectList();
if(!count($items)>0) {
$return .= "<br /><br /><div class=\"cbNoArticles\" style=\"width:95%;\">";
$return .= _UE_NOARTICLES;
$return .= "</div>";
return $return;
}

$return .= $this->_writeTabDescription( $tab, $user );

$return .= "<table cellpadding=\"5\" cellspacing=\"0\" border=\"0\" width=\"95%\">";
$return .= "<tr class=\"sectiontableheader\">";
$return .= "<th>"._UE_ARTICLEDATE."</th>";
$return .= "<th>"._UE_ARTICLETITLE."</th>";
if( $showHits ) $return .= "<th>"._UE_ARTICLEHITS."</th>";
if( $showRating ) $return .= "<th>"._UE_ARTICLERATING."</th>";
$return .= "</tr>";
$i=1;
$hits="";
$rating="";
foreach($items AS $item) {
        if ( isset( $mainframe ) && is_callable( array( $mainframe, "getItemid" ) ) ) {
            $itemid = $mainframe->getItemid( $item->id );
        } elseif (is_callable( "JApplicationHelper::getItemid" ) ) {
        $itemid = JApplicationHelper::getItemid( $item->id );
        } else {
        $itemid = null;
        }
        $itemidtxt = $itemid ? "&amp;Itemid=" . (int) $itemid : "";
$i= ($i==1)? 2 : 1;
if (is_callable(array("mosAdminMenus","ImageCheck"))) {
$starImageOn = mosAdminMenus::ImageCheck( 'rating_star.png', '/images/M_images/' );
$starImageOff = mosAdminMenus::ImageCheck( 'rating_star_blank.png', '/images/M_images/' );
} else { // Mambo 4.5.0:
$starImageOn  = '<img src="'.$_CB_framework->getCfg( 'live_site' ).'/images/M_images/rating_star.png" alt="" align="middle" style="border:0px;" />';
$starImageOff = '<img src="'.$_CB_framework->getCfg( 'live_site' ).'/images/M_images/rating_star_blank.png" alt="" align="middle" style="border:0px;" />';
}
$img="";
if( $showRating ) {
for ($j=0; $j < $item->rating; $j++) {
$img .= $starImageOn;
}
for ($j=$item->rating; $j < 5; $j++) {
$img .= $starImageOff;
}

$rating = '<td><span class="content_rating">';
$rating .= $img . '&nbsp;/&nbsp;';
$rating .= intval( $item->rating_count );
$rating .= "</span></td>\n";
}
if ( $showHits ) {
$hits = "<td>".$item->hits."</td>";
}
if ( $jVer == 2 ) {
require_once( $_CB_framework->getCfg( 'absolute_path' ). '/components/com_k2/helpers/route.php' );
$url = cbSef( K2HelperRoute::getItemRoute( $item->slug, $item->catid ) );
if ( ! stristr( $url, 'Itemid' ) ) {
//$url = $_CB_framework->getCfg( 'live_site' ). '/' . $url;
} else {
$url = cbSef( $url );
}
} elseif ( $jVer == 1 ) {
$url = cbSef( 'index.php?option=com_k2&view=item&id=' . (int) $item->id . $itemidtxt );
} else {
$url = cbSef( 'index.php?option=com_k2&view=item&id=' . (int) $item->id . $itemidtxt );
}                       

$return .= "<tr class=\"sectiontableentry$i\"><td>".cbFormatDate( $item->created )."</td><td><a target='_blank' href=\""
. $url . "\">"
.$item->title."</a></td>".$hits.$rating."</tr>\n";

}
$return .= "</table>";

return $return;
}
} // end class getAuthorTab.
?>

Вам достаточно скопировать код и заменить полностью в файле components/com_comprofiler/plugin/user/plug_cbmamboauthortab/cb.authortab.php

P.S. В php новичек, если будут замечания, подправьте. Smiley И еще: было бы неплохо как-то ограничить количество выводимых статей (например, выводить только 10 последних или разбить список на страницы по 10 статей). Кто подскажет?
« Последнее редактирование: 02.09.2014, 16:14:44 от zeur84 » Записан
DmWagner
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 54


« Ответ #23 : 07.04.2015, 04:37:54 »

очень актуально на счет разбивки на страницы или ограниченное кол-во выводимых статей...
zeur84 Вы решили эту проблему? если да, поделитесь пожалуйста.
Спасибо!
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet