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; }
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; }