AnonSec Shell
Server IP : 54.36.91.62  /  Your IP : 216.73.217.112
Web Server : Apache
System : Linux webm013.cluster127.gra.hosting.ovh.net 5.15.206-ovh-vps-grsec-zfs-classid #1 SMP Fri May 15 02:41:25 UTC 2026 x86_64
User : coopiak ( 151928)
PHP Version : 8.3.23
Disable Function : _dyuweyrj4,_dyuweyrj4r,dl
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/coopiak/amisdesseniors-fr/components/com_community/controllers/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     

Current File : /home/coopiak/amisdesseniors-fr/components/com_community/controllers/registerinvite.php
<?php

/**
 * @copyright (C) 2013 iJoomla, Inc. - All rights reserved.
 * @license GNU General Public License, version 2 (http://www.gnu.org/licenses/gpl-2.0.html)
 * @author iJoomla.com <webmaster@ijoomla.com>
 * @url https://www.jomsocial.com/license-agreement
 * The PHP code portions are distributed under the GPL license. If not otherwise stated, all images, manuals, cascading style sheets, and included JavaScript *are NOT GPL, and are released under the IJOOMLA Proprietary Use License v1.0
 * More info at https://www.jomsocial.com/license-agreement
 */

use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Table\Table;
use Joomla\CMS\Uri\Uri;

// no direct access
defined('_JEXEC') or die('Restricted access');

class CommunityRegisterinviteController extends CommunityBaseController
{   
    public function display($cacheable = false, $urlparams = false)
    {
        $this->registerinvite();
    }

    public function registerinvite()
    {
        $my = CFactory::getUser();

        if ($my->id != 0) {
            $mainframe = Factory::getApplication();
            $mainframe->redirect(CRoute::_('index.php?option=com_community&view=frontpage', false));
        }

        //run this silently to clean up the 'left-over' temp user.
        $rModel = CFactory::getModel('register');
        $rModel->cleanTempUser();

        $view = $this->getView('registerinvite');
        echo $view->get('registerinvite');
    }

    public function registerinvite_save()
    {
        // Get required system objects
        $mainframe = Factory::getApplication();
        $jinput = $mainframe->input;
        $config = CFactory::getConfig();
        $post = $jinput->post->getArray();
        $view = $this->getView('registerinvite');

        // If user registration is not allowed, show 403 not authorized unless invitation only is enabled
        $usersConfig = ComponentHelper::getParams('com_users');
        if ($usersConfig->get('allowUserRegistration') == '1' && !$config->get('invite_only_request')) {
            //show warning message
            $this->addWarning(Text::_('COM_COMMUNITY_REQUEST_INVITE_DISABLED'));
            echo $view->get('registerinvite');
            return;
        }

        //perform forms validation before continue further.
        $errMsg = $this->_validateRequestInvite($post);

        if (count($errMsg) > 0) {
            //validation failed. show error message.
            foreach ($errMsg as $err) {
                $mainframe->enqueueMessage($err, 'error');
            }

            $this->registerinvite();
            return false;
        }

        // @rule: check with recaptcha
        $recaptcha = new BaseCCaptchaHelper();

        if (!$recaptcha->getCaptcha()->verify()) {
            Factory::getApplication()->enqueueMessage(Text::_('COM_COMMUNITY_RECAPTCHA_MISMATCH'), 'error');
            $this->registerinvite();
            return false;
        }

        $registerintiveTable = Table::getInstance('RegisterInvite', 'CommunityTable');
        $registerintiveTable->name = $post['jsname'];
        $registerintiveTable->email = $post['jsemail'];
        $registerintiveTable->reason = $post['jsreason'];
        $registerintiveTable->status = 0;
        $registerintiveTable->actionby = 0;

        if ($registerintiveTable->store()) {
            // send notification email to super user
            $modelRegister = $this->getModel('register');

            // Load Super Administrator email list
            $rows = $modelRegister->getSuperAdministratorEmail();
            
            //send to superadmin
            $sitename = $mainframe->get('sitename');
           
            foreach ($rows as $row) {
                if ($row->sendEmail) {
                    $email = $row->email;
                    $templateFile = 'email.request.registerinvite';
                    $templateFile .= $config->get('htmlemail') ? '.html' : '.text';

                    $tmpl = new CTemplate();
                    $tmpl->set('displayName', $post['jsname']);
                    $tmpl->set('sitename', $sitename);
                    $tmpl->set('reason', $post['jsreason']);

                    $content = $tmpl->fetch($templateFile);

                    $params = new CParameter('');
                    $params->set('url', Uri::root() . 'administrator/index.php?option=com_community&view=pendinginvites');

                    $mailq = CFactory::getModel('Mailq');
                    $mailq->add(
                        $email,
                        Text::sprintf('COM_COMMUNITY_REQUEST_PENDING_INVITE_EMAIL_SUBJECT', $sitename),
                        $content,
                        $templateFile, 
                        $params, 
                        0, 
                        'etype_request_invite'
                    );
                }
            }

            // success page
            $mainframe->redirect(CRoute::_('index.php?option=com_community&view=registerinvite&task=registerinvitesuccess', false));
        }
        
    }

    public function registerinvitesuccess()
    {
        $view = $this->getView('registerinvite');
        echo $view->get(__FUNCTION__);
    }

    /**
     * Validate request invitation form
     */
    private function _validateRequestInvite($post = array())
    {
        //check the user infor
        $mainframe = Factory::getApplication();
        $config = CFactory::getConfig();
        $errMsg = array();
        $data = array();

        if (!empty($post)) {
            //manual array_walk to trim
            foreach ($post as $key => $value) {
                if (is_array($value)) {
                    $data[$key] = $value; // dun do anything here.
                } else {
                    $data[$key] = CStringHelper::trim($value);
                }
            } //end of
        }

        if (empty($data['jsname'])) {
            $errMsg[] = Text::_('COM_COMMUNITY_FIELD_ENTRY') . ' \'' . Text::_(
                    'COM_COMMUNITY_NAME'
                ) . '\' ' . Text::_('COM_COMMUNITY_IS_EMPTY');
        }

        if (empty($data['jsemail'])) {
            $errMsg[] = Text::_('COM_COMMUNITY_FIELD_ENTRY') . ' \'' . Text::_(
                    'COM_COMMUNITY_EMAIL'
                ) . '\' ' . Text::_('COM_COMMUNITY_IS_EMPTY');
        }

        if (empty($data['jsreason'])) {
            $errMsg[] = Text::_('COM_COMMUNITY_FIELD_ENTRY') . ' \'' . Text::_(
                    'COM_COMMUNITY_REQUEST_INVITE_REASON_FIELD'
                ) . '\' ' . Text::_('COM_COMMUNITY_IS_EMPTY');
        }

        return $errMsg;
    }
}

Anon7 - 2022
AnonSec Team