Drei theoretische Fragen

Allgemeiner Support zum phpBB 2 Board und phpBB 2 Modifikationen
Forumsregeln
Auch wenn hier der Support für phpBB 2 weiterhin aufrecht erhalten bleibt, weisen wir darauf hin, dass das phpBB 2 nicht mehr offiziell unterstützt und weiterentwickelt wird!
Benutzeravatar
skittles
Beiträge: 820
Registriert: So 04.Apr, 2004 01:07
Wohnort: Wien

Beitrag von skittles »

nööö leider wieder nichts
[center]Populanten von transparenten Domizilen sollten
mit fester Materie keine transzendenten Bewegungen durchf?hren.
[/center]


Bild
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Keine Angst, ich gebe nicht so schnell auf. Daher hier mal eine komplett überarbeitete Version:
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
skittles
Beiträge: 820
Registriert: So 04.Apr, 2004 01:07
Wohnort: Wien

Beitrag von skittles »

[quote="oxpus @ 10/5/2004, 09:20";p="5555"] ich gebe nicht so schnell auf. [/quote]

Echt bewunderswert!
Also mal vielen Dank, das mim Abstand haut nun hin! Aber eines kann ich immer noch nicht verstehen! MIt Netscape wird der Text im Boardmenü ganz normal angezeigt! Mim Msie aber nur teilweise!
Wie kann sowas sein. Wie kann es ünberhaupt sein, dass die beiden Browser die Seite so unterschiedliche ausgeben? (siehe Bilder die ich drangehängt hab)

Also noch mal vielen DAnk Oxpus, ich hoffe das mit dem Text bekommst du auch noch hin. Den Rest schaff ich dann hoffentlich schon alleine (z.b. Links Box ist in der Nevi Box, sollt ja eigentich extra sein)
Aber das mit dem Text versteh ich nicht ganz!

Aja noch was! glaubst du ist es möglich den "yourdomain.com Foren-ÜbersichtSmilies List" text über beiden Spalten anzeigen zu lassen? schaut nämlich sonst ein bissl blöd aus.

Danke du hast mir echt viel geholfen!
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Zunächst mal die neue Version. Hatte mich bei der letzten noch nicht genug ausgetobt.

Dann zum Board-Menü: Prüfe mal, ob der Eintrag 'Home' mehrfach in der lang-main.php bei Dir vorkommt und korrigiere das. Der IE ist da schon etwas pingelig.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
skittles
Beiträge: 820
Registriert: So 04.Apr, 2004 01:07
Wohnort: Wien

Beitrag von skittles »

also beim MSIE kommt der Text aufeinmal wenn ich eingeloggt bin (also das hatte ich vorher noch gar nicht überprüft gehabt)
Also ausgeloggt = text fehlt (wie beim Screenshot)
eingeloggt = text ganz normal!

In der land Datei gibt es die Einträge, und das nur jeweils einmal!
und in der page Header wirds auch normal definiert.

Kannst du damit was anfangen?
[center]Populanten von transparenten Domizilen sollten
mit fester Materie keine transzendenten Bewegungen durchf?hren.
[/center]


Bild
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Dann wirst Du "Home" für Benutzer definiert haben ;)
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
skittles
Beiträge: 820
Registriert: So 04.Apr, 2004 01:07
Wohnort: Wien

Beitrag von skittles »

Ähm ich hab die Änderungen vom php Menü Manager fürs ezPortal noch nicht gemacht!
Wollte dies nun aber tun.
zuerst dachte ich mir, gut das Menü ist eigentlich im Header, sprich ich füge den Code aus der Beschreibung nicht in der portal.php ein, sondern in der page_header.php
Da bekamm ich gleich mal nen Error. Gut hab ichs wieder rückgängig gemacht!
Und habs dann doch in der portal.php eingebaut.
die Links (also bei mir aus dem Header) in der linken Spalte (nicht die von oben rechts) habe ich druch {BOARD_MENU} ersetzt.
Nun es kam so wie ich es mir gedacht hatte. Und zwar wird das Menü genau so angezeigt wie im normalen Header.
Nun muss ich den Code (welcher laut Anleitung für die portal.php bestimmt ist) doch in der page_header.php einbauen und noch irgendwas includen?
Hat wer eine Idee?
[center]Populanten von transparenten Domizilen sollten
mit fester Materie keine transzendenten Bewegungen durchf?hren.
[/center]


