Freischalten der Beiträge von unregistrierten Benutzern. (German / Deutsch)
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