Page 1 of 1

fehlende funktionen und variablen?

Posted: 25. May 2013 11:05
by Tr0tL
Deine Portal Version: 2.0.1
Typ Deines phpBB Forums: Premodded phpBB3
MODs installiert: Nein
Dein Wissensstand: Fortgeschritten
Link zu Deinem Forum: http://www.u35clan.de

Was hast Du gemacht, bevor das Problem aufgetreten ist?
board3portal 2.0.1 installiert

Was hast Du bereits versucht um das Problem zu lösen?
google gefragt

Fehlerbeschreibung und Nachricht
tach leute

ich ba da mal nen kleines problem
und zwar habe ich vor kurzem unsere clanpage (phpbb3.0.9 mit b3p 1.0.6) auf aktuellen stand gebracht. d.h mit den aktuellen versionen (phpbb3.0.11 mit b3p 2.0.1) komplett neu aufgesetzt
nun möchte ich gerne im "wer ist online"-block eine legende anzeigen, indem ich folgende zeile aus der "index.html" an entsprechender stelle in die "whois_online_center.html" kopiert habe.

Code: Select all

<!-- IF LEGEND --><br /><em>{L_LEGEND}: {LEGEND}</em><!-- ENDIF -->
mit der alten page hat das prima funktioniert. mit der neuen page bekomme ich nur die sprachvariable "{L_LEGEND}" angezeigt. die eigentliche legende "{LEGEND}" wird nicht angezeigt.

kann es sein dass das portal diese variable nicht mehr kennt?[/i]

Re: fehlende funktionen und variablen?

Posted: 25. May 2013 15:29
by archivar
Tr0tL wrote:fehlende funktionen und variablen?
Die fehlen nur, weil Du diese geändert und verhunzt hast. :mrgreen:
Du hast das neue Modul mit teilweisen Inhalt vom alten (von dir geädert) Modul drinnen. :o
Prüfe auch die anderen Portal-Dateien auf Aktualität.
Die Legende ist auch im neuen "Wer ist online"-Modul schon vorhanden.
Kopiere das originale Modul (whois_online_center.html) nochmal in den entsprechenden Ordner und leere anschließend den Cache (auch den Browser-Cache).
Und eventuell schaust Du auch mal hier hin: knowledge/kb_show.php?id=60

Re: fehlende funktionen und variablen?

Posted: 25. May 2013 16:28
by Tr0tL
och
ja kuk mal
in der originalen "who is online" steht doch tatsächlich mit "{PORTAL_LEGEND}" ne andere variable!
von wegen ich habs verhunzt - ihr habt einfach andere variablen definiert als in der alten portal version
mit dieser bekomme ich auch eine legende angezeigt
aaaaber
scheinbar funktioniert diese legende nicht zusammen mit dem mod "add_group_teampage_0.2.2" , durch welchen eine repositionierung der legende möglich ist.

gibt es eine übersicht über die verwendeten variablen im aktuellen portal??
und
wie bringe ich dem portal die variablen des forums bei?

Re: fehlende funktionen und variablen?

Posted: 25. May 2013 17:05
by Kirk
Hi
Auf der verlinkten Seite steht das eine Änderung für das Stargate portal & Kiss portal zu machen währe, vielleicht geht das auch hier.
Mache vorher ein Backup!
Öffne: root/portal/modules/portal_whois_online.php
Finde:

Code: Select all

		// Grab group details for legend display
		if ($auth->acl_gets('a_group', 'a_groupadd', 'a_groupdel'))
		{
			$sql = 'SELECT group_id, group_name, group_colour, group_type
				FROM ' . GROUPS_TABLE . '
				WHERE group_legend = 1
				ORDER BY group_name ASC';
		}
		else
		{
			$sql = 'SELECT g.group_id, g.group_name, g.group_colour, g.group_type
				FROM ' . GROUPS_TABLE . ' g
				LEFT JOIN ' . USER_GROUP_TABLE . ' ug
					ON (
						g.group_id = ug.group_id
						AND ug.user_id = ' . $user->data['user_id'] . '
						AND ug.user_pending = 0
					)
				WHERE g.group_legend = 1
					AND (g.group_type <> ' . GROUP_HIDDEN . ' OR ug.user_id = ' . $user->data['user_id'] . ')
				ORDER BY g.group_name ASC';
		}
Ersetze es mit:

