Avatar

Freischalten der Beiträge von unregistrierten Benutzern. (German / Deutsch)

by Micha ⌂, Tuesday, July 06, 2021, 06:57 (1019 days ago) @ Igomeniza

Hallo,

soweit ich das sehe, müsste man lediglich die posting.inc.php leicht modifizieren. Derzeit kann die Einstellung entries_by_users_only nur zwei Werte annehmen (0 oder 1). Dieser Variablen könnte man noch eine weiter Option spendieren (z.B. 0, 1 und 2).

  • 0 == Nur registrierte Nutzer
  • 1 == Alle Nutzer
  • 2 == Alle Nutzer aber unregistrierte müssen Freigeschalten werden


Es gibt derzeit nur drei Stellen, an denen der Inhalt von entries_by_users_only abgefragt und ausgewertet wird. Die dortigen Bedingungen müssten leicht angepasst werden, sodass alle drei Fälle abgedeckt werden. Das könnte bspw. so aussehen. Statt

$settings['entries_by_users_only'] != 0

könntest Du explizit testen:

$settings['entries_by_users_only'] == 1

oder, und so würde ich es vermutlich eher machen, Du überlegst Dir eine Alternative bspw. mit in_array, d.h.,

!in_array(array(0, 2), $settings['entries_by_users_only'])

(Jetzt ist der Fall, dass $settings['entries_by_users_only'] einen invaliden Wert enthält wie bspw. 42 auch mit abgefangen)

Zusätzlich sollten neue Postings von unregistrierten Nutzern gesperrt sein. Dies bedeutet, dass die Variable $locked um Zeile 1028 entsprechend gesetzt werden muss beim speichern eines neuen Postings, d.h.,

// Akismet *OR* B8 flagged entry as SPAM
$spam = $akismet_spam == 1 || $b8_spam == 1 ? 1 : 0;
$locked = $spam == 0 ? 0 : 1;
$locked = $locked || !isset($_SESSION[$settings['session_prefix'] . 'user_id']) && $settings['entries_by_users_only'] == 2;

Zusätzlich müsste man im Adminbereich die Option natürlich noch konfigurierbar machen. Für einen Test würde es aber reichen, wenn man den Wert einfach in der DB entsprechend auf 2 setzt.

Viele Grüße
Micha

--
applied-geodesy.org - OpenSource Least-Squares Adjustment Software for Geodetic Sciences


Complete thread:

 RSS Feed of thread