Ejemplo n.º 1
0
 public function registerUser($data)
 {
     $jxConfig = new JXConfig();
     $verifyEmail = $jxConfig->cleanEmailList(array($data['email']));
     if (!is_array($verifyEmail)) {
         $this->setError($verifyEmail);
         return false;
     } elseif ($data['password'] == $data['conf_pass']) {
         $user = new JUser();
         $temp = new stdClass();
         $temp->name = $data['name'];
         $temp->username = $data['username'];
         $temp->password = $data['password'];
         $temp->block = 0;
         $temp->sendEmail = 0;
         $temp->email = $data['email'];
         // set the default new user group, Registered
         $temp->groups[] = 2;
         $bindData = (array) $temp;
         $user->bind($bindData);
         if (isset($data['group_limited'])) {
             $user->setParam('groups_member_limited', $data['group_limited']);
         }
         if ($user->save()) {
             $activity = JTable::getInstance('Activity', 'StreamTable');
             $activity->addUser($user->id);
             return $user->id;
         } else {
             $this->setError($user->getError());
             return false;
         }
     } else {
         $this->setError(JText::_('COM_REGISTER_ERRMSG_PASSWORD_MISMATCH'));
         return false;
     }
     return false;
 }
Ejemplo n.º 2
0
 public function ajaxMemberInvite()
 {
     $configHelper = new JXConfig();
     if ($configHelper->allowInvite()) {
         $postvar = JRequest::getVar('invitation');
         $inviteType = JRequest::getVar('inviteType', '');
         $arrEmails = explode(',', $postvar);
         $emailtoInvite = $configHelper->cleanEmailList($arrEmails);
         if (strtolower($inviteType) == 'welcome') {
             if (count($arrEmails) < 3 || (empty($arrEmails[0]) || empty($arrEmails[1]) || empty($arrEmails[2]))) {
                 echo '{"error":"1", "msg":"' . JText::sprintf('COM_ACCOUNT_ERRMSG_PLEASE_INVITE_EMAILS', '3') . '"}';
                 exit;
             } elseif ($arrEmails[0] == $arrEmails[1] || $arrEmails[1] == $arrEmails[2] || $arrEmails[0] == $arrEmails[2]) {
                 echo '{"error":"1", "msg":"' . JText::sprintf('COM_ACCOUNT_ERRMSG_PLEASE_INVITE_EMAILS', '3') . '"}';
                 exit;
             }
         }
         if (!is_array($emailtoInvite)) {
             echo '{"error":"1", "msg":"' . $emailtoInvite . '"}';
         } else {
             $currentUserCount = $configHelper->getRegisteredAndInvitedCount();
             $maxUserAllowed = $configHelper->getMaxAllowUsers();
             $toHaveUserCount = $currentUserCount + count($emailtoInvite);
             if ($toHaveUserCount > $configHelper->getMaxAllowUsers()) {
                 echo '{"error":"1", "msg":"' . JText::sprintf('COM_ACCOUNT_MSG_ALLOWED_NUMBERS_OF_INVITATION', $currentUserCount, $configHelper->getMaxAllowUsers() - $currentUserCount) . '"}';
             } else {
                 JTable::addIncludePath(JPATH_ROOT . DS . 'components' . DS . 'com_account' . DS . 'tables');
                 $my = JXFactory::getUser();
                 $alreadyUser = array();
                 $invitedEmail = array();
                 foreach ($emailtoInvite as $email) {
                     $processResult = $this->processInvitation($my, $email);
                     if ($processResult['flag'] == self::SENT_FLAG) {
                         $invitedEmail[] = $email;
                     } else {
                         $alreadyUser[] = $email;
                     }
                 }
                 $msg = '';
                 if (!empty($alreadyUser)) {
                     $msg .= count($alreadyUser) == 1 ? JText::sprintf('COM_ACCOUNT_MSG_INVITATION_EMAIL_ALREADY_REGISTERED', implode(',', $alreadyUser)) . '\\n' : JText::sprintf('COM_ACCOUNT_MSG_INVITATION_EMAILS_ALREADY_REGISTERED', implode(',', $alreadyUser)) . '\\n';
                 }
                 $msg .= empty($invitedEmail) ? '' : JText::sprintf('COM_ACCOUNT_MSG_INVITATION_SENT', implode(',', $invitedEmail));
                 echo '{"error":"0", "msg":"' . $msg . '"}';
             }
         }
     } else {
         echo '{"error":"1", "msg":"' . JText::_('COM_ACCOUNT_ERRMSG_INVITATION_DENIED') . '"}';
     }
     exit;
 }