it-swarm.com.de

So schränken Sie die Benutzerregistrierung basierend auf der Benutzergruppe ein

Ich frage mich, ob mir jemand helfen kann. Ich habe ein Plugin entwickelt, mit dem ich die Anzahl der auf der Site registrierten Benutzer einschränken kann. Ich möchte dieses Plugin jedoch weiterentwickeln, indem ich es auf eine bestimmte Benutzergruppe beschränke. Hat jemand eine Idee, wie ich dies erreichen kann?

Das ist mein Code bisher:

<?php
defined('_JEXEC') or die;

jimport('joomla.plugin.plugin');

class plguserlimit extends JPlugin {

function __construct(&$subject, $config = array()) {
    parent::__construct($subject, $config);
}

public function onUserBeforeSave($user, $isnew, $new) {
    if ($isnew) {
        $limit   = $this->params->get('limit-text');
        $db    = JFactory::getDbo();
        $query = "select id from #__users";
        $db->setQuery($query);
        $db->query();
        $num_rows = $db->getNumRows();
        if ($limit > $num_rows) {
            echo $erMsg = "Sorry but you have exceeded your allocated number of licenses.<BR><BR>Please press the back button on your browser to go back to the previous page.<BR><BR> If you wish to purchase more licences please contact customer support team ";
            die;
            JFactory::getApplication()->redirect(JURI::base(), $erMsg, 'error');
        }
    }
}
}


<extension type="plugin" version="3.0" group="user" method="upgrade">
<name>plg_user_register_limit</name> 
<creationDate>June 2014</creationDate> 
<license>GNU General Public License version 2 or later; see LICENSE.txt</license> 
<version>1.0.0</version> 
<description>
    <![CDATA[ 
        this plugin is used for limiting user registering
    ]]> 
    </description>
<files>
    <filename plugin="registerlimit">registerlimit.php</filename> 
    <filename>index.html</filename> 
    </files>
    <languages>
        <language tag="en-GB">en-GB.plg_user_regitesrlimit.ini</language> 
        <language tag="en-GB">en-GB.plg_user_regitesrlimit.sys.ini</language> 
        </languages>
        <config>
            <fields name="params">
                <fieldset name="basic">
                    <field name="limit-text" type="text" default="" label="Enter user Limit" description="Set limit" /> 
</fieldset>
</fields>
</config>
</extension>
3
user2513528

Um die Registrierung nach Benutzergruppen einzuschränken, müssen Sie die Tabelle #_user_usergroup_map verwenden, um die Anzahl der Benutzer in einer bestimmten Gruppe zu überprüfen.

WÄHLEN AUS #_user_usergroup_map WOHER group_id = 'GROUP_ID';

Ersetzen Sie hier Ihren spezifischen group_id-Wert.

3
Nick