[quote="oxpus";p="69407"]Aber auch ohne das Portal können die User sie Links selber aussuchen und frei umsortieren...[/quote]
Hallo Oxpus,
dann muss ich wohl einen Einbaufehler gemacht haben, denn bei mir können die einzelnen Links von Usern
nicht deaktiviert werden und auch die Sortierung der Links durch User klappt
nicht.
Ich habe zwei Styles in meinem Forum und möchte Deinen MOD nur für eingeloggte User, die den Style mit der ID 4 verwenden, freigeben. Das habe ich jetzt so gelöst:
overall_header.tpl (für den Style 4):
<!-- BEGIN switch_user_logged_out -->
hier stehen die Links für Gäste
<!-- END switch_user_logged_out -->
<!-- BEGIN switch_user_logged_in -->
hier stehen ein paar feste Links für eingeloggte User
<!-- END switch_user_logged_in -->
<!-- BEGIN board_menu_link -->
hier sollten ein paar frei wählbare und beliebig sortierbare Links stehen
<!-- END board_menu_link -->
<!-- BEGIN switch_report_list -->
hier habe ich ein paar Links für Mods und den Admin untergebracht
<!-- END switch_report_list -->
Müsste soweit alles okay sein, oder?
Und dass Dein MOD nur für eingeloggte User mit Style 4 funktioniert, habe ich in der page_header.php so gelöst:
Code: Alles auswählen
// Create the personal board menu
if ( $userdata['session_logged_in'] && $userdata['user_style'] == 4 )
{
if ( $user_links_count <> 0 )
{
$sql = "SELECT bl.* FROM " . USER_BOARD_LINKS_TABLE . " ub, " . BOARD_LINKS_TABLE . " bl
WHERE ub.user_id = " . $userdata['user_id'] . "
AND ub.board_link = bl.bl_id
ORDER BY ub.board_sort";
if ( !$result = $db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not read board menu for user', '', __LINE__, __FILE__, $sql);
}
$user_links_count = $db->sql_numrows($result);
}
elseif ( $user_links_count == 0 )
{
$sql = "SELECT * FROM " . BOARD_LINKS_TABLE . "
$sqlwhereaccess
ORDER BY bl_dsort, bl_id";
if ( !$result = $db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not read board menu for user', '', __LINE__, __FILE__, $sql);
}
}
$sqlwhereaccess = get_bllink_access();
$bl_theme_path = get_bl_theme();
$board_config['bl_seperator_content'] = str_replace('SPACE', ' ', $board_config['bl_seperator_content']);
$i = 0;
while ( $row = $db->sql_fetchrow($result) )
{
$board_menu_link_name = $lang[$row['bl_name']];
$board_menu_break = ( $i % $board_config['bl_break'] ) ? '' : ( ( $i != 0 ) ? '<br />' : '');
$board_menu_seperator = ( $i % $board_config['bl_break'] ) ? ( ( $board_config['bl_seperator'] == 1 ) ? ' <img src="'.$board_config['bl_seperator_content'].'" border="0" alt="'.$board_menu_link_name.'" title="'.$board_menu_link_name.'" /> ' : $board_config['bl_seperator_content'] ) : '';
$board_menu_img = ( $row['bl_img'] != '' ) ? '<img src="'.$bl_theme_path.$row['bl_img'].'" border="0" alt="'.$board_menu_link_name.'" title="'.$board_menu_link_name.'" /> ' : '';
if (substr($row['bl_link'],0,10) != 'javascript')
{
$u_board_menu_links = append_sid($row['bl_link'].'.'.$phpEx.(($row['bl_parameter'] != '') ? '?'.$row['bl_parameter'] : ''));
}
else
{
$u_board_menu_links = $row['bl_link'];
}
$template->assign_block_vars('board_menu_link', array(
'BOARD_MENU_BREAK' => $board_menu_break,
'BOARD_MENU_SEPERATOR' => $board_menu_seperator,
'BOARD_MENU_IMG' => $board_menu_img,
'BOARD_MENU_LINK_NAME' => $board_menu_link_name,
'U_BOARD_MENU_LINKS' => $u_board_menu_links)
);
$i++;
}
} // Ende der Abfrage if ( $userdata['session_logged_in'] && $userdata['user_style'] == 4 )
$u_board_menu = append_sid("board_menu_manager.$phpEx");
$l_board_menu = '<b>'.$lang['Board_menu_manager'].'</b>';
//
// Create the personal board menu - ENDE
Wenn das schon zuviel Code war, dann entschuldige ich mich hiermit. Aber vermutlich ist das Thema auch für andere interessant. Wie gesagt: Bei mir werden immer ALLE Links angezeigt (auch wenn man das Häkcken wegmacht). Und sortieren lassen sich die Links auch nicht. (Besser gesagt, klappt nur die Standardsoertierung der Links durch den Admin, nicht die individuelle Sortierung.)
Brauchst Du die kompletten Dateien? Dann veröffentliche ich diese hier natürlich gern.
Schönes Wochenende!
Wolfgang