|
|
Latest News |
Latest Threads |
|
 |
55.754 Posts & 4.945 Themen in 78 Foren |
|
|
|
 |
Forensuche |
|
Suchbegriff |
Benutzerauswahl |
Ergebnisse anzeigen |
 |
 |
Signatur - Zeichenanzahl beschränken+prüfen 13 Beiträge in diesem Thema |
|
|
 |
|
 |
03.09.2012 - 09:48 Uhr |
|
|
|
Hi,
ich möchte gerne die Zeichenanzahl in der Signatur beschränken da bei uns einige halbe Romane in der Sig stehen haben und das im Forum stört.
Es gibt Javascripts mit denen sich das auch prima lösen läßt - hab das hier getestet
http://www.script-inside.de/Java/Forms/area.php
nur was passiert wenn man js deaktiviert ?
Gibts irgendeine Möglichkeit das die ganze Sache dann immernoch funktioniert bzw. geprüft wird ?
Gibt es ausserdem die Möglichkeit die Zeilenanzahlt auf z.b. 5 oder 10 Zeilen zu minimieren ? Man kann ja auch 50 Zeilen a 3 Buchstaben machen - sieht auch irgendwie scheisse aus.
Gruß
|
|
|
|
|
|
|
 |
WEBI Unberechenbares Urgestein |
 |
|
|
|
|
|
|
|
|
 |
