По просьбам трудящихся выкладываю хак CB аватар для Datso 1.8.9
CB 1.2,1.3,1.4 подойдет.
В файле administrator/components/com_datsogallery/config.datsogallery.php
Найти
После вставить
Затем в файле components/com_datsogallery/datso.functions.php
Перед строками
function batchUpload (){
global $mainframe;
Добавить
function getCBAvatar($cbuser) {
$db =& JFactory::getDBO();
$db->setQuery("SELECT avatar FROM #__comprofiler WHERE user_id = ".(int) $cbuser);
$avatar = $db->loadResult();
if($avatar){
return "<img src='".JURI::root().'images/comprofiler/tn'.$avatar."' class='dg-avatar' alt='Avatar' />";
} else {
return "<img src='".JURI::root()."components/com_comprofiler/images/english/tnnophoto.jpg' class='dg-avatar' alt='Avatar' />";
}
}
Далее в файле components/com_datsogallery/includes/datso.viewdetails.php
Найти
if($ad_js) {
$savatar = ($ad_js)? '<a href="'.JRoute::_('index.php?option=com_community&view=profile&userid='.$row->id)
.'">'.getjsAvatar($row->id).'</a>' : getGravatar($row->email);
} else {
$savatar = ($ad_kunena)? '<a href="'.JRoute::_('index.php?option=com_comprofiler&task=userProfile&user='.$row->id)
.'">'.getKunenaAvatar($row->id).'</a>' : getGravatar($row->email);
}
Заменить на
if($ad_js) {
$savatar = ($ad_js)? '<a href="'.JRoute::_('index.php?option=com_community&view=profile&userid='.$row->id)
.'">'.getjsAvatar($row->id).'</a>' : getGravatar($row->email);
} elseif($ad_cb) {
$savatar = ($ad_cb)? '<a href="'.JRoute::_('index.php?option=com_comprofiler&task=userProfile&user='.$row->id)
.'">'.getCBAvatar($row->id).'</a>' : getCBAvatar($user->email);
} else {
$savatar = ($ad_kunena)? '<a href="'.JRoute::_('index.php?option=com_kunena&func=profile&userid='.$row->id)
.'">'.getKunenaAvatar($row->id).'</a>' : getKunenaAvatar($row->email);
}
Найти
if($ad_js) {
$avatar = ($user_id)? '<a href="'.JRoute::_('index.php?option=com_community&view=profile&userid='.$user_id).'">'.getUserAvatar($user_id).'</a>' : getUserAvatar($row->cmtid);
} elseif($ad_kunena) {
$avatar = ($user_id)? '<a href="'.JRoute::_('index.php?option=com_kunena&func=profile&userid='.$user_id).'">'.getKunenaAvatar($user_id).'</a>' : getKunenaAvatar($row->cmtid);
} else {
$avatar = ($user_id)? getUserAvatar($user_id) : getUserAvatar($row->cmtid);
}
Заменить на
if($ad_js) {
$avatar = ($user_id)? '<a href="'.JRoute::_('index.php?option=com_community&view=profile&userid='.$user_id).'">'.getUserAvatar($user_id).'</a>' : getUserAvatar($row->cmtid);
} elseif($ad_kunena) {
$avatar = ($user_id)? '<a href="'.JRoute::_('index.php?option=com_kunena&func=profile&userid='.$user_id).'">'.getKunenaAvatar($user_id).'</a>' : getKunenaAvatar($row->cmtid);
} elseif($ad_cb) {
$avatar = ($user_id)? '<a href="'.JRoute::_('index.php?option=com_comprofiler&task=userProfile&user='.$user_id).'">'.getCBAvatar($user_id).'</a>' : getCBAvatar($row->cmtid);
} else {
$avatar = ($user_id)? getUserAvatar($user_id) : getUserAvatar($row->cmtid);
}
Найти
if($ad_js) {
$avatar = ($user->id)? '<a href="'.JRoute::_('index.php?option=com_community&view=profile&userid='.$user->id)
.'">'.getUserAvatar($user->id).'</a>' : getGravatar($user->email);
} elseif($ad_kunena) {
$avatar = ($user->id)? '<a href="'.JRoute::_('index.php?option=com_kunena&func=profile&userid='.$user->id)
.'">'.getKunenaAvatar($user->id).'</a>' : getKunenaAvatar($user->email);
} else {
$avatar = getGravatar($user->email);
}
Заменить на
if($ad_js) {
$avatar = ($user->id)? '<a href="'.JRoute::_('index.php?option=com_community&view=profile&userid='.$user->id)
.'">'.getUserAvatar($user->id).'</a>' : getGravatar($user->email);
} elseif($ad_kunena) {
$avatar = ($user->id)? '<a href="'.JRoute::_('index.php?option=com_kunena&func=profile&userid='.$user->id)
.'">'.getKunenaAvatar($user->id).'</a>' : getKunenaAvatar($user->email);
} elseif($ad_cb) {
$avatar = ($user->id)? '<a href="'.JRoute::_('index.php?option=com_comprofiler&task=userProfile&user='.$user->id).
'">'.getCBAvatar($user->id).'</a>' : getCBAvatar($user->email);
} else {
$avatar = getGravatar($user->email);
}
Ну и конечно же вспомнил про конфиг и его прелести.
В файле administrator/components/com_datsogallery/admin.datsogallery.php
Найти
$ad_kunena = 0;
}
?>
<tr>
<td><strong><?php echo _DG_NAME_OR_USER; ?>:</strong></td>
<td>
Заменить на это
$ad_kunena = 0;
}
$db->setQuery("SELECT id FROM `#__components` WHERE `option` = 'com_comprofiler' AND `parent` = 0 AND `enabled` = 1");
$result = $db->loadResult();
if ($result) {
?>
<tr>
<td><strong><?php echo _DG_CB_AVATAR; ?>:</strong></td>
<td>
<?php
$yn_ad_cb = JHTML::_('select.genericlist', $yesno, 'ad_cb', 'class="inputbox"', 'value', 'text', $ad_cb);
echo $yn_ad_cb;
?>
</td>
<td><?php echo dgTip(_DG_CB_AVATAR_I); ?></td>
</tr>
<?php
}
else {
$ad_cb = 0;
}
?>
<tr>
<td><strong><?php echo _DG_NAME_OR_USER; ?>:</strong></td>
<td>
И после строки
$config .= "\$ad_js = \"".JRequest::getVar('ad_js', 0, 'post', 'int')."\";\n";
Вставить
$config .= "\$ad_cb = \"".JRequest::getVar('ad_cb', 0, 'post', 'int')."\";\n";
Ну и в конце языкового файла(administrator/components/com_datsogallery/language/*.php) добавить
Для russian.php конец файла должен выглядеть так
DEFINE('_DG_CB_AVATAR','Аватар CommunityBuilder');
DEFINE('_DG_CB_AVATAR_I','Использовать Аватар из профиля CommunityBuilder <p><font color=OliveDrab><strong><em>Примечание:</em></strong></font> Если отключить параметр <strong>Аватар CommunityBuilder</strong>, в качестве Аватар по умолчанию будет использоваться служба <strong>Граватар</strong></p>');
?>
Для english.php конец файла должен выглядеть так
DEFINE('_DG_CB_AVATAR','Avatar CommunityBuilder');
DEFINE('_DG_CB_AVATAR_I','Use Avatar from the profile CommunityBuilder <p><font color=OliveDrab><strong><em>Note:</em></strong></font> If you disable the <strong>Avatar CommunityBuilder</strong>, Avatar by default will be used from service <strong>Gravatar</strong></p>');
?>
Спасибо за внимание
