it-swarm-es.tech

Cómo restringir el registro de usuarios según el grupo de usuarios

Me pregunto si alguien puede ayudarme. He desarrollado un complemento que me permite restringir el número de usuarios que se registran en el sitio, pero me gustaría desarrollarlo aún más restringiéndolo a un grupo de usuarios en particular, ¿alguien tendría alguna idea de cómo puedo lograr esto?

Este es mi código hasta ahora:

<?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

Para restringir el registro según el grupo de usuarios, debe usar la tabla #_user_usergroup_map para verificar el número de usuarios en un grupo en particular.

SELECCIONAR DE #_user_usergroup_map DÓNDE group_id = 'ID_GRUPO';

Aquí reemplace su valor específico de group_id.

3
Nick