03.09.2012 - 15:54 Uhr |
|
|
|
PHPKit 1.6.03:
Öffne die login/edtprofil.php und suche nach:
| PHP-Quelltext if ($_POST['ud_email']=='') $uderror=4;
elseif (!emailcheck($_POST['ud_email'])) $uderror=5;
else $ud_email=$_POST['ud_email']; | |
und füge darunter folgendes hinzu:
| PHP-Quelltext if(strlen($_POST['ud_usersig']) > 100) $uderror=7;
else $ud_usersig=addslashes($_POST['ud_usersig']); | |
Hier die Zeichenanzahl von max. 100 ergänzen.
Nun suchen wir innerhalb der obrig genannten Datei weiter nach:
| PHP-Quelltext $ud_usersig=addslashes($_POST['ud_usersig']); | |
und kommentieren diese Zeile aus..
| PHP-Quelltext #$ud_usersig=addslashes($_POST['ud_usersig']); | |
Wobei dieses eher unwichtig erscheint, da es ähnlich dem else fungiert, da die Speicherung nur stattfindet, sofern kein Update-Fehler auftritt.
Nun öffnen wir die Datei admin/config/event.php und suchen nach folgendem:
| PHP-Quelltext elseif ($event=="ud1" or $event=="ud2" or $event=="ud3" or $event=="ud4" or $event=="ud5" or $event=="ud6") { | |
ersetzen es mit diesem:
| PHP-Quelltext elseif ($event=="ud1" or $event=="ud2" or $event=="ud3" or $event=="ud4" or $event=="ud5" or $event=="ud6" or $event=="ud7") { | |
Anschliessend in das Verzeichnis templates/ wechseln und dort eine neue Datei, mit dem Namen event_message_ud7.htm anlegen mit eventuell folgendem Inhalt:
Zitat Die von Ihnen verfasste Signatur überschreitet die maximale Anzahl an Zeichen. |
PHPKit 1.6.1:
Öffne die inc/public/usereditprofile.php und suche nach:
| PHP-Quelltext if($_POST['ud_email']=='')
$uderror='email_empty';
elseif(!emailcheck($_POST['ud_email']))
$uderror='email_invalid';
else
$ud_email=$_POST['ud_email']; | |
und füge darunter folgendes hinzu:
| PHP-Quelltext if(strlen($_POST['ud_usersig']) > 100) $uderror='profileupdate_sig_maxsigns';
else $ud_usersig=addslashes($_POST['ud_usersig']); | |
Hier die Zeichenanzahl von max. 100 ergänzen.
Weitersuchen nach:
| PHP-Quelltext pkHeaderLocation('editprofile','','uderror='.$uderror); | |
und ersetzen mit diesem (sofern noch nicht getan):
| PHP-Quelltext pkHeaderLocation('usereditprofile','','event='.$uderror); | |
Nun öffnen wir die Datei inc/lang/de/event.php und suchen nach folgendem:
| PHP-Quelltext #ud6
'eventtitle_profileupdate_nickname_invalid'=>'',
'event_profileupdate_nickname_invalid'=>'Beim Update Ihres Benutzerprofils ist leider ein Fehler aufgetreten!<br/><br/>Der von Ihnen ausgewählte Spitzname ist ungültig, bitte wählen Sie einen anderen aus.', | |
fügen darunter folgendes hinzu:
| PHP-Quelltext #ud7
'eventtitle_profileupdate_sig_maxsigns'=>'Maximale Zeichenanzahl überschritten',
'event_profileupdate_sig_maxsigns'=>'Die von Ihnen verfasste Signatur überschreitet die maximale Anzahl an Zeichen.', | |
- Ungetestet!
|
|
|
|
|
|
|
 |
|
 |
03.09.2012 - 16:08 Uhr |
|
|
|
Du kannst auch an besagter Stelle dies einfügen:
1.6.03
| PHP-Quelltext $pSig_maxString =20;
$pSig_maxBreak =5;
$pSig_post =$_POST['ud_usersig'];
$pSig_post =explode("\n", $pSig_post);
$pSig_post =count($pSig_post);
if(isset($_POST['ud_usersig']) && trim($_POST['ud_usersig'])!='' && (strlen($_POST['ud_usersig'])>$pSig_maxString || $pSig_post>$pSig_maxBreak))
{
$uderror=7;
} | |
---
1.6.01
| PHP-Quelltext $pSig_maxString =20;
$pSig_maxBreak =5;
$pSig_post =$_POST['ud_usersig'];
$pSig_post =explode("\n", $pSig_post);
$pSig_post =count($pSig_post);
if(isset($_POST['ud_usersig']) && trim($_POST['ud_usersig'])!='' && (strlen($_POST['ud_usersig'])>$pSig_maxString || $pSig_post>$pSig_maxBreak))
{
$uderror='sig_maxsigns';
} | |
//edit
WEBI, den Else-Part bei der Fehlerabfrage kannste eh weg lassen, da ja eh weitergeleitet wird. Post-Werte gehen also eh verloren.
Und bei der 1.6.1 ist die Fehlermeldung eh für die Katz, da, z.B. beim Rohkit, eine unbekannte Seite erscheint.
Wenn er also die 1.6.1 benutzt, müsste noch das geändert werden:
Suche in der inc/public/usereditprofile.php nach dem:
| PHP-Quelltext pkHeaderLocation('editprofile','','uderror='.$uderror); | |
Und mache daraus das:
| PHP-Quelltext pkHeaderLocation('usereditprofile','','event='.$uderror); | |
|
Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von k!r!ka - 03.09.2012 - 16:14 Uhr |
|
|
|
|
|
|
|
 |
WEBI Unberechenbares Urgestein |
 |
|
|
|
|
|
|
|
|
 |
03.09.2012 - 16:10 Uhr |
|
|
|
So wäre auch die Zeilenproblematik berücksichtigt, es müssten nur zzgl. die Änderung an der event.php vorgenommen werden, je nach PHPKit-Version samt Erstellen eines weiteren Templates(1.6.03). Für mich nur fraglich warum jemand XX Zeilen in Anspruch nehmen sollte bei einer Signatur.
@k!r!ka, ganz im Gegenteil, da die Variable $ud_usersig andernfalls ja keinen Inhalt bzw. gar nicht erst vorhanden wäre. Sofern wie oben beschrieben man den Teil entfernt, wie ich aber bereits schrieb im Grunde genommen unnütz. Sofern man den Code natürlich stehen lassen würde, ganz klar; wäre/ist das else total sinnlos.
War ungetestet, bei solch minimalen Teilchen glaube ist ein Test nicht wirklich von Nöten. Bzgl. der Headerlocation, da hatte ich nun gar nicht dran gedacht - ganz vergessen das man ja auch noch stets deren Fehler ausbügeln muss. 
|
|
|
|
|
|
|
 |
|
 |
03.09.2012 - 19:54 Uhr |
|
|
|
|
|
|
 |
WEBI Unberechenbares Urgestein |
 |
|
|
|
|
|
|
|
|
 |
03.09.2012 - 20:11 Uhr |
|
|
|
Es sind 2 Varianten, nur das eben die von k!r!ka umfangreicher ist und auch die Zeilenumbrüche berücksichtigt.
32 Zeilen? Du möchtest nicht wissen was einem Benutzer auf dieser Seite, mit einer solchen Signatur drohen würde. Ggf. hetze ich diesem Jardin auf dem Hals und k!r!ka kommt daher und faselt mal wieder von Weltfrieden...
Zusammengefasst, PHPKit, 1.6.1:
Öffne die inc/public/usereditprofile.php und suche nach:
| PHP-Quelltext if($_POST['ud_email']=='')
$uderror='email_empty';
elseif(!emailcheck($_POST['ud_email']))
$uderror='email_invalid';
else
$ud_email=$_POST['ud_email']; | |
Füge darunter folgendes hinzu:
| PHP-Quelltext # Signatur - Zeichen & Zeilen Limit - SOC
$pSig_maxString =20;
$pSig_maxBreak =5;
$pSig_post =$_POST['ud_usersig'];
$pSig_post =explode("\n", $pSig_post);
$pSig_post =count($pSig_post);
if(isset($_POST['ud_usersig']) && trim($_POST['ud_usersig'])!='' && (strlen($_POST['ud_usersig'])>$pSig_maxString || $pSig_post>$pSig_maxBreak))
{
$uderror='profileupdate_sig_maxsigns';
}
# Signatur - Zeichen & Zeilen Limit - EOC | |
Werte von $pSig_maxString (Maximale Zeichen) und $pSig_maxBreak (Maximale Zeilenumbrüche) den Wünschen nach anpassen.
Weitersuchen nach (Sofern vorhanden):
| PHP-Quelltext pkHeaderLocation('editprofile','','uderror='.$uderror); | |
Ersetzen mit diesem (Sofern nicht bereits vorhanden):
| PHP-Quelltext pkHeaderLocation('usereditprofile','','event='.$uderror); | |
Nun öffnen wir die Datei inc/lang/de/event.php und suchen nach folgendem:
| PHP-Quelltext #ud6
'eventtitle_profileupdate_nickname_invalid'=>'',
'event_profileupdate_nickname_invalid'=>'Beim Update Ihres Benutzerprofils ist leider ein Fehler aufgetreten!<br/><br/>Der von Ihnen ausgewählte Spitzname ist ungültig, bitte wählen Sie einen anderen aus.', | |
fügen darunter folgendes hinzu:
| PHP-Quelltext #ud7
'eventtitle_profileupdate_sig_maxsigns'=>'Maximale Zeichenanzahl überschritten',
'event_profileupdate_sig_maxsigns'=>'Die von Ihnen verfasste Signatur überschreitet die maximale Anzahl an Zeichen.', | |
Zusammengefasst, PHPKit 1.6.03:
Öffne die login/edtprofil.php und suche nach:
| PHP-Quelltext if ($_POST['ud_email']=='') $uderror=4;
elseif (!emailcheck($_POST['ud_email'])) $uderror=5;
else $ud_email=$_POST['ud_email']; | |
Füge darunter folgendes hinzu:
| PHP-Quelltext # Signatur - Zeichen & Zeilen Limit - SOC
$pSig_maxString =20;
$pSig_maxBreak =5;
$pSig_post =$_POST['ud_usersig'];
$pSig_post =explode("\n", $pSig_post);
$pSig_post =count($pSig_post);
if(isset($_POST['ud_usersig']) && trim($_POST['ud_usersig'])!='' && (strlen($_POST['ud_usersig'])>$pSig_maxString || $pSig_post>$pSig_maxBreak))
{
$uderror=7;
}
# Signatur - Zeichen & Zeilen Limit - EOC | |
Werte von $pSig_maxString (Maximale Zeichen) und $pSig_maxBreak (Maximale Zeilenumbrüche) den Wünschen nach anpassen.
Nun öffnen wir die Datei admin/config/event.php und suchen nach folgendem:
| PHP-Quelltext elseif ($event=="ud1" or $event=="ud2" or $event=="ud3" or $event=="ud4" or $event=="ud5" or $event=="ud6") { | |
ersetzen es mit diesem:
| PHP-Quelltext elseif ($event=="ud1" or $event=="ud2" or $event=="ud3" or $event=="ud4" or $event=="ud5" or $event=="ud6" or $event=="ud7") { | |
Anschliessend in das Verzeichnis templates/ wechseln und dort eine neue Datei, mit dem Namen event_message_ud7.htm anlegen mit eventuell folgendem Inhalt:
Zitat Die von Ihnen verfasste Signatur überschreitet die maximale Anzahl an Zeichen. |
Die 1. Variante im zweiten Beitrag dieses Threads berücksichtigt lediglich keine Zeilenumbrüche. Die hier zusammengefasste Anleitung dient zum Setzen eines Limits an Zeichen sowie Zeilenumbrüche innerhalb der Signatur.
|
|
|
|
|
|
|
 |
|
 |
03.09.2012 - 20:38 Uhr |
|
|
|
Zitat Original geschrieben von WEBI
Es sind 2 Varianten, nur das eben die von k!r!ka umfangreicher ist und auch die Zeilenumbrüche berücksichtigt. |
Wobei man das noch erweitern kann. Mit jetziger Methode zählt jedes Zeichen, unabhängig vom Zeilenumbruch. Dies könnt man allerdings noch Zeilenweise machen 
Was hast du gegen Weltfrieden, an dem ich immer noch arbeite?
|
|
|
|
|
|
|
 |
WEBI Unberechenbares Urgestein |
 |
|
|
|
|
|
|
|
|
 |
03.09.2012 - 20:51 Uhr |
|
|
|
Na warum denn nicht, käme das Javascript wiederholte male zum Einsatz - wenn man 5 Zeilen zulässt, 5 Inputs, a 20 Zeichen? 
Wie schauts aus, eine weitere Smilieliste, nur für Dich, k!r!ka? Und wie steht es momentan um den Weltfrieden?
Zitat Original geschrieben von fireball1982
soll ich da die 100 ändern oder bei sig_maxsigns die Zahl die davor steht (100 in deinem Code) nochmal reinschreiben ? Stelle mich wohl etwas blöd an *g |
In dem Fall würde die Zahl (100) nach Belieben geändert werden müssen. Was bei letzteren Methode durch die innerhalb der Zusammenfassung genannten Variablen ersetzt wurde. sig_maxsigns dient als Definition des Fehlertextes und sollte unverändert bleiben.
Zitat Original geschrieben von fireball1982
Sind das jetzt 2 verschiedene Methoden von euch oder ein part 1 webi part 2 k!r!ka ? |
Sowohl als auch. 
|
|
|
|
|
|
|
 |
|
 |
04.09.2012 - 14:07 Uhr |
|
|
|
Ihr seit 2 Komiker 
Ich habe jetzt erstmal die Methode von Webi (Post 21744) getestet, das ganze läuft wohl allerdings habe ich mit der "Sprachvariable" wohl ein Problem, da noch ein anderer Hack eingebaut ist,diese wird garnicht angezeigt.
Bei mir schaut die usereditprofile.php auch ein wenig anders aus, weiß nicht ob ich dort was verkehrt gemacht hab jetzt.
Die Änderung für die Signatur ist Zeile 135-145
Die 2. Suchstelle
| PHP-Quelltext pkHeaderLocation('editprofile','','uderror='.$uderror); | |
gibts bei mir nicht, du schreibst ja auch falls vorhanden, bei mir ist das einzige was so ähnlich aussieht
| PHP-Quelltext pkHeaderLocation('inc/lang/de/event.php','','event='.$uderror); | |  |
dort habe ich jetzt nichts verändert
Hier klicken zum aufklappenusereditprofile.php   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 396 397 398 399 400 401 402 403 404 405 406 407 | | PHP-Quelltext <?php
##################################################################
# #
# #
# PHPKIT #
# -------------------------------------------- #
# Copyright (c) 2002-2003 Gersöne & Schott GbR #
# #
# #
# ############################################################## #
# #
# Diese Datei / die PHPKIT-Software ist keine Freeware! #
# Für weitere Information besuchen Sie bitte unsere Webseite #
# oder kontaktieren uns per E-Mail: #
# #
# This file / the PHPKIT-software is not freeware! #
# For further informations please vistit our website #
# or contact us via email: #
# #
# Website: http://www.phpkit.de #
# Email: info@phpkit.de #
# #
# ############################################################## #
# #
# File: /inc/public/usereditprofile.php #
# Author: Pierre Gersöne #
# Created: Version 1.6.1 - 2004-05-09 #
# Last Modified: Version 1.6.1 - 2004-05-09 #
# Description: not available for this file #
# #
# ############################################################## #
# #
# SIE SIND NICHT BERECHTIGT, UNRECHTMÄSSIGE KOPIEN DIESER #
# DATEI ZU ERSTELLEN UND/ODER DIESE INFORMATIONEN ZU ENTFERNEN #
# #
# YOU ARE NOT AUTHORISED TO CREATE ILLEGAL COPIES OF THIS #
# FILE AND/OR TO REMOVE THIS INFORMATIONS #
# #
##################################################################
$S=&$SQL;
pkLoadFunc('user');
$info=array('user_id'=>0);
$bd_option_year=$uderror=$editprofile_userfield=
$user_email_option_1=$user_email_option_0=$event=
$user_sex_option_1=$user_sex_option_2=$user_sex_option_0=NULL;
if(pkGetUservalue('id')) {
$info=$S->fetch_assoc($S->query("SELECT
user_id,
user_name,
user_pw,
user_profillock,
user_status,
user_nick,
user_pw,
user_email,
user_sex,
user_hpage,
user_aimid,
user_yim,
user_icqid,
user_emailshow,
user_country,
user_bd_day,
user_bd_month,
user_bd_year,
signin,
user_qou,
user_sig,
user_hobby
FROM ".pkSQLTAB_USER."
WHERE user_name='".$SQL->f(pkGetUservalue('name'))."' AND
user_pw='".$SQL->f(pkGetUservalue('pass'))."' AND
user_id='".$SQL->f(pkGetUservalue('id'))."'
LIMIT 1"));
}
if(!pkGetUservalue('id') || $info['user_id']!=pkGetUservalue('id'))
return pkEvent('access_refused');
if($info['user_profillock']==1)
return pkEvent('eventtitle_profile_update_disabled');
$ACTION=isset($_POST['action']) ? $_POST['action'] : false;
if(isset($_POST['save']) && $ACTION==$_POST['save']) {
$_POST['ud_nick']=trim($_POST['ud_nick']);
$_POST['ud_email']=trim($_POST['ud_email']);
/******************************** Pflichtfeld Anfang. Original wir nur angepasst ********************************/
if($_POST['user_bd_month']=='0' or $_POST['user_bd_day']=='0' or $_POST['user_bd_year']=='0') $uderror='profileupdate_kein_datum_angegeben';
if(!checkdate($_POST['user_bd_month'],$_POST['user_bd_day'],$_POST['user_bd_year'])) $uderror='profileupdate_wechsel_datum';
if ($_POST['ud_country']=='def') $uderror='profileupdate_kein_bundesland_gewaehlt';
elseif ($_POST['ud_country']=='00') $uderror='profileupdate_kein_bundesland_gewaehlt';
elseif ($_POST['ud_country']=='') $uderror='profileupdate_kein_bundesland_gewaehlt';
if ($_POST['ud_sex']=='d') $uderror='profileupdate_kein_geschlecht_gewaehlt';
if(is_array($_POST['profilefields']))
foreach($_POST['profilefields'] as $id => $value){
$felder=$DB->fetch_array($DB->query("SELECT * FROM `".$db_tab['profilefields']."` WHERE `profilefields_id`='".intval($id)."' LIMIT 1"));
if($felder['profilefields_pflicht']==1){
if($value=="") $uderror='profileupdate_profilfelder_nicht_ausgefuellt';}
if($felder['profilefields_area']==2){
if(preg_match('/[^-.0-9]/', $value)) $uderror='profileupdate_nummerisch';}}
if($_POST['ud_newpw1']!=$_POST['ud_newpw2'])
$uderror='profileupdate_passwords_unequal';
elseif($_POST['ud_newpw1']==$_POST['ud_newpw2'] && $_POST['ud_newpw1']!='')
$ud_userpw=md5($_POST['ud_newpw1']);
elseif($ud_newpw1=="" && $ud_newpw2=="")
$ud_userpw=$USER['pass'];
if($_POST['ud_email']=='')
$uderror='profileupdate_email_empty';
elseif(!emailcheck($_POST['ud_email']))
$uderror='profileupdate_email_invalid';
elseif($_POST['ud_email']!='')
$getmail=$S->fetch_array($S->query("SELECT
COUNT(user_email) as count
FROM ".pkSQLTAB_USER."
WHERE user_email='".$S->f($_POST['ud_email'])."'
AND user_name!='".$S->f($USER['name'])."' LIMIT 1"));
if($getmail['count']>0)
$uderror='profileupdate_email_in_use';
else
$ud_email=$_POST['ud_email'];
# Signatur - Zeichen & Zeilen Limit - SOC
$pSig_maxString =500;
$pSig_maxBreak =10;
$pSig_post =$_POST['ud_usersig'];
$pSig_post =explode("\n", $pSig_post);
$pSig_post =count($pSig_post);
if(isset($_POST['ud_usersig']) && trim($_POST['ud_usersig'])!='' && (strlen($_POST['ud_usersig'])>$pSig_maxString || $pSig_post>$pSig_maxBreak))
{
$uderror='sig_maxsigns';
}
# Signatur - Zeichen & Zeilen Limit - EOC
if($_POST['ud_nick']=='')
$uderror='profileupdate_nickname_empty';
elseif(!checkusername($_POST['ud_nick']))
$uderror='profileupdate_nickname_invalid';
else {
$getnick=$S->fetch_array($S->query("SELECT
COUNT(user_name) as count
FROM ".pkSQLTAB_USER."
WHERE user_nick='".$S->f($_POST['ud_nick'])."'
AND user_name!='".$S->f($USER['name'])."'
LIMIT 1"));
if($getnick['count']>0)
$uderror='profileupdate_nickname_in_use';
}
if($uderror)
pkHeaderLocation('inc/lang/de/event.php','','event='.$uderror);
/******************************** Pflichtfeld Ende. Original wir nur angepasst ********************************/
$vars=array(
'ud_nick'=>'ud_nick',
'ud_hpage'=>'ud_hpage',
'ud_aimid'=>'ud_aimid',
'ud_yim'=>'ud_yim',
'ud_icqid'=>'ud_icqid',
'ud_usersig'=>'ud_usersig',
'ud_userqou'=>'ud_userqou',
'ud_userhobby'=>'ud_userhobby',
'ud_sex'=>'ud_sex',
'ud_emailshow'=>'ud_emailshow',
'ud_country'=>'ud_country',
'user_bd_day'=>'user_bd_day',
'user_bd_month'=>'user_bd_month',
'user_bd_year'=>'user_bd_year'
);
foreach($vars as $k=>$v)
$$k=$ENV->_post($v);
$ud_hpage=pkUrlCheck($ud_hpage) ? $ud_hpage : '';
if($user_bd_year > (date('Y',pkTIME)-5) || $user_bd_year<=1900 || !checkdate($user_bd_month,$user_bd_day,$user_bd_year))
$user_bd_day=$user_bd_month=$user_bd_year=0;
/**************************************** Signatur HACK Anfang ****************************************/
$ud_usersig=preg_replace("#\[img(.*)\]#Usi","[sig]",$ud_usersig);
$ud_usersig=preg_replace("#\[/img(.*)\]#Usi","[/sig]",$ud_usersig);
/**************************************** Signatur HACK Ende ****************************************/
$S->query("UPDATE ".pkSQLTAB_USER." SET
uid='".pkRand()."',
user_pw='".$S->F($ud_userpw)."',
user_email='".$S->F($ud_email)."',
user_emailshow='".$S->F($ud_emailshow)."',
user_nick='".$S->F($ud_nick)."',
user_sex='".$S->F($ud_sex)."',
user_country='".$S->F($ud_country)."',
user_hpage='".$S->F($ud_hpage)."',
user_aimid='".$S->F($ud_aimid)."',
user_yim='".$S->F($ud_yim)."',
user_icqid='".$S->F($ud_icqid)."',
user_sig='".$S->F($ud_usersig)."',
user_qou='".$S->F($ud_userqou)."',
user_hobby='".$S->F($ud_userhobby)."',
user_bd_day='".$S->F($user_bd_day)."',
user_bd_month='".$S->F($user_bd_month)."',
user_bd_year='".$S->F($user_bd_year)."'
WHERE user_id='".intval($USER['id'])."'"
);
$info=$S->fetch_array($S->query("SELECT
*
FROM ".pkSQLTAB_USER."
WHERE user_id='".$USER['id']."'"));
if(isset($_POST['profilefields']) && is_array($_POST['profilefields'])) {
$query=NULL;
$userfield_counter=$S->fetch_array($S->query("SELECT
COUNT(userid) as counter
FROM ".$db_tab['userfields']."
WHERE userid='".intval($USER['id'])."' LIMIT 1"));
if($userfield_counter['counter']<1)
$S->query("INSERT INTO ".pkSQLTAB_USER_FIELDS." (userid) VALUES ('".intval($USER['id'])."')");
foreach($_POST['profilefields'] as $id=>$value)
$query.=(empty($query) ? '' : ',')."field_".intval($id)."='".$S->f($value)."'";
if($query)
$S->query("UPDATE ".pkSQLTAB_USER_FIELDS."
SET ".$query."
WHERE userid='".intval($USER['id'])."'");
}
session_register("USER");
$array=array(
'nick'=>'nick',
'pass'=>'pw',
'email'=>'email',
'sex'=>'sex',
'hpage'=>'hpage',
'icqid'=>'icqid',
'status'=>'status'
);
foreach($array as $k=>$v)
$USER[$k]=$info['user_'.$v];
$SESSION->save('USER',$USER);
pkHeaderLocation('usereditprofile','','event=profileupdate');
}
pkLoadLang('profile');
$userfields=$S->fetch_assoc($S->query("SELECT *
FROM ".pkSQLTAB_USER_FIELDS."
WHERE userid='".$USER['id']."' LIMIT 1"));
/******************************** Pflichtfeld Anfang. Original wir nur angepasst ********************************/
$result=$S->query("SELECT
profilefields_id,
profilefields_description,
profilefields_name,
profilefields_maxlength,
profilefields_groups,
profilefields_status_edit,
profilefields_pflicht,
profilefields_area
FROM ".pkSQLTAB_USER_PROFILEFIELDS."
ORDER by profilefields_sorts ASC, profilefields_order ASC");
while(list($fieldid,$fielddescription,$fieldname,$fieldlength,$fieldgroup,$fieldstatusedit,$fieldpflicht,$fieldarea)=$S->fetch_row($result)) {
$value=pkEntities($userfields['field_'.$fieldid]);
$name='profilefields['.$fieldid.']';
if($fieldgroup !="")
eval ("\$user_ext_group = \"".pkTpl("usereditprofile_userfield_group")."\";");
else unset($user_ext_group);
if (getrights($fieldstatusedit)=="true"){
if($fieldpflicht=="0" AND $fieldarea=="0"){ unset($pflichtfeld);
eval ("\$editprofile_userfield.= \"".pkTpl("usereditprofile_userfield")."\";");}
elseif($fieldpflicht=="0" AND $fieldarea=="1"){ unset($pflichtfeld);
eval ("\$editprofile_userfield.= \"".pkTpl("usereditprofile_userfield_area")."\";");}
elseif($fieldpflicht=="0" AND $fieldarea=="2"){ unset($pflichtfeld);
eval ("\$editprofile_userfield.= \"".pkTpl("usereditprofile_userfield_num")."\";");}
elseif($fieldpflicht=="1" AND $fieldarea=="0"){$pflichtfeld='<span style="color:#d70007;">*</span>';
eval ("\$editprofile_userfield.= \"".pkTpl("usereditprofile_userfield")."\";");}
elseif($fieldpflicht=="1" AND $fieldarea=="1"){$pflichtfeld='<span style="color:#d70007;">*</span>';
eval ("\$editprofile_userfield.= \"".pkTpl("usereditprofile_userfield_area")."\";");}
elseif($fieldpflicht=="1" AND $fieldarea=="2"){$pflichtfeld='<span style="color:#d70007;">*</span>';
eval ("\$editprofile_userfield.= \"".pkTpl("usereditprofile_userfield_num")."\";");}
} else eval ("\$editprofile_userfield.= \"".pkTpl("usereditprofile_no_edit")."\";");
}
/******************************** Pflichtfeld Ende. Original wir nur angepasst ********************************/
switch($info['user_sex']) {
case 'w' :
$user_sex_option_1='selected="selected"';
break;
case 'm' :
$user_sex_option_2='selected="selected"';
break;
default :
$user_sex_option_0='selected="selected"';
}
foreach(range(1,31) as $d)
$bd_option_day.='<option value="'.$d.'"'.($info['user_bd_day']==$d ? ' selected="selected"' : '').'>'.$d.'</option>';
foreach(range(1,12) as $m)
$bd_option_month.='<option value="'.$m.'"'.($info['user_bd_month']==$m ? ' selected="selected"' : '').'>'.pkGetSpecialLang('month',$m).'</option>';
foreach(range(date('Y')-5,1900) as $y)
$bd_option_year.='<option '.($info['user_bd_year']==$y ? ' selected="selected"' : '').'>'.$y.'</option>';
$action_target=pkLink('usereditprofile');
$user_name=pkEntities($info['user_name']);
$user_nick=pkEntities($info['user_nick']);
$user_email=pkEntities($info['user_email']);
$user_aimid=pkEntities($info['user_aimid']);
$user_yim=pkEntities($info['user_yim']);
$user_sig=pkEntities($info['user_sig']);
$user_qou=pkEntities($info['user_qou']);
$user_hobby=pkEntities($info['user_hobby']);
$user_hpage=pkEntities($info['user_hpage']);
$user_status=pkUserStatus($info['user_status']);
$user_signin=formattime($info['signin']);
$user_country=pkUserCountryOptionlist($info['user_country']);
$user_icqid=intval($info['user_icqid'])>0 ? intval($info['user_icqid']) : NULL;
$info['user_emailshow']==1 ? $user_email_option_1=' checked="checked"' : $user_email_option_0=' checked="checked"';
$user_navigation=pkUsernavigation();
$L_save=pkGetLang('save');
$L_reset=pkGetLang('reset');
foreach(array(
'edit_profile',
'username',
'username_description',
'userstatus',
'userstatus_description',
'member_since',
'required_specifications',
'nickname',
'nickname_description',
'password',
'password_description',
'confirm_password',
'confirm_password_description',
'email',
'email_description',
'optional_specifications',
'show_email',
'show_email_description',
'sex',
'sex_description',
'sex_not_specified',
'sex_male',
'sex_female',
'dateofbirth',
'dateofbirth_description',
'dateofbirth_day',
'dateofbirth_month',
'dateofbirth_year',
'origin',
'origin_description',
'origin_ger',
'origin_aut',
'origin_ch',
'origin_nl',
'origin_oth',
'origin_def',
'homepage',
'homepage_description',
'aim_screenname',
'aim_screenname_description',
'yim',
'yim_description',
'icq',
'icq_description',
'signature',
'signature_description',
'quotation',
'quotation_description',
'hobbies',
'hobbies_description'
) as $l) {
$v='L_editprofile_'.$l;
$$v=pkGetLang($l);
}
eval("\$site_body.= \"".pkTpl("usereditprofile")."\";");
unset($S);
?>
| |  |
in der event.php gab es ud7 schon durch diesen Profilfeldhack
ich hab deine Änderung als ud14 eingebaut und das Template auch dementsprechend umbenannt.
Wenn ich nun zuviele Zeichen in der Signatur eingebe und speichern drücke bekomme ich ne Meldung
Zitat L_eventtitle_sig_maxsigns
L_event_sig_maxsigns |
was hab ich da verkehrt gemacht ?
Werd die 2 Dateien mal speichern und die 2. Variante auch mal testen.
|
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von fireball1982 - 04.09.2012 - 14:07 Uhr |
|
|
|
|
|
|
|
 |
WEBI Unberechenbares Urgestein |
 |
|
|
|
|
|
|
|
|
 |
04.09.2012 - 15:31 Uhr |
|
|
|
Öffne die inc/public/usereditprofile.php und ändere deine Passage:
| PHP-Quelltext pkHeaderLocation('inc/lang/de/event.php','','event='.$uderror); | |
In folgende um:
| PHP-Quelltext #pkHeaderLocation('inc/lang/de/event.php','','event='.$uderror);
pkHeaderLocation('usereditprofile','','event='.$uderror); | |
Macht keinen Unterschied, sieht doch aber schöner aus. ^^
Nun ersetze noch die zuvor implementierte Zeile:
| PHP-Quelltext $uderror='sig_maxsigns'; | |
um, in diese:
| PHP-Quelltext $uderror='profileupdate_sig_maxsigns'; | |
Info: Obriger Code, Post: #21744; angepasst.
Ein Template braucht man bei der 1.6.1 nicht anlegen, da das ganze über ein Array und einem dazugehörigen Template läuft, so benötigt man nicht x-verschiedene Templates, wie es noch bei der 1.6.03 der Fall war. Das (#udX) ist ja lediglich eine ausdokumentierte Nummerierung zur Übersicht. Nicht so wie bei der 1.6.03, wo diese noch festgelegt werden muss. Es war folglich nur ein Fehler in der Definierung der Fehlermeldung, die Funktionalität musste daran jedoch nicht glauben. 
Zudem wäre zu empfehlen, die Fehler bei den Standard-Fehlermeldungen innerhalb des Profilupdates, sofern noch nicht geschehen; zu beheben. Das betrifft die Angaben der E-Mail Adresse, des Nicknamen sowie die, des Passwortes.
| PHP-Quelltext $uderror='passwords_unequal'; | |
Wird zu:
| PHP-Quelltext $uderror='profileupdate_passwords_unequal'; | |
Weiter wird:
| PHP-Quelltext $uderror='email_empty'; | |
zu:
| PHP-Quelltext $uderror='profileupdate_email_empty'; | |
ausserdem:
| PHP-Quelltext $uderror='email_invalid'; | |
ersetzen mit:
| PHP-Quelltext $uderror='profileupdate_email_invalid'; | |
als auch:
| PHP-Quelltext $uderror='nickname_invalid'; | |
ändern in:
| PHP-Quelltext $uderror='profileupdate_nickname_invalid'; | |
|
|
|
|
|
|
|
 |
|
 |
04.09.2012 - 15:45 Uhr |
|
|
|
Zitat Original geschrieben von fireball1982
Ihr seit 2 Komiker |
Wir tun unser bestes ..
Zitat Original geschrieben von fireball1982
Ich habe jetzt erstmal die Methode von Webi (Post 21744) getestet, |
Eigentlich ist es meine Methode, nur hat WEBI den anderen Kram, den ich posten wollte eh schon geschrieben .. 
|
|
|
|
|
|
|
 |
WEBI Unberechenbares Urgestein |
 |
|
|
|
|
|
|
|
|
 |
04.09.2012 - 15:57 Uhr |
|
|
|
Zitat Original geschrieben von k!r!ka
Eigentlich ist es meine Methode, nur hat WEBI den anderen Kram, den ich posten wollte eh schon geschrieben .. |
Hey es beinhalt noch immer meine mitlerweile funktionierende Fehlermeldung. Also, geh dich um den Weltfrieden kümmern. 
|
|
|
|
|
|
|
 |
|
 |
04.09.2012 - 17:29 Uhr |
|
|
|
Läuft sehr gut, jetzt muß ich die betreffenden User nur noch in die Signatur-Änderungs-Falle locken
Ich bedanke mich für die tolle Arbeit. Friede sei mit euch.
|
|
|
|
|
|
|
 |
Ähnliche Themen |
|
|
|
|
|
|
|
|