function sucuriscan_settings_apiservice_https($nonce) { $params = array(); $params['ApiProtocol.StatusNum'] = '1'; $params['ApiProtocol.Status'] = 'Enabled'; $params['ApiProtocol.SwitchText'] = 'Disable'; $params['ApiProtocol.SwitchValue'] = 'http'; $params['ApiProtocol.SwitchCssClass'] = 'button-danger'; $params['ApiProtocol.WarningVisibility'] = 'visible'; $params['ApiProtocol.ErrorVisibility'] = 'hidden'; $params['ApiProtocol.AffectedUrls'] = ''; if ($nonce) { // Enable or disable the API service communication. if ($api_protocol = SucuriScanRequest::post(':api_protocol', 'http(s)?')) { $message = 'API communication protocol was set to <code>' . strtoupper($api_protocol) . '</code>'; SucuriScanEvent::report_info_event($message); SucuriScanEvent::notify_event('plugin_change', $message); SucuriScanOption::update_option(':api_protocol', $api_protocol); SucuriScanInterface::info($message); } } $api_protocol = SucuriScanOption::get_option(':api_protocol'); if ($api_protocol !== 'https') { $params['ApiProtocol.StatusNum'] = '0'; $params['ApiProtocol.Status'] = 'Disabled'; $params['ApiProtocol.SwitchText'] = 'Enable'; $params['ApiProtocol.SwitchValue'] = 'https'; $params['ApiProtocol.SwitchCssClass'] = 'button-success'; $params['ApiProtocol.WarningVisibility'] = 'hidden'; $params['ApiProtocol.ErrorVisibility'] = 'visible'; } $counter = 0; $affected_urls = SucuriScanAPI::ambiguousApiUrls(); foreach ($affected_urls as $unique => $url) { $counter++; $url = SucuriScanAPI::apiUrlProtocol($url, $api_protocol); $css_class = $counter % 2 === 0 ? 'alternate' : ''; $params['ApiProtocol.AffectedUrls'] .= SucuriScanTemplate::getSnippet('settings-apiservice-protocol', array('ApiProtocol.CssClass' => $css_class, 'ApiProtocol.ID' => $unique, 'ApiProtocol.URL' => $url)); } return SucuriScanTemplate::getSection('settings-apiservice-protocol', $params); }