Esempio n. 1
0
 /**
  * Returns a pretty formated monetary value using the currency associated with a site.
  *
  * @param int|string $value The monetary value to format.
  * @param int $idSite The ID of the site whose currency will be used.
  * @param bool $isHtml If true, replaces all spaces with `' '`.
  * @return string
  */
 public static function getPrettyMoney($value, $idSite, $isHtml = true)
 {
     $currencyBefore = MetricsFormatter::getCurrencySymbol($idSite);
     $space = ' ';
     if ($isHtml) {
         $space = ' ';
     }
     $currencyAfter = '';
     // (maybe more currencies prefer this notation?)
     $currencySymbolToAppend = array('€', 'kr', 'zł');
     // manually put the currency symbol after the amount
     if (in_array($currencyBefore, $currencySymbolToAppend)) {
         $currencyAfter = $space . $currencyBefore;
         $currencyBefore = '';
     }
     // if the input is a number (it could be a string or INPUT form),
     // and if this number is not an int, we round to precision 2
     if (is_numeric($value)) {
         if ($value == round($value)) {
             // 0.0 => 0
             $value = round($value);
         } else {
             $precision = GoalManager::REVENUE_PRECISION;
             $value = sprintf("%01." . $precision . "f", $value);
         }
     }
     $prettyMoney = $currencyBefore . $space . $value . $currencyAfter;
     return $prettyMoney;
 }
Esempio n. 2
0
 /**
  * Renders and echo's an admin page that lets users generate custom JavaScript
  * tracking code and custom image tracker links.
  */
 public function trackingCodeGenerator()
 {
     $view = new View('@CoreAdminHome/trackingCodeGenerator');
     $this->setBasicVariablesView($view);
     $view->topMenu = MenuTop::getInstance()->getMenu();
     $view->userMenu = MenuUser::getInstance()->getMenu();
     $viewableIdSites = APISitesManager::getInstance()->getSitesIdWithAtLeastViewAccess();
     $defaultIdSite = reset($viewableIdSites);
     $view->idSite = Common::getRequestVar('idSite', $defaultIdSite, 'int');
     $view->defaultReportSiteName = Site::getNameFor($view->idSite);
     $view->defaultSiteRevenue = \Piwik\MetricsFormatter::getCurrencySymbol($view->idSite);
     $view->maxCustomVariables = CustomVariables::getMaxCustomVariables();
     $allUrls = APISitesManager::getInstance()->getSiteUrlsFromId($view->idSite);
     if (isset($allUrls[1])) {
         $aliasUrl = $allUrls[1];
     } else {
         $aliasUrl = 'x.domain.com';
     }
     $view->defaultReportSiteAlias = $aliasUrl;
     $mainUrl = Site::getMainUrlFor($view->idSite);
     $view->defaultReportSiteDomain = @parse_url($mainUrl, PHP_URL_HOST);
     // get currencies for each viewable site
     $view->currencySymbols = APISitesManager::getInstance()->getCurrencySymbols();
     $view->serverSideDoNotTrackEnabled = \Piwik\Plugins\PrivacyManager\DoNotTrackHeaderChecker::isActive();
     return $view->render();
 }
Esempio n. 3
0
 /**
  * Derive the unit name from a column name
  * @param $column
  * @param $idSite
  * @return string
  * @ignore
  */
 public static function getUnit($column, $idSite)
 {
     $nameToUnit = array('_rate' => '%', 'revenue' => MetricsFormatter::getCurrencySymbol($idSite), '_time_' => 's');
     foreach ($nameToUnit as $pattern => $type) {
         if (strpos($column, $pattern) !== false) {
             return $type;
         }
     }
     return '';
 }