{"action":"created","comment":{"url":"https://api.github.com/repos/Wikia/app/pulls/comments/86966772","pull_request_review_id":7596910,"id":86966772,"diff_hunk":"@@ -2082,41 +2082,48 @@ public static function clearUserCache( $userId ) {\n \t * wipes it, so the account cannot be logged in until\n \t * a new password is set, for instance via e-mail.\n \t *\n-\t * @param $str String New password to set\n-\t * @throws PasswordError on failure\n+\t * @param string $password New password to set\n+\t * @param bool   $forceLogout\n \t *\n-\t * @return bool\n+\t * @return bool on failure\n+\t *\n+\t * @throws PasswordError on failure\n \t */\n-\tpublic function setPassword( $str, $forceLogout = true ) {\n-\t\tglobal $wgAuth;\n-\n-\t\tif( $str !== null ) {\n-\t\t\tif( !$wgAuth->allowPasswordChange() ) {\n-\t\t\t\tthrow new PasswordError( wfMsg( 'password-change-forbidden' ) );\n-\t\t\t}\n+\tpublic function setPassword( $password, $forceLogout = true ) {\n+\t\t$heliosClient = self::heliosClient();\n+\t\t$heliosPasswordChange = null;\n \n-\t\t\tif( !$this->isValidPassword( $str ) ) {\n-\t\t\t\tglobal $wgMinimalPasswordLength;\n-\t\t\t\t$valid = $this->getPasswordValidity( $str );\n-\t\t\t\tif ( is_array( $valid ) ) {\n-\t\t\t\t\t$message = array_shift( $valid );\n-\t\t\t\t\t$params = $valid;\n-\t\t\t\t} else {\n-\t\t\t\t\t$message = $valid;\n-\t\t\t\t\t$params = array( $wgMinimalPasswordLength );\n-\t\t\t\t}\n-\t\t\t\tthrow new PasswordError( wfMsgExt( $message, array( 'parsemag' ), $params ) );\n-\t\t\t}\n+\t\ttry {\n+\t\t\t$heliosPasswordChange = $heliosClient->setPassword( $this->getId(), $password );\n+\t\t} catch ( \\Exception $e ) {\n+\t\t\tWikiaLogger::instance()->error( 'Failed to communicate with Helios for password set', [\n+\t\t\t\t'userId' => $this->getId(),\n+\t\t\t\t'err'    => $e,\n+\t\t\t] );\n \t\t}\n \n-\t\tif( !$wgAuth->setPassword( $this, $str ) ) {\n+\t\tif ( !$heliosPasswordChange ) {\n+\t\t\tWikiaLogger::instance()->error( 'Failed to communicate with Helios for password set', [\n+\t\t\t\t'userId' => $this->getId(),\n+\t\t\t\t'err'    => $heliosPasswordChange,\n+\t\t\t] );\n+\n \t\t\tthrow new PasswordError( wfMsg( 'externaldberror' ) );\n \t\t}\n \n-\t\t$this->setInternalPassword( $str );\n+\t\tif ( !empty( $heliosPasswordChange->errors ) ) {\n+\t\t\tWikiaLogger::instance()->error( 'Failed to communicate with Helios for password set', [\n+\t\t\t\t'userId' => $this->getId(),\n+\t\t\t\t'err'    => $heliosPasswordChange,\n+\t\t\t] );\n+\n+\t\t\tthrow new PasswordError( wfMsg( $heliosPasswordChange->errors[0]->description ) );","path":"includes/User.php","position":141,"original_position":141,"commit_id":"d31906f87d35ffc6180722e900459e3b8094d866","original_commit_id":"d31906f87d35ffc6180722e900459e3b8094d866","user":{"login":"Grunny","id":230630,"avatar_url":"https://avatars.githubusercontent.com/u/230630?v=3","gravatar_id":"","url":"https://api.github.com/users/Grunny","html_url":"https://github.com/Grunny","followers_url":"https://api.github.com/users/Grunny/followers","following_url":"https://api.github.com/users/Grunny/following{/other_user}","gists_url":"https://api.github.com/users/Grunny/gists{/gist_id}","starred_url":"https://api.github.com/users/Grunny/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Grunny/subscriptions","organizations_url":"https://api.github.com/users/Grunny/orgs","repos_url":"https://api.github.com/users/Grunny/repos","events_url":"https://api.github.com/users/Grunny/events{/privacy}","received_events_url":"https://api.github.com/users/Grunny/received_events","type":"User","site_admin":false},"body":"`wfMsg`  is deprecated in favour of `wfMessage`, so new code should use `wfMessage` with an output format.","created_at":"2016-11-08T11:02:41Z","updated_at":"2016-11-08T11:12:15Z","html_url":"https://github.com/Wikia/app/pull/11783#discussion_r86966772","pull_request_url":"https://api.github.com/repos/Wikia/app/pulls/11783","_links":{"self":{"href":"https://api.github.com/repos/Wikia/app/pulls/comments/86966772"},"html":{"href":"https://github.com/Wikia/app/pull/11783#discussion_r86966772"},"pull_request":{"href":"https://api.github.com/repos/Wikia/app/pulls/11783"}}},"pull_request":{"url":"https://api.github.com/repos/Wikia/app/pulls/11783","id":92325519,"html_url":"https://github.com/Wikia/app/pull/11783","diff_url":"https://github.com/Wikia/app/pull/11783.diff","patch_url":"https://github.com/Wikia/app/pull/11783.patch","issue_url":"https://api.github.com/repos/Wikia/app/issues/11783","number":11783,"state":"open","locked":false,"title":"PLATFORM-2540 implementing new hashing via helios","user":{"login":"pgrabowski-wikia","id":20514390,"avatar_url":"https://avatars.githubusercontent.com/u/20514390?v=3","gravatar_id":"","url":"https://api.github.com/users/pgrabowski-wikia","html_url":"https://github.com/pgrabowski-wikia","followers_url":"https://api.github.com/users/pgrabowski-wikia/followers","following_url":"https://api.github.com/users/pgrabowski-wikia/following{/other_user}","gists_url":"https://api.github.com/users/pgrabowski-wikia/gists{/gist_id}","starred_url":"https://api.github.com/users/pgrabowski-wikia/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pgrabowski-wikia/subscriptions","organizations_url":"https://api.github.com/users/pgrabowski-wikia/orgs","repos_url":"https://api.github.com/users/pgrabowski-wikia/repos","events_url":"https://api.github.com/users/pgrabowski-wikia/events{/privacy}","received_events_url":"https://api.github.com/users/pgrabowski-wikia/received_events","type":"User","site_admin":false},"body":"https://wikia-inc.atlassian.net/browse/PLATFORM-2540","created_at":"2016-11-04T11:43:54Z","updated_at":"2016-11-08T11:12:15Z","closed_at":null,"merged_at":null,"merge_commit_sha":"0ffbe0859793d08480eb924c6dc3d9d2b8316463","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/Wikia/app/pulls/11783/commits","review_comments_url":"https://api.github.com/repos/Wikia/app/pulls/11783/comments","review_comment_url":"https://api.github.com/repos/Wikia/app/pulls/comments{/number}","comments_url":"https://api.github.com/repos/Wikia/app/issues/11783/comments","statuses_url":"https://api.github.com/repos/Wikia/app/statuses/d31906f87d35ffc6180722e900459e3b8094d866","head":{"label":"Wikia:PLATFORM-2540","ref":"PLATFORM-2540","sha":"d31906f87d35ffc6180722e900459e3b8094d866","user":{"login":"Wikia","id":1171011,"avatar_url":"https://avatars.githubusercontent.com/u/1171011?v=3","gravatar_id":"","url":"https://api.github.com/users/Wikia","html_url":"https://github.com/Wikia","followers_url":"https://api.github.com/users/Wikia/followers","following_url":"https://api.github.com/users/Wikia/following{/other_user}","gists_url":"https://api.github.com/users/Wikia/gists{/gist_id}","starred_url":"https://api.github.com/users/Wikia/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Wikia/subscriptions","organizations_url":"https://api.github.com/users/Wikia/orgs","repos_url":"https://api.github.com/users/Wikia/repos","events_url":"https://api.github.com/users/Wikia/events{/privacy}","received_events_url":"https://api.github.com/users/Wikia/received_events","type":"Organization","site_admin":false},"repo":{"id":5532313,"name":"app","full_name":"Wikia/app","owner":{"login":"Wikia","id":1171011,"avatar_url":"https://avatars.githubusercontent.com/u/1171011?v=3","gravatar_id":"","url":"https://api.github.com/users/Wikia","html_url":"https://github.com/Wikia","followers_url":"https://api.github.com/users/Wikia/followers","following_url":"https://api.github.com/users/Wikia/following{/other_user}","gists_url":"https://api.github.com/users/Wikia/gists{/gist_id}","starred_url":"https://api.github.com/users/Wikia/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Wikia/subscriptions","organizations_url":"https://api.github.com/users/Wikia/orgs","repos_url":"https://api.github.com/users/Wikia/repos","events_url":"https://api.github.com/users/Wikia/events{/privacy}","received_events_url":"https://api.github.com/users/Wikia/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Wikia/app","description":"Wikia Application Code","fork":false,"url":"https://api.github.com/repos/Wikia/app","forks_url":"https://api.github.com/repos/Wikia/app/forks","keys_url":"https://api.github.com/repos/Wikia/app/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Wikia/app/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Wikia/app/teams","hooks_url":"https://api.github.com/repos/Wikia/app/hooks","issue_events_url":"https://api.github.com/repos/Wikia/app/issues/events{/number}","events_url":"https://api.github.com/repos/Wikia/app/events","assignees_url":"https://api.github.com/repos/Wikia/app/assignees{/user}","branches_url":"https://api.github.com/repos/Wikia/app/branches{/branch}","tags_url":"https://api.github.com/repos/Wikia/app/tags","blobs_url":"https://api.github.com/repos/Wikia/app/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Wikia/app/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Wikia/app/git/refs{/sha}","trees_url":"https://api.github.com/repos/Wikia/app/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Wikia/app/statuses/{sha}","languages_url":"https://api.github.com/repos/Wikia/app/languages","stargazers_url":"https://api.github.com/repos/Wikia/app/stargazers","contributors_url":"https://api.github.com/repos/Wikia/app/contributors","subscribers_url":"https://api.github.com/repos/Wikia/app/subscribers","subscription_url":"https://api.github.com/repos/Wikia/app/subscription","commits_url":"https://api.github.com/repos/Wikia/app/commits{/sha}","git_commits_url":"https://api.github.com/repos/Wikia/app/git/commits{/sha}","comments_url":"https://api.github.com/repos/Wikia/app/comments{/number}","issue_comment_url":"https://api.github.com/repos/Wikia/app/issues/comments{/number}","contents_url":"https://api.github.com/repos/Wikia/app/contents/{+path}","compare_url":"https://api.github.com/repos/Wikia/app/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Wikia/app/merges","archive_url":"https://api.github.com/repos/Wikia/app/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Wikia/app/downloads","issues_url":"https://api.github.com/repos/Wikia/app/issues{/number}","pulls_url":"https://api.github.com/repos/Wikia/app/pulls{/number}","milestones_url":"https://api.github.com/repos/Wikia/app/milestones{/number}","notifications_url":"https://api.github.com/repos/Wikia/app/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Wikia/app/labels{/name}","releases_url":"https://api.github.com/repos/Wikia/app/releases{/id}","deployments_url":"https://api.github.com/repos/Wikia/app/deployments","created_at":"2012-08-23T20:55:58Z","updated_at":"2016-10-25T14:25:04Z","pushed_at":"2016-11-08T10:51:53Z","git_url":"git://github.com/Wikia/app.git","ssh_url":"git@github.com:Wikia/app.git","clone_url":"https://github.com/Wikia/app.git","svn_url":"https://github.com/Wikia/app","homepage":"http://dev.wikia.com","size":1459849,"stargazers_count":105,"watchers_count":105,"language":"PHP","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":88,"mirror_url":null,"open_issues_count":116,"forks":88,"open_issues":116,"watchers":105,"default_branch":"dev"}},"base":{"label":"Wikia:PLATFORM-2539","ref":"PLATFORM-2539","sha":"7ceff55c07066b6bbb5662ea1060e8b881e27559","user":{"login":"Wikia","id":1171011,"avatar_url":"https://avatars.githubusercontent.com/u/1171011?v=3","gravatar_id":"","url":"https://api.github.com/users/Wikia","html_url":"https://github.com/Wikia","followers_url":"https://api.github.com/users/Wikia/followers","following_url":"https://api.github.com/users/Wikia/following{/other_user}","gists_url":"https://api.github.com/users/Wikia/gists{/gist_id}","starred_url":"https://api.github.com/users/Wikia/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Wikia/subscriptions","organizations_url":"https://api.github.com/users/Wikia/orgs","repos_url":"https://api.github.com/users/Wikia/repos","events_url":"https://api.github.com/users/Wikia/events{/privacy}","received_events_url":"https://api.github.com/users/Wikia/received_events","type":"Organization","site_admin":false},"repo":{"id":5532313,"name":"app","full_name":"Wikia/app","owner":{"login":"Wikia","id":1171011,"avatar_url":"https://avatars.githubusercontent.com/u/1171011?v=3","gravatar_id":"","url":"https://api.github.com/users/Wikia","html_url":"https://github.com/Wikia","followers_url":"https://api.github.com/users/Wikia/followers","following_url":"https://api.github.com/users/Wikia/following{/other_user}","gists_url":"https://api.github.com/users/Wikia/gists{/gist_id}","starred_url":"https://api.github.com/users/Wikia/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Wikia/subscriptions","organizations_url":"https://api.github.com/users/Wikia/orgs","repos_url":"https://api.github.com/users/Wikia/repos","events_url":"https://api.github.com/users/Wikia/events{/privacy}","received_events_url":"https://api.github.com/users/Wikia/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Wikia/app","description":"Wikia Application Code","fork":false,"url":"https://api.github.com/repos/Wikia/app","forks_url":"https://api.github.com/repos/Wikia/app/forks","keys_url":"https://api.github.com/repos/Wikia/app/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Wikia/app/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Wikia/app/teams","hooks_url":"https://api.github.com/repos/Wikia/app/hooks","issue_events_url":"https://api.github.com/repos/Wikia/app/issues/events{/number}","events_url":"https://api.github.com/repos/Wikia/app/events","assignees_url":"https://api.github.com/repos/Wikia/app/assignees{/user}","branches_url":"https://api.github.com/repos/Wikia/app/branches{/branch}","tags_url":"https://api.github.com/repos/Wikia/app/tags","blobs_url":"https://api.github.com/repos/Wikia/app/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Wikia/app/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Wikia/app/git/refs{/sha}","trees_url":"https://api.github.com/repos/Wikia/app/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Wikia/app/statuses/{sha}","languages_url":"https://api.github.com/repos/Wikia/app/languages","stargazers_url":"https://api.github.com/repos/Wikia/app/stargazers","contributors_url":"https://api.github.com/repos/Wikia/app/contributors","subscribers_url":"https://api.github.com/repos/Wikia/app/subscribers","subscription_url":"https://api.github.com/repos/Wikia/app/subscription","commits_url":"https://api.github.com/repos/Wikia/app/commits{/sha}","git_commits_url":"https://api.github.com/repos/Wikia/app/git/commits{/sha}","comments_url":"https://api.github.com/repos/Wikia/app/comments{/number}","issue_comment_url":"https://api.github.com/repos/Wikia/app/issues/comments{/number}","contents_url":"https://api.github.com/repos/Wikia/app/contents/{+path}","compare_url":"https://api.github.com/repos/Wikia/app/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Wikia/app/merges","archive_url":"https://api.github.com/repos/Wikia/app/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Wikia/app/downloads","issues_url":"https://api.github.com/repos/Wikia/app/issues{/number}","pulls_url":"https://api.github.com/repos/Wikia/app/pulls{/number}","milestones_url":"https://api.github.com/repos/Wikia/app/milestones{/number}","notifications_url":"https://api.github.com/repos/Wikia/app/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Wikia/app/labels{/name}","releases_url":"https://api.github.com/repos/Wikia/app/releases{/id}","deployments_url":"https://api.github.com/repos/Wikia/app/deployments","created_at":"2012-08-23T20:55:58Z","updated_at":"2016-10-25T14:25:04Z","pushed_at":"2016-11-08T10:51:53Z","git_url":"git://github.com/Wikia/app.git","ssh_url":"git@github.com:Wikia/app.git","clone_url":"https://github.com/Wikia/app.git","svn_url":"https://github.com/Wikia/app","homepage":"http://dev.wikia.com","size":1459849,"stargazers_count":105,"watchers_count":105,"language":"PHP","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":88,"mirror_url":null,"open_issues_count":116,"forks":88,"open_issues":116,"watchers":105,"default_branch":"dev"}},"_links":{"self":{"href":"https://api.github.com/repos/Wikia/app/pulls/11783"},"html":{"href":"https://github.com/Wikia/app/pull/11783"},"issue":{"href":"https://api.github.com/repos/Wikia/app/issues/11783"},"comments":{"href":"https://api.github.com/repos/Wikia/app/issues/11783/comments"},"review_comments":{"href":"https://api.github.com/repos/Wikia/app/pulls/11783/comments"},"review_comment":{"href":"https://api.github.com/repos/Wikia/app/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/Wikia/app/pulls/11783/commits"},"statuses":{"href":"https://api.github.com/repos/Wikia/app/statuses/d31906f87d35ffc6180722e900459e3b8094d866"}}}}
{"actor":{"display_login":"Grunny"}}