Bild
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Hast Du den Mod einfach im Portal eingebaut? Oder hast Du das enthaltene Add-On verwendet? Dafür war es nämlich gedacht ;)
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
skittles
Beiträge: 820
Registriert: So 04.Apr, 2004 01:07
Wohnort: Wien

Beitrag von skittles »

Code: Alles auswählen

##############################################################
## MOD Title:		ADD-ON: phpBB Menu Manager on ezPortal
## MOD Author: OXPUS < webmaster@oxpus.de > (Karsten Ude) http://www.oxpus.de
## MOD Description:	Replace the navigation block on ezPortal with a configurable portal menu
## MOD Version:		1.4.3
##
## Installation Level:	Easy
## Installation Time:	2-5 Minutes
## Files To Edit:	3
##			portal.php
##			includes/constants.php
##			templates/subSilver/portal_body.tpl
##
## Included Files:	5
##			templates/subSilver/board_menu_categories_admin.tpl
##			templates/subSilver/board_menu_categories_edit.tpl
##			templates/subSilver/board_menu_categories_sort.tpl
##			templates/subSilver/board_menu_merge.tpl
##			templates/subSilver/board_menu_welcome.tpl
##############################################################
## For Security Purposes, Please Check: http://www.phpbb.com/mods/ for the
## latest version of this MOD. Downloading this MOD from other sites could cause malicious code
## to enter into your phpBB Forum. As such, phpBB will not offer support for MOD's not offered
## in our MOD-Database, located at: http://www.phpbb.com/mods/
##############################################################
## Author Notes:
##
## SQL / Database changes
## ----------------------
## Instead entering the given SQL-Statements, you can upload the file portal_menu_install.php
## to your phpbb root directory and run this with your browser.
## This file will do all nessassary changes in the database for you.
## After using this file, please delete it to avoid errors.
##
##############################################################
## MOD History:
##
##   2004-04-30 - Version 1.4.3
##	- Fix deleting link will destroy all user settings for portal navigation
##	  Fix sorting portal navigation based on user settings incl. the fixed links
##	  Fix layout on add/remove links
##	  Add new sorting for setting a link on first/last position (only board menu!)
##	  For update look into the folder updates
##
##   2004-04-27 - Version 1.4.2
##	- Fix missing fields in portal_menu_install.php
##	  Fix displaying guest links until user have select his own links.
##
##   2004-04-24 - Version 1.4.1
##	- Renaming the Add-On to phpBB Menu Manager
##      - Fix a bug in portal navigation. For update look into the folder updates
##
##   2004-04-21 - Version 1.4.0
##      - Adding mark/unmark all chooseable links
##	- Adding reorder links like default sorting
##	- Adding choose between category name and line or both in portal as seperator
##	  For update look into the folder updates
##
##   2004-04-18 - Version 1.3.0
##      - Adding LESS_ADMIN and fix links on the portal navigation
##	  For update completely reinstall this add-on after updating the basic mod to 1.4.0!!!
##
##   2004-04-18 - Version 1.2.0
##      - Seperates the settings for the portal navigation
##	  For update completely reinstall this add-on
##
##   2004-04-15 - Version 1.1.0
##      - To update please look to the update description
##
##   2004-04-11 - Version 1.0.0
##      - First release
##
##############################################################
## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD
##############################################################

#
#-----[ SQL ]------------------------------------------
#
CREATE TABLE phpbb_board_menu_cat (
cat_id MEDIUMINT( 8 ) NOT NULL auto_increment,
cat_name VARCHAR( 50 ) NOT NULL ,
cat_sort MEDIUMINT( 8 ) NOT NULL ,
show_cat_name TINYINT( 1 ) DEFAULT '1' NOT NULL ,
show_seperator TINYINT( 1 ) DEFAULT '0' NOT NULL ,
PRIMARY KEY (cat_id)
);

CREATE TABLE phpbb_board_menu_merge (
cat_id MEDIUMINT( 8 ) NOT NULL,
link_id MEDIUMINT( 8 ) NOT NULL
);

