|
|
Latest News |
Latest Threads |
|
 |
55.484 Posts & 4.945 Themen in 78 Foren |
|
|
|
 |
Forensuche |
|
Suchbegriff |
Benutzerauswahl |
Ergebnisse anzeigen |
 |
 |
Profile aus Ihrer PLZ Kit 1.6.6 18 Beiträge in diesem Thema |
|
|
 |
|
|
 |
|
 |
02.01.2013 - 20:02 Uhr |
|
|
|
Hallo,
ich weiß nicht, ob ich hier richtig bin. Also im richtigen Forum.
Es gibt von Kit- Crafting ein Addon, dass Onlinelist heißt, darin werden User ausgegeben, die gerade online sind
und es gibt von Kit- Power ein Addon, welches nur über eine php Datei läuft, dass die neuesten User anzeigt.
Siehe bitte Bild: ( Beide Addons sind im Aussehen so ziemlich gleiche)
Nun wünsche ich mir eigentlich das Gleiche noch mal auch im Aussehen.
Als Überschrift dann: Profile aus Ihrer PLZ oder User aus Ihrer PLZ, was noch besser wäre.
Zuerst Avatar, darunter anklickbarer Nick und dahinter in Klammer M oder W also so: neumicha (M) und darunter
die 2 oder 3 ersten Stellen der PLZ.
Wenn jetzt jemand aus der Region Plz 74 kommt, sollen alle die, die aus der Region 74 aufgelistet werden.
also ausgehend von den ersten 2 Stellen der Plz.
Das Ganze möchte ich dann in die Startseite in die Mitte einbauen, so das in einer Reihe 3- bis 5 einstellbar ist, die nebeneinander angezeigt werden und ein Button, "Alle ansehen" wenn man drauf klickt eine Liste aufgeht, worin alle User der Region zu finden sind.
Falls möglich, wäre Austria und Schweiz noch von Vorteil?
Sollte in der Höhe und Breite ziemlich klein gehalten sein, In etwa so 80 x80 das Avatar und darunter dann die Angaben
Nick (Geschlecht M o. W) dann die PLZ
Hier mal das Bild, wie ich mir das vorstelle:
Eigentlich sind es Abfragen aus der DB vom PLZfeld, Geschlechtfeld und Username, sowie Avatar.
Ich hoffe, ich konnte mich halbwegs verständlich ausdrücken was ich möchte?
Natürlich auch in der Hoffung es ist kein riesenaufwand
mfg
neumicha
|
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von neumicha - 02.01.2013 - 20:09 Uhr |
|
|
|
|
|
|
|
 |
|
 |
03.01.2013 - 16:53 Uhr |
|
|
|
Was ist mit Gästen, oder Usern, die keine PLZ angegeben haben (wollen)? Soll dann einfach nichts erscheinen, oder eine Meldung? Vielleicht eine temporäre Eingabemöglichkeit? Diese gar nur für User?
Und kann / soll hier mit einen vorhandenen Script gearbeitet werden (hierfür wären Direkt-Links zu den Addons ganz nett ;o), oder kann / soll ein neues Script entworfen werden? ôo
Ach, und wie heist die Spalte für die PLZ in der Tabelle für die User? Ich könnt mir vorstellen, das sie so heisen könnte: user_plz
|
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von k!r!ka - 03.01.2013 - 16:57 Uhr |
|
|
|
|
|
|
|
 |
|
 |
03.01.2013 - 18:44 Uhr |
|
|
|
hallo,
ich arbeite jetzt mal die Punkte einfach mit antworten ab
Nicht böse sein, sonst kann ich es nicht so gut erklären.
Zum 1.)
Ich habe den Pflichtfelderhack von Lucky, dort müssen bei reg alle die PLZ angeben,
wegen Usermap und Entfernungsberechnungsaddon von Kit Coding.
Wer dieses nicht hat, also PLZ Feld ist dieses Addon eigentlich blödsinn,
wenn User ihre PLZ nicht angeben möchten, was ja ok ist, dann sollen die in der Liste auch nicht erscheinen.
Es ist so gedacht, dass User sehen können, wer alles aus der eigenen Region kommt, ohne lange das ganze Kit
durchsuchen zu müssen.
Zum 2.)
Habe ich ja schon beschrieben, dass das eine Addon von Kit-Crafting ist und OnlineList heißt, dort werden User angezeigt,
in der ähnlichen Form wie das Bild, die aktuell Online sind.
Das andere von Kit- Power heißt xnewusercontent und ist nur eine php- datei ohne tpl. , was die bessere Variante wäre.
Am besten wäre, ein neues PhP Script, dass es kein Ärger mit Crafting oder Power gibt.
Das Script von crafting ist sehr aufwenig mit vielen tpl., das von power einfach ein php ohne tpl.
Hier mal die Links zu beiden Webseiten.
http://kit-power.de
http://www.kit-crafting.de
(Ich sende dir beides in einer RaR mit nochmals bearbeitenden Bild, wie es aussehen soll,
dann kannst dir das auch so ansehen was ich meine.)
Zum 3.)
Puh, nun zum Plz Feld.
Wie war das noch? lach
Also, ich habe das Pflichtfelder und Dropdown Addon von Lucky und das UserMap Addon.
Da habe ich im Adminbereich unter Benutzer ein neues Profilfeld erstellt, dieses PLZ benannt
und angeben, dass es nur Nummerisch genutzt werden kann.
In der Datenbank also Tabelle ist wie folgt:
pk__profilefields
profilefields_id (4)
profilefields_name (PLZ)
profilefields_description (Bitte geben Sie ihre PLZ an)
Dann gibt es noch die Tabelle: pk__userfields
Dort sieht es so aus:
userid
1
field_1
Hessen
field_2
leer
field_3
leer
field_4
65187
field_5
Wiesbaden
So, hoffe kannst was mit anfangen?
PS: Ich möchte das Ganze in die Mitte einbauen, wie wir schon mal hier gemacht haben
mit dem Profilbesucher Addon ( 1.6.6-ProfileVisitors-HTH-v1.0-Autosource)
(Da hat mir glaub ich Webi geholfen)
mfg
neumicha
|
|
|
|
|
|
|
 |
