Hallo Auge,
Die Funktion hast du hinzugefügt?
Riecht nicht nach meinem Amateurstil. Findet sich in meiner letzten archivierten¹ Version vom April 2016. Inkl. einleitendem Kommentar:
/**
* split of users time difference to server time
*
*
* @return array $user_time_difference
*/
function processUserTimeSplit($timeDiff) {
if (!empty($timeDiff)
and preg_match("/^(-|\+)(([0-1][0-9])|([2][0-3])):([0-5][0-9]):([0-5][0-9])$/", $timeDiff))
{
$utd[0] = substr($timeDiff, 0, 1);
$utd[1] = substr($timeDiff, 1);
}
else
{
$utd[0] = "+";
$utd[1] = "00:00:00";
}
return $utd;
} # End: processUserTimeSplit
Dann gibt’s noch:
Warning: Illegal string offset 'admin' in D:\xampp\htdocs\bebac\forum\functions\funcs.output.php on line 367
wobei dort inerhalb von function outputAuthorsName($username, $mark, $user_id=0)
die Zeile 367:
if ($mark['admin'] === 1 or $mark['mod'] === 1 or $mark['user'] === 1)
Kommt vor function processCountCharsInWords($string, $setting, $message)
, die es bei dir auch nicht gibt.
Wie lautet denn die PHP-Fehlermeldung bezüglich der oben gezeigten Funktion?
In der mix.php
Notice: Undefined variable: user_TDiff in D:\xampp\htdocs\bebac\forum\mix.php on line 204
Und dort
while ($zeile = mysqli_fetch_assoc($threadsResult))
{
# read entries of thread
$threadCompleteQuery = "SELECT
id,
pid,
tid,
user_id,
DATE_FORMAT(time ".$post_TDiff[0]." INTERVAL '".$user_TDiff[1]."' HOUR_SECOND, '".$lang['time_format_sql']."') AS Uhrzeit,
name,
subject,
category,
marked,
fixed,
views
FROM ".$db_settings['forum_table']."
WHERE tid = ".$zeile["tid"]."
ORDER BY time ASC";
$rawresult = dbaseAskDatabase($threadCompleteQuery, $connid);
wobei Zeile 204 die mit den beiden $post_TDiff
s ist.
Ganz oben findet sich der Verweis auf die funcs.processing.php
und zwar:
# Variablen korrekt (de)initialisieren
unset($parent_array);
unset($child_array);
$post_TDiff = processUserTimeSplit($_SESSION[$settings['session_prefix'].'user_time_difference']);
Dann gibt’s noch:
Warning: Illegal string offset 'admin' in D:\xampp\htdocs\bebac\forum\functions\funcs.output.php on line 367
Und dort innerhalb von function outputAuthorsName($username, $mark, $user_id=0)
die Zeile 367:
if ($mark['admin'] === 1 or $mark['mod'] === 1 or $mark['user'] === 1)
Na gut, sind notices und warnings, die offensichtlich die Funktion nicht beinträchtigen. Wenn nicht zu lösen, schmeiss ich diese Abschnitte halt raus.²
Was ich aber nicht raffe, ist das Login-Problem. Dort scheint alles in Butter zu sein, isses aber nicht. Es wird $lang['login_failed_marking']
geschmissen.
Wenn ich mich mit der Brechstange in mlf_useronline
eintrage, wird unten „1 registered” angezeigt, aber oben prangt noch immer „Log in” statt meines Names und „Log out”. Krank.
Fast schon paranoid: MD5 von meinem Passwort erstellt. Stimmt mit dem Eintrag in mlf_userdata
überein.
--
¹ Anlässlich Rechnerumzug offensichtlich ältere entsorgt. Motto „Schnee von gestern”.
² Ich vermute, dass das mit meinen (unseren?) – erfolglosen –Versuchen zu Lokalzeiten der Benutzer zu tun hatte. Neu:
$threadCompleteQuery = "SELECT
id, pid, tid, user_id,
DATE_FORMAT(time, '".$lang['time_format_sql']."') AS Uhrzeit,
name, subject, category, marked, fixed, views
FROM ".$db_settings['forum_table']."
WHERE tid = ".$zeile["tid"]."
ORDER BY time ASC";
Zeigt mir alles in der Lokalzeit an, auch wenn ich die Zeitdifferenz im Profil ändere. Ein Problem weniger.