ALTER TABLE phpbb_board_links ADD bl_psort MEDIUMINT( 8 ) NOT NULL;
ALTER TABLE phpbb_board_links ADD bl_fix TINYINT( 1 ) DEFAULT '0' NOT NULL;

ALTER TABLE phpbb_users ADD portal_links VARCHAR( 250 ) NOT NULL;
ALTER TABLE phpbb_users ADD portal_sort VARCHAR( 250 ) NOT NULL;

#
#-----[ COPY ]------------------------------------------
#
copy add_on_ezportal/board_menu_manager.php to board_menu_manager.php
copy add_on_ezportal/templates/subSilver/board_menu_categories_admin.tpl to templates/subSilver/board_menu_categories_admin.tpl
copy add_on_ezportal/templates/subSilver/board_menu_categories_edit.tpl to templates/subSilver/board_menu_categories_edit.tpl
copy add_on_ezportal/templates/subSilver/board_menu_categories_sort.tpl to templates/subSilver/board_menu_categories_sort.tpl
copy add_on_ezportal/templates/subSilver/board_menu_links_set.tpl to templates/subSilver/board_menu_links_set.tpl
copy add_on_ezportal/templates/subSilver/board_menu_links_sort.tpl to templates/subSilver/board_menu_links_sort.tpl
copy add_on_ezportal/templates/subSilver/board_menu_merge.tpl to templates/subSilver/board_menu_merge.tpl
copy add_on_ezportal/templates/subSilver/board_menu_welcome.tpl to templates/subSilver/board_menu_welcome.tpl

#
#-----[ OPEN ]------------------------------------------
#
portal.php

#
#-----[ FIND ]------------------------------------------
#
//
// Generate the page
//

#
#-----[ BEFORE, ADD ]------------------------------------------
#
//
// Create the personal board menu
$fixlinks = array();

include_once($phpbb_root_path . 'includes/functions_board_menu.'.$phpEx);

$bl_level_access = get_bllink_access();
$bl_fix = ( $bl_level_access == '' ) ? ' WHERE bl_fix = 1' : ' AND bl_fix = 1';

$sql = "SELECT * FROM " . BOARD_LINKS_TABLE . "
	$bl_level_access
	$bl_fix
	ORDER BY bl_psort DESC";
if ( !$result = $db->sql_query($sql) )
{
	message_die(GENERAL_ERROR, 'Could not read portal menu for user', '', __LINE__, __FILE__, $sql);
}

$ubl = '';
$ubs = '';
$i = 1;

$links_check = array();
if ( $userdata['profil_links'] != '' )
{
	$link_check = explode(',', $userdata['profile_links']);
}

while ( $row = $db->sql_fetchrow($result) )
{
	$fix_link_id = $row['bl_id'];
	if ( !in_array($fix_link_id, $links_check) )
	{
		$ubl .= ( $ubl == '' ) ? ($row['bl_id']) : ',' . ($row['bl_id']);
		$ubs .= ( $ubs == '' ) ? (0 - $i) : ',' . (0 - $i);
		$i++;
	}
}

$sql_cat = "SELECT * FROM " . BOARD_MENU_CAT_TABLE . "
	    ORDER BY cat_sort";
if ( !$result2 = $db->sql_query($sql_cat) )
{
	message_die(GENERAL_ERROR, 'Could not read portal menu for user', '', __LINE__, __FILE__, $sql);
}

$portal_menu_links = '';