|
 |
04.01.2013 - 18:41 Uhr |
|
|
|
Ach, kein Ding. Hast ja im Grunde das nötigste mir beantworten können ;o
Ich denke mal, das der unten stehende Code deinen Wünschen entsprechend wird. Sollte was fehlen, oder nicht so wie gewünscht, dann volltexten ;o
---
Hier erstmal der Code:
-
Hier klicken zum aufklappenErstelle oder kopiere eine vorhandene .php-Datei mit einen beliebigen Namen 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 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 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 | | PHP-Quelltext <?php
# Leg die Anzahl an Usern fest, die in einer Zeile angezeigt werden soll.
$bP__box_userPerLine
=5;
# Leg fest, wieviele User pro Seite angezeigt werden soll.
$bP__box_userPerPage
=25;
# Gib die Feld-ID an, wo die PLZ in der Tabelle pk__userfields für die User gespeichert wird.
$bP__sql_plzField
=4;
#
#
#
if (!defined('pkFRONTEND') || pkFRONTEND!='public')
{
die('Direct access to this location is not permitted.');
}
$bP__box_path =get_included_files();
$bP__box_path =array_pop($bP__box_path);
$bP__box_path =basename($bP__box_path);
$bP__box_path =str_replace(pkEXT, NULL, $bP__box_path);
pkLoadFunc('user');
$pkUser__id =pkGetUservalue('id');
$pkUser__id =intval($pkUser__id);
$boxURI__page
=
isset($path)
&& trim ($path)==='start'
? trim ($path)
: NULL
;
# user is a guest
if ($pkUser__id <= 0)
{
unset(
$bP__box_userPerLine,
$bP__box_userPerPage,
$bP__sql_plzField,
$pkUser__id
);
if ($boxURI__page===NULL)
{
pkEvent('page_not_found');
}
return;
}
$bP__sql_plzField ='field_'.$bP__sql_plzField;
$pkUser
=
$SQL->fetch_row(
$SQL->query("
SELECT
".$bP__sql_plzField.",
user_country
FROM
".pkSQLTAB_USER."
LEFT JOIN
".pkSQLTAB_USER_FIELDS."
ON
".pkSQLTAB_USER_FIELDS.".userid=".pkSQLTAB_USER.".user_id
WHERE
user_id='".$pkUser__id."'
LIMIT
1
")
);
pkLoadLang('profile');
$pkUser__plz =substr(trim($pkUser[0]), 0, 2);
$pkUser__land =trim($pkUser[1]);
$pkUser__land
=
$pkUser__land==='def'
|| $pkUser__land==='oth'
? NULL
: '/ in '.pkGetLang('origin_'.$pkUser[1])
;
unset(
$pkUser
);
# user hasn't save plz
if (is_bool($pkUser__plz) && $pkUser__plz===FALSE)
{
unset(
$bP__box_userPerLine,
$bP__box_userPerPage,
$bP__sql_plzField,
$pkUser__id,
$pkUser__plz,
$pkUser__land
);
$site_body.=
'
<table class="event" width="100%" cellspacing="1" cellpadding="4">
<tr>
<td class="standard" align="center"><br />Du hast in deinen <a href="?path=userprofile&mode=edit">Profil</a> keine Postleitzahl (PLZ) angegeben.<br /><br /></td>
</tr>
</table>
';
return;
}
#
#
#
# default value
$bP__box_userPerLine
=
isset ($bP__box_userPerLine)
&& is_numeric($bP__box_userPerLine)
&& trim ($bP__box_userPerLine)!=''
? intval ($bP__box_userPerLine)
: 5
;
$bP__box_userPerPage
=
isset ($bP__box_userPerPage)
&& is_numeric($bP__box_userPerPage)
&& trim ($bP__box_userPerPage)!=''
? intval ($bP__box_userPerPage)
: 25
;
$boxHTML__linkToView
=
$boxURI__page==='start'
? '<a href="?path='.$bP__box_path.'">Alle anzeigen</a>'
: NULL
;
$boxSQL__limit
=
$boxURI__page==='start'
? $bP__box_userPerLine
: $bP__box_userPerPage
;
#
#
#
$boxSQL__string
=
"
FROM
".pkSQLTAB_USER."
LEFT JOIN
".pkSQLTAB_USER_FIELDS."
ON
".pkSQLTAB_USER_FIELDS.".userid=".pkSQLTAB_USER.".user_id
WHERE
user_activate='1'
AND
user_id!='".$pkUser__id."'
AND
".$bP__sql_plzField." LIKE '".$pkUser__plz."%'
";
$boxSQL__count =$SQL->fetch_row($SQL->query("SELECT COUNT(*) ".$boxSQL__string));
$boxSQL__count =intval($boxSQL__count['0']);
$boxURI__entry
=
isset ($_GET['entries'])
&& intval($_GET['entries'])>0
? intval($_GET['entries'])
: 0
;
$boxHTML__page
=
$boxURI__page===NULL
? sidelinkfull($boxSQL__count, $bP__box_userPerPage, $boxURI__entry, '?path='.$bP__box_path, 'small')
: NULL
;
$boxSQL__query
=
$SQL->query("
SELECT
user_id,
user_nick,
user_sex,
user_country,
user_avatar,
".$bP__sql_plzField."
".$boxSQL__string."
ORDER BY
signin DESC,
user_nick ASC
LIMIT
".$boxURI__entry.",
".$boxSQL__limit."
");
unset(
$bP__box_path,
$pkUser__id,
$boxURI__page,
$boxSQL__limit,
$boxSQL__string,
$boxURI__entry
);
#
#
#
$boxHTML__rowWidth
=
$bP__box_userPerLine > $bP__box_userPerPage
? $bP__box_userPerPage
: $bP__box_userPerLine
;
$boxHTML__rowWidth =number_format(100 / $boxHTML__rowWidth, 0, ',', '.');
$boxHTML__colspan =' colspan="'.$bP__box_userPerLine.'"';
$loopUser_all =
$loopUser_line =0;
$loopID =
$loopNick =
$loopSex =
$loopPlz =
$loopAvatar =
$loopHTML =
$loopColspan =
$loopPercent =NULL;
while ($loopUser=$SQL->fetch_assoc($boxSQL__query))
{
$loopUser_all++;
$loopUser_line++;
$loopID =intval($loopUser['user_id']);
$loopNick =trim(stripslashes($loopUser['user_nick']));
$loopSex =trim($loopUser['user_sex']);
$loopSex
=
$loopSex==''
|| $loopSex==='d'
? NULL
: '('.strtoupper($loopSex).')'
;
$loopPlz =trim($loopUser[$bP__sql_plzField]);
$loopPlz =substr($loopPlz, 0, 3).'xx';
if (intval($config['avatar_eod']) > 0)
{
$loopAvatar =basename($loopUser['user_avatar']);
if (!empty($loopAvatar) && @filecheck($config['avatar_path'].'/'.$loopAvatar))
{
$avatar_dimension[3] =@getimagesize($config['avatar_path'].'/'.$loopAvatar);
$userinfo['user_avatar']=$loopUser['user_avatar'];
$userinfo['user_nick'] =$loopNick;
eval("\$loopAvatar= \"".pkTpl('user_avatar_show')."\";");
$loopAvatar.='<br /><br />';
}
}
# new line
if ($loopUser_line > $bP__box_userPerLine)
{
$loopUser_line =1;
$loopHTML .='</tr><tr>';
}
# default line
$loopHTML .=
'
<td class="odd" width="'.$boxHTML__rowWidth.'%" align="center">
'.$loopAvatar.'
<a href="?path=userinfo&id='.$loopID.'">'.$loopNick.'</a> '.$loopSex.'
<br />
<br />
('.$loopPlz.' Plz)
</td>
';
# spacer line
if ($loopUser_line < $bP__box_userPerLine && $loopUser_all===$boxSQL__count)
{
$loopColspan=$bP__box_userPerLine - $loopUser_line;
$loopPercent=$loopColspan * $boxHTML__rowWidth;
$loopHTML .=
'
<td class="standard" width="'.$loopPercent.'%" colspan="'.$loopColspan.'"></td>
</tr>
';
}
}
unset(
$bP__box_userPerPage,
$bP__box_userPerLine,
$bP__sql_plzField,
$boxSQL__count,
$boxSQL__query,
$boxHTML__rowWidth,
$loopUser_all,
$loopUser_line,
$loopID,
$loopNick,
$loopSex,
$loopPlz,
$loopAvatar,
$loopColspan,
$loopPercent,
$loopUser
);
#
#
#
if (empty($loopHTML))
{
$boxHTML__colspan =NULL;
$boxHTML__page =
$boxHTML__linkToView=' ';
$loopHTML
=
'
<tr>
<td class="highlight" align="center"><br />Keine User in deinen Plz-Bereich gefunden.<br /><br /></td>
</tr>
';
}
$site_body.=
'
<table width="100%" class="standard" border="0" cellspacing="1" cellpadding="4">
<tr>
<td class="heads"'.$boxHTML__colspan.' align="center">User aus deiner Postleitzahl (PLZ): '.$pkUser__plz.'xxx '.$pkUser__land.'</td>
</tr>
'.$loopHTML.'
<tr>
<td class="heads"'.$boxHTML__colspan.' align="right">
'.$boxHTML__page.$boxHTML__linkToView.'
</td>
</tr>
</table>
';
unset(
$pkUser__plz,
$pkUser__land,
$boxHTML__linkToView,
$boxHTML__page,
$boxHTML__colspan,
$loopHTML
);
?> | |  | ---
Hier ein paar Erläuterungen:
-
Einstellungen:
-
| PHP-Quelltext # Leg die Anzahl an Usern fest, die in einer Zeile angezeigt werden soll.
$bP__box_userPerLine
=5; | |
-
| PHP-Quelltext # Leg fest, wieviele User pro Seite angezeigt werden soll.
$bP__box_userPerPage
=25; | |
-
| PHP-Quelltext # Gib die Feld-ID an, wo die PLZ in der Tabelle pk__userfields für die User gespeichert wird.
$bP__sql_plzField
=4; | |
-
Informationen:
Dieses Script zeigt eine einfache Auflistung aller User, die der eigenen PLZ an den ersten 2 Stellen ähnelt. Im Falle, das man keine PLZ angegeben hat, wird eine entsprechende Meldung erscheinen. Auch erscheint eine Meldung, wenn keine User im ähnlichen PLZ-Bereich gefunden wurden. Für Gäste erscheint beim Direkt-Aufruf eine Meldung, das jener Bereich nicht existiert. Sollte dieses Script auf der Startseite angezeigt werden, und man ist Gast, wird einfach nichts angezeigt.
Die Auflistung für die Startseite ist auf die Anzahl an Usern begrenzt, welche man unter den Punkt Einstellung, Punkt 1 eingestellt hat. Außerdem erscheint ein Link / Verweis auf die vollständige Auflistung, welche eine Blätterfunktion hat. Siehe dazu Einstellung, Punkt 2.
Der Dateiname ist wurscht, das Script nimmt sich den Dateinamen eh selbst raus.
---
---
Puh, hab ich alles? ôo" Ist die Beschreibung okay oder verbesserungswürdig?^^""
|
|
|
|
|
|
|
 |
|
 |
04.01.2013 - 19:52 Uhr |
|
|
|
Hallo k!r!ka
als erstes lieben herzlichen Dank! Superspitzenklasse, funktioniert einwandfrei.
Keine Probleme, alles wird richtig angezeigt und sieht top aus.
Deine Beschreibung ist auch einfach gehalten, dass diese jeder Blinde (Also ich)
es versteht. 
Ich bin einfach begeistert.
Eine frage habe ich leider dennoch, kann man die Breite und Höhe von dem Bild (Tabelle)
irgendwie einstellen?
Also angenommen die ausgabe mit avatar, Nickname und plz ist 100 pixel breit, man möchte nur 60 oder 80 haben.
Habe in der php gesucht abe rleider nichts diesbezüglich gefunden.
Siehe Bild
mfg
neumicha
|
|
|
|
|
|
|
 |
|
 |
04.01.2013 - 21:26 Uhr |
|
|
|
Die Breite wird dynamisch, in Abhängigkeit von den Wert $bP__box_userPerLine, bestimmt. Wenn 5 User in einer Reihe gezeigt werden sollen, wird 100 durch 5 gerechnet, was 20 ergeben würde. Ergo 20% Breite. Die restlichen 80% wird dann durch eine leere Spalte gefüllt.
Soll heisen:
Die eigentliche Breite des Script richtet sich an der zur Verfügung gestellten Breite des Inhaltsbereiches. Wenn dieser z.B. nur 700 Pixel hat, du aber in der Summe 750 Pixel brauchst (~150 Pixel pro User-Spalte, eigentlich noch etwas weniger), dann werden die Spalten um je ~10 Pixel kleiner dargestellt.
Man könnte jetzt einfach die Avatare mit einer maximalen Größe setzen (z.B. 80 Pixel), hätte dafür auch eine Funktion. Auch ist mir eingefallen, das die Nicknames gar nicht geschnitten werden, wenn zulang sind ^^"
Damit die Nicknames geschnitten werden, folgendes tun:
- Suche dies:
| PHP-Quelltext $loopNick =trim(stripslashes($loopUser['user_nick'])); | |
- Und mache daraus das:
| PHP-Quelltext $loopNick =trim(stripslashes($loopUser['user_nick']));
$loopNick =pkStringCut($loopNick, 20); | |
|
|
|
|
|
|
|
 |
|
 |
05.01.2013 - 08:34 Uhr |
|
|
|
Guten Morgen k!r!ka,
habe das mit dem
| PHP-Quelltext
$loopNick =trim(stripslashes($loopUser['user_nick']));
$loopNick =pkStringCut($loopNick, 20);
| |
eingebaut, funktioniert. Danke
Zitat
Die Breite wird dynamisch, in Abhängigkeit von den Wert $bP__box_userPerLine, bestimmt. Wenn 5 User in einer Reihe gezeigt werden sollen, wird 100 durch 5 gerechnet, was 20 ergeben würde. Ergo 20% Breite. Die restlichen 80% wird dann durch eine leere Spalte gefüllt.
|
Danke, nun verstehe ich das auch endlich mal, warum manches "Kleines" so -hoch- oder -breit- dargestellt wird.
Eigentlich eine sehr gute Lösung.
Wenn es dir nichts ausmacht, würde ich gerne auch mal die Variante ausprobieren zum Vergleich.
Hintergrund: Es gibt ja Regionen, wo User ganz allein wohnen,
also die Wahrscheinlichkeit gering ist, dass noch jemand dort wohnt.
Zitat
Man könnte jetzt einfach die Avatare mit einer maximalen Größe setzen (z.B. 80 Pixel),
hätte dafür auch eine Funktion.
|
Somit hätte man Variabel 2 Möglichkeiten je nach bedarf.
Ich mache mir zur Probe dann 2 verschiedene php.
Die eine heißt userplz.php und die andere userplz1.php, so kan ich im ACP- Konfig_Startseite
immer Variabel nach bedarf umstellen.
Ähm, ok, verquertes Denken <lach>
mfg
neumicha
|
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von neumicha - 05.01.2013 - 08:36 Uhr |
|
|
|
|
|
|
|
 |
|
 |
05.01.2013 - 17:37 Uhr |
|
|
|
Zitat Original geschrieben von neumicha
Wenn es dir nichts ausmacht, würde ich gerne auch mal die Variante ausprobieren zum Vergleich. |
Mach, wie es dir beliebt ;o
---
Was die Funktion für die Bilder angeht:
-
Funktion Global setzenÖffne die Datei pkinc/func/public.php und suche das:
| PHP-Quelltext if(!defined('pkFRONTEND') || (pkFRONTEND!='public' && pkFRONTEND!='style'))
die('Direct access to this location is not permitted.'); | |
Ganz am Anfang
Und füge darunter (1-2 Zeilen Abstand) folgendes hinzu:
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 | | PHP-Quelltext # resize.Image
function imageResize($imageFile='', $maxX='', $maxY='')
{
if (!isset($imageFile) || !is_string($imageFile) || trim($imageFile)=='' || !is_file($imageFile))
{
return;
}
$maxX
=
isset ($maxX)
&& is_numeric($maxX)
&& trim ($maxX)!=''
? intval ($maxX)
: '50'
;
$maxY
=
isset ($maxY)
&& is_numeric($maxY)
&& trim ($maxY)!=''
? intval ($maxY)
: '50'
;
$imageArray =getimagesize($imageFile);
$imageX =intval($imageArray['0']);
$imageY =intval($imageArray['1']);
$percentX =$maxX * 100 / $imageX;
$percentY =$maxY * 100 / $imageY;
$percent
=
$percentX <= $percentY
? $percentX
: $percentY
;
$percent =$percent / 100;
$imageX =number_format($imageX * $percent, '0', ',', '.');
$imageY =number_format($imageY * $percent, '0', ',', '.');
return
array(
'imageX'=>$imageX,
'imageY'=>$imageY
);
}
# resize.Image | |
-
Funktion nur in der PLZ-DateiÖffne die Datei und suche das:
| PHP-Quelltext #
#
#
if (!defined('pkFRONTEND') || pkFRONTEND!='public')
{
die('Direct access to this location is not permitted.');
} | |
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 47 48 49 50 51 52 53 54 55 | | PHP-Quelltext #
#
#
if (!function_exists('imageResize'))
{
function imageResize($imageFile='', $maxX='', $maxY='')
{
if (!isset($imageFile) || !is_string($imageFile) || trim($imageFile)=='' || !is_file($imageFile))
{
return;
}
$maxX
=
isset ($maxX)
&& is_numeric($maxX)
&& trim ($maxX)!=''
? intval ($maxX)
: '50'
;
$maxY
=
isset ($maxY)
&& is_numeric($maxY)
&& trim ($maxY)!=''
? intval ($maxY)
: '50'
;
$imageArray =getimagesize($imageFile);
$imageX =intval($imageArray['0']);
$imageY =intval($imageArray['1']);
$percentX =$maxX * 100 / $imageX;
$percentY =$maxY * 100 / $imageY;
$percent
=
$percentX <= $percentY
? $percentX
: $percentY
;
$percent =$percent / 100;
$imageX =number_format($imageX * $percent, '0', ',', '.');
$imageY =number_format($imageY * $percent, '0', ',', '.');
return
array(
'imageX'=>$imageX,
'imageY'=>$imageY
);
}
} | |
-
Funktion nutzenÖffne die PLZ-Datei und suche das:
| PHP-Quelltext if (intval($config['avatar_eod']) > 0)
{
$loopAvatar =basename($loopUser['user_avatar']);
if (!empty($loopAvatar) && @filecheck($config['avatar_path'].'/'.$loopAvatar))
{
$avatar_dimension[3] =@getimagesize($config['avatar_path'].'/'.$loopAvatar);
$userinfo['user_avatar']=$loopUser['user_avatar'];
$userinfo['user_nick'] =$loopNick;
eval("\$loopAvatar= \"".pkTpl('user_avatar_show')."\";");
$loopAvatar.='<br /><br />';
}
} | |
Und ersetze es hiermit:
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 if (intval($config['avatar_eod']) > 0)
{
$loopAvatar =basename($loopUser['user_avatar']);
$userinfo['user_avatar']=$loopAvatar;
$userinfo['user_nick'] =$loopNick;
if (function_exists('imageResize'))
{
$loopAvatar =$config['avatar_path'].'/'.$loopAvatar;
$loopAvatar =imageResize($loopAvatar, 60, 60);
$avatar_dimension[3]
=
isset($loopAvatar['imageX'], $loopAvatar['imageY'])
? 'width="'.$loopAvatar['imageX'].'" height="'.$loopAvatar['imageY'].'"'
: NULL
;
}
else
{
$avatar_dimension[3]
=
!empty($loopAvatar)
&& @filecheck($config['avatar_path'].'/'.$loopAvatar)
? @getimagesize($config['avatar_path'].'/'.$loopAvatar)
: NULL
;
}
if (isset($avatar_dimension[3]) && trim($avatar_dimension[3])!='')
{
eval("\$loopAvatar= \"".pkTpl('user_avatar_show')."\";");
$loopAvatar.='<br /><br />';
}
} | |
Sofern du die Funktion für die Bilder nicht eingepflegt hast, wird der alte Stand genommen, also keine Anpassung der Bildergröße.
Ich hab erstmal die maximale Bildgröße auf 60 Pixel gesetzt. Zu ändern hier:
| PHP-Quelltext $loopAvatar =imageResize($loopAvatar, 60, 60); | |
Die zwei Stellen, wo die 60 stehen, steht für die maximale Breite (erste Stelle) und Höhe (zweite Stelle).
|
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von k!r!ka - 05.01.2013 - 17:40 Uhr |
|
|
|
|
|
|
|
 |
|
 |
05.01.2013 - 20:53 Uhr |
|
|
|
Hallo k!r!ka,
habe es ausprobiert, klappt allerbestens mit dem Bild.
Lieben dank.
Nun habe ich bemerkt, dass ich mich nun doch falsch ausgedrückt habe.
Ich Depp.
Ich wollte eigentlich die Ganze Breite also nicht nur das Avatar verringern.
Also der Hintergrund ist ja Hellgrau, darauf ist das Avatar, Nickname und die Plz zu sehen.
Ich wollte also das Gesamte in der Breite veringern und in der Höhe,
dache, das dies ausschließlich am Avatar liegt. Nun nochmal ein Bild, wo das Original zu sehen ist
und rechts daneben wie ich es meine, ich hoffe man erkennt es?
Tut mir wirklich leid, habe mich da wirklich vertan.
mfg
neumicha
|
|
|
|
|
|
|
 |
|
 |
06.01.2013 - 08:03 Uhr |
|
|
|
Die gesamte Breite richtet sich in erster Linie an die vorhandene Breite des Inhaltsbereichs. Da dieser immer anders ist, hab ich das ganze prozentual gemacht. Die einzelnen Spalten für die User wird prozentual, in Abhängigkeit der Anzahl an Usern pro Reihe, bestimmt. Im Falle, das der Inhalt dieser Spalten größer ist, als die Spalte eigentlich hergibt, wird die Spalte in die Breite gezogen. Das ist allerdings normal und bereits in HTML von vornherein enthalten. Mit Hilfe von CSS könnte man hier natürlich eine maximale Breite vorgeben, aber das ist ja erstmal gar nicht das Thema.
Du kannst nun einfach sagen, das mehr User pro Reihe gelistet werden sollen, damit eine bevorzugte Breite erreicht wird, oder du gibst den Spalten eine feste Breite. Dies kannst du so erreichen:
-
Hier klicken zum aufklappenSuche in der PLZ-Datei das:
| PHP-Quelltext <td class="odd" width="'.$boxHTML__rowWidth.'%" align="center"> | |
Und mache daraus das:
| PHP-Quelltext <td class="odd" width="150" align="center"> | |
Ich hab nun den prozentualen Wert (= '.$boxHTML__rowWidth.'%) durch 150 ersetzt. Also 150 Pixel breit. Bedenke aber, das, wenn die Avatare größer als die Spalte sind, sich die Spalte an die Breite des Inhalts hält.
---
Suche weiter:
| PHP-Quelltext <td class="standard" width="'.$loopPercent.'%" colspan="'.$loopColspan.'"></td> | |
Und mache daraus das:
| PHP-Quelltext <td class="standard" colspan="'.$loopColspan.'"></td> | |
Hier hab ich den width=""-Part komplett entfernt. Vielleicht solltest du das auch sein lassen, da es vielleicht nicht so wirkt, wie es vielleicht wirken soll. Also einfach mal probieren ;o
|
|
|
|
|
|
|
 |
|
 |
06.01.2013 - 09:28 Uhr |
|
|
|
Moin k!r!ka,
so, nun alles rumprobiert, du hast recht, diese Zeile sollte nicht verändert werden.
| Quellcode <td class="standard" width="'.$loopPercent.'%" colspan="'.$loopColspan.'"></td> | |
Ich habe nun in der Zeile 302 ein wenig rumprobiert, dort war der Wert bei 100, wenn ich 60 draus machte,
wurde der graue Hintergrund breiter, habe ich den Wert erhöht auf 500, wurde es schmaler
| PHP-Quelltext $boxHTML__rowWidth =number_format(500 / $boxHTML__rowWidth, 0, ',', '.'); | |
Dann habe ich in der Zeile 348 noch die Werte von Höhe und Breite geändert von 60 auf 80
| PHP-Quelltext $loopAvatar =imageResize($loopAvatar, 80, 80); | |
Das Ergebnis siehe bitte Bild (Das Untere ist das geänderte, sieht super aus)
Vielen Dank für alles, nun lasse ich das erstmal so, sollte es mal so sein, dass mehr als 5 User aus einer PLZ
vorhanden sind, kann ich den wert ja wieder immer wieder veringern, wenn nötig wieder auf 100.
mfg
neumicha
|
|
|
|
|
|
|
 |
|
 |
06.01.2013 - 10:09 Uhr |
|
|
|
Das ist jetzt aber nicht wirklich korrekt
Die 100, die du zur 500 gemacht hast, spiegelt die maximale Breite wieder. Also 100% Breite, die dann durch die Anzahl an Usern pro Reihe geteilt wird, wodurch ja die eigentliche Breite pro Spalte kommt. Wenn du jetzt 500 nimmst, und 5 User pro Reihe setzt, hat jede Spalte 100% Breite. Wenn du 6 User hast, hat jede Spalte eine Breite von 83%. Bei 7 Usern pro Reihe dann 71% und so weiter.
Was genau stört denn hier? Es gibt gewiss einen Weg, der das eigentliche Beibehält, aber trotzdem zum Ergebnis kommt, das du dir vorgestellt hast ôo
Und es spielt keine Rolle, ob nun mehr User aus einen PLZ-Bereich vorhanden sind, als du User pro Reihe gesetzt hast. Denn dann wird einfach eine neue Reihe begonnen. Siehst ja auf den Bild von mir, im unteren Bereich des Bildes.
|
|
|
|
|
|
|
 |
|
 |
07.01.2013 - 18:25 Uhr |
|
|
|
Hallo k!r!ka,
sorry kann mich jetzt erst melden,
da ich gestern leider keine Zeit mehr hatte.
Natürlich hast du recht, ist das nicht korrekt, was ich da mit dem Wert 100 gemacht habe.
Ich wollte dir lediglich Zeigen, wie ich es gerne hätte in der Größe.
Ich habe das ganze nun wieder zurückgesetzt.
Vielleicht fällt dir ja noch was ein, wie man das bewerkstelligen könnte.
Ich habe aber noch ein riesengroßes anderes Problem, wobei du mir eventuell helfen könntest.
Es geht um das Addon von Kit-Power, das xnewusercontent.
Das hat mir Knuddi zwar angepasst, aber leider passiert mir da folgendes.
Wenn ich das Addon instaliert habe, wird angezeigt: Avatar, Username, Geburtstag, Userstatus, Geschlecht, Land, dann 2 Button für IM senden und e-mail senden und als letztes Forumposts.
Knuddi hat mir dann noch mitgeteilt, wo ich alles löschen, bzw. auskommentieren kann, dass nur noch Avatar und Username auftauchen.
Der Username ist als Link zum jeweiligen Profil deklariert.
So, mehr brauch ich auch nicht, also Avatar und Nickname als Link, wer über den neuesten User was wissen will, soll dann auf den Namen klicken und in dessen Profil nachsehen, sonst bräuchte man das ja nicht.
Zum Problem mit dem Addon!
Wenn ich, im persönlichen Bereich bin und etwas in meinem Profil ändere und auf speichern klicke, nimmt er die Speicherung, bzw.
die Veränderung auch an. Aber, es verhaut mir die Geschlechtsangabe, die ja von Kit aus eigentlich als Angabe vorgegeben ist.
Ich muss also nochmal in den PB und nochmal das Progil ändern, also Editieren und das Geschlecht angeben, das nervt ohne Ende.
Nun habe ich die Idee, wenn du eventuell hingehen könntest und dieses Addon Plz nimmst und die Abfrage so lässt wie sie ist
und die PLZ Abfrage wegmachst, sodas als neueste User dann fogendes zu sehen ist:
Avatar
Nickname als Link zum Profil mit Geschlechtsangabe. Admin (M)
Ist ja ausreichend, wäre dafür super dankbar und es wäre Einheitlich, was am wichtigsten ist.
Puh, ich hoffe du bist jetzt nicht irgendwie böse oder denkst,
der Kerl nervt, ich mag nur ein übersichtliches,
gut funktionierendes Kit ohne Fehler und ich mag keine endlosen blöde Navboxen oder endloses rumgeklicke,
bis man endlich das hat, was man gerne möchte.
Denn, dieses Scrollen nach unten bis man die ganzen Navboxen links und rechts durchgesehen hat nervt
und man verlliert die Lust auf einer Webseite.
Für mich sind Navboxen nur gut um Links (Verweise in Kategorien zu unterteilen, damit man bestimmte Themen
dort und da zu finden weiß.
Ok, jeder denkt anders.
mfg
neumicha
|
|
|
|
|
|
|
 |
|
 |
07.01.2013 - 19:19 Uhr |
|
|
|
[Thema::PLZ-Breite]
Das kriegen wir schon hin. Ich hab schon verstanden, das die Spalten kleiner sein sollen. Ich denke mal, hier spricht Hauptsächlich der optische Part. So pardu würd ich einfach sagen: Setz die Anzahl an Usern pro Reihe höher.
Wenn das nicht genügt, kann ich mal gucken, was man da noch alles machen könnte.
[Thema::Profil-Update]
Das soll also heisen, das die Geschlechtsangabe die Eingabe nicht annimmt? Sprich, du gibst Männlich an, er speichert aber Weiblich? Und beim zweiten Mal geht es richtig?
Wurde denn an der Datei pkinc/public/userprofile.php was geändert?
[Thema::PLZ-Datei neu gestalten]
Liegt denn ein Problem mit der Datei von Kit-Power.de, xnewusercontent?oO Klar, Grundsätzlich könnte man die PLZ-Datei dahingehend abändern, aber irgendwie ist mir beim lesen kein, ich sag mal, Grund entgegengesprungen, der mir sagt Ja, das geht so nicht, da muss was neues her. ^^""
|
|
|
|
|
|
|
 |
|
 |
07.01.2013 - 19:38 Uhr |
|
|
|
Hallo,
ich habe mit Knuddi gesprochen, er sagte mir, er weiß nicht, woran der fehler liegt,
Nein, er macht kein falsches Geschlecht hin in der usereditprofile sondern er schmeißt, seitdem das Addon
xnewusercontent drin ist, die Geschlechtangabe komplett raus bei einer Änderung.
Dann muss man nochmal in die useredit rein und Geschlecht wieder angeben.
Schaut man nach Änderung des Geschlechts wieder in die useredit, ist die Geschlechtsangabe hell
unterlegt und man kann nichts mehr ändern daran, so wie es eigentlich sein soll.
Ändere ich nun wieder was, haut es die Geschlechtsangabe wieder raus.
Bei Kit Power efolgt auch eigentlich gar kein Support mehr, Knuddi hat mir das nur aus kulanz an die 1.6.6 angepasst,
weil das Ding nur für die 1-6.5 war und ist, jedoch bei mir nur eine leere Seite hervorrief,
also das Ding ging von Anfang an nicht richtig.
Ich habe auch keine Lust mich mit dem Addon rumzuärgern und tausend Sachen zu probieren.
mfg
neumicha
|
|
|
|
|
|
|
 |
|
|
 |
Ähnliche Themen |
|
|
|
|
|
|
|
|