Autom. Userrechte auf andere User übertragen

Du suchst einen bestimmten Mod, weißt aber nicht genau wo bzw. ob er überhaupt existiert? Wenn dir dieser Artikel nicht weiterhilft, kannst du hier den von dir gewünschten/gesuchten Mod beschreiben ...
Falls ein Mod-Autor eine der Anfragen hier aufnimmt, um einen neuen Mod zu entwickeln, geht's in [3.0.x] Mods in Entwicklung weiter.
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
PC-Junky
Mitglied
Beiträge: 3
Registriert: 27.11.2011 11:04

Autom. Userrechte auf andere User übertragen

Beitrag von PC-Junky »

Ich suche ein Script oder einen Mod, der automatisch Userrechte eines bestimmten Users auf einen anderen User überträgt. Am besten mit definierbarer Zeitsteuerung oder in sinnvollen, zeitlichen Intervallen.

Hintergrund
(Entschuldigung, daß es recht lang geschrieben ist aber knapper konnte ich es nicht fassen. Damit es auch möglichst verständlich ist was ich meine und suche.) :oops:

Ich baue mir gerade ein Familienforum auf. Für den Rest der Welt bleibt das Forum verschlossen und unzugänglich. Auch Registrierungen werden nicht möglich sein. User werden von mir vorangelegt und über die Adminfreischaltung dann per E-Mail über den fertigen Zugang verständigt. Passwörter können die User dann ja nachträglich nach ihrem belieben ändern. Familienmitglieder und Verwandte sollen "private Bereiche" bekommen und sich dort mit ihren persönlichen Freunden und Bekannten austauschen. Aber sie sollen auch die möglichkeit bekommen, die Freunde und Bekannten anderer Familienmitgliedern und Verwandten in ihren persönlichen Bereich einzuladen. Hierzu erhalten sie einen Gruppenleiterstatus und können so andere Forenmitglieder in ihre Gruppe aufnehmen oder eben auch wieder rauswerfen. Im gewissen Rahmen können sich also für alle Forenmitglieder immer mal die Zugangsrechte für bestimmte Forenbereiche ändern. Und zwar so, daß sich dies meiner administrativen Kontrolle mehr oder weniger entzieht. Denn ich ändere ja nicht deren Gruppenzugehörigkeit, sondern die berechtigten User entsprechend selbst. Deren Gutdünken obliegt aber nicht meiner direkten Kontrolle. So weit ist das ja alles noch kein Problem für mich. Aber meine Familie und meine Verwandten haben ja auch minderjährige unter uns und deren Freunde und Bakannten sollen ja auch ins Forum dürfen. Und jetzt bekomme ich als Vater ein wenig Bauchweh.

Irgendwann würden die Eltern der außerfamiliären, minderjährigen Forenmitlgieder von dem Forum erfahren und vielleicht wissen wollen, was das für ein Forum ist und was ihre Kinder da so treiben und mit wem sie da Kontakt haben. Nur hätten die betreffenden Eltern absolut keine Chance sich in meinem Forum zu registrieren und so ihre elterlichen Pflichten zu erfüllen und oder ihre berechtigte Neugier zu befriedigen. Also mir als Vater wäre das nicht so recht und eventuell würde ich meinem Kind die weitere Nutzung des Forums verbieten aber kontrollieren könnte ich es natürlich nicht wirklich so ohne weiteres. Wenn eines meiner Kinder in so einem verschlossenen Forum tätig wäre. Na lange Rede kurzer Sinn..... Ich möchte daher also auch zumindest ein Elternteil mit ins Forum lassen, damit dieses Elternteil seiner gesetzlichen Aufsichtspflicht nachkommen kann. Nur damit dies auch möglichst vollständig funktioniert, muss das jeweilige Elternteil auch in alle Forenbereiche Zugang haben in die auch sein Sprössling Zugang hat. Das aber wieder entzieht sich ja teilweise meiner administrativen Kontrolle, wie weiter oben schon beschrieben. Ohne mein Zutun kann sich also jederzeit ja die Gruppenzugehörigkeit des betreffenden Kindes ändern und ich würde es wohl auch nichtmal so unbedingt mitkriegen. Aber selbst wenn, dann kann ich immer hinterherarbeiten und dem entsprechendem Elternteil ebenfalls die Zugangsrechte zuteilen. Und das kann sich durchaus ja jeder denken, daß dies eine heiden Arbeit werden könnte.