while ( $row2 = $db->sql_fetchrow($result2) )
{
	$category = $row2['cat_name'];
	$catname = $lang[$category];
	$cat = $row2['cat_id'];
	$show_catname = $row2['show_cat_name'];
	$show_seperator = $row2['show_seperator'];

	if ( $userdata['session_logged_in'] && $userdata['portal_links'] != '' )
	{
		$userdata['portal_links'] .= ( $ubl != '' ) ? ','.$ubl : '';
		$userdata['portal_sort'] .= ( $ubs != '' ) ? ','.$ubs : '';

		$pl_links = array();
		$pl_sort = array();

		$pl_links = explode(',', $userdata['portal_links']);
		$pl_sort = explode(',', $userdata['portal_sort']);
		
		array_multisort($pl_sort, SORT_DESC, $pl_links);

		$sql_order = 'ORDER BY';

		for ( $i = 0; $i < count($pl_links); $i++ )
		{
			$sql_order .= ( $sql_order == 'ORDER BY' ) ? ' bl_id = '.$pl_links[$i] : ', bl_id = '.$pl_links[$i];
		}

		$sql = "SELECT * FROM " . BOARD_LINKS_TABLE . " l, " . BOARD_MENU_MERGE_TABLE . " m
			WHERE l.bl_id IN (".$userdata['portal_links'].")
			AND l.bl_id = m.link_id
			AND m.cat_id = $cat
			$sql_order";
		if ( !$result = $db->sql_query($sql) )
		{
			message_die(GENERAL_ERROR, 'Could not read portal menu for user', '', __LINE__, __FILE__, $sql);
		}
	}
	else
	{
		$sql = "SELECT * FROM " . BOARD_LINKS_TABLE . " l, " . BOARD_MENU_MERGE_TABLE . " m
			WHERE l.bl_level = " . ANONYMOUS . "
			AND l.bl_id = m.link_id
			AND m.cat_id = $cat
			ORDER BY l.bl_psort, l.bl_id";
		if ( !$result = $db->sql_query($sql) )
		{
			message_die(GENERAL_ERROR, 'Could not read portal menu for user', '', __LINE__, __FILE__, $sql);
		}
	}

	if ( $count = $db->sql_numrows($result) )
	{
		$portal_menu_links .= ( $show_seperator == TRUE ) ? '<hr>' : '';
		$portal_menu_links .= ( $show_catname == TRUE ) ? '<b>'.$catname.'</b><br />' : '';
		$board_config['bl_seperator_content'] = str_replace('SPACE', '&nbsp;&nbsp;&nbsp;', $board_config['bl_seperator_content']);
		$i = 0;
		while ( $row = $db->sql_fetchrow($result) )
		{
			if (substr($row['bl_link'],0,10) != 'javascript')
			{
				$phpext = '.'.$phpEx;
				$sidext = ( $row['bl_parameter'] != '' ) ? '&sid='.$userdata['session_id'] : '?sid='.$userdata['session_id'];
			}
			else
			{
				$phpext = '';
				$sidext = '';
			}

			$portal_menu_links .= ( $board_config['bl_seperator'] == 1 ) ? '<img src="'.$board_config['bl_seperator_content'].'" border="0" />&nbsp;' : $board_config['bl_seperator_content'];
			$portal_menu_links .= ( $row['bl_img'] != '' ) ? '<img src="'.get_bl_theme().$row['bl_img'].'" border="0" />&nbsp;' : '';
			$portal_menu_links .= '<a href="'.$row[bl_link].$phpext.(( $row['bl_parameter'] != '') ? '?'.$row['bl_parameter'] : '').$sidext;
			$portal_menu_links .= '" class="mainmenu" title="'.$lang[$row['bl_name']].'">'.$lang[$row['bl_name']].'</a>';
			$portal_menu_links .= '<br />';

			$i++;
		}
	}
}

$template->assign_vars(array(
	'BOARD_MENU' => $portal_menu_links)
);
// Create the personal board menu
//

#
#-----[ OPEN ]------------------------------------------
#
includes/constants.php

#
#-----[ FIND ]------------------------------------------
#
?>

#
#-----[ BEFORE, ADD ]------------------------------------------
#
define('BOARD_MENU_CAT_TABLE', $table_prefix.'board_menu_cat');
define('BOARD_MENU_MERGE_TABLE', $table_prefix.'board_menu_merge');

#
#-----[ OPEN ]------------------------------------------
#
templates/subSilver/portal_body.tpl

#
#-----[ FIND ]------------------------------------------
#
				<a href="{U_PORTAL}">{L_HOME}</a><br />
				<a href="{U_INDEX}">{L_FORUM}</a><br />
				<a href="{U_MEMBERLIST}">{L_MEMBERLIST}</a><br />
				<a href="{U_FAQ}">{L_FAQ}</a><br />
				<a href="{U_SEARCH}">{L_SEARCH}</a><br />

#
#-----[ REPLACE WITH ]------------------------------------------
#
				{BOARD_MENU}


#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
#
# EoM
das hab ich gmacht, bzw wollte ich machen!
[center]Populanten von transparenten Domizilen sollten
mit fester Materie keine transzendenten Bewegungen durchf?hren.
[/center]


