diff options
-rw-r--r-- | done | 2 | ||||
-rw-r--r-- | include/account.php | 99 | ||||
-rw-r--r-- | mod/regmod.php | 108 | ||||
-rw-r--r-- | view/en/register_open_eml.tpl | 2 | ||||
-rw-r--r-- | view/en/smarty3/register_open_eml.tpl | 2 |
5 files changed, 106 insertions, 107 deletions
@@ -144,7 +144,7 @@ mod/ + randprof.php - redir.php + register.php - regmod.php +? regmod.php removeme.php rsd_xml.php (what do we need this for? What functionality/feature does it enable) search_ac.php diff --git a/include/account.php b/include/account.php index c8ce3e56b..530ffd083 100644 --- a/include/account.php +++ b/include/account.php @@ -286,3 +286,102 @@ function send_verification_email($email,$password) { ); return($res ? true : false); } + + +function user_allow($hash) { + + $a = get_app(); + + $ret = array('success' => false); + + $register = q("SELECT * FROM `register` WHERE `hash` = '%s' LIMIT 1", + dbesc($hash) + ); + + if(! $register) + return $ret; + + $account = q("SELECT * FROM account WHERE account_id = %d LIMIT 1", + intval($register[0]['uid']) + ); + + if(! $account) + return $ret; + + $r = q("DELETE FROM register WHERE hash = '%s' LIMIT 1", + dbesc($register[0]['hash']) + ); + + $r = q("update account set account_flags = (account_flags ^ %d) where (account_flags & %d) and account_id = %d limit 1", + intval(ACCOUNT_BLOCKED), + intval(ACCOUNT_BLOCKED), + intval($register[0]['uid']) + ); + + $r = q("SELECT uid FROM profile WHERE uid = %d AND is_default = 1", + intval($account[0]['account_id']) + ); + + if($r && $r[0]['publish']) { + proc_run('php',"include/directory.php",$r[0]['uid']); + } + + push_lang($register[0]['language']); + + $email_tpl = get_intltext_template("register_open_eml.tpl"); + $email_tpl = replace_macros($email_tpl, array( + '$sitename' => get_config('system','sitename'), + '$siteurl' => z_root(), + '$username' => $account[0]['account_email'], + '$email' => $account[0]['account_email'], + '$password' => '', + '$uid' => $account[0]['account_id'] + )); + + $res = mail($account[0]['account_email'], sprintf( t('Registration details for %s'), get_config('system','sitename')), + $email_tpl, + 'From: ' . t('Administrator') . '@' . $_SERVER['SERVER_NAME'] . "\n" + . 'Content-type: text/plain; charset=UTF-8' . "\n" + . 'Content-transfer-encoding: 8bit' ); + + pop_lang(); + + if($res) { + info( t('Account approved.') . EOL ); + return true; + } + +} + + +// This does not have to go through user_remove() and save the nickname +// permanently against re-registration, as the person was not yet +// allowed to have friends on this system + +function user_deny($hash) { + + $register = q("SELECT * FROM register WHERE hash = '%s' LIMIT 1", + dbesc($hash) + ); + + if(! count($register)) + return false; + + $user = q("SELECT account_id FROM account WHERE account_id = %d LIMIT 1", + intval($register[0]['uid']) + ); + + if(! $user) + return false; + + $r = q("DELETE FROM account WHERE account_id = %d LIMIT 1", + intval($register[0]['uid']) + ); + + $r = q("DELETE FROM `register` WHERE id = %d LIMIT 1", + dbesc($register[0]['id']) + ); + notice( sprintf(t('Registration revoked for %s'), $account[0]['account_email']) . EOL); + return true; + +} diff --git a/mod/regmod.php b/mod/regmod.php index 3da1575d3..c54c0d88e 100644 --- a/mod/regmod.php +++ b/mod/regmod.php @@ -1,104 +1,6 @@ <?php -function user_allow($hash) { - - $a = get_app(); - - $register = q("SELECT * FROM `register` WHERE `hash` = '%s' LIMIT 1", - dbesc($hash) - ); - - - if(! count($register)) - return false; - - $user = q("SELECT * FROM `user` WHERE `uid` = %d LIMIT 1", - intval($register[0]['uid']) - ); - - if(! count($user)) - killme(); - - $r = q("DELETE FROM `register` WHERE `hash` = '%s' LIMIT 1", - dbesc($register[0]['hash']) - ); - - - $r = q("UPDATE `user` SET `blocked` = 0, `verified` = 1 WHERE `uid` = %d LIMIT 1", - intval($register[0]['uid']) - ); - - $r = q("SELECT * FROM `profile` WHERE `uid` = %d AND `is_default` = 1", - intval($user[0]['uid']) - ); - if(count($r) && $r[0]['publish']) { - $url = $a->get_baseurl() . '/profile/' . $user[0]['nickname']; - if($url && strlen(get_config('system','directory_submit_url'))) - proc_run('php',"include/directory.php","$url"); - } - - push_lang($register[0]['language']); - - $email_tpl = get_intltext_template("register_open_eml.tpl"); - $email_tpl = replace_macros($email_tpl, array( - '$sitename' => $a->config['sitename'], - '$siteurl' => $a->get_baseurl(), - '$username' => $user[0]['username'], - '$email' => $user[0]['email'], - '$password' => $register[0]['password'], - '$uid' => $user[0]['uid'] - )); - - $res = mail($user[0]['email'], sprintf(t('Registration details for %s'), $a->config['sitename']), - $email_tpl, - 'From: ' . t('Administrator') . '@' . $_SERVER['SERVER_NAME'] . "\n" - . 'Content-type: text/plain; charset=UTF-8' . "\n" - . 'Content-transfer-encoding: 8bit' ); - - pop_lang(); - - if($res) { - info( t('Account approved.') . EOL ); - return true; - } - -} - - -// This does not have to go through user_remove() and save the nickname -// permanently against re-registration, as the person was not yet -// allowed to have friends on this system - -function user_deny($hash) { - - $register = q("SELECT * FROM `register` WHERE `hash` = '%s' LIMIT 1", - dbesc($hash) - ); - - if(! count($register)) - return false; - - $user = q("SELECT * FROM `user` WHERE `uid` = %d LIMIT 1", - intval($register[0]['uid']) - ); - - $r = q("DELETE FROM `user` WHERE `uid` = %d LIMIT 1", - intval($register[0]['uid']) - ); - $r = q("DELETE FROM `contact` WHERE `uid` = %d LIMIT 1", - intval($register[0]['uid']) - ); - $r = q("DELETE FROM `profile` WHERE `uid` = %d LIMIT 1", - intval($register[0]['uid']) - ); - - $r = q("DELETE FROM `register` WHERE `hash` = '%s' LIMIT 1", - dbesc($register[0]['hash']) - ); - notice( sprintf(t('Registration revoked for %s'), $user[0]['username']) . EOL); - return true; - -} +require_once('include/account.php'); function regmod_content(&$a) { @@ -117,13 +19,11 @@ function regmod_content(&$a) { return ''; } - if($a->argc != 3) + if(argc() != 3) killme(); - $cmd = $a->argv[1]; - $hash = $a->argv[2]; - - + $cmd = argv(1); + $hash = argv(2); if($cmd === 'deny') { if (!user_deny($hash)) killme(); diff --git a/view/en/register_open_eml.tpl b/view/en/register_open_eml.tpl index 68c4a722b..648720621 100644 --- a/view/en/register_open_eml.tpl +++ b/view/en/register_open_eml.tpl @@ -4,7 +4,7 @@ The login details are as follows: Site Location: $[siteurl] Login: $[email] -Password: $[password] +Password: (the password supplied during registration) If this account was created without your knowledge and is not desired, please login and remove the account from the links on the Settings page, and we diff --git a/view/en/smarty3/register_open_eml.tpl b/view/en/smarty3/register_open_eml.tpl index 377fa8436..e6702f478 100644 --- a/view/en/smarty3/register_open_eml.tpl +++ b/view/en/smarty3/register_open_eml.tpl @@ -9,7 +9,7 @@ The login details are as follows: Site Location: {{$siteurl}} Login: {{$email}} -Password: {{$password}} +Password: (the password supplied during registration) If this account was created without your knowledge and is not desired, please login and remove the account from the links on the Settings page, and we |