Und genau dafür suche ich also ein entsprechendes Script oder ein Mod. Welches mir also diese Arbeit abnimmt. Vermutlich muss dazu wohl die Datenbank durchsucht werden nach den betreffenden Einträgen des betreffenden Kindes und dann die zusätzlichen Zugangsrechte des Kindes auf das entsprechende Elternteil übertragen werden. Die Änderungen müssten dann ja wohl wieder in die Datenbank geschrieben werden. Allerdings sollen die sonstigen Zugangsrechte des jeweiligen Elternteiles nicht geändert werden. Denn schließlich wird es im Bereich für alle Forenuser auch einen "Ab 18j" Bereich geben, in dem man sich mal über Themen für (V)Erwachsene :grin: austauschen kann.
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Re: Autom. Userrechte auf andere User übertragen

Beitrag von Miriam »

Ich bin kein Rechtsgelehrter, meine aber, dass du ohnehin die Eltern über die Mitgliedschaft ihrer minderjährigen Kinder in deinem Forum unterrichten musst.
Von daher denke ich, dass die Zugangsgewährung über die betroffenen Eltern erfolgen muss. Du bietest den Dienst an und die Eltern akzeptieren die Mitgliedschaft oder lehnen sie ab.
Der Vertrag kommt zwischen dir als Boardbetreiber und den Eltern zustande. Nicht zwischen dir und den Kindern.

Für das, was auf deinem Board abläuft bist du direkt oder indirekt verantwortlich. Ggf. solltest du dir Vertreter (Moderatoren, Admins) mit ins Boot holen.
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
PC-Junky
Mitglied
Beiträge: 3
Registriert: 27.11.2011 11:04

Re: Autom. Userrechte auf andere User übertragen

Beitrag von PC-Junky »

Miriam hat geschrieben:Ich bin kein Rechtsgelehrter, meine aber, dass du ohnehin die Eltern über die Mitgliedschaft ihrer minderjährigen Kinder in deinem Forum unterrichten musst.
Von daher denke ich, dass die Zugangsgewährung über die betroffenen Eltern erfolgen muss. Du bietest den Dienst an und die Eltern akzeptieren die Mitgliedschaft oder lehnen sie ab.
Der Vertrag kommt zwischen dir als Boardbetreiber und den Eltern zustande. Nicht zwischen dir und den Kindern.

Für das, was auf deinem Board abläuft bist du direkt oder indirekt verantwortlich. Ggf. solltest du dir Vertreter (Moderatoren, Admins) mit ins Boot holen.
Eine Nachricht an die Eltern häte ich wohl eh gegeben. Dahingehend habe ich in meinem Text schlecht geschrieben. Aber danke für den Hinweis. Die Verantwortlichkeit ist mir auch so weit klar. Aber da es ja alles nur Familie, Verwandte und deren Freunde und Bekannte sind, ist das inhaltlich also sauber. Ich will halt nur nicht das ganze Internet in dem Forum haben und daher ist es für alle sonst eben verschlossen. Und um das zu erreichen setze ich notfalls eine .htaccess vor das Forum. Aber ich denke ich kann das auch mit der "Deaktivierung" des Bords erreichen. Damit ist der Inhalt ja dann auch nicht öffentlich zu sehen. Doch meine eigentliche Frage ist damit leider nicht beantwortet. Dennoch danke für deinen Einwandt. :)
Zuletzt geändert von PC-Junky am 11.03.2012 20:44, insgesamt 3-mal geändert.
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Re: Autom. Userrechte auf andere User übertragen

Beitrag von Miriam »

Gern.

Zur Umsetzung Deiner Idee, könntest du Folgendes machen:
benutze die Mod Account Links; damit kannst Du bzw. deine User Accounts verknüpfen. Die Änderung in der overall_header.html setzt du hier nicht um.

Du kannst auch auf diese Mod verzichten und die Eintragungen manuell in der DB vornehmen.
Aber ich denke mal, das macht sich mit der Mod besser / übersichtlicher.


Dann erstelle eine neue Berechtigung, indem du in der DB das hier ausführst:

Code: Alles auswählen

INSERT INTO phpbb_acl_options (auth_option, is_global, is_local, founder_only) VALUES ('u_acc_link', 1, 0, 0); 
Kopiere auch diesen Inhalt in eine Datei namens /language/de/acp/permissions_linked_user.php

Code: Alles auswählen

<?php
/**
* DO NOT CHANGE
*/
if (!defined('IN_PHPBB'))
{
    exit;
}

if (empty($lang) || !is_array($lang))
{
    $lang = array();
}

// Adding new category
$lang['permission_cat']['Acc_Link'] = 'Account Link Management';