Bild
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Öhm ja, ich vergaß, daß Du ja Dein Portal teilweise in die linke Spalte fest eingebunden hast (overall_header.tpl)...
Baue mal das Add-On in die page_header.php ein und ersetze dabei

Code: Alles auswählen

   'BOARD_MENU' => $portal_menu_links) 
mit

Code: Alles auswählen

   'PORTAL_MENU' => $portal_menu_links) 
Dann in der overall_header.tpl und in der portal_body.tpl anstelle der Navigation nicht

Code: Alles auswählen

{BOARD_MENU}
sondern

Code: Alles auswählen

{PORTAL_MENU}
eintragen.
Wenn das immer noch zu Fehlern führt, dann diese bitte hier posten (die komplette Fehlermeldung) und auch so lassen, damit ich auf Deinem Testboard nachschauen kann...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
skittles
Beiträge: 820
Registriert: So 04.Apr, 2004 01:07
Wohnort: Wien

Beitrag von skittles »

hab jetzt wieder mit beiden Browsern getestet! Und es geht wirklich! Nein ich glaubs ja nicht!
Danke Oxpus! Wenn du so weitermachst schick ich dir bald nen Blumenstrauss. :D
Auf alle fälle nochmals vielen Dank.

SAg ne rein logische Frage: es wäre doch möglich die linke Spalte ausblendbar zu machen oder?
so nach dem Motto
<!-- BEGIN user say yes to portal -->
dann der code von der Spalte
<!-- END user say yes to portal -->
müßte doch irgendwie so gehen oder
ALso in der page_header.php einfügen

Code: Alles auswählen

if ( ($WERT1['WERT2'] == 1) )
{
	$template->WERT3('WERT4', array());
}
nur welchen Wert füge ich da ein?
also zuerst muss ich ja mal eine neue spalte in die phpbb_user einfügen in mySql. Nennen wir sie mal user_portal_config.
Und dann müßte man das ganze noch irgendwie ins prifle.php?mode=editprofile einbauen!

Nur irgendwie fehlen mir da doch noch die php Kenntnisse. Aber der Denkanstoss passt schon mal oder?
[center]Populanten von transparenten Domizilen sollten
mit fester Materie keine transzendenten Bewegungen durchf?hren.
[/center]


Bild
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Öhm ja. Die Vorgehensweise ist korrekt.
Unter Downloads > Allgemein findest Du den Mod "Add X To Profile", mit dem Du u.a. ein Optionfeld (ja/nein) dem User-Profil hinzufügen kannst.
Dem Kind einen Namen gegeben, das Profil erweitert musst Du genau o.g. Code in die page_header.php einfügen, allerdings in dieser Form:

Code: Alles auswählen

if ( $userdata['user_navi_on'] == TRUE )
{
$template->assign_block_vars('switch_portal_navigation_on', array());
}
"user_navi_on" ist dabei das neue Profil-Feld, daß Du mit o.g. Mod einbauen kannst. Der Name des Feldes ist aber auch Schall und Rauch...
In der overall_header.tpl müsstest Du dann jedenfalls vor der Navigationsleiste

Code: Alles auswählen

<!-- BEGIN switch_portal_navigation_on -->
und danach

Code: Alles auswählen

<!-- END switch_portal_navigation_on -->
eintragen (u. beim o.g. Beispiel zu bleiben).
Und damit kann der User in seinem Profil erfolgreich einstellen, ob er die Navigation sieht oder nicht.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
skittles
Beiträge: 820
Registriert: So 04.Apr, 2004 01:07
Wohnort: Wien

Beitrag von skittles »

okay werd ich mal testen!
Also jenen Usern die bei deiner If "schleife(?)" druchfallen bekommen dann natürlich nie die linke Portalspalte angezeigt! Also auch nicht wenn sie aufs Portal klicken!
Wenn ich das ändern will dann füg ich einfach die linke Spalte wieder in die portal_body.tmp ein und dafor und danach füg ich BEGIN portal_on und danach END portal_on ein.
Und in der portal.php geb ich

Code: Alles auswählen

if ( $userdata['user_navi_on'] == FALSE )
{
$template->assign_block_vars('portal_on', array());
}
an.
Stimmt das eh so oder?

