Completed
Push — master ( 4f2b26...caccb9 )
by Lukas
13:29
created
settings/Hooks.php 1 patch
Indentation   +136 added lines, -136 removed lines patch added patch discarded remove patch
@@ -32,140 +32,140 @@
 block discarded – undo
32 32
 
33 33
 class Hooks {
34 34
 
35
-	/** @var IActivityManager */
36
-	protected $activityManager;
37
-	/** @var IUserManager */
38
-	protected $userManager;
39
-	/** @var IUserSession */
40
-	protected $userSession;
41
-	/** @var IURLGenerator */
42
-	protected $urlGenerator;
43
-	/** @var IMailer */
44
-	protected $mailer;
45
-	/** @var IL10N */
46
-	protected $l;
47
-
48
-	public function __construct(IActivityManager $activityManager, IUserManager $userManager, IUserSession $userSession, IURLGenerator $urlGenerator, IMailer $mailer, IL10N $l) {
49
-		$this->activityManager = $activityManager;
50
-		$this->userManager = $userManager;
51
-		$this->userSession = $userSession;
52
-		$this->urlGenerator = $urlGenerator;
53
-		$this->mailer = $mailer;
54
-		$this->l = $l;
55
-	}
56
-
57
-	/**
58
-	 * @param string $uid
59
-	 * @throws \InvalidArgumentException
60
-	 * @throws \BadMethodCallException
61
-	 * @throws \Exception
62
-	 */
63
-	public function onChangePassword($uid) {
64
-		$user = $this->userManager->get($uid);
65
-
66
-		if (!$user instanceof IUser || $user->getEMailAddress() === null) {
67
-			return;
68
-		}
69
-
70
-		$event = $this->activityManager->generateEvent();
71
-		$event->setApp('settings')
72
-			->setType('personal_settings')
73
-			->setAffectedUser($user->getUID());
74
-
75
-		$instanceUrl = $this->urlGenerator->getAbsoluteURL('/');
76
-
77
-		$actor = $this->userSession->getUser();
78
-		if ($actor instanceof IUser) {
79
-			if ($actor->getUID() !== $user->getUID()) {
80
-				$text = $this->l->t('%1$s changed your password on %2$s.', [$actor->getDisplayName(), $instanceUrl]);
81
-				$event->setAuthor($actor->getUID())
82
-					->setSubject(Provider::PASSWORD_CHANGED_BY, [$actor->getUID()]);
83
-			} else {
84
-				$text = $this->l->t('Your password on %s was changed.', [$instanceUrl]);
85
-				$event->setAuthor($actor->getUID())
86
-					->setSubject(Provider::PASSWORD_CHANGED_SELF);
87
-			}
88
-		} else {
89
-			$text = $this->l->t('Your password on %s was reset by an administrator.', [$instanceUrl]);
90
-			$event->setSubject(Provider::PASSWORD_RESET);
91
-		}
92
-
93
-		$this->activityManager->publish($event);
94
-
95
-		if ($user->getEMailAddress() !== null) {
96
-			$template = $this->mailer->createEMailTemplate();
97
-			$template->addHeader();
98
-			$template->addHeading($this->l->t('Password changed for %s', $user->getDisplayName()), false);
99
-			$template->addBodyText($text . ' ' . $this->l->t('If you did not request this, please contact an administrator.'));
100
-			$template->addFooter();
101
-
102
-
103
-			$message = $this->mailer->createMessage();
104
-			$message->setTo([$user->getEMailAddress() => $user->getDisplayName()]);
105
-			$message->setSubject($this->l->t('Password for %1$s changed on %2$s', [$user->getDisplayName(), $instanceUrl]));
106
-			$message->setBody($template->renderText(), 'text/plain');
107
-			$message->setHtmlBody($template->renderHtml());
108
-
109
-			$this->mailer->send($message);
110
-		}
111
-	}
112
-
113
-	/**
114
-	 * @param IUser $user
115
-	 * @param string|null $oldMailAddress
116
-	 * @throws \InvalidArgumentException
117
-	 * @throws \BadMethodCallException
118
-	 */
119
-	public function onChangeEmail(IUser $user, $oldMailAddress) {
120
-
121
-		if ($oldMailAddress === $user->getEMailAddress()) {
122
-			// Email didn't really change, so don't create activities and emails
123
-			return;
124
-		}
125
-
126
-		$event = $this->activityManager->generateEvent();
127
-		$event->setApp('settings')
128
-			->setType('personal_settings')
129
-			->setAffectedUser($user->getUID());
130
-
131
-		$instanceUrl = $this->urlGenerator->getAbsoluteURL('/');
132
-
133
-		$actor = $this->userSession->getUser();
134
-		if ($actor instanceof IUser) {
135
-			if ($actor->getUID() !== $user->getUID()) {
136
-				$text = $this->l->t('%1$s changed your email address on %2$s.', [$actor->getDisplayName(), $instanceUrl]);
137
-				$event->setAuthor($actor->getUID())
138
-					->setSubject(Provider::EMAIL_CHANGED_BY, [$actor->getUID()]);
139
-			} else {
140
-				$text = $this->l->t('Your email address on %s was changed.', [$instanceUrl]);
141
-				$event->setAuthor($actor->getUID())
142
-					->setSubject(Provider::EMAIL_CHANGED_SELF);
143
-			}
144
-		} else {
145
-			$text = $this->l->t('Your email address on %s was changed by an administrator.', [$instanceUrl]);
146
-			$event->setSubject(Provider::EMAIL_CHANGED);
147
-		}
148
-		$this->activityManager->publish($event);
149
-
150
-
151
-		if ($oldMailAddress !== null) {
152
-			$template = $this->mailer->createEMailTemplate();
153
-			$template->addHeader();
154
-			$template->addHeading($this->l->t('Email address changed for %s', $user->getDisplayName()), false);
155
-			$template->addBodyText($text . ' ' . $this->l->t('If you did not request this, please contact an administrator.'));
156
-			if ($user->getEMailAddress()) {
157
-				$template->addBodyText($this->l->t('The new email address is %s', $user->getEMailAddress()));
158
-			}
159
-			$template->addFooter();
160
-
161
-
162
-			$message = $this->mailer->createMessage();
163
-			$message->setTo([$oldMailAddress => $user->getDisplayName()]);
164
-			$message->setSubject($this->l->t('Email address for %1$s changed on %2$s', [$user->getDisplayName(), $instanceUrl]));
165
-			$message->setBody($template->renderText(), 'text/plain');
166
-			$message->setHtmlBody($template->renderHtml());
167
-
168
-			$this->mailer->send($message);
169
-		}
170
-	}
35
+    /** @var IActivityManager */
36
+    protected $activityManager;
37
+    /** @var IUserManager */
38
+    protected $userManager;
39
+    /** @var IUserSession */
40
+    protected $userSession;
41
+    /** @var IURLGenerator */
42
+    protected $urlGenerator;
43
+    /** @var IMailer */
44
+    protected $mailer;
45
+    /** @var IL10N */
46
+    protected $l;
47
+
48
+    public function __construct(IActivityManager $activityManager, IUserManager $userManager, IUserSession $userSession, IURLGenerator $urlGenerator, IMailer $mailer, IL10N $l) {
49
+        $this->activityManager = $activityManager;
50
+        $this->userManager = $userManager;
51
+        $this->userSession = $userSession;
52
+        $this->urlGenerator = $urlGenerator;
53
+        $this->mailer = $mailer;
54
+        $this->l = $l;
55
+    }
56
+
57
+    /**
58
+     * @param string $uid
59
+     * @throws \InvalidArgumentException
60
+     * @throws \BadMethodCallException
61
+     * @throws \Exception
62
+     */
63
+    public function onChangePassword($uid) {
64
+        $user = $this->userManager->get($uid);
65
+
66
+        if (!$user instanceof IUser || $user->getEMailAddress() === null) {
67
+            return;
68
+        }
69
+
70
+        $event = $this->activityManager->generateEvent();
71
+        $event->setApp('settings')
72
+            ->setType('personal_settings')
73
+            ->setAffectedUser($user->getUID());
74
+
75
+        $instanceUrl = $this->urlGenerator->getAbsoluteURL('/');
76
+
77
+        $actor = $this->userSession->getUser();
78
+        if ($actor instanceof IUser) {
79
+            if ($actor->getUID() !== $user->getUID()) {
80
+                $text = $this->l->t('%1$s changed your password on %2$s.', [$actor->getDisplayName(), $instanceUrl]);
81
+                $event->setAuthor($actor->getUID())
82
+                    ->setSubject(Provider::PASSWORD_CHANGED_BY, [$actor->getUID()]);
83
+            } else {
84
+                $text = $this->l->t('Your password on %s was changed.', [$instanceUrl]);
85
+                $event->setAuthor($actor->getUID())
86
+                    ->setSubject(Provider::PASSWORD_CHANGED_SELF);
87
+            }
88
+        } else {
89
+            $text = $this->l->t('Your password on %s was reset by an administrator.', [$instanceUrl]);
90
+            $event->setSubject(Provider::PASSWORD_RESET);
91
+        }
92
+
93
+        $this->activityManager->publish($event);
94
+
95
+        if ($user->getEMailAddress() !== null) {
96
+            $template = $this->mailer->createEMailTemplate();
97
+            $template->addHeader();
98
+            $template->addHeading($this->l->t('Password changed for %s', $user->getDisplayName()), false);
99
+            $template->addBodyText($text . ' ' . $this->l->t('If you did not request this, please contact an administrator.'));
100
+            $template->addFooter();
101
+
102
+
103
+            $message = $this->mailer->createMessage();
104
+            $message->setTo([$user->getEMailAddress() => $user->getDisplayName()]);
105
+            $message->setSubject($this->l->t('Password for %1$s changed on %2$s', [$user->getDisplayName(), $instanceUrl]));
106
+            $message->setBody($template->renderText(), 'text/plain');
107
+            $message->setHtmlBody($template->renderHtml());
108
+
109
+            $this->mailer->send($message);
110
+        }
111
+    }
112
+
113
+    /**
114
+     * @param IUser $user
115
+     * @param string|null $oldMailAddress
116
+     * @throws \InvalidArgumentException
117
+     * @throws \BadMethodCallException
118
+     */
119
+    public function onChangeEmail(IUser $user, $oldMailAddress) {
120
+
121
+        if ($oldMailAddress === $user->getEMailAddress()) {
122
+            // Email didn't really change, so don't create activities and emails
123
+            return;
124
+        }
125
+
126
+        $event = $this->activityManager->generateEvent();
127
+        $event->setApp('settings')
128
+            ->setType('personal_settings')
129
+            ->setAffectedUser($user->getUID());
130
+
131
+        $instanceUrl = $this->urlGenerator->getAbsoluteURL('/');
132
+
133
+        $actor = $this->userSession->getUser();
134
+        if ($actor instanceof IUser) {
135
+            if ($actor->getUID() !== $user->getUID()) {
136
+                $text = $this->l->t('%1$s changed your email address on %2$s.', [$actor->getDisplayName(), $instanceUrl]);
137
+                $event->setAuthor($actor->getUID())
138
+                    ->setSubject(Provider::EMAIL_CHANGED_BY, [$actor->getUID()]);
139
+            } else {
140
+                $text = $this->l->t('Your email address on %s was changed.', [$instanceUrl]);
141
+                $event->setAuthor($actor->getUID())
142
+                    ->setSubject(Provider::EMAIL_CHANGED_SELF);
143
+            }
144
+        } else {
145
+            $text = $this->l->t('Your email address on %s was changed by an administrator.', [$instanceUrl]);
146
+            $event->setSubject(Provider::EMAIL_CHANGED);
147
+        }
148
+        $this->activityManager->publish($event);
149
+
150
+
151
+        if ($oldMailAddress !== null) {
152
+            $template = $this->mailer->createEMailTemplate();
153
+            $template->addHeader();
154
+            $template->addHeading($this->l->t('Email address changed for %s', $user->getDisplayName()), false);
155
+            $template->addBodyText($text . ' ' . $this->l->t('If you did not request this, please contact an administrator.'));
156
+            if ($user->getEMailAddress()) {
157
+                $template->addBodyText($this->l->t('The new email address is %s', $user->getEMailAddress()));
158
+            }
159
+            $template->addFooter();
160
+
161
+
162
+            $message = $this->mailer->createMessage();
163
+            $message->setTo([$oldMailAddress => $user->getDisplayName()]);
164
+            $message->setSubject($this->l->t('Email address for %1$s changed on %2$s', [$user->getDisplayName(), $instanceUrl]));
165
+            $message->setBody($template->renderText(), 'text/plain');
166
+            $message->setHtmlBody($template->renderHtml());
167
+
168
+            $this->mailer->send($message);
169
+        }
170
+    }
171 171
 }
Please login to merge, or discard this patch.