]> git.mxchange.org Git - friendica.git/blobdiff - mod/register.php
Merge remote-tracking branch 'upstream/develop' into 1502-contacts-in-scrape
[friendica.git] / mod / register.php
index b9a9808b95ff6c592aeb0f3775e348eff305da27..4c0860e6e3f3362a9ace2b2a732886114e95a85b 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 
-require_once('include/email.php');
+require_once('include/enotify.php');
 require_once('include/bbcode.php');
 require_once('include/user.php');
 
@@ -48,8 +48,6 @@ function register_post(&$a) {
        }
 
 
-       require_once('include/user.php');
-
        $arr = $_POST;
 
        $arr['blocked'] = $blocked;
@@ -81,20 +79,25 @@ function register_post(&$a) {
                        set_pconfig($user['uid'],'system','invites_remaining',$num_invites);
                }
 
-               send_register_open_eml(
+               $res = send_register_open_eml(
                        $user['email'],
                        $a->config['sitename'],
                        $a->get_baseurl(),
                        $user['username'],
                        $result['password']);
 
-
                if($res) {
                        info( t('Registration successful. Please check your email for further instructions.') . EOL ) ;
                        goaway(z_root());
                }
                else {
-                       notice( t('Failed to send email message. Here is the message that failed.') . $email_tpl . EOL );
+                       notice(
+                               sprintf(
+                                       t('Failed to send email message. Here your accout details:<br> login: %s<br> password: %s<br><br>You can change your password after login.'),
+                                        $user['email'],
+                                        $result['password']
+                                        ). EOL
+                       );
                }
        }
        elseif($a->config['register_policy'] == REGISTER_APPROVE) {
@@ -112,46 +115,40 @@ function register_post(&$a) {
                        dbesc($lang)
                );
 
-               $adminlist = explode(",", str_replace(" ", "", $a->config['admin_email']));
-
-               $r = q("SELECT `language` FROM `user` WHERE `email` = '%s' LIMIT 1",
-                       //dbesc($a->config['admin_email'])
-                       dbesc($adminlist[0])
-               );
-               if(count($r))
-                       push_lang($r[0]['language']);
-               else
-                       push_lang('en');
-
+               // invite system
                if($using_invites && $invite_id) {
                        q("delete * from register where hash = '%s' limit 1", dbesc($invite_id));
                        set_pconfig($user['uid'],'system','invites_remaining',$num_invites);
                }
 
-               $email_tpl = get_intltext_template("register_verify_eml.tpl");
-               $email_tpl = replace_macros($email_tpl, array(
-                               '$sitename' => $a->config['sitename'],
-                               '$siteurl' =>  $a->get_baseurl(),
-                               '$username' => $user['username'],
-                               '$email' => $user['email'],
-                               '$password' => $result['password'],
-                               '$uid' => $user['uid'],
-                               '$hash' => $hash
-                ));
-
-               $res = mail($a->config['admin_email'], email_header_encode( sprintf(t('Registration request at %s'), $a->config['sitename']),'UTF-8'),
-                       $email_tpl,
-                               'From: ' . 'Administrator' . '@' . $_SERVER['SERVER_NAME'] . "\n"
-                               . 'Content-type: text/plain; charset=UTF-8' . "\n"
-                               . 'Content-transfer-encoding: 8bit' );
-
-               pop_lang();
+               // send email to admins
+               $admin_mail_list = "'".implode("','", array_map(dbesc, explode(",", str_replace(" ", "", $a->config['admin_email']))))."'";
+               $adminlist = q("SELECT uid, language, email FROM user WHERE email IN (%s)",
+                       $admin_mail_list
+               );
+
 
-               if($res) {
-                       info( t('Your registration is pending approval by the site owner.') . EOL ) ;
-                       goaway(z_root());
+               foreach ($adminlist as $admin) {
+                       notification(array(
+                               'type' => NOTIFY_SYSTEM,
+                               'event' => 'SYSTEM_REGISTER_REQUEST',
+                               'source_name' => $user['username'],
+                               'source_mail' => $user['email'],
+                               'source_nick' => $user['nickname'],
+                               'source_link' => $a->get_baseurl()."/admin/users/",
+                               'link' => $a->get_baseurl()."/admin/users/",
+                               'source_photo' => $a->get_baseurl() . "/photo/avatar/".$user['uid'].".jpg",
+                               'to_email' => $admin['email'],
+                               'uid' => $admin['uid'],
+                               'language' => ($admin['language']?$admin['language']:'en'))
+                       );
                }
 
+
+               info( t('Your registration is pending approval by the site owner.') . EOL ) ;
+               goaway(z_root());
+
+
        }
 
        return;