getRequest()->getUser(); // Ideally we'd like to verify this, but it's fine to leave it unguarded // for now and verifying it would need some Ajax junk or for the user to // click a button or similar. $unguarded = AphrontWriteGuard::beginScopedUnguardedWrites(); $old_token = id(new PhabricatorConduitCertificateToken()) ->loadOneWhere( 'userPHID = %s', $user->getPHID()); if ($old_token) { $old_token->delete(); } $token = id(new PhabricatorConduitCertificateToken()) ->setUserPHID($user->getPHID()) ->setToken(Filesystem::readRandomCharacters(40)) ->save(); $panel = new AphrontPanelView(); $panel->setHeader('Certificate Install Token'); $panel->setWidth(AphrontPanelView::WIDTH_FORM); $panel->appendChild(hsprintf( '

Copy and paste this token into '. 'the prompt given to you by "arc install-certificate":

'. '

'. '%s'. '

'. '

arc will then complete the '. 'install process for you.

', $token->getToken())); $this->setShowSideNav(false); return $this->buildStandardPageResponse( $panel, array( 'title' => 'Certificate Install Token', )); } }