Легко получилосб просто добавить кнопочку в панель кнопок в постингах и в панель профиля.
Захотелось большего.

Захотелось в профиле сделать не просто кнопочку, но текстовую ссылочку с названием дневника и количеством записей.
Навроде того как сделано с фотоальбомом:
Код: Выделить всё
function pcp_output_gallery($field_name, $view_userdata, $map_name='')
{
global $board_config, $phpbb_root_path, $phpEx, $lang, $images, $userdata;
global $values_list, $tables_linked, $classes_fields, $user_maps, $user_fields;
global $db, $album_config;
include_once($phpbb_root_path . 'album_mod/album_functions.'.$phpEx);
$txt = '';
$img = '';
$res = '';
if ( $view_userdata['user_id'] != ANONYMOUS )
{
//fill Album_config
$sql = "SELECT *
FROM ". ALBUM_CONFIG_TABLE;
if(!$result = $db->sql_query($sql))
{
message_die(GENERAL_ERROR, "Could not query Album config information", "", __LINE__, __FILE__, $sql);
}
while( $row = $db->sql_fetchrow($result) )
{
$album_config_name = $row['config_name'];
$album_config_value = $row['config_value'];
$album_config[$album_config_name] = $album_config_value;
}
// end fill album_config
// check if the user is allowed to see personal gallerys
$personal_gallery_access = personal_gallery_access(1,0);
if( $personal_gallery_access['view'] == 0 )
{
if (!$userdata['session_logged_in'])
{
return $res;
}
}
else
{
$sql = 'SELECT * FROM ' . ALBUM_CAT_TABLE . ' AS c, ' . ALBUM_TABLE . ' AS p WHERE c.cat_user_id = ' . $view_userdata['user_id'] .' AND p.pic_cat_id = c.cat_id';
if ( !$result = $db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not read album table', '', __LINE__, __FILE__, $sql);
}
$number_gals = 0;
$number_gals = ($db->sql_numrows($result));
$is_gallery = ( $row = $db->sql_fetchrow($result) );
if ( $is_gallery )
{
$name_gal = $row['cat_title'];
$temp_url = append_sid("./album.$phpEx?user_id=" . $view_userdata['user_id']);
$txt = '<b><a href="' . $temp_url . '" title="' . $number_gals . $lang['gal_pic_in'] . $lang['gallery'] . '">' . $name_gal . '</a></b>';
$txt = $txt . '<br />[ ' . $number_gals . $lang['gal_pic'] . ']';
$img = '<a href="' . $temp_url . '"><img src="' . $images['icon_gallery'] . '" alt="' . $number_gals . $lang['gal_pic'] . '" title="' . $number_gals . $lang['gal_pic_in']. $lang['gallery'] . '" border="0" style="filter:alpha(opacity=65)" onMouseOver="this.filters.alpha.opacity=100" onMouseOut="this.filters.alpha.opacity=65"/></a>';
$res = pcp_output_format($field_name, $txt, $img, $map_name);
}
}
}
return $res;
}
Код: Выделить всё
function pcp_output_weblog($field_name, $view_userdata, $map_name='')
{
global $board_config, $phpbb_root_path, $phpEx, $lang, $images, $userdata;
global $values_list, $tables_linked, $classes_fields, $user_maps, $user_fields;
$txt = '';
$img = '';
$res = '';
if ( $view_userdata['user_id'] != ANONYMOUS )
{
$sql = 'SELECT * FROM ' . WEBLOGS_TABLE . ' WHERE weblog_id = ' . $view_userdata['user_weblog'];
if ( !$result = $db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not query blog information', '', __LINE__, __FILE__, $sql);
}
$is_weblog = ( $row = $db->sql_fetchrow($result) );
if ( $is_weblog )
{
$temp_url = append_sid("./weblog.$phpEx?w=" . $view_userdata['user_weblog']);
$img = '<a href="' . $temp_url . '" title="' . $row['weblog_desc'] . '"><img src="' . $images['icon_weblog'] . 'border="0" style="filter:alpha(opacity=65)" onMouseOver="this.filters.alpha.opacity=100" onMouseOut="this.filters.alpha.opacity=65" /></a>';
$txt = '<a href="' . $temp_url . ' title="' . $row['weblog_desc'] . '">' . $row['weblog_name'] . '</a>';
$res = pcp_output_format($field_name, $txt, $img, $map_name);
}
}
return $res;

Если коментарю код sql-запроса - панелька выводится, но естественно без данных о дневнике...
Кто-нибудь занимался с PCP, может мне подсказать что я делаю не так?
Добавлено спустя 22 минуты 26 секунд:
Всё!! Сама нашла!
Оказывается я после
Код: Выделить всё
global $values_list, $tables_linked, $classes_fields, $user_maps, $user_fields;
Код: Выделить всё
global $db;
