Piwik\Plugins\CoreAdminHome\Controller::setMailSettings PHP Method

setMailSettings() public method

public setMailSettings ( )
    public function setMailSettings()
    {
        Piwik::checkUserHasSuperUserAccess();
        if (!self::isGeneralSettingsAdminEnabled()) {
            // General settings + Beta channel + SMTP settings is disabled
            return '';
        }
        $response = new ResponseBuilder('json');
        try {
            $this->checkTokenInUrl();
            // Update email settings
            $mail = array();
            $mail['transport'] = Common::getRequestVar('mailUseSmtp') == '1' ? 'smtp' : '';
            $mail['port'] = Common::getRequestVar('mailPort', '');
            $mail['host'] = Common::unsanitizeInputValue(Common::getRequestVar('mailHost', ''));
            $mail['type'] = Common::getRequestVar('mailType', '');
            $mail['username'] = Common::unsanitizeInputValue(Common::getRequestVar('mailUsername', ''));
            $mail['password'] = Common::unsanitizeInputValue(Common::getRequestVar('mailPassword', ''));
            $mail['encryption'] = Common::getRequestVar('mailEncryption', '');
            Config::getInstance()->mail = $mail;
            Config::getInstance()->forceSave();
            $toReturn = $response->getResponse();
        } catch (Exception $e) {
            $toReturn = $response->getResponseException($e);
        }
        return $toReturn;
    }