PHP 8 Portal funktioniert nicht mehr - macca - 27.07.2023
Hallo, ich habe schon im Forum gesucht, jedoch keine tatsächliche Lösung für mein Problem gefunden. Seit umstellung auf php 8.x funktioniert das Portal nicht mehr. Gibt es dazu irgendwo schon einen Lösungansatz?
RE: PHP 8 Portal funktioniert nicht mehr - StefanT - 29.07.2023
Kannst du dein Problem bitte näher beschreiben (siehe: https://www.mybb.de/forum/thread-30269.html)? "Funktioniert nicht mehr" kann alles bedeuten und erlaubt keine Analyse des Problems.
RE: PHP 8 Portal funktioniert nicht mehr - macca - 30.07.2023
Unter php 7.1 funktioniert das Portal, unter php 8.x nicht mehr. Das Forum ist neu aufgesetzt, da ich zuvor mit Fehlern zu kämpfen hatte habe ich mich dazu entschlossen das Forum neu zu machen und habe die Beiträge und Benutzer wieder importiert.
https://www.mybb.de/forum/thread-38718-page-2.html
Auch diese Fehler bestehen weiterhin, das liegt jedoch anscheinend am SEO-Plugin.
Wenn ich das Portal aufrufe kommt...
kann diese Anfrage momentan nicht verarbeiten.
HTTP ERROR 500
in der log steht...
Code: <error>
<dateline>1690675565</dateline>
<script>inc/plugins/google_seo/url.php</script>
<line>100</line>
<type>2</type>
<friendly_type>Warning</friendly_type>
<message>Undefined array key "extra"</message>
<back_trace>#0 errorHandler->error() called at [/inc/class_error.php:153]
#1 errorHandler->error_callback() called at [/inc/plugins/google_seo/url.php:100]
#2 require_once() called at [/inc/plugins/google_seo.php:317]
#3 require_once() called at [/inc/class_plugins.php:38]
#4 pluginSystem->load() called at [/inc/init.php:235]
#5 require_once() called at [/global.php:20]
#6 require_once() called at [/portal.php:39]
</back_trace>
</error>
<error>
<dateline>1690675565</dateline>
<script>inc/plugins/google_seo/url.php</script>
<line>1250</line>
<type>2</type>
<friendly_type>Warning</friendly_type>
<message>Undefined variable $location</message>
<back_trace>#0 errorHandler->error() called at [/inc/class_error.php:153]
#1 errorHandler->error_callback() called at [/inc/plugins/google_seo/url.php:1250]
#2 google_seo_url_hook() called at [/inc/plugins/google_seo/url.php:174]
#3 require_once() called at [/inc/plugins/google_seo.php:317]
#4 require_once() called at [/inc/class_plugins.php:38]
#5 pluginSystem->load() called at [/inc/init.php:235]
#6 require_once() called at [/global.php:20]
#7 require_once() called at [/portal.php:39]
</back_trace>
</error>
<error>
<dateline>1690675565</dateline>
<script>inc/plugins/thankyoulike.php</script>
<line>1640</line>
<type>2</type>
<friendly_type>Warning</friendly_type>
<message>Undefined property: MyLanguage::$tyl_thankyou_sm</message>
<back_trace>#0 errorHandler->error() called at [/inc/class_error.php:153]
#1 errorHandler->error_callback() called at [/inc/plugins/thankyoulike.php:1640]
#2 thankyoulike_templatelist() called at [/inc/class_plugins.php:142]
#3 pluginSystem->run_hooks() called at [/global.php:100]
#4 require_once() called at [/portal.php:39]
</back_trace>
</error>
<error>
<dateline>1690675565</dateline>
<script>global.php(961) : eval()'d code</script>
<line>40</line>
<type>2</type>
<friendly_type>Warning</friendly_type>
<message>Undefined variable $unreadreports</message>
<back_trace>#0 errorHandler->error() called at [/inc/class_error.php:153]
#1 errorHandler->error_callback() called at [/global.php(961) : eval()'d code:40]
#2 eval() called at [/global.php:961]
#3 require_once() called at [/portal.php:39]
</back_trace>
</error>
<error>
<dateline>1690675565</dateline>
<script>inc/plugins/google_seo/url.php</script>
<line>833</line>
<type>2</type>
<friendly_type>Warning</friendly_type>
<message>Undefined array key 14255</message>
<back_trace>#0 errorHandler->error() called at [/inc/class_error.php:153]
#1 errorHandler->error_callback() called at [/inc/plugins/google_seo/url.php:833]
#2 google_seo_url_cache() called at [/inc/plugins/google_seo/url.php:1412]
#3 google_seo_url_thread() called at [/inc/functions.php:6530]
#4 get_thread_link() called at [/portal.php:430]
</back_trace>
</error>
Ok, Google SEO ist schuld, wenn deaktiviert funktioniert das Portal auch unter php 8.x.
Gibt es denn eine ALternative? Ich wollte wenigstens Suchmaschinenfreundliche URLs haben!?
RE: PHP 8 Portal funktioniert nicht mehr - StefanT - 30.07.2023
Siehe: https://www.mybb.de/forum/thread-33755-post-252740.html#pid252740
RE: PHP 8 Portal funktioniert nicht mehr - macca - 30.07.2023
Zu früh gefreut, auch damit funktioniert das Portal nicht (HTTP ERROR 500, GET /portal.php HTTP/1.0).
Hier die .php
Code: <?php
/**
* MyBB 1.8
* Copyright 2014 MyBB Group, All Rights Reserved
*
* Website: http://www.mybb.com
* License: http://www.mybb.com/about/license
*
*/
define("IN_MYBB", 1);
define("IN_PORTAL", 1);
define('THIS_SCRIPT', 'portal.php');
// set the path to your forums directory here (without trailing slash)
$forumdir = "./";
// end editing
$change_dir = "./";
if(!@chdir($forumdir) && !empty($forumdir))
{
if(@is_dir($forumdir))
{
$change_dir = $forumdir;
}
else
{
die("\$forumdir is invalid!");
}
}
$templatelist = "portal,portal_welcome_membertext,portal_stats,portal_search,portal_whosonline_memberbit,portal_whosonline,portal_latestthreads_thread,portal_latestthreads,portal_announcement_numcomments_no";
$templatelist .= ",postbit_attachments_thumbnails_thumbnail,postbit_attachments_images_image,postbit_attachments_attachment,postbit_attachments_thumbnails,postbit_attachments_images,postbit_attachments";
$templatelist .= ",multipage,multipage_end,multipage_jump_page,multipage_nextpage,multipage_page,multipage_page_current,multipage_page_link_current,multipage_prevpage,multipage_start,portal_announcement_send_item";
$templatelist .= ",portal_stats_nobody,portal_announcement_avatar,portal_announcement_numcomments,portal_announcement_icon,portal_pms,portal_welcome,portal_announcement,portal_welcome_guesttext";
require_once $change_dir."/global.php";
require_once MYBB_ROOT."inc/functions_post.php";
require_once MYBB_ROOT."inc/functions_user.php";
require_once MYBB_ROOT."inc/class_parser.php";
$parser = new postParser;
// Load global language phrases
$lang->load("portal");
if($mybb->settings['portal'] == 0)
{
error($lang->portal_disabled);
}
// Fetch the current URL
$portal_url = get_current_location();
$file_name = strtok(my_strtolower(basename($portal_url)), '?');
add_breadcrumb($lang->nav_portal, $file_name);
$plugins->run_hooks("portal_start");
$tunviewwhere = $unviewwhere = '';
// get forums user cannot view
$unviewable = get_unviewable_forums(true);
if($unviewable)
{
$unviewwhere = " AND fid NOT IN ($unviewable)";
$tunviewwhere = " AND t.fid NOT IN ($unviewable)";
}
// get inactive forums
$inactive = get_inactive_forums();
if($inactive)
{
$unviewwhere .= " AND fid NOT IN ($inactive)";
$tunviewwhere .= " AND t.fid NOT IN ($inactive)";
}
$mybb->user['username'] = htmlspecialchars_uni($mybb->user['username']);
$welcome = '';
// If user is known, welcome them
if($mybb->settings['portal_showwelcome'] != 0)
{
if($mybb->user['uid'] != 0)
{
// Get number of new posts, threads, announcements
$query = $db->simple_select("posts", "COUNT(pid) AS newposts", "visible=1 AND dateline>'".$mybb->user['lastvisit']."'{$unviewwhere}");
$newposts = $db->fetch_field($query, "newposts");
if($newposts)
{
// If there aren't any new posts, there is no point in wasting two more queries
$query = $db->simple_select("threads", "COUNT(tid) AS newthreads", "visible=1 AND dateline>'".$mybb->user['lastvisit']."'{$unviewwhere}");
$newthreads = $db->fetch_field($query, "newthreads");
$newann = 0;
if(!empty($mybb->settings['portal_announcementsfid']))
{
$annfidswhere = '';
if($mybb->settings['portal_announcementsfid'] != -1)
{
$announcementsfids = explode(',', (string)$mybb->settings['portal_announcementsfid']);
if(is_array($announcementsfids))
{
foreach($announcementsfids as &$fid)
{
$fid = (int)$fid;
}
unset($fid);
$announcementsfids = implode(',', $announcementsfids);
$annfidswhere = " AND fid IN (".$announcementsfids.")";
}
}
$query = $db->simple_select("threads", "COUNT(tid) AS newann", "visible=1 AND dateline>'".$mybb->user['lastvisit']."'{$annfidswhere}{$unviewwhere}");
$newann = $db->fetch_field($query, "newann");
}
}
else
{
$newposts = 0;
$newthreads = 0;
$newann = 0;
}
// Make the text
if($newann == 1)
{
$lang->new_announcements = $lang->new_announcement;
}
else
{
$lang->new_announcements = $lang->sprintf($lang->new_announcements, $newann);
}
if($newthreads == 1)
{
$lang->new_threads = $lang->new_thread;
}
else
{
$lang->new_threads = $lang->sprintf($lang->new_threads, $newthreads);
}
if($newposts == 1)
{
$lang->new_posts = $lang->new_post;
}
else
{
$lang->new_posts = $lang->sprintf($lang->new_posts, $newposts);
}
eval("\$welcometext = \"".$templates->get("portal_welcome_membertext")."\";");
}
else
{
$lang->guest_welcome_registration = $lang->sprintf($lang->guest_welcome_registration, $mybb->settings['bburl'].'/member.php?action=register');
$mybb->user['username'] = $lang->guest;
switch($mybb->settings['username_method'])
{
case 0:
$username = $lang->username;
break;
case 1:
$username = $lang->username1;
break;
case 2:
$username = $lang->username2;
break;
default:
$username = $lang->username;
break;
}
eval("\$welcometext = \"".$templates->get("portal_welcome_guesttext")."\";");
}
$lang->welcome = $lang->sprintf($lang->welcome, $mybb->user['username']);
eval("\$welcome = \"".$templates->get("portal_welcome")."\";");
}
$pms = '';
// Private messages box
if($mybb->settings['portal_showpms'] != 0)
{
if($mybb->user['uid'] != 0 && $mybb->user['receivepms'] != 0 && $mybb->usergroup['canusepms'] != 0 && $mybb->settings['enablepms'] != 0)
{
$messages['pms_total'] = $mybb->user['pms_total'];
$messages['pms_unread'] = $mybb->user['pms_unread'];
$lang->pms_received_new = $lang->sprintf($lang->pms_received_new, $mybb->user['username'], $messages['pms_unread']);
eval("\$pms = \"".$templates->get("portal_pms")."\";");
}
}
$stats = '';
// Get Forum Statistics
if($mybb->settings['portal_showstats'] != 0)
{
$stats = $cache->read("stats");
$stats['numthreads'] = my_number_format($stats['numthreads']);
$stats['numposts'] = my_number_format($stats['numposts']);
$stats['numusers'] = my_number_format($stats['numusers']);
if(!$stats['lastusername'])
{
eval("\$newestmember = \"".$templates->get("portal_stats_nobody")."\";");
}
else
{
$newestmember = build_profile_link($stats['lastusername'], $stats['lastuid']);
}
eval("\$stats = \"".$templates->get("portal_stats")."\";");
}
$search = '';
// Search box
if($mybb->settings['portal_showsearch'] != 0)
{
eval("\$search = \"".$templates->get("portal_search")."\";");
}
$onlinecount = null;
$whosonline = '';
// Get the online users
if($mybb->settings['portal_showwol'] != 0 && $mybb->usergroup['canviewonline'] != 0)
{
if($mybb->settings['wolorder'] == 'username')
{
$order_by = 'u.username ASC';
$order_by2 = 's.time DESC';
}
else
{
$order_by = 's.time DESC';
$order_by2 = 'u.username ASC';
}
$timesearch = TIME_NOW - $mybb->settings['wolcutoff'];
$guestcount = $membercount = $botcount = $anoncount = 0;
$doneusers = $onlinemembers = $onlinebots = array();
$query = $db->simple_select("sessions", "COUNT(DISTINCT ip) AS guestcount", "uid = 0 AND time > $timesearch");
$guestcount = $db->fetch_field($query, "guestcount");
$query = $db->query("
SELECT
s.sid, s.ip, s.uid, s.time, s.location, u.username, u.invisible, u.usergroup, u.displaygroup
FROM
".TABLE_PREFIX."sessions s
LEFT JOIN ".TABLE_PREFIX."users u ON (s.uid=u.uid)
WHERE (s.uid != 0 OR SUBSTR(s.sid,4,1) = '=') AND s.time > $timesearch
ORDER BY {$order_by}, {$order_by2}
");
// Fetch spiders
$spiders = $cache->read('spiders');
while($user = $db->fetch_array($query))
{
// Create a key to test if this user is a search bot.
$botkey = my_strtolower(str_replace("bot=", '', $user['sid']));
if($user['uid'] > 0)
{
if(empty($doneusers[$user['uid']]) || $doneusers[$user['uid']] < $user['time'])
{
++$membercount;
$doneusers[$user['uid']] = $user['time'];
// If the user is logged in anonymously, update the count for that.
if($user['invisible'] == 1)
{
++$anoncount;
}
if($user['invisible'] == 1)
{
$invisiblemark = "*";
}
else
{
$invisiblemark = '';
}
if(($user['invisible'] == 1 && ($mybb->usergroup['canviewwolinvis'] == 1 || $user['uid'] == $mybb->user['uid'])) || $user['invisible'] != 1)
{
$user['username'] = format_name(htmlspecialchars_uni($user['username']), $user['usergroup'], $user['displaygroup']);
$user['profilelink'] = get_profile_link($user['uid']);
eval("\$onlinemembers[] = \"".$templates->get("portal_whosonline_memberbit", 1, 0)."\";");
}
}
}
elseif(my_strpos($user['sid'], 'bot=') !== false && $spiders[$botkey] && $mybb->settings['woldisplayspiders'] == 1)
{
// The user is a search bot.
if($mybb->settings['wolorder'] == 'username')
{
$key = $spiders[$botkey]['name'];
}
else
{
$key = $user['time'];
}
$onlinebots[$key] = format_name($spiders[$botkey]['name'], $spiders[$botkey]['usergroup']);
++$botcount;
}
}
if($mybb->settings['wolorder'] == 'activity')
{
// activity ordering is DESC, username is ASC
krsort($onlinebots);
}
else
{
ksort($onlinebots);
}
$onlinemembers = array_merge($onlinebots, $onlinemembers);
if(!empty($onlinemembers))
{
$comma = $lang->comma." ";
$onlinemembers = implode($comma, $onlinemembers);
}
else
{
$onlinemembers = "";
}
$onlinecount = $membercount + $guestcount + $botcount;
// If we can see invisible users add them to the count
if($mybb->usergroup['canviewwolinvis'] == 1)
{
$onlinecount += $anoncount;
}
// If we can't see invisible users but the user is an invisible user incriment the count by one
if($mybb->usergroup['canviewwolinvis'] != 1 && isset($mybb->user['invisible']) && $mybb->user['invisible'] == 1)
{
++$onlinecount;
}
// Most users online
$mostonline = $cache->read("mostonline");
if($onlinecount !== null && $onlinecount > $mostonline['numusers'])
{
$time = TIME_NOW;
$mostonline['numusers'] = $onlinecount;
$mostonline['time'] = $time;
$cache->update("mostonline", $mostonline);
}
$recordcount = $mostonline['numusers'];
$recorddate = my_date('relative', $mostonline['time']);
if($onlinecount == 1)
{
$lang->online_users = $lang->online_user;
}
else
{
$lang->online_users = $lang->sprintf($lang->online_users, $onlinecount);
}
$lang->online_counts = $lang->sprintf($lang->online_counts, $membercount, $guestcount);
eval("\$whosonline = \"".$templates->get("portal_whosonline")."\";");
}
$latestthreads = '';
// Latest forum discussions
if($mybb->settings['portal_showdiscussions'] != 0 && $mybb->settings['portal_showdiscussionsnum'] && $mybb->settings['portal_excludediscussion'] != -1)
{
$altbg = alt_trow();
$threadlist = '';
$excludeforums = '';
if(!empty($mybb->settings['portal_excludediscussion']))
{
$excludeforums = "AND t.fid NOT IN ({$mybb->settings['portal_excludediscussion']})";
}
$query = $db->query("
SELECT t.tid, t.fid, t.uid, t.lastpost, t.lastposteruid, t.lastposter, t.subject, t.replies, t.views, u.username
FROM ".TABLE_PREFIX."threads t
LEFT JOIN ".TABLE_PREFIX."users u ON (u.uid=t.uid)
WHERE 1=1 {$excludeforums}{$tunviewwhere} AND t.visible='1' AND t.closed NOT LIKE 'moved|%'
ORDER BY t.lastpost DESC
LIMIT 0, ".$mybb->settings['portal_showdiscussionsnum']
);
while($thread = $db->fetch_array($query))
{
$forumpermissions[$thread['fid']] = forum_permissions($thread['fid']);
// Make sure we can view this thread
if(isset($forumpermissions[$thread['fid']]['canonlyviewownthreads']) && $forumpermissions[$thread['fid']]['canonlyviewownthreads'] == 1 && $thread['uid'] != $mybb->user['uid'])
{
continue;
}
$lastpostdate = my_date('relative', $thread['lastpost']);
if(!$thread['lastposteruid'] && !$thread['lastposter'])
{
$lastposter = htmlspecialchars_uni($lang->guest);
}
else
{
$lastposter = htmlspecialchars_uni($thread['lastposter']);
}
$thread['replies'] = my_number_format($thread['replies']);
$thread['views'] = my_number_format($thread['views']);
// Don't link to guest's profiles (they have no profile).
if($thread['lastposteruid'] == 0)
{
$lastposterlink = $lastposter;
}
else
{
$lastposterlink = build_profile_link($lastposter, $thread['lastposteruid']);
}
$thread['subject'] = $thread['fullsubject'] = $parser->parse_badwords($thread['subject']);
if(my_strlen($thread['subject']) > 25)
{
$thread['subject'] = my_substr($thread['subject'], 0, 25) . "...";
}
$thread['subject'] = htmlspecialchars_uni($thread['subject']);
$thread['fullsubject'] = htmlspecialchars_uni($thread['fullsubject']);
$thread['threadlink'] = get_thread_link($thread['tid']);
$thread['lastpostlink'] = get_thread_link($thread['tid'], 0, "lastpost");
$thread['forumlink'] = get_forum_link($thread['fid']);
$thread['forumname'] = $forum_cache[$thread['fid']]['name'];
eval("\$threadlist .= \"".$templates->get("portal_latestthreads_thread")."\";");
$altbg = alt_trow();
}
if($threadlist)
{
// Show the table only if there are threads
eval("\$latestthreads = \"".$templates->get("portal_latestthreads")."\";");
}
}
$announcements = '';
if(!empty($mybb->settings['portal_announcementsfid']))
{
// Get latest news announcements
// Build where clause
$annfidswhere = '';
$announcementcount = 0;
if($mybb->settings['portal_announcementsfid'] != -1)
{
// First validate announcement fids:
$announcementsfids = explode(',', (string)$mybb->settings['portal_announcementsfid']);
if(is_array($announcementsfids))
{
foreach($announcementsfids as $fid)
{
$fid_array[] = (int)$fid;
}
unset($fid);
$announcementsfids = implode(',', $fid_array);
$annfidswhere = " AND t.fid IN ($announcementsfids)";
}
}
// And get them!
foreach($forum_cache as $fid => $f)
{
if(empty($fid_array) || (is_array($fid_array) && in_array($fid, $fid_array)))
{
$forum[$fid] = $f;
}
}
$query = $db->simple_select("threads t", "COUNT(t.tid) AS threads", "t.visible='1'{$annfidswhere}{$tunviewwhere} AND t.closed NOT LIKE 'moved|%'", array('limit' => 1));
$announcementcount = $db->fetch_field($query, "threads");
$numannouncements = (int)$mybb->settings['portal_numannouncements'];
if(!$numannouncements)
{
$numannouncements = 10; // Default back to 10
}
$page = $mybb->get_input('page', MyBB::INPUT_INT);
$pages = $announcementcount / $numannouncements;
$pages = ceil($pages);
if($page > $pages || $page <= 0)
{
$page = 1;
}
if($page)
{
$start = ($page-1) * $numannouncements;
}
else
{
$start = 0;
$page = 1;
}
$multipage = multipage($announcementcount, $numannouncements, $page, $file_name);
$pids = '';
$tids = '';
$comma = '';
$posts = array();
$attachmentcount = array();
$query = $db->query("
SELECT p.pid, p.message, p.tid, p.smilieoff, t.attachmentcount
FROM ".TABLE_PREFIX."posts p
LEFT JOIN ".TABLE_PREFIX."threads t ON (t.tid=p.tid)
WHERE t.visible='1'{$annfidswhere}{$tunviewwhere} AND t.closed NOT LIKE 'moved|%' AND t.firstpost=p.pid
ORDER BY t.dateline DESC
LIMIT {$start}, {$numannouncements}"
);
while($getid = $db->fetch_array($query))
{
$attachmentcount[$getid['tid']] = $getid['attachmentcount'];
foreach($attachmentcount as $tid => $attach_count)
{
if($attach_count > 0)
{
$pids .= ",'{$getid['pid']}'";
}
$posts[$getid['tid']] = $getid;
}
$tids .= ",'{$getid['tid']}'";
}
if(!empty($posts))
{
if($pids != '' && $mybb->settings['enableattachments'] == 1)
{
$pids = "pid IN(0{$pids})";
// Now lets fetch all of the attachments for these posts
$query = $db->simple_select("attachments", "*", $pids);
while($attachment = $db->fetch_array($query))
{
$attachcache[$attachment['pid']][$attachment['aid']] = $attachment;
}
}
if(is_array($forum))
{
foreach($forum as $fid => $forumrow)
{
$forumpermissions[$fid] = forum_permissions($fid);
}
}
$icon_cache = $cache->read("posticons");
$query = $db->query("
SELECT t.*, t.username AS threadusername, u.username, u.avatar, u.avatardimensions
FROM ".TABLE_PREFIX."threads t
LEFT JOIN ".TABLE_PREFIX."users u ON (u.uid = t.uid)
WHERE t.tid IN (0{$tids}){$annfidswhere}{$tunviewwhere} AND t.visible='1' AND t.closed NOT LIKE 'moved|%'
ORDER BY t.dateline DESC
LIMIT 0, {$numannouncements}"
);
while($announcement = $db->fetch_array($query))
{
// Make sure we can view this announcement
if(isset($forumpermissions[$announcement['fid']]['canonlyviewownthreads']) && $forumpermissions[$announcement['fid']]['canonlyviewownthreads'] == 1 && $announcement['uid'] != $mybb->user['uid'])
{
continue;
}
$announcement['message'] = $posts[$announcement['tid']]['message'];
$announcement['pid'] = $posts[$announcement['tid']]['pid'];
$announcement['smilieoff'] = $posts[$announcement['tid']]['smilieoff'];
$announcement['threadlink'] = get_thread_link($announcement['tid']);
$announcement['forumlink'] = get_forum_link($announcement['fid']);
$announcement['forumname'] = $forum_cache[$announcement['fid']]['name'];
$announcement['username'] = htmlspecialchars_uni($announcement['username']);
if(!$announcement['uid'] && !$announcement['threadusername'])
{
$announcement['threadusername'] = htmlspecialchars_uni($lang->guest);
}
else
{
$announcement['threadusername'] = htmlspecialchars_uni($announcement['threadusername']);
}
if($announcement['uid'] == 0)
{
$profilelink = $announcement['threadusername'];
}
else
{
$profilelink = build_profile_link($announcement['username'], $announcement['uid']);
}
if(!$announcement['username'])
{
$announcement['username'] = $announcement['threadusername'];
}
$announcement['subject'] = htmlspecialchars_uni($parser->parse_badwords($announcement['subject']));
if($announcement['icon'] > 0 && $icon_cache[$announcement['icon']])
{
$icon = $icon_cache[$announcement['icon']];
$icon['path'] = str_replace("{theme}", $theme['imgdir'], $icon['path']);
$icon['path'] = htmlspecialchars_uni($icon['path']);
$icon['name'] = htmlspecialchars_uni($icon['name']);
eval("\$icon = \"".$templates->get("portal_announcement_icon")."\";");
}
else
{
$icon = " ";
}
$useravatar = format_avatar($announcement['avatar'], $announcement['avatardimensions']);
eval("\$avatar = \"".$templates->get("portal_announcement_avatar")."\";");
$anndate = my_date('relative', $announcement['dateline']);
if($announcement['replies'])
{
eval("\$numcomments = \"".$templates->get("portal_announcement_numcomments")."\";");
}
else
{
eval("\$numcomments = \"".$templates->get("portal_announcement_numcomments_no")."\";");
$lastcomment = '';
}
$senditem = '';
if($mybb->user['uid'] > 0 && $mybb->usergroup['cansendemail'] == 1)
{
eval("\$senditem = \"".$templates->get("portal_announcement_send_item")."\";");
}
$plugins->run_hooks("portal_announcement");
$parser_options = array(
"allow_html" => $mybb->settings['announcementshtml'] && $forum[$announcement['fid']]['allowhtml'],
"allow_mycode" => $forum[$announcement['fid']]['allowmycode'],
"allow_smilies" => $forum[$announcement['fid']]['allowsmilies'],
"allow_imgcode" => $forum[$announcement['fid']]['allowimgcode'],
"allow_videocode" => $forum[$announcement['fid']]['allowvideocode'],
"filter_badwords" => 1
);
if($announcement['smilieoff'] == 1)
{
$parser_options['allow_smilies'] = 0;
}
if($mybb->user['uid'] != 0 && $mybb->user['showimages'] != 1 || $mybb->settings['guestimages'] != 1 && $mybb->user['uid'] == 0)
{
$parser_options['allow_imgcode'] = 0;
}
if($mybb->user['uid'] != 0 && $mybb->user['showvideos'] != 1 || $mybb->settings['guestvideos'] != 1 && $mybb->user['uid'] == 0)
{
$parser_options['allow_videocode'] = 0;
}
$message = $parser->parse_message($announcement['message'], $parser_options);
$post['attachments'] = '';
if($mybb->settings['enableattachments'] == 1 && isset($attachcache[$announcement['pid']]) && is_array($attachcache[$announcement['pid']]))
{ // This post has 1 or more attachments
$validationcount = 0;
$id = $announcement['pid'];
$post['attachmentlist'] = $post['thumblist'] = $post['imagelist'] = $post['attachedthumbs'] = $post['attachedimages'] = '';
foreach($attachcache[$id] as $aid => $attachment)
{
if($attachment['visible'])
{ // There is an attachment thats visible!
$attachment['filename'] = htmlspecialchars_uni($attachment['filename']);
$attachment['filesize'] = get_friendly_size($attachment['filesize']);
$ext = get_extension($attachment['filename']);
if($ext == "jpeg" || $ext == "gif" || $ext == "bmp" || $ext == "png" || $ext == "jpg")
{
$isimage = true;
}
else
{
$isimage = false;
}
$attachment['icon'] = get_attachment_icon($ext);
if(!$attachment['dateuploaded'])
{
$attachment['dateuploaded'] = $announcement['dateline'];
}
$attachdate = my_date('normal', $attachment['dateuploaded']);
// Support for [attachment=id] code
if(stripos($message, "[attachment=".$attachment['aid']."]") !== false)
{
if($attachment['thumbnail'] != "SMALL" && $attachment['thumbnail'] != '')
{ // We have a thumbnail to show (and its not the "SMALL" enough image
eval("\$attbit = \"".$templates->get("postbit_attachments_thumbnails_thumbnail")."\";");
}
elseif($attachment['thumbnail'] == "SMALL" && $forumpermissions[$announcement['fid']]['candlattachments'] == 1)
{
// Image is small enough to show - no thumbnail
eval("\$attbit = \"".$templates->get("postbit_attachments_images_image")."\";");
}
else
{
// Show standard link to attachment
eval("\$attbit = \"".$templates->get("postbit_attachments_attachment")."\";");
}
$message = preg_replace("#\[attachment=".$attachment['aid']."]#si", $attbit, $message);
}
else
{
if($attachment['thumbnail'] != "SMALL" && $attachment['thumbnail'] != '')
{ // We have a thumbnail to show
eval("\$post['thumblist'] .= \"".$templates->get("postbit_attachments_thumbnails_thumbnail")."\";");
if($tcount == 5)
{
$thumblist .= "<br />";
$tcount = 0;
}
++$tcount;
}
elseif($attachment['thumbnail'] == "SMALL" && $forumpermissions[$announcement['fid']]['candlattachments'] == 1)
{
// Image is small enough to show - no thumbnail
eval("\$post['imagelist'] .= \"".$templates->get("postbit_attachments_images_image")."\";");
}
else
{
eval("\$post['attachmentlist'] .= \"".$templates->get("postbit_attachments_attachment")."\";");
}
}
}
else
{
$validationcount++;
}
}
if($post['thumblist'])
{
eval("\$post['attachedthumbs'] = \"".$templates->get("postbit_attachments_thumbnails")."\";");
}
if($post['imagelist'])
{
eval("\$post['attachedimages'] = \"".$templates->get("postbit_attachments_images")."\";");
}
if($post['attachmentlist'] || $post['thumblist'] || $post['imagelist'])
{
eval("\$post['attachments'] = \"".$templates->get("postbit_attachments")."\";");
}
}
eval("\$announcements .= \"".$templates->get("portal_announcement")."\";");
unset($post);
}
}
}
$plugins->run_hooks("portal_end");
eval("\$portal = \"".$templates->get("portal")."\";");
output_page($portal);
Code: <error>
<dateline>1690756683</dateline>
<script>inc/plugins/thankyoulike.php</script>
<line>1640</line>
<type>2</type>
<friendly_type>Warning</friendly_type>
<message>Undefined property: MyLanguage::$tyl_thankyou_sm</message>
<back_trace>#0 errorHandler->error() called at [/inc/class_error.php:153]
#1 errorHandler->error_callback() called at [/inc/plugins/thankyoulike.php:1640]
#2 thankyoulike_templatelist() called at [/inc/class_plugins.php:142]
#3 pluginSystem->run_hooks() called at [/global.php:100]
#4 require_once() called at [/index.php:18]
</back_trace>
</error>
<error>
<dateline>1690756683</dateline>
<script>global.php(961) : eval()'d code</script>
<line>40</line>
<type>2</type>
<friendly_type>Warning</friendly_type>
<message>Undefined variable $unreadreports</message>
<back_trace>#0 errorHandler->error() called at [/inc/class_error.php:153]
#1 errorHandler->error_callback() called at [/global.php(961) : eval()'d code:40]
#2 eval() called at [/global.php:961]
#3 require_once() called at [/index.php:18]
</back_trace>
</error>
<error>
<dateline>1690756683</dateline>
<script>inc/plugins/google_seo/url.php</script>
<line>1010</line>
<type>2</type>
<friendly_type>Warning</friendly_type>
<message>Undefined array key "dirty"</message>
<back_trace>#0 errorHandler->error() called at [/inc/class_error.php:153]
#1 errorHandler->error_callback() called at [/inc/plugins/google_seo/url.php:1010]
#2 google_seo_url_cache_hook() called at [/inc/class_plugins.php:142]
#3 pluginSystem->run_hooks() called at [/inc/functions.php:99]
#4 output_page() called at [/index.php:469]
</back_trace>
</error>
RE: PHP 8 Portal funktioniert nicht mehr - StefanT - 31.07.2023
Dann wird es an einem anderen Plugin liegen, du scheint ja einige zu verwenden. Zu deinen anderen Fehlermeldungen sollte es hier im Forum schon Diskussionen und Tipps geben, die sich mithilfe der Suche finden lassen sollten, z.B.:
https://www.mybb.de/forum/thread-38683-post-253393.html?highlight=unreadreports#pid253393
In deinem anderen Thread: https://www.mybb.de/forum/thread-38718-post-253924.html#pid253924
RE: PHP 8 Portal funktioniert nicht mehr - macca - 01.08.2023
Ehrlich gesagt habe ich keine Lust mehr. ich habe das Forum ganz neu aufgesetzt, und nun fällt mit das SEO auf die Füsse. Ich habe wenig Plugins installiert, leider scheinen fast alle Plugins veraltet zu sein. Ich lass das nun einfach und hoffe das irgendwann mal was kompatibles unverbasteltes kommt. Dennoch danke.
RE: PHP 8 Portal funktioniert nicht mehr - Gerti - 01.08.2023
(01.08.2023, 06:55)macca schrieb: Ehrlich gesagt habe ich keine Lust mehr. Etwas Biss und Durchhaltenwille müssen alle Forenbtreiber im Blut haben
(01.08.2023, 06:55)macca schrieb: ich habe das Forum ganz neu aufgesetzt, und nun fällt mit das SEO auf die Füsse. Ich habe wenig Plugins installiert, leider scheinen fast alle Plugins veraltet zu sein. Ich lass das nun einfach und hoffe das irgendwann mal was kompatibles unverbasteltes kommt. Dennoch danke.
Was komplettes? Nicht alle PlugIn-Entwickler sind gewillt ihre PlugIns auf PHP-8 zu aktualisieren.
Wenn seitens des Entwicklers keine auf PHP-8 aktualisierten PlugIns angeboten werden muss man eben selbst mal Hand anlegen. Alle PlugIns deaktivieren und jedes PlugIn wieder einzeln aktivieren und aufpoppente Fehler beheben.
Da Du nur wenige (welche Anzahl einhaltet die Definition "wenige" bei Dir?) PlugIns aktiviert hast, dürfte dies in kurzer Zeit erledigt sein.
Das SEO-PlugIn habe ich in drei Foren bereits erfolgreich aktualisiert. StefanT hat Dir einen Link zum Download der Version in PHP-8 aufgezeigt. Hast Du dies installiert?
Liste mal bitte Deine installierten PlugIns auf. Vielleicht habe ich die ein oder andere Lösung in meinem Fundus.
RE: PHP 8 Portal funktioniert nicht mehr - macca - 01.08.2023
Ich habe Biss aber nicht die Zeit. ich habe schon Stunden damit verbracht. Ich bin mehr Bastler und kein Entwickler. Ich würde die Probleme gerne beheben aber alleine kann ich das nicht.
RE: PHP 8 Portal funktioniert nicht mehr - Gerti - 02.08.2023
(01.08.2023, 20:06)macca schrieb: ...ich habe schon Stunden damit verbracht. Letztlich aber erfolglos. Das kenne ich selbst nur zu gut.
(01.08.2023, 20:06)macca schrieb: Ich bin mehr Bastler und kein Entwickler. Die wenigstens hier sind "Entwickler"
(01.08.2023, 20:06)macca schrieb: Ich würde die Probleme gerne beheben aber alleine kann ich das nicht. Dann solltest, als Minimum zur Lösungsfindung Deines Problems, die hier gestellten Fragen beantworten.
Nebenbei:
Ein Link zum Forum wäre, um bei der Fehlerquellenfindung effektiver zu sein, für die Helfenden hilfreicher.
|