×
Blue Eagle 5 v1.5.4 has been Released (13 Sep 2020)

The Kunena team has announce the arrival of Kunena template Blue Eagle 5 v1.5.4 which is now available for download. This version addresses most of the issues that were discovered in development.

× Themen, die in diesen Bereich verschoben wurden, gelten allgemein als beendet. Falls es dazu noch zusätzliche Fragen gibt, können diese gestellt werden.
Aber diese alten Themen sollten auf keinen Fall wieder auferstehen, um neue Probleme zu erörtern. Eröffnet dazu bitte ein eigenes neues Thema.

Question Fehlermeldungen bezüglich date- und time-Funktionen

More
10 years 6 months ago - 10 years 6 months ago #1 by Etenia
Hallo,

nachdem ich über die SuFu hinsichtlich der im Frontend zurückgemeldeten Fehler bzw. der gemeldeten Warnungen nichts finden konnte, muss ich doch nachfragen, weil ich von php absolut keine Ahnung habe. :(

1. Problem:

Die Warnung sieht folgendermaßen aus:

Warning: strftime() [function.strftime]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'UTC' for 'UTC/0.0/no DST' instead in /var/www/etenia/adrenaline/components/com_kunena/lib/kunena.timeformat.class.php on line 156


Der Code den es betrifft ist folgender Teil der kunena.timeformat.class.php:
// Format a time to make it look purdy.
function KUNENA_timeformat($logTime, $show_today = true)
{
	// formatts a time in Display space! Don't pass internal times!
	// ToDo: Pass format!
   $usertime_format = _KUNENA_DT_DATETIME_FMT;
 
    $app =& JFactory::getApplication();
    $time = $logTime;
    $todayMod = 2;
 
    // We can't have a negative date (on Windows, at least.)
    if ($time < 0) {
        $time = 0;
    }
 
    // Today and Yesterday?
    if ($show_today === true)
    {
        // Get the current time.
        $nowtime = CKunenaTools::fbGetShowTime();
        $then = @getdate($time);
        $now = @getdate($nowtime);
        // Try to make something of a time format string...
        $s = strpos($usertime_format, '%S') === false ? '' : ':%S';
 
        if (strpos($usertime_format, '%H') === false && strpos($usertime_format, '%T') === false) {
            $today_fmt = '%I:%M' . $s . ' %p';
        }
        else {
            $today_fmt = '%H:%M' . $s;
        }
 
        // Same day of the year, same year.... Today!
        if ($then['yday'] == $now['yday'] && $then['year'] == $now['year'])
            return '' . _TIME_TODAY . '' . KUNENA_timeformat($logTime, $today_fmt);
 
        // Day-of-year is one less and same year, or it's the first of the year and that's the last of the year...
        if ($todayMod == '2' && (($then['yday'] == $now['yday'] - 1 && $then['year'] == $now['year']) || ($now['yday'] == 0 && $then['year'] == $now['year'] - 1) && $then['mon'] == 12 && $then['mday'] == 31))
            return '' . _TIME_YESTERDAY . '' . KUNENA_timeformat($logTime, $today_fmt);
    }
 
    $str = !is_bool($show_today) ? $show_today : $usertime_format;
 
    /*
    // setlocale issues known in multithreaded server env. this affects many shared hostings!
    if (setlocale(LC_TIME, $app->getCfg('locale')))
    {
        foreach (array
        (
            '%a',
            '%A',
            '%b',
            '%B'
        )as $token)
            if (strpos($str, $token) !== false)
                $str = str_replace($token, ucwords((strftime($token, $time))), $str);
    }
    else
    */
    {
        // Do-it-yourself time localization.  Fun.
        foreach (array
        (
            '%a' => 'days_short',
            '%A' => 'days',
            '%b' => 'months_short',
            '%B' => 'months'
        )as $token => $text_label)
            if (strpos($str, $token) !== false)
                $str = str_replace($token, $GLOBALS['KUNENA_DT_txt'][$text_label][(int)strftime($token === '%a' || $token === '%A' ? '%w' : '%m', $time)], $str);
 
        if (strpos($str, '%p'))
            $str = str_replace('%p', (strftime('%H', $time) < 12 ? 'am' : 'pm'), $str);
    }
 
    // Format any other characters..
    return strftime($str, $time);
}
 

Genauer gesagt:
155    // Format any other characters..
156    return strftime($str, $time);

Bis vorgestern lief noch alles wunderbar, seit gestern ist die Page von Warnungen und Fehlermeldungen überflutet. (Der Mensch, der netterweise den Webspace zur Verfügung stellt, hat lt. eigener Aussage ein Update über den Server laufen lassen.)

Hoffentlich kann mir jemand weiter helfen. :kiss:
Last edit: 10 years 6 months ago by Etenia.

Please Log in or Create an account to join the conversation.

More
10 years 6 months ago #2 by Etenia
2. Problem:

Warning: date() [function.date]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'UTC' for 'UTC/0.0/no DST' instead in /var/www/etenia/adrenaline/components/com_kunena/template/default/plugin/who/whoisonline.php on line 85


81 <?php
82           foreach ($users as $user)
83           {
84               $grp = getFBGroupName($user->id);
85               $time = date("H:i:s", $user->time);
86 
87           ?>

Warning: date() [function.date]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'UTC' for 'UTC/0.0/no DST' instead in /var/www/etenia/adrenaline/components/com_kunena/template/default/plugin/who/whoisonline.php on line 112

108 <?php
109           foreach ($users as $user)
110           {
111               $grp = getFBGroupName($user->id);
112               $time = date("H:i:s", $user->time);
113           ?>

Please Log in or Create an account to join the conversation.

More
10 years 6 months ago #3 by rich

(Der Mensch, der netterweise den Webspace zur Verfügung stellt, hat lt. eigener Aussage ein Update über den Server laufen lassen.)

Hallo Etenia, du solltest dich bei dieser Person, die das Update gemacht hat, erkundigen und dein Problem schildern. Velleicht wurde bei der Konfiguration etwas übersehen.

Please Log in or Create an account to join the conversation.

More
10 years 6 months ago #4 by Etenia
Hallo Rich,

ich hab zwar schon mit dem Menschen geredet, und er meinte es sei alles wie immer konfiguriert, aber ich tret ihm nochmal in den Allerwertesten, dass er das nochmal prüft.

Danke für deine schnelle Reaktion.

Please Log in or Create an account to join the conversation.

More
10 years 6 months ago #5 by rich
Hallo Etenia,

es scheint sich um ein php Problem zu handeln. Du wirst wahrscheinlich keinen Zugriff auf diese Datei haben, wo etwas geändert werden muss. Aber ich kann mich auch irren.


@all,

For user Etenia happened two days ago server update. And now gets this error:
"It is not safe to rely on the system's timezone settings."
I think, this is no joomla or kunena problem, but rather missing configuration at the server. Please correct me if I am wrong!

Please Log in or Create an account to join the conversation.

More
10 years 6 months ago - 10 years 6 months ago #6 by rich
Hallo Etenia,

folgender Eintrag sollte in der php.ini überprüft werden.
www.kunena.com/forum/138-support/41192-e...-server-update#41193
Auf diese Datei hast du wahrscheinlich keinen Zugriff.
Last edit: 10 years 6 months ago by rich. Reason: Fehlerkorrektur

Please Log in or Create an account to join the conversation.

More
10 years 6 months ago - 10 years 6 months ago #7 by Etenia
Hallo Rich,

nachdem mein Bekannter nicht wirklich in die Pötte kommt, hab ich "einfach" die entsprechenden Funktionen in den php-Dateien umgemodelt, so dass dort jetzt die Zeitzone hinterlegt ist. => Problem vorerst verschwunden, mal abwarten, für wie lange^^

Jetzt stören eigentlich nur noch die Deprecated-Meldungen. Wie bekomm ich die gelöst ohne sie einfach abzuschalten? (Wegschauen mag zwar kurzfristig funktionieren, aber davon halte ich nicht wirklich viel...)

Deprecated: Assigning the return value of new by reference is deprecated in /var/www/etenia/adrenaline/components/com_kunena/kunena.php on line 594
590  ############################################################
591  case 'search': 
592  case 'advsearch': 
593  require_once (KUNENA_PATH_LIB .DS. 'kunena.search.class.php'); 
594  $kunenaSearch =& new CKunenaSearch(); 
595  $kunenaSearch->show(); 
596  break; 
597  ################################################################

Deprecated: Assigning the return value of new by reference is deprecated in /var/www/etenia/adrenaline/components/com_kunena/class.kunena.php on line 794

Deprecated: Assigning the return value of new by reference is deprecated in /var/www/etenia/adrenaline/components/com_kunena/class.kunena.php on line 796
792// Joomla Mambot Support, Thanks hacksider
793		if ($fbConfig->jmambot)
794		{
795			$row =& new stdClass();
796			$row->text =& $content;
797			$params =& new JParameter( '' );
798			$dispatcher	=& JDispatcher::getInstance();
799			JPluginHelper::importPlugin('content');
800			$results = $dispatcher->trigger('onPrepareContent', array (&
801 $row, & $params, 0));
802			$content =& $row->text;
803		}



Deprecated: Assigning the return value of new by reference is deprecated in /var/www/etenia/adrenaline/components/com_kunena/lib/kunena.session.class.php on line 41
36 function &getInstance( $updateSessionInfo=false )
37	{
38		if (!self::$_instance) {
39			$kunena_my = &JFactory::getUser();
40			$kunena_db = &JFactory::getDBO();
41			self::$_instance =& new CKunenaSession($kunena_db);
42			if ($kunena_my->id) self::$_instance->load($kunena_my->id);
43			if ($updateSessionInfo) self::$_instance->updateSessionInfo();
44		}


Die Meldung hab ich auch für uddeim, aber die müsste ich dann ja mit ner ähnlichen Änderung beheben können. :side:

Danke dass du dir so viel Mühe machst, mir zu helfen!!!
Last edit: 10 years 6 months ago by Etenia.

Please Log in or Create an account to join the conversation.

More
10 years 6 months ago #8 by rich
Hallo Etenia,

Wie bekomm ich die gelöst ohne sie einfach abzuschalten?

wie du dieses Problem gelöst bekommst, kann ich dir leider auch nicht sagen, aber alles in Allem ist es nicht die ideale Lösung. Beim nächsten Upgrade/Update hast du wahrscheinlich wieder das selbe Problem.

Gib deinem Bekannten noch mal einen kleinen Schups, damit er diesen einen Eintrag in der php.ini überprüft.

Please Log in or Create an account to join the conversation.

  • Not Allowed: to create new topic.
  • Not Allowed: to reply.
  • Not Allowed: to edit your message.
Time to create page: 0.107 seconds