Code: Select all

    $order_legend = ($config['legend_sort_groupname']) ? 'group_name' : 'group_legend';
    // Grab group details for legend display
    if ($auth->acl_gets('a_group', 'a_groupadd', 'a_groupdel'))
    {
       $sql = 'SELECT group_id, group_name, group_colour, group_type, group_legend
          FROM ' . GROUPS_TABLE . '
          WHERE group_legend > 0
          ORDER BY ' . $order_legend . ' ASC';
    }
    else
    {
       $sql = 'SELECT g.group_id, g.group_name, g.group_colour, g.group_type, g.group_legend
          FROM ' . GROUPS_TABLE . ' g
          LEFT JOIN ' . USER_GROUP_TABLE . ' ug
             ON (
                g.group_id = ug.group_id
                AND ug.user_id = ' . $user->data['user_id'] . '
                AND ug.user_pending = 0
             )
          WHERE g.group_legend > 0
             AND (g.group_type <> ' . GROUP_HIDDEN . ' OR ug.user_id = ' . $user->data['user_id'] . ')
          ORDER BY g.' . $order_legend . ' ASC';
    }
Ob es allerdings funktioniert weis ich nicht.

Re: fehlende funktionen und variablen?

Posted: 25. May 2013 18:55
by Tr0tL
nee
das geht nicht
weil das ein edit für die portal.php des Stargate portal & Kiss portal ist :?
und soweit ich das als laie sehe ist das ne reine datenbankabfrage.
anzeigen sollte mir dieser edit also garnichts

ich befürchte ich muss mich anderswo schlau machen
danke für den support

Re: fehlende funktionen und variablen?

Posted: 26. May 2013 01:50
by Tr0tL
soooo
ich habs dann doch hinbekommen
das portal kennt nun die variable {LEGEND} und ich bekomme die durch den mod "add_group_teampage_0.2.2" veränderte legende im portal angezeigt

öffne portal.php
finde:

Code: Select all

// Assign specific vars
davor einfügen:

Code: Select all

$order_legend = ($config['legend_sort_groupname']) ? 'group_name' : 'group_legend';
// Grab group details for legend display
if ($auth->acl_gets('a_group', 'a_groupadd', 'a_groupdel'))
{
	$sql = 'SELECT group_id, group_name, group_colour, group_type, group_legend
		FROM ' . GROUPS_TABLE . '
		WHERE group_legend > 0
		ORDER BY ' . $order_legend . ' ASC';
}
else
{
	$sql = 'SELECT g.group_id, g.group_name, g.group_colour, g.group_type, g.group_legend
		FROM ' . GROUPS_TABLE . ' g
		LEFT JOIN ' . USER_GROUP_TABLE . ' ug
			ON (
				g.group_id = ug.group_id
				AND ug.user_id = ' . $user->data['user_id'] . '
				AND ug.user_pending = 0
			)
		WHERE g.group_legend > 0
			AND (g.group_type <> ' . GROUP_HIDDEN . ' OR ug.user_id = ' . $user->data['user_id'] . ')
		ORDER BY g.' . $order_legend . ' ASC';
}
$result = $db->sql_query($sql);

$legend = array();
while ($row = $db->sql_fetchrow($result))
{
	$colour_text = ($row['group_colour']) ? ' style="color:#' . $row['group_colour'] . '"' : '';
	$group_name = ($row['group_type'] == GROUP_SPECIAL) ? $user->lang['G_' . $row['group_name']] : $row['group_name'];

	if ($row['group_name'] == 'BOTS' || ($user->data['user_id'] != ANONYMOUS && !$auth->acl_get('u_viewprofile')))
	{
		$legend[] = '<span' . $colour_text . '>' . $group_name . '</span>';
	}
	else
	{
		$legend[] = '<a' . $colour_text . ' href="' . append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=group&g=' . $row['group_id']) . '">' . $group_name . '</a>';
	}
}
$db->sql_freeresult($result);

$legend = implode(', ', $legend);
finde:

Code: Select all

	'B3P_DISPLAY_JUMPBOX'	=> $config['board3_display_jumpbox'],
danach einfügen:

Code: Select all

	'LEGEND'		=> $legend,
in der "who_is_online_center.html" natürlich noch "{PORTAL_LEGEND}" durch "{LEGEND}" ersetzen

was man mit ein paar stunden try and error so schaffen kann . . . ;)

Re: fehlende funktionen und variablen?

Posted: 26. May 2013 02:13
by Tr0tL
übrigens funktioniert die lösung von kirk auch :o

schon blöd wenn ma als laie nur die hälfte versteht und erstmal meint man kann das besser
hätte mir ne weile an testerei sparen können

danke kirk

Re: fehlende funktionen und variablen?

Posted: 26. May 2013 08:38
by Kirk
Schön das es funktioniert, ich war mir auch nicht ganz sicher weil ich diesen Mod nicht kenne.