// Adding the permissions
$lang = array_merge($lang, array(
    'acl_u_acc_link'    => array('lang' => 'Kann Brechtigungen verlinkter Accounts testen', 'cat' => 'Acc_Link'),
));
?>
bzw. in allen Sprachen, die du / deine User nutzen. Beachte auch: KB:utf8bom.

Finde in den memberlist_view.html deiner Templates:

Code: Alles auswählen

<!-- IF U_SWITCH_PERMISSIONS --> [ <a href="{U_SWITCH_PERMISSIONS}">{L_USE_PERMISSIONS}</a> ]<!-- ENDIF --> 
danach füge ein:

Code: Alles auswählen

<!-- IF U_ACC_LINK --> [ <a href="{U_ACC_LINK}">{L_USE_ACC_LINK_PERMISSIONS}</a> ]<!-- ENDIF --> 
Finde in der memberlist.php:

Code: Alles auswählen

'U_SWITCH_PERMISSIONS'    => ($auth->acl_get('a_switchperm') && $user->data['user_id'] != $user_id) ? append_sid("{$phpbb_root_path}ucp.$phpEx", "mode=switch_perm&u={$user_id}&hash=" . generate_link_hash('switchperm')) : '', 
danach füge ein:

Code: Alles auswählen

'U_ACC_LINK'            => ($user->data['user_id'] == $master_id) ? (($auth->acl_get('u_acc_link') && $user->data['user_id'] != $user_id) ? append_sid("{$phpbb_root_path}ucp.$phpEx", "mode=acc_link&u={$user_id}&hash=" . generate_link_hash('acc_link')) : '') : '', 
Finde in der ucp.php:

Code: Alles auswählen

case 'switch_perm': 
davor füge ein:

Code: Alles auswählen

    case 'acc_link':
        $user_id = request_var('u', 0);

        $sql = 'SELECT *
            FROM ' . USERS_TABLE . '
            WHERE user_id = ' . (int) $user_id;
        $result = $db->sql_query($sql);
        $user_row = $db->sql_fetchrow($result);
        $db->sql_freeresult($result);
        if (!$auth->acl_get('u_acc_link') || !$user_row || $user_row['master_id'] != $user->data['user_id'] || !check_link_hash(request_var('hash', ''), 'acc_link'))
        {
            redirect(append_sid("{$phpbb_root_path}index.$phpEx"));
        }

        include($phpbb_root_path . 'includes/acp/auth.' . $phpEx);

        $auth_admin = new auth_admin();
        if (!$auth_admin->ghost_permissions($user_id, $user->data['user_id']))
        {
            redirect(append_sid("{$phpbb_root_path}index.$phpEx"));
        }

        add_log('admin', 'LOG_ACL_TRANSFER_PERMISSIONS', $user_row['username']);

        $message = sprintf($user->lang['PERMISSIONS_TRANSFERRED'], $user_row['username']) . '<br /><br />' . sprintf($user->lang['RETURN_INDEX'], '<a href="' . append_sid("{$phpbb_root_path}index.$phpEx") . '">', '</a>');
        trigger_error($message);

    break; 
Finde in der language/de/common.php:

Code: Alles auswählen

'USE_PERMISSIONS'        => 'Berechtigungen des Benutzers testen', 
danach füge ein:

Code: Alles auswählen

'USE_ACC_LINK_PERMISSIONS' => 'Berechtigungen des verlinkten Accounts testen', 
bzw. in allen von dir / deinen Usern benutzen Sprachen. Beachte auch: KB:utf8bom.

Speichere alle Dateien und leere den Cache.

Im ACP kannst du nun die neue Berechtigung aktivieren.
Der Master-Account (also der Erzieungsberechtigte) kann nun die Berechtigungen seiner "Sekundär"-Accounts (also der Kinder) testweise übernehmen und auschecken, indem er im Profil des fraglichen Accounts diese Berechtigungen übernehmen kann. Zurück geht es dann im eigenen Persönlichen Bereich mittels des Links: Berechtigungen wiederherstellen
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
PC-Junky
Mitglied
Beiträge: 3
Registriert: 27.11.2011 11:04

Re: Autom. Userrechte auf andere User übertragen

Beitrag von PC-Junky »

Danke Miriam. :) Das klingt schon mal sehr vielversprechend. Es ist zwar noch ein wenig zu früh um deinen Vorschlag einzubauen aber ich hatte auch nicht gedacht, daß ich von jetzt auf eben entsprechende Vorschläge hier bekomme.

-----

@ Alle

Über weitere Vorschläge würde ich mich dennoch freuen. :)
Antworten

Zurück zu „[3.0.x] Mod Suche/Anfragen“