|
|
Latest News |
Latest Threads |
|
|
55.043 Posts & 4.945 Themen in 78 Foren |
|
|
|
|
Forensuche |
|
Suchbegriff |
Benutzerauswahl |
Ergebnisse anzeigen |
|
|
PLZ und Wohnortfelder durch User ausblenden? 29 Beiträge in diesem Thema |
|
|
|
|
|
|
|
|
08.01.2013 - 12:06 Uhr |
|
|
|
Juhu,
ich bins mal wieder, lache und wie üblich typisch mit einem so denke ich,
komplizierten Sonderwunsch, wo ich hoffe, dass dieser machbar ist.
Also, ich habe von Lucky (esa clan) ja den Pflichtfelder und den Droptown Hack.
(Keine Probleme damit)
Jetzt habe ich, Felder erstellt, dass PLZ und Wohnort heißt, beide sind Pflichtfelder.
Soweit auch alles ok.
Ich weiß auch, dass ich im ACP einstellen kann, bei dem Hack, ab welchem Status
diese 2 Felder einsehbar sind. User, Member, Vip, Mod und Admin.
So, diese Einstelloptionen möchte ich nun auch für die User haben.
Einstellungsmöglichkeiten sollten sein:
1. wie bei e-mail
(E-Mail-Adresse anzeigen------ Wollen Sie, dass andere Benutzer Ihre E-Mail-Adresse angezeigt bekommen?)
(PLZ anzeigen --------------Wollen Sie, dass andere Benutzer Ihre plz-Adresse angezeigt bekommen?)
(Wohnort anzeigen -------- Wollen Sie, dass andere Benutzer Ihre plz-Adresse angezeigt bekommen?)
Dann als weiter Auswahl:
PLZ darf nur ab Member, Vip, Mod oder Admin, Freunde, männl., weibl. eingesehen werden.
Wohnort darf nur ab Member, Vip, Mod oder Admin, Freunde, männl., weibl. eingesehen werden.
Alles dann im persönl. Bereich unter Optionen.
Beispiel Bild
Warum das Ganze fragt ihr euch?
Nun, ich habe User, Member, usw. die diese 3 bzw. 2 Dinge nicht öffentlich haben möchten,
was ich verstehen kann.
Gleichzeitig möchte ich es aber zumindest sehen können, welche Plz und Wohnort der User etc. hat.
Warum, das so sein soll, wäre zu lange zu erklären, hängt mit meiner Webseite zusammen,
wo ich so paar kleine gesetzliche Nickligkeiten beachten muss.
Ich hoffe ihr könnt mir helfen?
mfg
neumicha
|
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von neumicha - 08.01.2013 - 16:27 Uhr |
|
|
|
|
|
|
|
|
|
|
08.01.2013 - 21:39 Uhr |
|
|
|
Würde grundsätzlich gehen. In welchen Bereichen würde denn diese Optionen zu Tage kommen? Nur im Profil? Unter umständen könnte man auch das Script Pflichtfelder erweitern, sodas es auch für kommende Felder nutzbar ist.
|
|
|
|
|
|
|
|
|
|
09.01.2013 - 09:20 Uhr |
|
|
|
Moin,
also bei mir käme, kommt das nur in der Profilansicht vor.
Man kann aber beim Pflichtfelderhack angeben, ob das auch im Forum sichtbar wäre.
Dazu muss man nur in der Configuration im ACP einen Haken setzen, wo das Profilfeld erstellt wird.
Es betrifft also die zwei Bereiche, Profilfelder und Forum, falls Admins bei der Profilfeldervergabe Forum
angeklickt haben.
Ich mache das Grundsätzlich nicht so, sonst wäre das Forum mit mehr zugemüllt mit Userinfos
als das es noch ein Forum wäre, aber jeden wie es gefällt.
Ich habe, die Profilansicht auch komplett unterteilt in verschiedene Bereiche, weil mir der Standart
einfach zuviel und erschlagend war.
Siehe Bild
So, hier nun 2 Bilder, die einmal die nötigen Tabellen in der DB zeigen.
1. profilefields
2. userfields
Die Einstellungsmöglichkeit ob Plz und Wohnort angezeigt werden soll oder nicht,
soll dann im Persönlichen Bereich unter Optionen einstellbar sein.
Wie ich in meinem vorherigen Post per Bild gezeigt habe.
Falls noch was benötigt wird, bitte bescheid geben.
mfg
neumicha
|
Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von neumicha - 09.01.2013 - 09:35 Uhr |
|
|
|
|
|
|
|
|
|
|
10.01.2013 - 12:03 Uhr |
|
|
|
Das hast du in einem Alten kIt drin wenn ich das recht weiss . Was für eine Version ist das ?
|
|
|
|
|
|
|
|
|
|
10.01.2013 - 15:54 Uhr |
|
|
|
In welchen alten Kit gab es denn diese Möglichkeit?o.O
Und hier geht es gerade um die neueren Versionen, 1.6.6 wenn ich mich recht erinnere.
Sofern neumicha nicht das Script Pflichtfeld erweitert möchte, werde ich an dem, was ich gerade habe (habe eben jenes genanntes Script nicht ;o) weiter arbeiten und posten, wenn es fertig ist ;o
|
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von k!r!ka - 10.01.2013 - 15:54 Uhr |
|
|
|
|
|
|
|
|
|
|
10.01.2013 - 17:23 Uhr |
|
|
|
Hallo k!r!ka,
was mystery2072 schreibt ist vollkommen falsch und er liest auch nicht richtig!
Was ich im 1.6.4pl3 hatte und wieder im 1.6.6 habe ist die UNTERTEILUNG der Profilansicht!
Also in meinem letzten Post das erste Bild.
In der 1.6.4pl3 hatte ich was ich nun benötige, nämlich das Ausschalten der beiden Profilfelder nicht!
Darauf machte mich vor Tagen eine Userin aufmerksam.
Und die Userin hat recht, es gibt viele Community´s wo man Vor, Zuname, Straße, Plz, Wohnort angeben muss,
aber als User kann man sichtbar für alle anklicken oder eben halt unsichtbar anklicken, dann ist das nur für
die Betreiber sichtbar.
Was das Addon angeht, mit der Profilansicht unterteilung, was gar kein Addon ist, habe ich nach einem Tipp von Proggi
mir selbst erstellt.
k!r!ka, du kannst das Pflichtfelderhack von Lucky gerne erweitern
Habe dir mal eine PN gesendet!
mfg
neumicha
|
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von neumicha - 10.01.2013 - 17:25 Uhr |
|
|
|
|
|
|
|
|
|
|
11.01.2013 - 06:09 Uhr |
|
|
|
Wozu denn alles einzeln es gibt doch auf PimpYour Kit eine Erweiterung nur für Freunde komplet sichtbar. Von Knuddi erstellt.
|
|
|
|
|
|
|
|
|
|
11.01.2013 - 07:18 Uhr |
|
|
|
Zitat Original geschrieben von mystery2072
Wozu denn alles einzeln es gibt doch auf PimpYour Kit eine Erweiterung nur für Freunde komplet sichtbar. Von Knuddi erstellt. |
Wir sind hier aber auf HTH, und neumicha baut lieber die Modifikationen von uns ein Warum??? da musst du warten bis neumicha sich meldet.
Hide-Hack (Mindeststatus : Member) | Mindestens Mitgliedsstatus nötig! |
|
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Jardin - 11.01.2013 - 09:42 Uhr |
|
|
|
|
|
|
|
|
|
|
11.01.2013 - 11:32 Uhr |
|
|
|
Hallo zusammen,
Zitat von mystery.
Zitat
Wozu denn alles einzeln es gibt doch auf PimpYour Kit eine Erweiterung nur für Freunde komplet sichtbar. Von Knuddi erstellt.
|
Man, man, Mystery, wenn man trotz Brille nicht lesen kann, soll man es lassen.
Echt sauer werde über Kommentare, die vollkommen neben dem Thema sind.
Aber nochmal zum Mitlesen!
Das Addon von Knuddi beinhaltet, dass das gesamte PROFIL, für bestimmte Freunde, Member. usw. zu sehen ist.
Also alles, Geschlecht, Herkunft, Bundesland, Alter, Größe, letzter Forenbeitrag, und alle Kontaktdaten sind dann für alle
anderen NICHT mehr sichtbar.
Man echt!
Das was ich möchte ist:
Das alles SICHTBAR bleibt, bis auf ein paar von mir erstellte Profilfelder!
Z.B soll der User bestimmen können, ob er öffentlich seine PLZ, sein Wohnort oder Alter (Geburtsdatum) anzeigen will.
Will er das nicht, kann er wählen, wer dieses eine bestimmte Feld sehen darf.
UND, genau das macht und kann das Addon von Knuddi gar nicht.
Ich wiederhole, Knuddis Addon schaltet das GESAMTE PROFIL ab, mit ALLEN Angaben!
Irgendwie wundert es mich nicht, dass Deutschland keine Fachkräfte mehr hat, wenn man so einfache Dinge beim Lesen nicht begreift.
Man sollte eventuell, anstatt den ganzen Tag am PC zu verbringen, Orthografie, Rechtschreibung und Grammatik üben,
dann lernt man auch zwangsläufig richtig lesen und zu verstehen.
So nebenbei, auch, wenn jemand was anderes erzählt, ich habe nachgesehen, laut deutschem Internetgesetz,
muss jedem User individuell die Möglichkeit gegeben werden selbst zu bestimmen,
welche Profilfelder er veröffentlichen möchte und welche nicht!
Tipp:
Wenn man sich vorgefertigte Foren runterlädt, z.B MyBB und als Admin Profilfelder erstellt, ist automatisch für jeden User
der ein Feld ausfüllt die Option dabei, sichtbar für alle User oder unsichtbar und genau darum geht es.
mfg
neumicha
|
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von neumicha - 11.01.2013 - 15:02 Uhr |
|
|
|
|
|
|
|
|
|
|
11.01.2013 - 14:07 Uhr |
|
|
|
Zitat Original geschrieben von mystery2072
Wozu denn alles einzeln es gibt doch auf PimpYour Kit eine Erweiterung nur für Freunde komplet sichtbar. Von Knuddi erstellt. |
Es spricht ja Grundsätzlich nichts dagegen einen Thread nicht vollständig zu lesen. Es spräche auch nichts dagegen, wenn du helfen möchtest, in welcher Form auch immer. Allerdings ist es wenig hilfreich, wenn dein Versuch zu helfen in eine andere Richtung geht, wie es im Startpost angefragt wurde.
Seh das nicht als Warnung oder Hinweis, sondern als nett gemeinter Rat für zukünftiges Wie neumicha bereits leicht entnervt geantwortet hat, geht es um die Möglichkeiten die selbst erstellten Profilfelder nur bestimmten Parteien anzeigen zu lassen.
|
|
|
|
|
|
|
|
|
|
11.01.2013 - 22:11 Uhr |
|
|
|
Hat etwas gedauert, aber hier ist die kleine Erweiterung für das Script Pflichtfelder.
Dateien- pkinc/admin/userprofilefields.php
- pkinc/admintpl/profilefields_form.htm
- pkinc/func/default.php
- pkinc/public/userinfo.php
- pkinc/public/userprofile.php
- pkinc/publictpl/extoption_access_field.htm (neu)
- pkinc/public/install_accessToSee.php (neu)
FunktionDiese Erweiterung gibt den Profilfeldern die Möglichkeit, dem User selbst entscheiden zu lassen, wer welche seiner Daten sehen darf. Auch User, die Berechtigung zum AdminCenter haben, können diese Daten im öffentlichen Bereich nicht sehen. Im AdminCenter können berechtigte User einstellen, welchen Gruppen der User am Ende seine Daten anzeigen lassen kann. Neben den üblichen Statusen wie User, Moderatore etc. gibt noch die Unterscheidung von Geschlecht und Unsichtbar. Wer den Status "VIP" hat, hat diesen gleich mit ;o
Code- pkinc/admin/userprofilefields.php
- Öffne o.g. Datei und suche das:
| PHP-Quelltext $SQL->query("ALTER TABLE ".pkSQLTAB_USER_FIELDS." DROP field_".intval($_POST['id'])); | |
Und füge darüber das ein:
| PHP-Quelltext /* addOption :: accessToSee */
$SQL->query("DELETE FROM ".pkSQLTAB_USER_FIELDS."_access WHERE userfields_access_field='".intval($_POST['id'])."'");
/* addOption :: accessToSee */ | |
- Suche weiter:
| PHP-Quelltext profilefields_cut='".$SQL->f($_POST['field_cut'])."' | |
Und füge darüber das ein:
| PHP-Quelltext /* addOption :: accessToSee */
profilefields_access_see='".$SQL->f($_POST['field_access_see'])."',
profilefields_access_option='".profileField_option($id, 'dbOption')."',
/* addOption :: accessToSee */ | |
- Suche weiter:
| PHP-Quelltext $fieldmaxlength=$profilefield['profilefields_maxlength']; | |
Und füge darüber das ein:
| PHP-Quelltext /* addOption :: accessToSee */
$profileField_accessSee
=
intval($profilefield['profilefields_access_see'])===1
? ' checked="checked"'
: NULL
;
$profileField_accessOption =profileField_option($fieldid, NULL, trim($profilefield['profilefields_access_option']));
/* addOption :: accessToSee */ | |
- pkinc/admintpl/profilefields_form.htm
- Öffne o.g. Datei und suche das:
| PHP-Quelltext <tr>
<td class="heads" colspan="2" align="center">
<input type="submit" name="action" value="$lang[save]" />
<input type="hidden" name="save" value="$lang[save]" />
<input type="submit" name="action" value="$lang[cancel]" />
<input type="hidden" name="cancel" value="$lang[cancel]" /></td>
</tr> | |
Und füge darüber das ein:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | | PHP-Quelltext <!-- addOption :: accessToSee -->
<tr>
<td class="left" valign="top">
Zugriffsrechte setzen?
<br />
<span class="small">Nutzer dürfen selber entscheiden, wer dieses Profilfeld sehen darf.</span>
</td>
<td class="right" valign="top">
<div style="float: left;">
<span class="small">
<input class="checkbox" type="checkbox" value="1" name="field_access_see"$profileField_accessSee /> Selber entscheiden
</span>
</div>
<div style="float: left;">
<div style="margin-left: 5px; padding-left: 5px; border-left: 1px solid #000000;">
Bitte wählen Sie, was die User am Ende auswählen dürfen:
$profileField_accessOption
</div>
</div>
</td>
</tr>
<!-- addOption :: accessToSee --> | |
- pkinc/func/default.php
- Öffne o.g. Datei und suche das:
| PHP-Quelltext if(!defined('pkFRONTEND'))
die('Direct access to this location is not permitted.'); | |
Und füge darunter das ein:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 | | PHP-Quelltext /* addOption :: accessToSee */
function profileField_access($iAccess='')
{
switch ($iAccess)
{
case 'onlyMale':
$iAccess
=
pkGetUservalue('sex')==='m'
? TRUE
: FALSE
;
break;
case 'onlyFemale':
$iAccess
=
pkGetUservalue('sex')==='w'
? TRUE
: FALSE
;
break;
case 'invisible':
global
$userinfo
;
$iAccess
=
intval($userinfo['user_id'])===intval(pkGetUservalue('id'))
? TRUE
: FALSE
;
break;
case 'friends':
global
$SQL,
$userinfo
;
$iAccess
=
intval($userinfo['user_id'])===intval(pkGetUservalue('id'))
? TRUE
: $SQL->fetch_assoc($SQL->query("SELECT * FROM ".pkSQLTAB_USER_FRIENDLIST." WHERE buddy_userid='".intval(pkGetUservalue('id'))."' AND buddy_friendid='".intval($userinfo['user_id'])."' LIMIT 1"))
;
$iAccess
=
$iAccess===FALSE
? FALSE
: TRUE
;
break;
default:
global
$userinfo
;
$iAccess
=
intval($userinfo['user_id'])===intval(pkGetUservalue('id'))
? TRUE
: getrights($iAccess)
;
break;
}
return
$iAccess
;
}
function profileField_option($iProfileID='', $iOption='', $iSelect='')
{
if (!isset($iProfileID) || empty($iProfileID))
{
return;
}
$iOption
=
isset ($iOption)
&& !empty($iOption)
? trim ($iOption)
: NULL
;
$iSelect
=
isset ($iSelect)
&& is_string($iSelect)
&& trim ($iSelect)!=''
? trim ($iSelect)
: NULL
;
$iMenu
=
array(
'invisible' =>'Unsichtbar',
'friends' =>'Freunde',
'admin' =>'nur Admins',
'mod' =>'ab Moderator',
'VIP' =>'ab VIP',
'member' =>'ab Mitglied',
'onlyMale' =>'nur Männer',
'onlyFemale'=>'nur Frauen',
'user' =>'alle User',
);
if ($iOption==='dbOption')
{
global
$SQL
;
$fA_option =$_POST['field_access_option'][$iProfileID];
if (!isset($fA_option))
{
return
NULL
;
}
if (is_array($fA_option) && count($fA_option) > 0)
{
$fA_sql =NULL;
foreach ($fA_option as $fA_name=>$fA_null)
{
$fA_sql.=(empty($fA_sql) ? NULL : "\n").$fA_name;
}
}
else
{
$fA_sql =$fA_option;
}
$fA_option
=
isset ($fA_sql)
&& !empty ($fA_sql)
? $SQL->f($fA_sql)
: NULL
;
return
$fA_option
;
}
if (!isset($iMenu) || !is_array($iMenu) || count($iMenu)===0)
{
return;
}
$loopMenu =NULL;
$isSelect =explode("\n", $iSelect);
$isSelect =array_flip($isSelect);
if (isset($iOption))
{
$isOption =explode("\n", $iOption);
$isOption =array_flip($isOption);
}
foreach ($iMenu as $iType=>$iValue)
{
$iType =trim($iType);
$iValue =utf8_encode(trim($iValue));
if (isset($isOption) && !isset($isOption[$iType]))
{
continue;
}
switch(pkFRONTEND)
{
case 'public':
$loopMenu .='<option value="'.$iType.'"'.(isset($isSelect[$iType]) ? ' selected="selected"' : NULL).' /> '.$iValue.'</option>';
break;
case 'admin':
$loopMenu .='<div><input class="checkbox" type="checkbox" value="1" name="field_access_option['.$iProfileID.']['.$iType.']"'.(isset($isSelect[$iType]) ? ' checked="checked"' : NULL).' /> '.$iValue.'</div>';
break;
}
}
if (pkFRONTEND==='public')
{
$loopMenu
='
<select name="field_access_option['.$iProfileID.']" size="1">
'.$loopMenu.'
</select>
';
}
return
$loopMenu
;
}
/* addOption :: accessToSee */ | | |
- pkinc/public/userinfo.php
- Öffne o.g. Datei und suche das:
| PHP-Quelltext $fieldcontent=pkEntities($userfields[$f]); | |
Und füge darunter das ein:
| PHP-Quelltext /* addOption :: accessToSee */
$userField =$SQL->fetch_assoc($SQL->query("SELECT * FROM ".pkSQLTAB_USER_FIELDS."_access WHERE userfields_access_user='".$userinfo['user_id']."' AND userfields_access_field='".$profilefields['profilefields_id']."' LIMIT 1"));
if (intval($profilefields['profilefields_access_see'])===1 && ($userField===FALSE || profileField_access($userField['userfields_access_option'])===FALSE))
{
continue;
}
/* addOption :: accessToSee */ | |
- pkinc/public/userprofile.php
- Öffne o.g. Datei und suche das:
| PHP-Quelltext pkHeaderLocation('userprofile','options');
}
if(isset($_REQUEST['setavatar'])) | |
Und füge darüber das ein:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | | PHP-Quelltext /* addOption :: accessToSee */
$profileField_sql
=
$SQL->query("
SELECT
profilefields_id
FROM
".pkSQLTAB_USER_PROFILEFIELDS."
WHERE
".sqlrights('profilefields_status_edit')."
AND
profilefields_access_see='1'
AND
profilefields_access_option!=''
");
while ($profileField_loop=$SQL->fetch_assoc($profileField_sql))
{
$pF_id =intval($profileField_loop['profilefields_id']);
$profileField_accessOption =profileField_option($pF_id, 'dbOption');
$infoAccess =$SQL->fetch_row($SQL->query("SELECT userfields_access_option FROM ".pkSQLTAB_USER_FIELDS."_access WHERE userfields_access_user='".pkGetUservalue('id')."' AND userfields_access_field='".$pF_id."'"));
if ($infoAccess===FALSE)
{
$SQL->query("
INSERT INTO
".pkSQLTAB_USER_FIELDS."_access
(userfields_access_user, userfields_access_field, userfields_access_option)
VALUE
(".$SQL->i(pkGetUservalue('id')).", ".$SQL->i($pF_id).", '".$profileField_accessOption."')
");
continue;
}
$SQL->query("
UPDATE
".pkSQLTAB_USER_FIELDS."_access
SET
userfields_access_option='".$profileField_accessOption."'
WHERE
userfields_access_user='".$SQL->i(pkGetUservalue('id'))."'
AND
userfields_access_field='".$SQL->i($pF_id)."'
");
}
/* addOption :: accessToSee */ | | |
- Suche weiter:
| PHP-Quelltext $user_navigation=pkUserNavigation();
eval("\$site_body.=\"".pkTpl("extoption")."\";");
break;
#END case options | |
Und füge darüber das ein:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | | PHP-Quelltext /* addOption :: accessToSee */
$profileField_sql
=
$SQL->query("
SELECT
profilefields_id,
profilefields_name,
profilefields_access_option
FROM
".pkSQLTAB_USER_PROFILEFIELDS."
WHERE
".sqlrights('profilefields_status_edit')."
AND
profilefields_access_see='1'
AND
profilefields_access_option!=''
ORDER by
profilefields_sorts ASC,
profilefields_order ASC
");
while ($profileField_loop=$SQL->fetch_assoc($profileField_sql))
{
$pF_id =intval($profileField_loop['profilefields_id']);
$pF_name =trim(stripslashes($profileField_loop['profilefields_name']));
$pF_option =trim(stripslashes($profileField_loop['profilefields_access_option']));
$userField =$SQL->fetch_assoc($SQL->query("SELECT * FROM ".pkSQLTAB_USER_FIELDS."_access WHERE userfields_access_user='".pkGetUservalue('id')."' AND userfields_access_field='".$pF_id."' LIMIT 1"));
$uF_option =trim(stripslashes($userField['userfields_access_option']));
$profileField_option_field =profileField_option($pF_id, $pF_option, $uF_option);
eval("\$ghost_eod.= \"".pkTpl('extoption_access_field')."\";");
}
/* addOption :: accessToSee */ | | |
- pkinc/publictpl/extoption_access_field.htm
- Erstelle o.g. Datei (z.B. eine vorhandene .htm-Datei kopieren, umbenennen) und füge folgenden Code ein:
| PHP-Quelltext <tr>
<td class="left">
Anzeige-Option für: <span style="font-style: italic;">$pF_name</span><br />
<font class="small">Hier können Sie angeben, wer alles Ihre o.g. Option in Ihrem Profil sehen darf.</font>
</td>
<td class="right">
$profileField_option_field
</td>
</tr> | |
- pkinc/public/install_accessToSee.php
- Erstelle o.g. Datei (z.B. eine vorhandene .php-Datei kopieren, umbenennen) und füge folgenden Code ein:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | | PHP-Quelltext <?php
if (!defined('pkFRONTEND') || pkFRONTEND!='public')
{
die('Direct access to this location is not permitted.');
}
if (!getrights('admin'))
{
pkEvent('access_refused');
return;
}
$SQL->query("
CREATE TABLE IF NOT EXISTS
".pkSQLTAB_USER_FIELDS."_access
(
userfields_access_user int(10) unsigned NOT NULL,
userfields_access_field int(10) unsigned NOT NULL default '0',
userfields_access_option varchar(20) NOT NULL
)
");
$SQL->query("
ALTER TABLE
".pkSQLTAB_USER_PROFILEFIELDS."
ADD
profilefields_access_see TINYINT( 1 ) UNSIGNED NOT NULL DEFAULT '0',
ADD
profilefields_access_option TEXT NOT NULL
");
echo 'Die Installation wurde durchgeführt. Sollten Fehlermeldungen erscheinen, einfach im Forum melden ;>';
?> | |
Die letzte Datei ist für die Installation, und kann am Ende gelöscht oder umbenannt werden. Es haben eh nur Administratoren Zugriff darauf. Das ganze sollte eigentlich keine Probleme machen und kann eigentlich auch ohne das Script Pflichtfelder benutzt werden, da jenes Script nicht angerührt wurde. Sollte dennoch was sein, einfach melden ;o
|
Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von k!r!ka - 16.01.2013 - 20:44 Uhr |
|
|
|
|
|
|
|
|
|
|
12.01.2013 - 10:41 Uhr |
|
|
|
Hallo k!r!ka
vielen lieben Dank erstmal,
ich habe alles editiert und eingebaut, auch die install erfolgreich durchgeführt.
Klappt soweit ja auch alles wunderbar.
Nur fehlt mir irgendwas, nämlich entweder in der usereditprofile.htm oder
wo das rein muss.
Denn ich finde nirgens als Testuser oder Admin im Kit selbst, nachdem ich im ACP
die Einstellung vorgenommen habe ein Button oder Dropdown, wo ich als User
nun einstellen kann, wer das Profilfeld nun sehen darf.
Ist vielleicht vergessen worden?
mfg
neumicha
|
|
|
|
|
|
|
|
|
|
12.01.2013 - 11:08 Uhr |
|
|
|
Guck mal im AdminCenter > Benutzer > Profilfelder > Eintrag bearbeiten
Dort müsste doch ganz unten der Punkt Zugriffsrechte setzen? Nutzer dürfen selber entscheiden, wer dieses Profilfeld sehen darf. zu sehen sein. Dies aktivieren (Häckchen setzen) und dann rechts davon die Elemente auswählen, die der User am Ende auswählen kann.
Mir ist grade aufgefallen, das beim Erstellen eines Profilfeldes die o.g. Auswahl nicht vorhanden ist. Beim bearbeiten erscheinen sie dann wieder.
---
Was die Anzeige im Profil angeht:
In den erweiterten Einstellungen sollte eigentlich fest die Auswahl für das Profil vorhanden sein. Und je nach Profilfeldern, die die User selber einstellen können, dann darunter erscheinen. Ein Template hab ich dafür jetzt nicht benutzt, ist alles in der pkinc/public/userprofile.php enthalten, siehe dazu den Editierungspunkt 2. Dort ist dies verankert. Wenn dies über Templates erfolgen soll, einfach bescheid geben ;o
|
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von k!r!ka - 12.01.2013 - 11:14 Uhr |
|
|
|
|
|
|
|
|
|
|
12.01.2013 - 11:23 Uhr |
|
|
|
Nein,
da ist nichts,
Zitat
In den erweiterten Einstellungen sollte eigentlich fest die Auswahl für das Profil vorhanden sein.
|
Wenn es nicht zuviel mühe macht, wäre ein tpl gut. Ich kann als normaler user
weder in der usereditprofile.htm noch in dem Optionen bereich irgendwas sehen, womit ich die
profilfelder nun bestimmen kann
EDIT
Ich habe nun alles im ACP nochmals eingestellt, bin als testuser rein, dann auf Persön. Bereich
dann auf Profil editieren, da war nichts zu sehen, dann zurück und auf Optionen (Weitere Einstellungen)
auch nichts zu sehen.
Ich kann nur als Admin bestimmen, unter ACP >> Benutzer >> Profilfelder,
dann auf bearbeiten und unten einstellen:
Selber entscheiden Bitte wählen Sie, was die User am Ende auswählen dürfen:
Unsichtbar
Freunde
nur Admins
ab Moderator
ab VIP
ab Mitglied
nur Männer
nur Frauen
alle User
dort habe ich dann alles angehakt und dann wieder nur eins, also alles durchprobiert
Neues Problem ist, wenn ich als testuserdrin bin und mir profile ansehen möchte, erhalte ich folgende Meldung:
Der Zugriff auf die von Ihnen angewählte Seite wurde unterbunden. Diese kann einen der folgende Gründe haben :
Sie sind haben sich nicht angemeldet oder haben sich noch nicht registriert.
Sie verfügen nicht über die notwendigen Rechte um diese Seite zu betreten.
Ihre Sitzung wurde wegen zu langer Inaktivität beendet.
Jemand anderes verwendet Ihr Benutzerkonto.
Angemeldet als: test
Abmelden
mfg
neumicha
|
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von neumicha - 12.01.2013 - 12:02 Uhr |
|
|
|
|
|
|
|
|
|
|
12.01.2013 - 12:12 Uhr |
|
|
|
Also im AdminCenter, unter o.g. Punkt ist nichts? Hast du das Template pkinc/admintpl/profilefields_form.htm auch entsprechend geändert?
---
Was die Anzeige der Auswahl-Elemente angeht, die im Profil angezeigt werden sollten, muss ich sagen, das ich die Suchstrings nicht genau bestimmt habe. Habe gerade gemerkt, das einige mehrfach in der Datei sind ^^""
Dies betrifft die Datei pkinc/public/userprofile.php. Entweder du machst die Änderung rückgängig oder du suchst die Änderungen und verschiebst diese an folgende Stellen:
Zuerst sollteste ja nach dem hier suchen:
| PHP-Quelltext pkHeaderLocation('userprofile','options'); | |
Diese ist 2x zu finden. Wo auch immer du den Code am Ende eingesetzt hast, füge ihn darüber ein (es sei denn, er es bereits dort):
| PHP-Quelltext pkHeaderLocation('userprofile','options');
}
if(isset($_REQUEST['setavatar'])) | |
Wie oben, diesmal sollteste ja dies suchen:
| PHP-Quelltext $user_navigation=pkUserNavigation(); | |
Diese Stelle ist sogar 4x zu finden. Gehe wieder wie oben vor und packe den neuen Code über diese Stelle:
| PHP-Quelltext $user_navigation=pkUserNavigation();
eval("\$site_body.=\"".pkTpl("extoption")."\";");
break; | |
Ich denke mal, daran liegt es größtenteils, das du als Benutzer im Profil nichts einstellen kannst.
---
Weiter geht es mit den Fixes:
Templates für die erweiterten Einstellungen- Öffne die Datei pkinc/public/userprofile.php und suche dieses:
| PHP-Quelltext $ghost_eod
.=
'
<tr>
<td class="left">
Anzeige-Option für: <span style="font-style: italic;">Profil anzeigen</span><br />
<font class="small">Hier können Sie angeben, wer alles Ihr Profil aufrufen darf</font>
</td>
<td class="right">
'.profileField_option('profile', NULL, $userinfo['user_access_profile']).'
</td>
</tr>
'; | |
Und mache daraus das:
| PHP-Quelltext $profileField_option_profile=profileField_option('profile', NULL, $userinfo['user_access_profile']);
eval("\$ghost_eod.= \"".pkTpl('extoption_access_profile')."\";"); | |
Nun erstelle ein Template mit den Namen extoption_access_profile und füge folgenden Code ein:
| PHP-Quelltext <tr>
<td class="left">
Anzeige-Option für: <span style="font-style: italic;">Profil anzeigen</span><br />
<font class="small">Hier können Sie angeben, wer alles Ihr Profil aufrufen darf</font>
</td>
<td class="right">
$profileField_option_profile
</td>
</tr> | |
- Suche weiter nach dem:
| PHP-Quelltext $ghost_eod
.=
'
<tr>
<td class="left">
Anzeige-Option für: <span style="font-style: italic;">'.$pF_name.'</span><br />
<font class="small">Hier können Sie angeben, wer alles Ihre o.g. Option in Ihrem Profil sehen darf.</font>
</td>
<td class="right">
'.profileField_option($pF_id, $pF_option, $uF_option).'
</td>
</tr>
'; | |
Und mache daraus das:
| PHP-Quelltext $profileField_option_field =profileField_option($pF_id, $pF_option, $uF_option);
eval("\$ghost_eod.= \"".pkTpl('extoption_access_field')."\";"); | |
Nun erstelle ein Template mit den Namen extoption_access_field und füge folgenden Code ein:
| PHP-Quelltext <tr>
<td class="left">
Anzeige-Option für: <span style="font-style: italic;">$pF_name</span><br />
<font class="small">Hier können Sie angeben, wer alles Ihre o.g. Option in Ihrem Profil sehen darf.</font>
</td>
<td class="right">
$profileField_option_field
</td>
</tr> | |
Fix für das Auswahl-Menu für die Benutzer- Öffne die Datei pkinc/func/default.php und suche dieses:
| PHP-Quelltext $isSelect =explode("\n", $iSelect);
$isSelect =array_flip($isSelect); | |
Und füge darunter das ein:
| PHP-Quelltext if (isset($iOption))
{
$isOption =explode("\n", $iOption);
$isOption =array_flip($isOption);
} | |
Frag mich jetzt nicht, warum ich das rausgelöscht habe. Ich hatte es drin, aber irgendwie war mir: Raus damit. Und siehe da, es war falsch ^^""
Es sollte jetzt alles besser und vorallem korrekt ^^"
---
Bzgl. deines edits:
Die Meldung könnte deswegen kommen, weil z.B. noch keine Einstellung getätigt wurde. Sprich, es ist erstmal Grundlegend auf "Nicht Sichtbar" gestellt (wäre aus Datenschutzgründen sicherlich nicht verkehrt, oder?). Dies würde allerdings nur auf die Statuse sich beschränken. Wenn dies noch für die Optionen Freunde, Unsichtbar und Geschlechtertrennung gesetzt werden soll, sag einfach bescheid ;o Oder sag bescheid, wenn es Grundlegend nicht so sein soll ;o
|
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von k!r!ka - 12.01.2013 - 16:04 Uhr |
|
|
|
|
|
|
|
|
|
|
|
Ähnliche Themen |
|
|
|
|
|
|
|
|