Wer kennt nicht das Problem... da will man kurz einen Button hinzufügen und muss direkt den Code umfummeln... hier also eine Lösung (noch ohne Admin-Oberfläche und deshalb nur für Leute mit ein wenig Ahnung)
1. Tabelle anlegen:
CREATE TABLE `yabbse_buttons` (
`button_id` mediumint(8) unsigned NOT NULL auto_increment,
`button_txt_id` varchar(30) NOT NULL default '',
`button_url` varchar(150) default NULL,
`button_order` mediumint(8) unsigned default '0',
`button_min_level` tinyint(3) unsigned default NULL,
PRIMARY KEY (`button_id`)
) TYPE=MyISAM;
2. folgendes in Subs.php einbauen:
function yyExtMenu()
{
global $db_prefix,$settings,$img,$menusep,$cgi,$scripturl;
$curlvl = 0;
switch($settings[7])
{
case 'Administrator' :
$curlvl = 3;
break;
case 'Global Moderator' :
$curlvl = 2;
break;
default:
$curlvl = 1;
}
$sqlquery = 'SELECT * FROM '.$db_prefix.'buttons WHERE button_min_level <= '.$curlvl.' ORDER BY button_order';
$request = mysql_query($sqlquery) or database_error(__FILE__, __LINE__);
while ($row = mysql_fetch_assoc($request))
{
$result[] = '<a href="'.str_replace('%scripturl%',$scripturl,str_replace('%cgi%',$cgi,$row['button_url'])).'">'.$img[$row['button_txt_id']].'</a>';
}
mysql_free_result($request);
if (count($result))
echo $menusep.implode($menusep,$result);
}
3. Template öffnen und hinter <yabb menu> folgendes eintragen:
<yabb ExtMenu>
...das war es eigentlich schon... um neue Buttons anzulegen geht man so vor:
Angenommen man will einen Button einbauen um Google aufzurufen... dann fügt man hinter
$img['postEvent'] = $txt['calendar23'];
z.B.
$img['google'] = 'GOOGLE aufrufen';
ein... (ggf auch noch hinter
$img['postEvent'] = '<img src="' . $imagesdir . $langimages . '/calendarpe.gif" alt="' . $txt['calendar23'] . '" title="' . $txt['calendar23'] . '" border="0" />';
einen entsprechenden grafischen Button definieren!
und legt dann in der Datenbank folgenden Datensatz an:
button_id : sollte klar sein
button_txt_id : google
button_url :
http://www.google.debutton_order : 1
button_min_level : 1
Erklärung:
"button_id" dient dazu den Eintrag in der DB zu verwalten... ist momentan relativ egal und wird von MySQL eh selber vergeben
"button_txt_id" ist der schlüssel aus unserem lng-File... hier "google" weil wir auf $img['google'] zugreifen wollen
"button_url" sollte klar sein... besonderheit: gibt man da %cgi% oder %scripturl% an, wird das durch die entsprechenden variablen in yabb ersetzt... um z.B ins Admin-Menü zu linken könnte man: %cgi%;action=admin als URL angeben!
"button_order" nach diesem Wert werden die Buttons sortiert
"button_min_level" hiermit gibt man an wer den button sehen kann...dabei geht es darum was man MINDESTENS sein muss um das zu sehen
0 - Gast
1 - Mitglied
2 - Global Mod
3 - Admin
einen Button mit button_min_level = 1 sehen also Mitglieder/Global Mods und Admins... Gäste sehen ihn nicht... etc.
Ansonsten ist der Code extrem ungetestet

hab das teil gerade in 5 minuten geschrieben weil ich was ausprobieren wollte....