Auf alle vielen dank für deine Mühe, jetzt sind mir wieder ein paar Dinge klarer geworden! :D
[center]Populanten von transparenten Domizilen sollten
mit fester Materie keine transzendenten Bewegungen durchf?hren.
[/center]


Bild
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Öhm ja. Du musst das im Portal getrennt vom page_header.php unterbringen
Dazu wäre es am einfachsten, wenn Du das Portal als aktiv deklarierst und damit (unabhängig der User-Einstellung) die Navigationsleiste in der overall_header.tpl abschaltest, um diese nicht doppelt zu erhalten. Könnte man so lösen:

Code: Alles auswählen

#
#-----[ OPEN]-----
#
portal.php

#
#-----[ FIND ]-----
#
define('IN_PHPBB', TRUE);

#
#-----[ AFTER, ADD ]-----
#
define('ON_PORTAL', TRUE);

#
# EoC
und darauf kann man dann die Navigation in der page_header.php grundsätzlich bei der Portalansicht abschalten:

Code: Alles auswählen

if ( $userdata['user_navi_on'] == TRUE && !defined('ON_PORTAL') ) 
{ 
$template->assign_block_vars('switch_portal_navigation_on', array()); 
}
Hast Du es soweit verstanden?
Mit einer einfachen Bedingung wäre es nämlich nicht getan, da es zwei getrennte Scripte sind (portal.php und page_header.php)...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
skittles
Beiträge: 820
Registriert: So 04.Apr, 2004 01:07
Wohnort: Wien

Beitrag von skittles »

Noch ne Frage zu dem Mod "Add X To Profile"!
Wie kann ich das einstellen dass nur eine gewisse Gruppe einsicht hat in die eingegeben Daten?
Muss nicht übers Admin Panel geregelt sein, es reicht wenns nach dem Motto
if GROUPID="2"
then
bla bla

Also es würde mir reichen wenn man es in der php Datei einstellen könnte!
Gibts sowas? in dem addXtuprofil.rar hab ich nichts gefunden!
[center]Populanten von transparenten Domizilen sollten
mit fester Materie keine transzendenten Bewegungen durchf?hren.
[/center]


Bild
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Wie meinst Du das jetzt? Das nur eine bestimmte Usergruppe die Navigation ausschalten kann?
Oder wie oder was?
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
skittles
Beiträge: 820
Registriert: So 04.Apr, 2004 01:07
Wohnort: Wien

Beitrag von skittles »

Nein jetzt im allgemeinen! Ich wollte nicht ein neues Topic aufmachen!
Also beispiel neues feld (Telefonnummer) und das sollte eben nicht für alle sichtbar sein!
[center]Populanten von transparenten Domizilen sollten
mit fester Materie keine transzendenten Bewegungen durchf?hren.
[/center]


Bild
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Hier mal ein kleiner Crashkurs :cool:

Schau in die usercp_register.php, wie da der Username behandelt wird. Suche das ganze Script durch nach $username und Du wirst Stellen finden, die mit $template-> bestimmte Blöcke freischaltet, die in der profile_add_body.tpl den Usernamen nur anzeigen, oder - je nach Board-Einstellung - dem User den Namen ändern lassen.
Und genau so müsste eben ein Feld wie "Telefonnummer" gesperrt/entsperrt werden. Also eine solche Bedingung:

Code: Alles auswählen

