Profilfeld nur für eine Usergruppe sichtbar
|
Kevin |
Geschrieben am 03-08-2014 16:09
|
Jungspund
(8)
Beiträge: 17
Registriert am: 20.03.2011
Geschlecht:
Alter: 32
Stimmung:
-
|
Hallo zusammen,
ich mal wieder :)
Ich habe folgende Situation. Ich möchte gerne das ein Bestimmtes Feld nur für eine bestimmte Usergruppe sichtbar ist. Das Funktioniert soweit auch Editierbar ist dieses Feld nur für die Usergruppe.
Nun aber zum Problem. Angezeigt im Profil soll es bei Allen also nicht nur den Usern die in der Gruppe sind. Nur nicht editiertbar soll es für alle sein.
Das Feld wird in der Edit angezeigt aber schreibe ich nun in das Feld rein und speicher es speichert er es auch in der Edit ab dort sieht man den Inhalt. Aber im Profil sieht man den Inhalt weder für die User in der Gruppe als auch nicht für Nutzer die nicht in der Gruppe sind.
Mein Code ist wie folgt:
user_wasichmag_include:
Code <?php
/*-------------------------------------------------------+
| PHP-Fusion Content Management System
| Copyright (C) 2002 - 2011 Nick Jones
| http://www.php-fu...
+--------------------------------------------------------+
| Filename: user_sig_include.php
| Author: Digitanium
+--------------------------------------------------------+
| This program is released as free software under the
| Affero GPL license. You can redistribute it and/or
| modify it under the terms of this license which you
| can read by viewing the included agpl.txt or online
| at www.gnu.org/licen... Removal of this
| copyright header is strictly prohibited without
| written permission from the original author(s).
+--------------------------------------------------------*/
if (!defined("IN_FUSION")) { die("Access Denied"); }
// Display user field input
if ($profile_method == "input") {
if (checkgroup(1)) {
require_once INCLUDES."bbcode_include.php";
$user_wasichmag = isset($user_data['user_wasichmag']) ? $user_data['user_wasichmag'] : "";
if ($this->isError()) { $user_wasichmag = isset($_POST['user_wasichmag']) ? stripinput($_POST['user_wasichmag']) : $user_wasichmag; }
echo "<tr>\n";
echo "<td valign='top' class='tbl".$this->getErrorClass("user_wasichmag")."'><label for='user_wasichmag'>".$locale['uf_wasichmag'].$required."</label></td>\n";
echo "<td class='tbl".$this->getErrorClass("user_wasichmag")."'>";
echo "<textarea id='user_wasichmag' name='user_wasichmag' cols='60' rows='5' class='textbox' style='width:295px'>".$user_wasichmag."</textarea><br />\n";
echo display_bbcodes("300px", "user_wasichmag", "inputform", "smiley|b|i|u||center|small|url|mail|img|color");
echo "</td>\n</tr>\n";
if ($required) { $this->setRequiredJavaScript("user_wasichmag", $locale['uf_wasichmag_error']); }
}
// Display in profile
} elseif ($profile_method == "display") {
// Insert and update
} elseif ($profile_method == "validate_insert" || $profile_method == "validate_update") {
// Get input data
if (isset($_POST['user_wasichmag']) && ($_POST['user_wasichmag'] != "" || $this->_isNotRequired("user_wasichmag"))) {
// Set update or insert user data
$this->_setDBValue("user_wasichmag", stripinput(trim($_POST['user_wasichmag'])));
} else {
$this->_setError("user_wasichmag", $locale['uf_wasichmag_error'], true);
}
}
?>
user_wasichmag_include_var:
Code <?php
/*-------------------------------------------------------+
| PHP-Fusion Content Management System
| Copyright (C) 2002 - 2011 Nick Jones
| http://www.php-fu...
+--------------------------------------------------------+
| Filename: user_sig_include_var.php
| Author: Digitanium
+--------------------------------------------------------+
| This program is released as free software under the
| Affero GPL license. You can redistribute it and/or
| modify it under the terms of this license which you
| can read by viewing the included agpl.txt or online
| at www.gnu.org/licen... Removal of this
| copyright header is strictly prohibited without
| written permission from the original author(s).
+--------------------------------------------------------*/
if (!defined("IN_FUSION")) { die("Access Denied"); }
$user_field_name = "Was Ich Mag";
$user_field_desc = "VIPs kann eintragen was er mag";
$user_field_dbname = "user_wasichmag";
$user_field_group = 2;
$user_field_dbinfo = "TEXT NOT NULL";
?>
In der Locale steht nichts habe ja inzwischen gelernt das man so die Fehler umgehen kann :)
Hoffe mir kann jemand helfen.
Gruß
Kevin |
Verwarnstatus:
|
x 1
|
|
|
|
DeeoNe |
Geschrieben am 04-08-2014 10:35
|
Super Admin
(236)
PHP-Fusion: v7.02.07
Beiträge: 3715
Registriert am: 30.01.2010
Geschlecht:
Alter: 38
Stimmung:
|
Du darfst natürlich dann nicht die if (checkgroup(1)) { } schleife um den ganzen text machen, sondern nur IN die IF schleife "input".
|
Verwarnstatus:
|
|
|
|
|
Kevin |
Geschrieben am 13-08-2014 20:11
|
Jungspund
(8)
Beiträge: 17
Registriert am: 20.03.2011
Geschlecht:
Alter: 32
Stimmung:
-
|
sorry das ich mich nun erst melde aber hatte etwas Stress.
Danke für deine Antwort Deeone.
Die If Abfrage schließt ja auch im Input Befehl. Ich habe ja Notepad++ und da wird ja angezeigt wo jeweils die If Abfragen schließen.
Die letzte If Abfrage im input öffnet direkt und schließt auch direkt nach dem Inhalt. Daher sollte alles korrekt sein.
Sollte ich da immer noch falsch sein kannst du mir gerne das Gegenteil Beweisen Inhalt des Codes wäre dann aber lieb wie er aussehen müsste
Gruß
Kevin |
Verwarnstatus:
|
x 1 x 1
|
|
|
|
DeeoNe |
Geschrieben am 16-08-2014 19:07
|
Super Admin
(236)
PHP-Fusion: v7.02.07
Beiträge: 3715
Registriert am: 30.01.2010
Geschlecht:
Alter: 38
Stimmung:
|
sry sehe es jetzt erst, der code sollte für die Gruppen Eingabe richtig sein, nur hast du gar kein Display Code drinne, das es von anderen im Profil gesehen werden kann:
Code // Display in profile
} elseif ($profile_method == "display") {
// Insert and update
Da ist kein echo mit Feld wiedergabe.
|
Verwarnstatus:
|
|
|
|
|
Kevin |
Geschrieben am 17-08-2014 12:59
|
Jungspund
(8)
Beiträge: 17
Registriert am: 20.03.2011
Geschlecht:
Alter: 32
Stimmung:
-
|
Ok danke dir hat alles geklappt.
Falls es leute gibt die gerne auch ein Profilfeld nur für eine Bestimmte Gruppe in der Edit Profile zum bearbeiten freigeben will aber es bei jeder Person beim Klick auf das Profil sichtbar ist habe ich hier den Inhalt des Codes:
Bearbeite vorher die ID in der Klammer zwischen checkgroup(1) sonst ist das Feld für eine Nutzergruppe sichbar die in Gruppe 1 sind. Ansonsten musst du im Code nichts ändern.
Code <?php
/*-------------------------------------------------------+
| PHP-Fusion Content Management System
| Copyright (C) 2002 - 2011 Nick Jones
| http://www.php-fu...
+--------------------------------------------------------+
| Filename: user_sig_include.php
| Author: Digitanium
+--------------------------------------------------------+
| This program is released as free software under the
| Affero GPL license. You can redistribute it and/or
| modify it under the terms of this license which you
| can read by viewing the included agpl.txt or online
| at www.gnu.org/licen... Removal of this
| copyright header is strictly prohibited without
| written permission from the original author(s).
+--------------------------------------------------------*/
if (!defined("IN_FUSION")) { die("Access Denied"); }
include_once INCLUDES."bbcode_include.php";
// Display user field input
if ($profile_method == "input") {
if (checkgroup(1)) {
require_once INCLUDES."bbcode_include.php";
$user_wasichmag = isset($user_data['user_wasichmag']) ? $user_data['user_wasichmag'] : "";
if ($this->isError()) { $user_wasichmag = isset($_POST['user_wasichmag']) ? stripinput($_POST['user_wasichmag']) : $user_wasichmag; }
echo "<tr>\n";
echo "<td valign='top' class='tbl".$this->getErrorClass("user_wasichmag")."'><label for='user_wasichmag'>Was ich mag</label></td>\n";
echo "<td class='tbl".$this->getErrorClass("user_wasichmag")."'>";
echo "<textarea id='user_wasichmag' name='user_wasichmag' cols='60' rows='5' class='textbox' style='width:295px'>".$user_wasichmag."</textarea><br />\n";
echo display_bbcodes("300px", "user_wasichmag", "inputform", "smiley|b|i|u||center|small|url|mail|img|color");
echo "</td>\n</tr>\n";
if ($required) { $this->setRequiredJavaScript("user_wasichmag", $locale['uf_wasichmag_error']); }
}
// Display in profile
} elseif ($profile_method == "display") {
if ($user_data['user_wasichmag']) {
echo "<tr>\n";
echo "<td class='tbl1'>Was ich mag</td>\n";
echo "<td align='right' class='tbl1'>".parsesmileys(parseubb(nl2br($user_data['user_wasichmag'])))."</td>\n";
echo "</tr>\n";
}
// Insert and update
} elseif ($profile_method == "validate_insert" || $profile_method == "validate_update") {
// Get input data
if (isset($_POST['user_wasichmag']) && ($_POST['user_wasichmag'] != "" || $this->_isNotRequired("user_wasichmag"))) {
// Set update or insert user data
$this->_setDBValue("user_wasichmag", stripinput(trim($_POST['user_wasichmag'])));
} else {
$this->_setError("user_wasichmag", $locale['uf_wasichmag_error'], true);
}
}
?>
Gruß
Kevin
Bearbeitet von Kevin am 17-08-2014 13:41
|
Verwarnstatus:
|
x 1 x 1
|
|
|