function xoops_user_validate($username, $password, $validate) { global $xoopsModuleConfig, $xoopsConfig; if ($xoopsModuleConfig['site_user_auth'] == 1) { if ($ret = check_for_lock(basename(__FILE__), $username, $password)) { return $ret; } if (!checkright(basename(__FILE__), $username, $password)) { mark_for_lock(basename(__FILE__), $username, $password); return array('ErrNum' => 9, "ErrDesc" => 'No Permission for plug-in'); } } if ($validate['passhash'] != '') { if ($validate['passhash'] != sha1($validate['time'] - $validate['rand'] . $validate['uname'] . $validate['pass'])) { return array("ERRNUM" => 4, "ERRTXT" => 'No Passhash'); } } else { return array("ERRNUM" => 4, "ERRTXT" => 'No Passhash'); } include_once XOOPS_ROOT_PATH . '/class/auth/authfactory.php'; include_once XOOPS_ROOT_PATH . '/language/' . $xoopsConfig['language'] . '/auth.php'; $xoopsAuth =& XoopsAuthFactory::getAuthConnection($myts->addSlashes($validate['uname'])); if (check_auth_class($xoopsAuth) == true) { $result = $xoopsAuth->validate($validate['uname'], $validate['email'], $validate['pass'], $validate['vpass']); return $result; } else { return array('ERRNUM' => 1, 'RESULT' => XoopsUserUtility::validate($validate['uname'], $validate['email'], $validate['pass'], $validate['vpass'])); } }
function xoops_network_disclaimer($username, $password) { global $xoopsModuleConfig, $xoopsConfig; if ($xoopsModuleConfig['site_user_auth'] == 1) { if ($ret = check_for_lock(basename(__FILE__), $username, $password)) { return $ret; } if (!checkright(basename(__FILE__), $username, $password)) { mark_for_lock(basename(__FILE__), $username, $password); return array('ErrNum' => 9, "ErrDesc" => 'No Permission for plug-in'); } } include_once XOOPS_ROOT_PATH . '/class/auth/authfactory.php'; include_once XOOPS_ROOT_PATH . '/language/' . $xoopsConfig['language'] . '/auth.php'; $xoopsAuth =& XoopsAuthFactory::getAuthConnection(); if (check_auth_class($xoopsAuth) == true) { $result = $xoopsAuth->network_disclaimer(); return $result; } else { $config_handler =& xoops_gethandler('config'); $xoopsConfigUser =& $config_handler->getConfigsByCat(XOOPS_CONF_USER); return array("ERRNUM" => 1, "RESULT" => $xoopsConfigUser['reg_disclaimer']); } }
function xoops_create_user($username, $password, $user, $siteinfo) { xoops_load("userUtility"); global $xoopsModuleConfig, $xoopsConfig; if ($xoopsModuleConfig['site_user_auth'] == 1) { if ($ret = check_for_lock(basename(__FILE__), $username, $password)) { return $ret; } if (!checkright(basename(__FILE__), $username, $password)) { mark_for_lock(basename(__FILE__), $username, $password); return array('ErrNum' => 9, "ErrDesc" => 'No Permission for plug-in'); } } return array("Username" => $username, "password" => $password, 'user' => $user, 'siteinfo' => $siteinfo); if ($user['passhash'] != '') { if ($user['passhash'] != sha1($user['time'] - $user['rand'] . $user['uname'] . $user['pass'])) { return array("ERRNUM" => 4, "ERRTXT" => 'No Passhash'); } } else { return array("ERRNUM" => 4, "ERRTXT" => 'No Passhash'); } foreach ($user as $k => $l) { ${$k} = $l; } include_once XOOPS_ROOT_PATH . '/class/auth/authfactory.php'; include_once XOOPS_ROOT_PATH . '/language/' . $xoopsConfig['language'] . '/auth.php'; $xoopsAuth =& XoopsAuthFactory::getAuthConnection($uname); if (check_auth_class($xoopsAuth) == true) { $result = $xoopsAuth->create_user($user_viewemail, $uname, $email, $url, $actkey, $pass, $timezone_offset, $user_mailok, $siteinfo); return $result; } else { if (strlen(userCheck($uname, $email, $pass, $pass)) == 0) { global $xoopsConfig; $config_handler =& xoops_gethandler('config'); $xoopsConfigUser =& $config_handler->getConfigsByCat(XOOPS_CONF_USER); $member_handler =& xoops_gethandler('member'); $newuser =& $member_handler->createUser(); $newuser->setVar('user_viewemail', $user_viewemail, true); $newuser->setVar('uname', $uname, true); $newuser->setVar('email', $email, true); if ($url != '') { $newuser->setVar('url', formatURL($url), true); } $newuser->setVar('user_avatar', 'blank.gif', true); if (empty($actkey)) { $actkey = substr(md5(uniqid(mt_rand(), 1)), 0, 8); } $newuser->setVar('actkey', $actkey, true); $newuser->setVar('pass', md5($pass), true); $newuser->setVar('timezone_offset', $timezone_offset, true); $newuser->setVar('user_regdate', time(), true); $newuser->setVar('uorder', $xoopsConfig['com_order'], true); $newuser->setVar('umode', $xoopsConfig['com_mode'], true); $newuser->setVar('user_mailok', $user_mailok, true); $newuser->setVar('user_intrest', _US_USERREG . ' @ ' . $xoops_url, true); if ($xoopsConfigUser['activation_type'] == 1) { $newuser->setVar('level', 1, true); } if (!$member_handler->insertUser($newuser, true)) { $return = array('state' => 1, "text" => _US_REGISTERNG); } else { $newid = $newuser->getVar('uid'); if (!$member_handler->addUserToGroup(XOOPS_GROUP_USERS, $newid)) { $return = array('state' => 1, "text" => _US_REGISTERNG); } if ($xoopsConfigUser['activation_type'] == 1) { $return = array('state' => 2, "user" => $uname); } // Sending notification email to user for self activation if ($xoopsConfigUser['activation_type'] == 0) { $xoopsMailer =& xoops_getMailer(); $xoopsMailer->useMail(); $xoopsMailer->setTemplate('register.tpl'); $xoopsMailer->assign('SITENAME', $siteinfo['sitename']); $xoopsMailer->assign('ADMINMAIL', $siteinfo['adminmail']); $xoopsMailer->assign('SITEURL', XOOPS_URL . "/"); $xoopsMailer->setToUsers(new XoopsUser($newid)); $xoopsMailer->setFromEmail($siteinfo['adminmail']); $xoopsMailer->setFromName($siteinfo['sitename']); $xoopsMailer->setSubject(sprintf(_US_USERKEYFOR, $uname)); if (!$xoopsMailer->send()) { $return = array('state' => 1, "text" => _US_YOURREGMAILNG); } else { $return = array('state' => 1, "text" => _US_YOURREGISTERED); } // Sending notification email to administrator for activation } elseif ($xoopsConfigUser['activation_type'] == 2) { $xoopsMailer =& xoops_getMailer(); $xoopsMailer->useMail(); $xoopsMailer->setTemplate('adminactivate.tpl'); $xoopsMailer->assign('USERNAME', $uname); $xoopsMailer->assign('USEREMAIL', $email); if ($siteinfo['xoops_url'] == XOOPS_URL) { $xoopsMailer->assign('USERACTLINK', $siteinfo['xoops_url'] . '/register.php?op=actv&id=' . $newid . '&actkey=' . $actkey); } } else { $xoopsMailer->assign('USERACTLINK', $siteinfo['xoops_url'] . '/register.php?op=actv&uname=' . $uname . '&actkey=' . $actkey); } $xoopsMailer->assign('SITENAME', $siteinfo['sitename']); $xoopsMailer->assign('ADMINMAIL', $siteinfo['adminmail']); $xoopsMailer->assign('SITEURL', $siteinfo['xoops_url'] . "/"); $member_handler =& xoops_gethandler('member'); $xoopsMailer->setToGroups($member_handler->getGroup($xoopsConfigUser['activation_group'])); $xoopsMailer->setFromEmail($siteinfo['adminmail']); $xoopsMailer->setFromName($siteinfo['sitename']); $xoopsMailer->setSubject(sprintf(_US_USERKEYFOR, $uname)); if (!$xoopsMailer->send()) { $return = array('state' => 1, "text" => _US_YOURREGMAILNG); } else { $return = array('state' => 1, "text" => _US_YOURREGISTERED2); } } if ($xoopsConfigUser['new_user_notify'] == 1 && !empty($xoopsConfigUser['new_user_notify_group'])) { $xoopsMailer =& xoops_getMailer(); $xoopsMailer->useMail(); $member_handler =& xoops_gethandler('member'); $xoopsMailer->setToGroups($member_handler->getGroup($xoopsConfigUser['new_user_notify_group'])); $xoopsMailer->setFromEmail($siteinfo['adminmail']); $xoopsMailer->setFromName($siteinfo['sitename']); $xoopsMailer->setSubject(sprintf(_US_NEWUSERREGAT, $xoopsConfig['sitename'])); $xoopsMailer->setBody(sprintf(_US_HASJUSTREG, $uname)); $xoopsMailer->send(); } if (strpos(strtolower($_SERVER['HTTP_HOST']), 'xortify.com')) { define('XORTIFY_API_LOCAL', 'http://xortify.chronolabs.coop/soap/'); define('XORTIFY_API_URI', 'http://xortify.chronolabs.coop/soap/'); } else { define('XORTIFY_API_LOCAL', 'http://xortify.com/soap/'); define('XORTIFY_API_URI', 'http://xortify.com/soap/'); } $soap_client = @new soapclient(NULL, array('location' => XORTIFY_API_LOCAL, 'uri' => XORTIFY_API_URI)); $result = @$soap_client->__soapCall('xoops_create_user', array("username" => $username, "password" => $password, "user" => $user, "siteinfo" => $siteinfo)); return array("ERRNUM" => 1, "RESULT" => $return); } else { return array("ERRNUM" => 1, "RESULT" => array('state' => 1, 'text' => userCheck($uname, $email, $pass, $pass))); } } }
function xoops_check_activation($username, $password, $user) { global $xoopsModuleConfig, $xoopsConfig; if ($xoopsModuleConfig['site_user_auth'] == 1) { if ($ret = check_for_lock(basename(__FILE__), $username, $password)) { return $ret; } if (!checkright(basename(__FILE__), $username, $password)) { mark_for_lock(basename(__FILE__), $username, $password); return array('ErrNum' => 9, "ErrDesc" => 'No Permission for plug-in'); } } if ($user['passhash'] != '') { if ($user['passhash'] != sha1($user['time'] - $user['rand'] . $user['uname'] . $user['actkey'])) { return array("ERRNUM" => 4, "ERRTXT" => 'No Passhash'); } } else { return array("ERRNUM" => 4, "ERRTXT" => 'No Passhash'); } foreach ($user as $k => $l) { ${$k} = $l; } $siteinfo = check_siteinfo($siteinfo); include_once XOOPS_ROOT_PATH . '/class/auth/authfactory.php'; include_once XOOPS_ROOT_PATH . '/language/' . $xoopsConfig['language'] . '/auth.php'; $xoopsAuth =& XoopsAuthFactory::getAuthConnection(addslashes($uname)); if (check_auth_class($xoopsAuth) == true) { $result = $xoopsAuth->check_activation($uname, $actkey, $siteinfo); return $result; } else { global $xoopsConfig, $xoopsConfigUser; global $xoopsDB; $sql = "SELECT uid FROM " . $xoopsDB->prefix('users') . " WHERE uname = '{$uname}'"; $ret = $xoopsDB->query($sql); $row = $xoopsDB->fetchArray($ret); $member_handler =& xoops_gethandler('member'); $thisuser =& $member_handler->getUser($row['uid']); if (!is_object($thisuser)) { exit; } if ($thisuser->getVar('actkey') != $actkey) { $return = array("state" => _US_STATE_ONE, "action" => "redirect_header", "url" => 'index.php', "opt" => 5, "text" => _US_ACTKEYNOT); } else { if ($thisuser->getVar('level') > 0) { $return = array("state" => _US_STATE_ONE, "action" => "redirect_header", "url" => 'user.php', "opt" => 5, "text" => _US_ACONTACT, "set" => false); } else { if (false != $member_handler->activateUser($thisuser)) { $config_handler =& xoops_gethandler('config'); $xoopsConfigUser = $config_handler->getConfigsByCat(XOOPS_CONF_USER); if ($xoopsConfigUser['activation_type'] == 2) { $myts =& MyTextSanitizer::getInstance(); $xoopsMailer =& xoops_getMailer(); $xoopsMailer->useMail(); $xoopsMailer->setTemplate('activated.tpl'); $xoopsMailer->assign('SITENAME', $siteinfo['sitename']); $xoopsMailer->assign('ADMINMAIL', $siteinfo['adminmail']); $xoopsMailer->assign('SITEURL', $siteinfo['xoops_url'] . "/"); $xoopsMailer->setToUsers($thisuser); $xoopsMailer->setFromEmail($siteinfo['adminmail']); $xoopsMailer->setFromName($siteinfo['sitename']); $xoopsMailer->setSubject(sprintf(_US_YOURACCOUNT, $siteinfo['sitename'])); if (!$xoopsMailer->send()) { $return = array("state" => _US_STATE_TWO, "text" => sprintf(_US_ACTVMAILNG, $thisuser->getVar('uname'))); } else { $return = array("state" => _US_STATE_TWO, "text" => sprintf(_US_ACTVMAILOK, $thisuser->getVar('uname'))); } } else { $local = explode(' @ ', $thisuser->getVar('user_intrest')); if ($local[0] == _US_USERREG) { $return = array("state" => _US_STATE_ONE, "action" => "redirect_header", "url" => $local[1] . '/user.php', "opt" => 5, "text" => _US_ACTLOGIN, "set" => false); } else { $return = array("state" => _US_STATE_ONE, "action" => "redirect_header", "url" => 'user.php', "opt" => 5, "text" => _US_ACTLOGIN, "set" => false); } } } else { $return = array("state" => _US_STATE_ONE, "action" => "redirect_header", "url" => 'index.php', "opt" => 5, "text" => 'Activation failed!'); } } } return $return; } }