if ( in_array($usergroup[$user_id], $allow_field_phone )
{
$template->assign_block_vars('switch_phonenumber_on, array());
}
Dazu müsste man vorher die Benutzergruppe für den aktuellen User in das Array "$usergroup[]" packen (SQL hierzu findest Du z.B. in der groupcp.php: Einfach kopieren und versuchen anzupassen) und im ACP ein Feld für die Benutzerberechtigung abspeichern.
Im Template wäre dann

Code: Alles auswählen

<!-- BEGIN switch_phonenumber_on -->
<!-- END switch_phonenumber_on -->
die Klammer für das Feld und somit selbiges sichtbar oder unsichtbar.
So in etwa könnte man das machen.
"$allow_field_phone" würde ich in etwa so aufbauen:

Code: Alles auswählen

$allow_field_phone = array();
$allow_field_phone = explode(',', $board_config['allow_field_phone']);
Sprich: Im ACP ein Feld unter Allgemein > Konfiguration anlegen, in dem man die Gruppen-IDs (mit Kommata getrennt) speichert, deren User die Telefonnummer eingeben und ändern dürfen. Der Rest steht in etwa oben.
Schau dazu in admin/admin_board.php und das zugehörende Template-File templates/subSilver/admin/board_config_body.tpl, wie da die Felder definiert sind und kopiere es einfach für das neue Feld. Eine genaue Anleitung dazu gibt ja der Mod "Add X to Profile".

Die Tabelle "..._config"muss dann schliesslich auch angepasst werden:

Code: Alles auswählen

ALTER TABLE phpbb_config ADD COLUMN allow_field_phone VARCHAR(255) DEFAULT '' NOT NULL;
So, das zum kleinen Crashkurs. Bei Problemen oder Fragen nicht zum Arzt oder Apotheker rennen, sondern hier posten :D
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
skittles
Beiträge: 820
Registriert: So 04.Apr, 2004 01:07
Wohnort: Wien

Beitrag von skittles »

[quote="oxpus @ 12/5/2004, 14:46";p="5623"]Öhm ja. Du musst das im Portal getrennt vom page_header.php unterbringen
Dazu wäre es am einfachsten, wenn Du das Portal als aktiv deklarierst und damit (unabhängig der User-Einstellung) die Navigationsleiste in der overall_header.tpl abschaltest, um diese nicht doppelt zu erhalten. Könnte man so lösen:

Code: Alles auswählen

#
#-----[ OPEN]-----
#
portal.php

#
#-----[ FIND ]-----
#
define('IN_PHPBB', TRUE);

#
#-----[ AFTER, ADD ]-----
#
define('ON_PORTAL', TRUE);

#
# EoC
und darauf kann man dann die Navigation in der page_header.php grundsätzlich bei der Portalansicht abschalten:

Code: Alles auswählen

if ( $userdata['user_navi_on'] == TRUE && !defined('ON_PORTAL') ) 
{ 
$template->assign_block_vars('switch_portal_navigation_on', array()); 
}
Hast Du es soweit verstanden?
Mit einer einfachen Bedingung wäre es nämlich nicht getan, da es zwei getrennte Scripte sind (portal.php und page_header.php)...[/quote]
Also das versteh ich jetzt nicht ganz!
ich dachte ich mach es so dass die leute praktisch dadurch sie sagen ja ich will die linke Spalte immer angezeigt bekommen, sie die Spalte in der portal.tmp ja nicht brauchen! (weil sie ja schon in der overall header ist)
die Leute die diese Spalte jedoch nicht immer wollen, haben dadurch ich die linke spalte aus der portal.tmp gelöscht habe, nie diese Spalte! Also auch nicht in der Portal ansicht!

ICh dachte ich mir, dass ich eben dann diese Spalte dann wieder in der portal.tmp einfüge und davor und danach praktisch hinschreib
wenn User linke spalte nicht immer haben will, dann wird der Code der Spalte angezeigt.
Hat der User die Einstellung user_navi_on auf ja dann soll der Code ignoriert werden!

Ich versteh jetzt nicht ganz was du jetzt meinst!
Benutzeravatar
AmigaLink
Beiträge: 5843
Registriert: Mi 03.Mär, 2004 09:05
Wohnort: NRW
Kontaktdaten:

Beitrag von AmigaLink »

Das ist auch eine möglichkeit, skittles. :)
Oxpus geht die sache nur etwas Professioneller an, was allerdings nicht immer der leichtere weg ist! ;) Nach Oxpus seiner Methode ist die Linke Leiste im Portal immer vorhanden und die Leiste aus dem Header lässt sich vom User ausblenden. Gleichzeitig beldet sie sich aber auch selber aus, wenn das Portal dargestellt wird!
So wie du es jetzt schreibst, sind beide Leisten ausblenbar. Die im Header kann vom User abgeschaltet werden und die im Portal wird ausgeblendet wenn die im Header aktiv ist.
Im Endeffekt kommt das auf's gleiche raus! :D
[center].: Web Relax .::. Essen mit Freude .::. AmigaLink.de :.
______________________________________

