Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.40 veröffentlicht (28.05.26)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
Attachments im BCP löschen verbieten
#21
Hallöchen Sven,

da das Problem noch besteht, beschreibe ich es hier nochmal ausführlich.

Fehlermeldung (Warnung):

PHP-Code:
<error> <dateline>1761454970</dateline> <script>usercp.php(4019) : eval()'d code</script> <line>7</line> <type>2</type> <friendly_type>Warning</friendly_type> <message>Undefined variable $select_bit</message> <back_trace>#0  errorHandler->error() called at [/inc/class_error.php:157] #1  errorHandler->error_callback() called at [/usercp.php(4019) : eval()'d code:7] #2  eval() called at [/usercp.php:4019] </back_trace> </error>

the line 4019 in usercp is


Code:
eval("\$attachments .= \"".$templates->get("usercp_attachments_attachment")."\";");
I looked at usercp-templates and in this booth templates

usercp_attachments
usercp_attachments_attachments

where changes. This new line is missing:

Code:
<td class="{$altbg}" width="1"><input type="checkbox" class="checkbox" name="attachments[{$attachment['aid']}]" value="{$attachment['aid']}" /></td>
PHP
because there was an "own" change:

Code:
{$select_bit}
P
I didn't that manually so it's possible, that it comes with a plugin. 
I found the plugin - attachmentmassdeletecontrol.php

I'll change it. At first I'll added the new line and kept the variable ... let's see ;-)

... I saw, that the plugin deletes the "new" line :-(

p.e. usercp_attachments_attachments - original / plugin is deactivated:

Code:
<tr> <td class="{$altbg}" width="1">{$icon}</td> <td class="{$altbg}" width="40%"><a href="attachment.php?aid={$attachment['aid']}" target="_blank">{$attachment['filename']}</a><br /><span class="smalltext">{$sizedownloads}</span></td> <td class="{$altbg}"><a href="{$attachment['postlink']}#pid{$attachment['pid']}">{$attachment['subject']}</a><br /><span class="smalltext">{$lang->attachment_thread} <a href="{$attachment['threadlink']}">{$attachment['threadsubject']}</a></span></td> <td class="{$altbg}" align="center">{$attachdate}</td> <td class="{$altbg}" width="1"><input type="checkbox" class="checkbox" name="attachments[{$attachment['aid']}]" value="{$attachment['aid']}" /></td> </tr>

PHP
plugin is activated:

Code:
<tr> <td class="{$altbg}" width="1">{$icon}</td> <td class="{$altbg}" width="40%"><a href="attachment.php?aid={$attachment['aid']}" target="_blank">{$attachment['filename']}</a><br /><span class="smalltext">{$sizedownloads}</span></td> <td class="{$altbg}"><a href="{$attachment['postlink']}#pid{$attachment['pid']}">{$attachment['subject']}</a><br /><span class="smalltext">{$lang->attachment_thread} <a href="{$attachment['threadlink']}">{$attachment['threadsubject']}</a></span></td> <td class="{$altbg}" align="center">{$attachdate}</td> {$select_bit} </tr>

Die Meldung wird wohl immer genau 100x mit einem Zeitstempel ausgegeben. Heute hatte ich das bisher 1x, also 100x die Warnung, gestern waren es 2x, also 2x 100x die Warnung - allerdings nur mit 6s Abstand ...
PHP Version         8.3.27 (Stand 11/2025)
MySQLi Version    8.0.36 (Stand 09/2024)
Mybb Version       1.8.39 (Stand 07/2025)


Grüße, André
Zitieren
#22
Die Fehlermeldung sagt eindeutig aus, dass die im Template usercp_attachments_attachment in Zeile 7 verwendete Variable
Code:
$select_bit
schlichtweg nicht definiert ist.

Da im Standardtemplate (Default) diese Variable in MyBB an dieser Stelle. aber auch nicht in den gesamten Orginal PHP-Dateien (MyBB V1.8.40), nicht gegeben ist, vermute ich mal, das es mit einem deaktiviertem/deinstalliertem PlugIn zu tun hat welches die Variable nicht gelöscht hat. Dieser Sachstand sollte daher Dein Ansatz sein die Fehlerquelle einzugrenzen zu können.
Wenn ich Helfen kann biete ich Hilfe(n) an  ...ich bitte jedoch nicht darum helfen zu dürfen!
Tools [PlugIns] ♦ [Unixzeit ⇔ Realzeit] ♦ [BOM-Finder] ♦ [SQL-Prefix-Changer] ♦ [USV-Rechner] ♦ [Justiz-XML] ♦ [QR-Gen] ♦ [BUS-Adr] ♦ [PHP-Vers]
Zitieren
#23
... ja, wie ich schrieb, wird die durch Sven's Plugin gesetzt. Hier der activate-code daraus:

PHP-Code:
function attachmentmassdeletecontrol_activate() {     global $db, $cache;     $db->update_query('usergroups', array("canmassdeleteattachments" => 1), 'canusercp = 1');     $cache->update_usergroups();     require MYBB_ROOT . '/inc/adminfunctions_templates.php';     find_replace_templatesets('usercp_attachments', "#" . preg_quote('<td class="tcat" width="1"><input type="checkbox" name="allbox" class="checkbox checkall" /></td>') . "#i", "{\$select_all}");     find_replace_templatesets('usercp_attachments_attachment', "#" . preg_quote('<td class="{$altbg}" width="1"><input type="checkbox" class="checkbox" name="attachments[{$attachment[\'aid\']}]" value="{$attachment[\'aid\']}" /></td>') . "#i", "{\$select_bit}"); }

Die function wo es global definiert wird, ist dann

PHP-Code:
function attachmentmassdeletecontrol_usercp_attachments_attachment() {     global $mybb, $attachment, $altbg, $select_bit;     $select_bit = '';     if ($mybb->usergroup['canmassdeleteattachments'] == 1)     {         global $templates;         eval("\$select_bit = \"" . $templates->get("usercp_attachments_select_bit", 1, 0) . "\";");     } }

Das Plugin gibt's hier im Thread
PHP Version         8.3.27 (Stand 11/2025)
MySQLi Version    8.0.36 (Stand 09/2024)
Mybb Version       1.8.39 (Stand 07/2025)


Grüße, André
Zitieren
#24
... ich habe das Plugin heute raus genommen und die beiden für das Löschen zuständigen Einträge in den templates manuell entfernt ...

usercp_attachments
Zeile 27

PHP-Code:
{$delete_button}



usercp_attachments_attachment
Zeile 6
PHP-Code:
<td class="{$altbg}" width="1"><input type="checkbox" class="checkbox" name="attachments[{$attachment['aid']}]" value="{$attachment['aid']}" /></td>
PHP Version         8.3.27 (Stand 11/2025)
MySQLi Version    8.0.36 (Stand 09/2024)
Mybb Version       1.8.39 (Stand 07/2025)


Grüße, André
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Bilderhoster verbieten? skrilaxrev 2 1.510 24.06.2021, 08:42
Letzter Beitrag: skrilaxrev
  Benutzern verbieten seine Mailaddresse zu ändern Trasher2006 4 2.585 29.04.2017, 21:10
Letzter Beitrag: MrBrechreiz
  Post bearbeiten für Foren verbieten? baeckerman83 2 1.770 27.09.2015, 12:07
Letzter Beitrag: baeckerman83