ich habe für mein altes phpbb2 Forum mal einen Mod gebastelt, der es ermöglich externe Feeds auf einfache Weise als News einzubinden. Für mein neues phpbb3 Forum würde ich das ganze nun gerne zu einem integrierbaren Mod weiterentwickeln. Dazu gehört auch eine Verwaltung des Mods im ACP. Nun habe ich es geschafft ein Modul mit zwei modes aufzubauen und ich habe das Modul auch im ACP installiert und die beiden modes hinzugefügt. Datenbankeinträge wurden auch brav gemacht. Also gehe ich davon aus, dass das Modul richtig installiert ist. Wenn ich aber nun auf Mods klicke, wird mir nur der Portal-Mod angezeigt und nicht meine neuen Module.
Ich habe alle Dateien inklusive Language Datei erstellt und hinzugefügt. Folgende Dateien sind angelegt:
Die Datei in includes/acp/info:
Code: Alles auswählen
class acp_externalnews_info
{
function module()
{
return array(
'filename' => 'acp_externalnews',
'title' => 'ACP_EXTERNALNEWS_INFO',
'version' => '0.1',
'modes' => array(
'general' => array('title' => 'ACP_EXTERNALNEWS_GENERAL', 'auth' => 'acl_a_externalnews_manage', 'cat' => array('ACP_EXTERNALNEWS_INFO')),
'news' => array('title' => 'ACP_EXTERNALNEWS_NEWS', 'auth' => 'acl_a_externalnews_manage', 'cat' => array('ACP_EXTERNALNEWS_INFO')),
),
);
}
}
Code: Alles auswählen
class acp_externalnews
{
var $u_action;
var $new_config = array();
function main($id, $mode)
{
global $db, $user, $auth, $template;
global $config, $phpbb_root_path, $phpbb_admin_path, $phpEx;
//include($phpbb_root_path . '/includes/functions_feed.' . $phpEx);
//$externalnews_config = obtain_externalNews_config();
switch($mode)
{
case 'general':
$this->page_title = 'ACP_EXTERNALNEWS';
$this->tpl_name = 'acp_externalnews';
break;
case 'news':
$display_vars = array(
'title' => 'ACP_EXTERNALNEWS',
'vars' => array(
'legend1' => 'ACP_PORTAL_GENERAL_SETTINGS',
'portal_enable' => array('lang' => 'PORTAL_ENABLE', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'portal_left_column' => array('lang' => 'PORTAL_LEFT_COLUMN', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'portal_right_column' => array('lang' => 'PORTAL_RIGHT_COLUMN', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'portal_version_check' => array('lang' => 'PORTAL_VERSION_CHECK', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'portal_advanced_stat' => array('lang' => 'PORTAL_ADVANCED_STAT', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'portal_search' => array('lang' => 'PORTAL_SEARCH', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'portal_leaders' => array('lang' => 'PORTAL_LEADERS', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'portal_leaders_ext' => array('lang' => 'PORTAL_LEADERS_EXT', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'portal_clock' => array('lang' => 'PORTAL_CLOCK', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'portal_link_us' => array('lang' => 'PORTAL_LINK_US', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'portal_random_member' => array('lang' => 'PORTAL_RANDOM_MEMBER', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'portal_forum_index' => array('lang' => 'PORTAL_FORUM_INDEX', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'portal_whois_online' => array('lang' => 'PORTAL_WHOIS_ONLINE', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'portal_change_style' => array('lang' => 'PORTAL_CHANGE_STYLE', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'portal_main_menu' => array('lang' => 'PORTAL_MAIN_MENU', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'portal_phpbb_menu' => array('lang' => 'PORTAL_PHPBB_MENU', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'portal_user_menu' => array('lang' => 'PORTAL_USER_MENU', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'legend2' => 'ACP_PORTAL_COLUMN_WIDTH_SETTINGS',
'portal_left_column_width' => array('lang' => 'PORTAL_LEFT_COLUMN_WIDTH', 'validate' => 'int', 'type' => 'text:3:3', 'explain' => true),
'portal_right_column_width' => array('lang' => 'PORTAL_RIGHT_COLUMN_WIDTH', 'validate' => 'int', 'type' => 'text:3:3', 'explain' => true),
)
);
break;
}
}
}
Code: Alles auswählen
<!-- INCLUDE overall_header.html -->
IT WORKS.
<!-- INCLUDE overall_footer.html -->
219 1 1 acp 31 314 319 ACP_EXTERNALNEWS_INFO
222 1 1 externalnews acp 219 315 316 ACP_EXTERNALNEWS_GENERAL general acl_a_externalnews_manage
223 1 1 externalnews acp 219 317 318 ACP_EXTERNALNEWS_NEWS news acl_a_externalnews_manage
Also einmal die Kategorie und dann die beiden Modes.
Im ACP unter System und dann Modul-Konfiguration wird auch alles angezeigt aber leider nicht im Tab Mods. Da steht nüschts....
Kann mir jemand weiterhelfen??
Gruß
DonCube
PS: Ich habe was über Berechtigungen zum anzeigen von Modulen gelesen. Allerdings kann ich das Portal Modul auch sehen, sollte doch damit auch alle anderen sehen können oder? Wenn nein, wo finde ich die Berechtigung für ein bestimmtes Modul?