Kein Support per PM, ICQ oder eMail!!!
[/center]
Benutzeravatar
skittles
Beiträge: 820
Registriert: So 04.Apr, 2004 01:07
Wohnort: Wien

Beitrag von skittles »

Aha! okay!
Also bei Oxpus Variante müßte ich eigentlich dann logischer weise auch nur in einer Template Datei was ändern, wenn ich die linke portalspalte ändern will, oder?

Okay na dann mach ichs mal nach der pro Methode!
Nur ne Frage ich muss nur die beiden Änderungen machen die ich hier zitiert habe?
und Wo füge ich den

Code: Alles auswählen

if ( $userdata['user_navi_on'] == TRUE && !defined('ON_PORTAL') )
{
$template->assign_block_vars('switch_portal_navigation_on', array());
}
Ein? Also an welcher Stelle?
[center]Populanten von transparenten Domizilen sollten
mit fester Materie keine transzendenten Bewegungen durchf?hren.
[/center]


Bild
Benutzeravatar
AmigaLink
Beiträge: 5843
Registriert: Mi 03.Mär, 2004 09:05
Wohnort: NRW
Kontaktdaten:

Beitrag von AmigaLink »

Also bei Oxpus Variante müßte ich eigentlich dann logischer weise auch nur in einer Template Datei was ändern, wenn ich die linke portalspalte ändern will, oder?
Jepp :)
und Wo füge ich den [...] Ein? Also an welcher Stelle?
In der includes/page_header.php nach:

Code: Alles auswählen

//
// Parse and show the overall header.
//
$template->set_filenames(array(
	'overall_header' => ( empty($gen_simple_header) ) ? 'overall_header.tpl' : 'simple_header.tpl')
);
[center].: Web Relax .::. Essen mit Freude .::. AmigaLink.de :.
______________________________________

Kein Support per PM, ICQ oder eMail!!!
[/center]
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Also der Block für die overall_header.tpl kann in der page_header.php überall eingefügt werden, Hauptsache vor

Code: Alles auswählen

$template->pparse('body');
weil damit die Seite erstellt wird.

Die Stelle, die AmigaLink nannte ist aber auch möglich und gar nicht mal so verkehrt.

Im Grunde ist die Variante, die ich vorgeschlagen hatte, nein keine Pro-Variante, sondern der einfachste und sauberste Weg, auch wenn sie professionell aussieht:
Man ändert möglichst wenige Dateien, um etwas zu erreichen. Warum also die portal_body.tpl ändern, wenn die betreffende Spalte eh dargestellt werden soll...
So wird halt ein Status gesetzt "define('ON_PORTAL', TRUE);", um an anderer Stelle dieses abfragen zu können. Ich habe das z.B. bei meinem Mod für den Countdown auch prima so gelöst, ohne grosse und aufwendige Wege gehen zu müssen (Status Datenbank oder Datei z.B.).
Halt: Einfach, dafür effektiv.

Nochwas:
Einen guten Mod (nicht auf den Sinn bezogen, sondern auf den Code) habe ich für mich festgemacht, je weniger man umständlich, mehrfach oder im Umfang an den bestehenden Dateien ändern muss. Es gibt schliesslich die Möglichkeit von neuen Files, Funktionen, Konstanten, etc.
Auch dieses Problem hier ist so ein Fall, den ich auch gleich mit einem Installationsaufwand von mehr als 15 Minuten erstellen könnte, was aber letzendlich nur den gleichen Effekt hätte und ggf. sogar in der Ausführung langsamer wäre (Datenbankaktionen, zusätzlcihe Berechnungen, etc.).

Daher der eingeschlagene und damit schlankere Weg.

Das ging aber jetzt auch wieder sehr offtopic und daher höre ich auch schon wieder auf ;)
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
AmigaLink
Beiträge: 5843
Registriert: Mi 03.Mär, 2004 09:05
Wohnort: NRW
Kontaktdaten:

Beitrag von AmigaLink »

Man ändert möglichst wenige Dateien, um etwas zu erreichen.
Das meinte ich mit Professioneller! Anfänger und ungeübte achten nicht auf sowas. :D
[center].: Web Relax .::. Essen mit Freude .::. AmigaLink.de :.
______________________________________

Kein Support per PM, ICQ oder eMail!!!
[/center]
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Ach so. Na dann lasse ich das so gelten.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Antworten