На счет комментариев так:
0. Делаем бэкап изменяемых файлов.
1. Открываем profile.tpl и
между {* END PROFILE TABS AND FIELDS *} и {* SHOW RECENT ACTIVITY *} добавляем:
PHP:
{* BEGIN COMMENTS IN PROFILE *}
{if $allowed_to_comment != 0 || $total_comments != 0}
{* SHOW COMMENT TAB *}
<!-- <div id='profile_comments'{if $v != 'comments'} style='display: none;'{/if}> -->
<div id='profile_comments'>
{* COMMENTS *}
<div id="profile_{$owner->user_info.user_id}_postcomment"></div>
<div id="profile_{$owner->user_info.user_id}_comments" style='margin-left: auto; margin-right: auto;'></div>
{lang_javascript ids=39,155,175,182,183,184,185,187,784,787,829,830,831,832,833,834,835,854,856,891,1025,1026,1032,1034,1071}
{literal}
<style type='text/css'>
div.comment_headline {
font-size: 13px;
margin-bottom: 7px;
font-weight: bold;
padding: 0px;
border: none;
background: none;
color: #555555;
}
</style>
{/literal}
<script type="text/javascript">
SocialEngine.ProfileComments = new SocialEngineAPI.Comments({ldelim}
'canComment' : {if $allowed_to_comment}true{else}false{/if},
'commentHTML' : '{$setting.setting_comment_html|replace:",":", "}',
'commentCode' : {if $setting.setting_comment_code}true{else}false{/if},
'type' : 'profile',
'typeIdentifier' : 'user_id',
'typeID' : {$owner->user_info.user_id},
'typeTab' : 'users',
'typeCol' : 'user',
'initialTotal' : {$total_comments|default:0},
'paginate' : true,
'cpp' : 10,
'commentLinks' : {literal}{'reply' : true, 'walltowall' : true}{/literal}
{rdelim});
SocialEngine.RegisterModule(SocialEngine.ProfileComments);
// Backwards
function addComment(is_error, comment_body, comment_date)
{ldelim}
SocialEngine.ProfileComments.addComment(is_error, comment_body, comment_date);
{rdelim}
function getComments(direction)
{ldelim}
SocialEngine.ProfileComments.getComments(direction);
{rdelim}
</script>
</div>
{/if}
{* END COMMENTS IN PROFILE *}
Отлично, первая часть закончена. Комментарии теперь отображаются в профиле, но есть косяки: отображается вкладка "Комментарии", при переходе в которую, мы видим пустоту а при возврате из нее, на вкладку "Профиль", — ...тоже пусто, камментов нет. А так же функция "ответить" работает через одно место. Точнее, она вообще не работает. Как решаем? Очень просто:
2. Открываем (по идее, команды "закрыть" еще не было, так шо он у нас еще открыт ) наш замученный profile.tpl и находим там:
PHP:
{if $allowed_to_comment != 0 || $total_comments != 0}<td valign='bottom'><table cellpadding='0' cellspacing='0'><td class='profile_tab{if $v == 'comments'}2{/if}' id='profile_tabs_comments' onmouseup="this.blur()"><a href='javascript:void(0);' onmousedown="loadProfileTab('comments');getComments(1);" onmouseup="this.blur()">{lang_print id=854}</a></td></tr></table></td>{/if}
...удаляем его и забываем как страшный сон.
2.1. Находим в нем же (в файле) и удаляем (я специально такой порядок действий сделал)) бугага))) ) это:
PHP:
{* BEGIN COMMENTS TAB *}
{if $allowed_to_comment != 0 || $total_comments != 0}
{* SHOW COMMENT TAB *}
{* COMMENTS *}
<div id="profile_{$owner->user_info.user_id}_postcomment"></div>
<div id="profile_{$owner->user_info.user_id}_comments" style='margin-left: auto; margin-right: auto;'></div>
{lang_javascript ids=39,155,175,182,183,184,185,187,784,787,829,830,831,832,833,834,835,854,856,891,1025,1026,1032,1034,1071}
{literal}
<style type='text/css'>
div.comment_headline {
font-size: 10pt;
margin-bottom: 7px;
font-weight: bold;
padding: 0px;
border: none;
background: none;
color: #555555;
}
</style>
{/literal}
<script type="text/javascript">
SocialEngine.ProfileComments = new SocialEngineAPI.Comments({ldelim}
'canComment' : {if $allowed_to_comment}true{else}false{/if},
'commentHTML' : '{$setting.setting_comment_html|replace:",":", "}',
'commentCode' : {if $setting.setting_comment_code}true{else}false{/if},
'type' : 'profile',
'typeIdentifier' : 'user_id',
'typeID' : {$owner->user_info.user_id},
'typeTab' : 'users',
'typeCol' : 'user',
'initialTotal' : {$total_comments|default:0},
'paginate' : true,
'cpp' : 10,
'commentLinks' : {literal}{'reply' : true, 'walltowall' : true}{/literal}
{rdelim});
SocialEngine.RegisterModule(SocialEngine.ProfileComments);
// Backwards
function addComment(is_error, comment_body, comment_date)
{ldelim}
SocialEngine.ProfileComments.addComment(is_error, comment_body, comment_date);
{rdelim}
function getComments(direction)
{ldelim}
SocialEngine.ProfileComments.getComments(direction);
{rdelim}
</script>
{/if}
{* END COMMENTS *}
3. Открываем profile.php, находим:
PHP:
// VALIDATE VIEW VAR
if($v != "profile" && $v != "friends" && $v != "comments" && !array_key_exists($v, $global_plugins)) { $v = "profile"; }
и удаляем оттуда:
Теперь все это дело сохраняем и тестим.
У меня все работает в Опере, Файрфоксе и Хроме последних версий. Никаких "как тока напишут более восьми комментарием, то они не показываются (((" — нет. Так же я не обнаружил пока (UPD: Опера шалит. Логика пока не понятна) ошибок с порядком вывода комментариев, т.е. новые камменты у меня выводятся первыми (завтра еще с рабочего компа проверю).
Количество комментариев, выводимых на странице, ограничиваем в 'cpp' : 10, в первом коде (цифра — это количество комментариев, выводимых на одну страницу)
Спасибо за внимание