Piwik\SettingsPiwik::getPiwikUrl PHP Method

getPiwikUrl() public static method

Returns the URL to this Piwik instance, eg. **http://demo.piwik.org/** or **http://example.org/piwik/**.
public static getPiwikUrl ( ) : string
return string
    public static function getPiwikUrl()
    {
        $url = Option::get(self::OPTION_PIWIK_URL);
        $isPiwikCoreDispatching = defined('PIWIK_ENABLE_DISPATCH') && PIWIK_ENABLE_DISPATCH;
        if (Common::isPhpCliMode() || SettingsServer::isArchivePhpTriggered() || !$isPiwikCoreDispatching) {
            return $url;
        }
        $currentUrl = Common::sanitizeInputValue(Url::getCurrentUrlWithoutFileName());
        // when script is called from /misc/cron/archive.php, Piwik URL is /index.php
        $currentUrl = str_replace("/misc/cron", "", $currentUrl);
        if (empty($url) || $currentUrl != $url) {
            $host = Url::getHostFromUrl($url);
            if (strlen($currentUrl) >= strlen('http://a/') && !Url::isLocalHost($host)) {
                self::overwritePiwikUrl($currentUrl);
            }
            $url = $currentUrl;
        }
        if (ProxyHttp::isHttps()) {
            $url = str_replace("http://", "https://", $url);
        }
        return $url;
    }

Usage Example

Example #1
0
 protected function sendNotifications()
 {
     $latestVersion = $this->getLatestVersion();
     $host = SettingsPiwik::getPiwikUrl();
     $subject = Piwik::translate('CoreUpdater_NotificationSubjectAvailableCoreUpdate', $latestVersion);
     $message = Piwik::translate('ScheduledReports_EmailHello');
     $message .= "\n\n";
     $message .= Piwik::translate('CoreUpdater_ThereIsNewVersionAvailableForUpdate');
     $message .= "\n\n";
     $message .= Piwik::translate('CoreUpdater_YouCanUpgradeAutomaticallyOrDownloadPackage', $latestVersion);
     $message .= "\n";
     $message .= $host . 'index.php?module=CoreUpdater&action=newVersionAvailable';
     $message .= "\n\n";
     $version = new Version();
     if ($version->isStableVersion($latestVersion)) {
         $message .= Piwik::translate('CoreUpdater_ViewVersionChangelog');
         $message .= "\n";
         $message .= $this->getLinkToChangeLog($latestVersion);
         $message .= "\n\n";
     }
     $message .= Piwik::translate('CoreUpdater_FeedbackRequest');
     $message .= "\n";
     $message .= 'http://piwik.org/contact/';
     $this->sendEmailNotification($subject, $message);
 }
All Usage Examples Of Piwik\SettingsPiwik::getPiwikUrl