Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/SitesManager/templates')
-rw-r--r--plugins/SitesManager/templates/dialogs/dialogs.html3
-rw-r--r--plugins/SitesManager/templates/dialogs/edit-dialog.html6
-rw-r--r--plugins/SitesManager/templates/dialogs/remove-dialog.html7
-rw-r--r--plugins/SitesManager/templates/directives/multiline-field.html7
-rw-r--r--plugins/SitesManager/templates/global-settings.html181
-rw-r--r--plugins/SitesManager/templates/global-settings.twig178
-rw-r--r--plugins/SitesManager/templates/help/excluded-ip-help.html8
-rw-r--r--plugins/SitesManager/templates/help/excluded-query-parameters-help.html8
-rw-r--r--plugins/SitesManager/templates/help/excluded-user-agents-help.html8
-rw-r--r--plugins/SitesManager/templates/help/timezone-help.html21
-rw-r--r--plugins/SitesManager/templates/index.html9
-rw-r--r--plugins/SitesManager/templates/index.twig61
-rw-r--r--plugins/SitesManager/templates/init-script.twig63
-rw-r--r--plugins/SitesManager/templates/sites-list/add-site-link.html3
-rw-r--r--plugins/SitesManager/templates/sites-list/alias-urls-field.html23
-rw-r--r--plugins/SitesManager/templates/sites-list/site-fields.html168
-rw-r--r--plugins/SitesManager/templates/sites-list/site-search-field.html73
-rw-r--r--plugins/SitesManager/templates/sites-list/sites-list.html37
-rw-r--r--plugins/SitesManager/templates/sites-management.twig125
-rw-r--r--plugins/SitesManager/templates/sites-manager-header.html18
-rw-r--r--plugins/SitesManager/templates/sites-manager-heading.twig12
21 files changed, 581 insertions, 438 deletions
diff --git a/plugins/SitesManager/templates/dialogs/dialogs.html b/plugins/SitesManager/templates/dialogs/dialogs.html
new file mode 100644
index 0000000000..476505e7bf
--- /dev/null
+++ b/plugins/SitesManager/templates/dialogs/dialogs.html
@@ -0,0 +1,3 @@
+<div ng-include="'plugins/SitesManager/templates/dialogs/edit-dialog.html'"></div>
+
+<div ng-include="'plugins/SitesManager/templates/dialogs/remove-dialog.html'"></div>
diff --git a/plugins/SitesManager/templates/dialogs/edit-dialog.html b/plugins/SitesManager/templates/dialogs/edit-dialog.html
new file mode 100644
index 0000000000..afb9910869
--- /dev/null
+++ b/plugins/SitesManager/templates/dialogs/edit-dialog.html
@@ -0,0 +1,6 @@
+<div class="ui-confirm" piwik-dialog="site.editDialog.show">
+
+ <h2>{{ site.editDialog.title }}</h2>
+
+ <input role="no" type="button" value="{{ 'General_Ok'|translate }}"/>
+</div>
diff --git a/plugins/SitesManager/templates/dialogs/remove-dialog.html b/plugins/SitesManager/templates/dialogs/remove-dialog.html
new file mode 100644
index 0000000000..d08287e917
--- /dev/null
+++ b/plugins/SitesManager/templates/dialogs/remove-dialog.html
@@ -0,0 +1,7 @@
+<div class="ui-confirm" piwik-dialog="site.removeDialog.show" yes="site.delete()">
+
+ <h2>{{ site.removeDialog.title }}</h2>
+
+ <input type="button" value="{{ 'General_Cancel'|translate }}" role="no" />
+ <input type="button" value="{{ 'General_Ok'|translate }}" role="yes"/>
+</div>
diff --git a/plugins/SitesManager/templates/directives/multiline-field.html b/plugins/SitesManager/templates/directives/multiline-field.html
new file mode 100644
index 0000000000..fed8822dc1
--- /dev/null
+++ b/plugins/SitesManager/templates/directives/multiline-field.html
@@ -0,0 +1,7 @@
+<textarea
+ cols="{{ cols }}"
+ rows="{{ rows }}"
+ ng-model="field.value"
+ ng-change="onChange()">
+
+</textarea>
diff --git a/plugins/SitesManager/templates/global-settings.html b/plugins/SitesManager/templates/global-settings.html
new file mode 100644
index 0000000000..7b441da490
--- /dev/null
+++ b/plugins/SitesManager/templates/global-settings.html
@@ -0,0 +1,181 @@
+<div ng-show="hasSuperUserAccess">
+
+ <br/>
+
+ <h2 id="globalSettings">{{ 'SitesManager_GlobalWebsitesSettings' | translate }}</h2>
+
+ <br/>
+
+ <table style="width:600px;" class="adminTable">
+
+ <tr>
+ <td colspan="2">
+ <strong>{{ 'SitesManager_GlobalListExcludedIps'|translate }}</strong>
+
+ <p>{{ 'SitesManager_ListOfIpsToBeExcludedOnAllWebsites'|translate }} </p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <div sites-manager-multiline-field field="globalSettings.excludedIpsGlobal" cols="30" rows="3" id="excludedIpsGlobal"></div>
+ </td>
+ <td>
+ <label for="excludedIpsGlobal" ng-include="'plugins/SitesManager/templates/help/excluded-ip-help.html'">
+ </label>
+ </td>
+ </tr>
+
+ <tr>
+ <td colspan="2">
+ <strong>{{ 'SitesManager_GlobalListExcludedQueryParameters'|translate }}</strong>
+
+ <p>{{ 'SitesManager_ListOfQueryParametersToBeExcludedOnAllWebsites'|translate }} </p>
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <div sites-manager-multiline-field field="globalSettings.excludedQueryParametersGlobal" cols="30" rows="3" id="excludedQueryParametersGlobal"></div>
+ </td>
+ <td>
+ <label for="excludedQueryParametersGlobal" ng-include="'plugins/SitesManager/templates/help/excluded-query-parameters-help.html'">
+ </label>
+ </td>
+ </tr>
+
+ <tr>
+ <td colspan="2">
+ <strong>{{ 'SitesManager_GlobalListExcludedUserAgents'|translate }}</strong>
+
+ <p>{{ 'SitesManager_GlobalListExcludedUserAgents_Desc'|translate }}</p>
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <div sites-manager-multiline-field field="globalSettings.excludedUserAgentsGlobal" cols="30" rows="3" id="excludedUserAgentsGlobal"></div>
+ </td>
+
+ <td>
+ <label for="excludedUserAgentsGlobal" ng-include="'plugins/SitesManager/templates/help/excluded-user-agents-help.html'">
+ </label>
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <input type="checkbox" id="siteSpecificUserAgentExcludeEnabled" ng-model="globalSettings.siteSpecificUserAgentExcludeEnabled">
+
+ <label for="siteSpecificUserAgentExcludeEnabled">
+ {{ 'SitesManager_EnableSiteSpecificUserAgentExclude'|translate }}
+ </label>
+ </td>
+ <td>
+ <div class="ui-inline-help" ng-bind-html="'SitesManager_EnableSiteSpecificUserAgentExclude_Help'|translate:'<a href=\'#excludedUserAgentsGlobal\'>':'</a>'"></div>
+ </td>
+ </tr>
+
+ <tr>
+ <td colspan="2">
+ <strong>{{ 'SitesManager_KeepURLFragments'|translate }}</strong>
+
+ <p ng-bind-html="'SitesManager_KeepURLFragmentsHelp'|translate:'<em>#</em>':'<em>example.org/index.html#first_section</em>':'<em>example.org/index.html</em>'"></p>
+
+ <input type="checkbox" id="keepURLFragmentsGlobal" ng-model="globalSettings.keepURLFragmentsGlobal">
+
+ <label for="keepURLFragmentsGlobal">{{ 'SitesManager_KeepURLFragmentsLong'|translate }}</label>
+
+ <p>{{ 'SitesManager_KeepURLFragmentsHelp2'|translate }}</p>
+ </td>
+ </tr>
+
+ <tr>
+ <td colspan="2">
+
+ <strong>{{ 'SitesManager_TrackingSiteSearch'|translate }}</strong>
+
+ <p>{{ 'SitesManager_SiteSearchUse' | translate }}</p>
+
+ <span class="form-description" style="font-size:8pt;">
+ {{ 'SitesManager_SearchParametersNote'|translate }} {{ 'SitesManager_SearchParametersNote2'|translate }}
+ </span>
+ </td>
+ </tr>
+
+ <tr>
+ <td colspan="2">
+ <label>{{ 'SitesManager_SearchKeywordLabel' | translate }} &nbsp;
+
+ <input ng-list size="15" ng-model="globalSettings.searchKeywordParametersGlobal">
+
+ <div class="ui-inline-help" style='width: 200px;float:right;'>
+ {{ 'SitesManager_SearchKeywordParametersDesc' | translate }}
+ </div>
+ </label>
+ </td>
+ </tr>
+
+ <tr>
+ <td colspan="2">
+ <span ng-hide="customVariablesActivated" class='form-description'>Note: you could also track your Internal Search Engine Categories, but the plugin Custom Variables is required. Please enable the plugin CustomVariables (or ask your Piwik admin).</span>
+ <span ng-show="customVariablesActivated"> {{ 'Goals_Optional'|translate }} {{ 'SitesManager_SearchCategoryDesc'|translate }} <br/> </span>
+ </td>
+ </tr>
+
+ <tr ng-show="customVariablesActivated">
+ <td colspan="2">
+ <label>{{ 'SitesManager_SearchCategoryLabel' | translate }} &nbsp;
+
+ <input ng-list size="15" ng-model="globalSettings.searchCategoryParametersGlobal">
+
+ <div class="ui-inline-help" style='width: 200px;float:right;'>
+ {{ 'Goals_Optional'|translate }} {{ 'SitesManager_SearchCategoryParametersDesc'|translate }}
+ </div>
+ </label>
+ </td>
+ </tr>
+
+ <tr>
+ <td colspan="2">
+ <strong>{{ 'SitesManager_DefaultTimezoneForNewWebsites'|translate }}</strong>
+
+ <p>{{ 'SitesManager_SelectDefaultTimezone'|translate }} </p>
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <select
+ ng-model="globalSettings.defaultTimezone"
+ ng-options="t.code as t.label for t in timezones">
+ </select>
+ </td>
+ <td ng-include="'plugins/SitesManager/templates/help/timezone-help.html'">
+ </td>
+ </tr>
+
+ <tr>
+ <td colspan="2">
+ <strong>{{ 'SitesManager_DefaultCurrencyForNewWebsites'|translate }}</strong>
+
+ <p>{{ 'SitesManager_SelectDefaultCurrency'|translate }}</p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <select
+ ng-model="globalSettings.defaultCurrency"
+ ng-options="k as v for (k, v) in currencies">
+ </select>
+ </td>
+ <td>
+ <div class="ui-inline-help">{{ 'SitesManager_CurrencySymbolWillBeUsedForGoals' | translate }}</div>
+ </td>
+ </tr>
+ </table>
+
+ <span style="margin-left:20px;">
+ <input type="submit" class="submit" ng-click="saveGlobalSettings()" value="{{ 'General_Save'|translate }}"/>
+ </span>
+
+</div>
diff --git a/plugins/SitesManager/templates/global-settings.twig b/plugins/SitesManager/templates/global-settings.twig
deleted file mode 100644
index 2d69ee15e3..0000000000
--- a/plugins/SitesManager/templates/global-settings.twig
+++ /dev/null
@@ -1,178 +0,0 @@
-{% if isSuperUser %}
- <br/>
-
- <h2 id="globalSettings">{{ 'SitesManager_GlobalWebsitesSettings'|translate }}</h2>
- <br/>
- <table style="width:600px;" class="adminTable">
-
- <tr>
- <td colspan="2">
- <strong>{{ 'SitesManager_GlobalListExcludedIps'|translate }}</strong>
-
- <p>{{ 'SitesManager_ListOfIpsToBeExcludedOnAllWebsites'|translate }} </p>
- </td>
- </tr>
- <tr>
- <td>
- <textarea cols="30" rows="3" id="globalExcludedIps">
- {{- globalExcludedIps -}}
- </textarea>
- </td>
- <td>
- <label for="globalExcludedIps">{{ excludedIpHelp }}</label>
- </td>
- </tr>
-
- <tr>
- <td colspan="2">
- <strong>{{ 'SitesManager_GlobalListExcludedQueryParameters'|translate }}</strong>
-
- <p>{{ 'SitesManager_ListOfQueryParametersToBeExcludedOnAllWebsites'|translate }} </p>
- </td>
- </tr>
-
- <tr>
- <td>
- <textarea cols="30" rows="3" id="globalExcludedQueryParameters">
- {{- globalExcludedQueryParameters -}}
- </textarea>
- </td>
- <td>
- <label for="globalExcludedQueryParameters">{{ excludedQueryParametersHelp }}</label>
- </td>
- </tr>
-
- {# global excluded user agents #}
- <tr>
- <td colspan="2">
- <strong>{{ 'SitesManager_GlobalListExcludedUserAgents'|translate }}</strong>
-
- <p>{{ 'SitesManager_GlobalListExcludedUserAgents_Desc'|translate }}</p>
- </td>
- </tr>
-
- <tr>
- <td>
- <textarea cols="30" rows="3" id="globalExcludedUserAgents">
- {{- globalExcludedUserAgents -}}
- </textarea>
- </td>
- <td><label for="globalExcludedUserAgents">{{ excludedUserAgentsHelp }}</label>
- </td>
- </tr>
-
- <tr>
- <td>
- <input type="checkbox" id="enableSiteUserAgentExclude" name="enableSiteUserAgentExclude"
- {% if allowSiteSpecificUserAgentExclude %}checked="checked"{% endif %}/>
- <label for="enableSiteUserAgentExclude">
- {{ 'SitesManager_EnableSiteSpecificUserAgentExclude'|translate }}
- </label>
- <span id="enableSiteUserAgentExclude-loading" class="loadingPiwik" style="display:none;">
- <img src="plugins/Morpheus/images/loading-blue.gif"/>
- </span>
- </td>
- <td>
- {{ piwik.inlineHelp('SitesManager_EnableSiteSpecificUserAgentExclude_Help'|translate('<a href="#editSites">','</a>'))|raw }}
- </td>
- </tr>
-
- {# global keep URL fragments #}
- <tr>
- <td colspan="2">
- <strong>{{ 'SitesManager_KeepURLFragments'|translate }}</strong>
-
- <p>{{ 'SitesManager_KeepURLFragmentsHelp'|translate("<em>#</em>","<em>example.org/index.html#first_section</em>","<em>example.org/index.html</em>")|raw }}
- </p>
- <input type="checkbox" id="globalKeepURLFragments" name="globalKeepURLFragments"
- {% if globalKeepURLFragments %}checked="checked"{% endif %}/>
- <label for="globalKeepURLFragments">{{ 'SitesManager_KeepURLFragmentsLong'|translate }}</label>
-
- <p>{{ 'SitesManager_KeepURLFragmentsHelp2'|translate }}</p>
- </td>
- </tr>
-
- {# global site search #}
- <tr>
- <td colspan="2">
- <strong id="globalSiteSearch">{{ 'SitesManager_TrackingSiteSearch'|translate }}</strong>
-
- <p>{{ sitesearchIntro }}</p>
- <span class="form-description" style="font-size:8pt;">
- {{ 'SitesManager_SearchParametersNote'|translate }} {{ 'SitesManager_SearchParametersNote2'|translate }}
- </span>
- </td>
- </tr>
- <tr>
- <td colspan="2">
- <label>{{ searchKeywordLabel }} &nbsp;
- <input type="text" size="15" id="globalSearchKeywordParameters"
- value="{{ globalSearchKeywordParameters|raw }}"/>
-
- <div style='width: 200px;float:right;'>{{ searchKeywordHelp }}</div>
- </label>
- </td>
- </tr>
-
- <tr>
- <td colspan="2">
- {% if not isSearchCategoryTrackingEnabled %}
- <input value='globalSearchCategoryParametersIsDisabled' id="globalSearchCategoryParameters"
- type='hidden'/>
- <span class='form-description'>Note: you could also track your Internal Search Engine Categories, but the plugin Custom Variables is required. Please enable the plugin CustomVariables (or ask your Piwik admin).</span>
- {% else %}
- {{ 'Goals_Optional'|translate }} {{ 'SitesManager_SearchCategoryDesc'|translate }} <br/>
- </td>
- </tr>
- <tr>
- <td colspan="2">
- <label>{{ searchCategoryLabel }} &nbsp;
- <input type="text" size="15" id="globalSearchCategoryParameters"
- value="{{ globalSearchCategoryParameters|raw }}"/>
-
- <div style='width: 200px;float:right;'>{{ searchCategoryHelp }}</div>
- </label>
- {% endif %}
- </td>
- </tr>
-
- <tr>
- <td colspan="2">
- <strong>{{ 'SitesManager_DefaultTimezoneForNewWebsites'|translate }}</strong>
-
- <p>{{ 'SitesManager_SelectDefaultTimezone'|translate }} </p>
- </td>
- </tr>
- <tr>
- <td>
- <div id='defaultTimezone'></div>
- </td>
- <td>
- {{ defaultTimezoneHelp }}
- </td>
- </tr>
-
- <tr>
- <td colspan="2">
- <strong>{{ 'SitesManager_DefaultCurrencyForNewWebsites'|translate }}</strong>
-
- <p>{{ 'SitesManager_SelectDefaultCurrency'|translate }}</p>
- </td>
- </tr>
- <tr>
- <td>
- <div id='defaultCurrency'></div>
- </td>
- <td>
- {{ currencyHelpPlain }}
- </td>
- </tr>
- </table>
-
- <span style="margin-left:20px;">
- <input type="submit" class="submit" id='globalSettingsSubmit' value="{{ 'General_Save'|translate }}"/>
- </span>
-
- {{ ajax.errorDiv('ajaxErrorGlobalSettings') }}
- {{ ajax.loadingDiv('ajaxLoadingGlobalSettings') }}
-{% endif %}
diff --git a/plugins/SitesManager/templates/help/excluded-ip-help.html b/plugins/SitesManager/templates/help/excluded-ip-help.html
new file mode 100644
index 0000000000..d652d1d4d1
--- /dev/null
+++ b/plugins/SitesManager/templates/help/excluded-ip-help.html
@@ -0,0 +1,8 @@
+<div class="ui-inline-help">
+
+ {{ 'SitesManager_HelpExcludedIps' | translate : '1.2.3.*' : '1.2.*.*' }}
+
+ <br/><br/>
+
+ <span ng-bind-html="'SitesManager_YourCurrentIpAddressIs'|translate:'<i>' + currentIpAddress + '</i>'"></span>
+</div>
diff --git a/plugins/SitesManager/templates/help/excluded-query-parameters-help.html b/plugins/SitesManager/templates/help/excluded-query-parameters-help.html
new file mode 100644
index 0000000000..33b09e91c9
--- /dev/null
+++ b/plugins/SitesManager/templates/help/excluded-query-parameters-help.html
@@ -0,0 +1,8 @@
+<div class="ui-inline-help">
+
+ {{ 'SitesManager_ListOfQueryParametersToExclude'|translate }}
+
+ <br/><br/>
+
+ {{ 'SitesManager_PiwikWillAutomaticallyExcludeCommonSessionParameters'|translate:'phpsessid, sessionid, ...' }}
+</div>
diff --git a/plugins/SitesManager/templates/help/excluded-user-agents-help.html b/plugins/SitesManager/templates/help/excluded-user-agents-help.html
new file mode 100644
index 0000000000..d85fd6a79c
--- /dev/null
+++ b/plugins/SitesManager/templates/help/excluded-user-agents-help.html
@@ -0,0 +1,8 @@
+<div class="ui-inline-help">
+
+ {{ 'SitesManager_GlobalExcludedUserAgentHelp1'|translate }}
+
+ <br/><br/>
+
+ {{ 'SitesManager_GlobalListExcludedUserAgents_Desc'|translate }} {{ 'SitesManager_GlobalExcludedUserAgentHelp2'|translate }}
+</div>
diff --git a/plugins/SitesManager/templates/help/timezone-help.html b/plugins/SitesManager/templates/help/timezone-help.html
new file mode 100644
index 0000000000..1787541516
--- /dev/null
+++ b/plugins/SitesManager/templates/help/timezone-help.html
@@ -0,0 +1,21 @@
+<div class="ui-inline-help">
+
+ <span ng-switch="timezoneSupportEnabled">
+
+ <span ng-switch-default>
+ {{ 'SitesManager_AdvancedTimezoneSupportNotFound'|translate }}
+ </span>
+
+ <span ng-switch-when="true">
+ {{ 'SitesManager_ChooseCityInSameTimezoneAsYou'|translate }}
+ </span>
+ </span>
+
+ <br/><br/>
+
+ {{ 'SitesManager_UTCTimeIs'| translate : (utcTime | date : 'yyyy-MM-dd HH:mm:ss') }}
+
+ <br/><br/>
+
+ {{ 'SitesManager_ChangingYourTimezoneWillOnlyAffectDataForward'|translate }}
+</div>
diff --git a/plugins/SitesManager/templates/index.html b/plugins/SitesManager/templates/index.html
new file mode 100644
index 0000000000..d65a33291c
--- /dev/null
+++ b/plugins/SitesManager/templates/index.html
@@ -0,0 +1,9 @@
+<div ng-controller="SitesManagerController">
+
+ <div ng-include="'plugins/SitesManager/templates/sites-manager-header.html'"></div>
+
+ <div ng-include="'plugins/SitesManager/templates/sites-list/sites-list.html'"></div>
+
+ <div ng-include="'plugins/SitesManager/templates/global-settings.html'"></div>
+
+</div>
diff --git a/plugins/SitesManager/templates/index.twig b/plugins/SitesManager/templates/index.twig
index 0720410640..40cf84c0f2 100644
--- a/plugins/SitesManager/templates/index.twig
+++ b/plugins/SitesManager/templates/index.twig
@@ -2,65 +2,6 @@
{% block content %}
- {% import 'macros.twig' as piwik %}
- {% import 'ajaxMacros.twig' as ajax %}
-
- {% set excludedIpHelp %}
- {{ 'SitesManager_HelpExcludedIps'|translate("1.2.3.*","1.2.*.*") }}
- <br/><br/>
- {{ 'SitesManager_YourCurrentIpAddressIs'|translate("<i>" ~ currentIpAddress ~ "</i>")|raw }}
- {% endset %}
- {% set excludedIpHelp=piwik.inlineHelp(excludedIpHelp) %}
-
- {% set defaultTimezoneHelpPlain %}
- {% if timezoneSupported %}
- {{ 'SitesManager_ChooseCityInSameTimezoneAsYou'|translate }}
- {% else %}
- {{ 'SitesManager_AdvancedTimezoneSupportNotFound'|translate }}
- {% endif %}
- <br/><br/>
- {{ 'SitesManager_UTCTimeIs'|translate(utcTime) }}
- {% endset %}
- {% set defaultTimezoneHelp=piwik.inlineHelp(defaultTimezoneHelpPlain) %}
-
- {% set currencyHelpPlain %}
- {{ piwik.inlineHelp('SitesManager_CurrencySymbolWillBeUsedForGoals'|translate) }}
- {% endset %}
-
- {% set excludedQueryParametersHelp %}
- {{ 'SitesManager_ListOfQueryParametersToExclude'|translate }}
- <br/><br/>
- {{ 'SitesManager_PiwikWillAutomaticallyExcludeCommonSessionParameters'|translate("phpsessid, sessionid, ...") }}
- {% endset %}
- {% set excludedQueryParametersHelp=piwik.inlineHelp(excludedQueryParametersHelp) %}
-
- {% set excludedUserAgentsHelp %}
- {{ 'SitesManager_GlobalExcludedUserAgentHelp1'|translate }}
- <br/><br/>
- {{ 'SitesManager_GlobalListExcludedUserAgents_Desc'|translate }} {{ 'SitesManager_GlobalExcludedUserAgentHelp2'|translate }}
- {% endset %}
- {% set excludedUserAgentsHelp=piwik.inlineHelp(excludedUserAgentsHelp) %}
-
- {% set searchCategoryHelpText %}
- {{ 'Goals_Optional'|translate }} {{ 'SitesManager_SearchCategoryParametersDesc'|translate }}
- {% endset %}
-
- {% set searchCategoryHelp=piwik.inlineHelp(searchCategoryHelpText) %}
-
- {% set searchCategoryLabel='SitesManager_SearchCategoryLabel'|translate %}
-
- {% set searchKeywordHelp=piwik.inlineHelp('SitesManager_SearchKeywordParametersDesc'|translate) %}
-
- {% set sitesearchIntro='SitesManager_SiteSearchUse'|translate %}
-
- {% set searchKeywordLabel='SitesManager_SearchKeywordLabel'|translate %}
-
- {% include '@SitesManager/sites-manager-heading.twig' %}
-
- {% include '@SitesManager/sites-management.twig' %}
-
- {% include '@SitesManager/global-settings.twig' %}
-
- {% include '@SitesManager/init-script.twig' %}
+ <div ng-include="'plugins/SitesManager/templates/index.html'"></div>
{% endblock %}
diff --git a/plugins/SitesManager/templates/init-script.twig b/plugins/SitesManager/templates/init-script.twig
deleted file mode 100644
index 98a1a5e1dd..0000000000
--- a/plugins/SitesManager/templates/init-script.twig
+++ /dev/null
@@ -1,63 +0,0 @@
-{% set ecommerceHelpPlain %}
- {{ 'SitesManager_EcommerceHelp'|translate }}
- <br/>
- {{ 'SitesManager_PiwikOffersEcommerceAnalytics'|translate("<a href='http://piwik.org/docs/ecommerce-analytics/' target='_blank'>","</a>")|raw }}
-{% endset %}
-
-{% set timezoneHelpPlain %}
- {{ defaultTimezoneHelpPlain }}
- <br/><br/>
- {{ 'SitesManager_ChangingYourTimezoneWillOnlyAffectDataForward'|translate }}
-{% endset %}
-
-{% set keepURLFragmentSelectHTML %}
- <h4 style="display:inline-block;">{{ 'SitesManager_KeepURLFragmentsLong'|translate }}</h4>
-
- <select id="keepURLFragmentSelect">
- <option value="0"> {% if globalKeepURLFragments %}{{ 'General_Yes'|translate }}{% else %}{{ 'General_No'|translate }}{% endif %}
- ({{ 'General_Default'|translate }})
- </option>
- <option value="1">{{ 'General_Yes'|translate }}</option>
- <option value="2">{{ 'General_No'|translate }}</option>
- </select>
-{% endset %}
-
-<script type="text/javascript">
-
- var excludedIpHelp = '{{ excludedIpHelp|e('js') }}';
- var aliasUrlsHelp = '{{ piwik.inlineHelp('SitesManager_AliasUrlHelp'|translate)|e('js') }}';
- var excludedQueryParametersHelp = '{{ excludedQueryParametersHelp|e('js') }}';
- var excludedUserAgentsHelp = '{{ excludedUserAgentsHelp|e('js') }}';
- var timezoneHelp = '{{ piwik.inlineHelp(timezoneHelpPlain)|e('js') }}';
- var currencyHelp = '{{ currencyHelpPlain|e('js') }}';
- var ecommerceHelp = '{{ piwik.inlineHelp(ecommerceHelpPlain)|e('js') }}';
- var searchKeywordHelp = '{{ searchKeywordHelp|e('js') }}';
- var searchCategoryHelp = '{{ searchCategoryHelp|e('js') }}';
- var sitesearchDesc = '{{ 'SitesManager_TrackingSiteSearch'|translate|e('js') }}';
-
- var ecommerceEnabled = '{{ 'SitesManager_EnableEcommerce'|translate|e('js') }}';
- var ecommerceDisabled = '{{ 'SitesManager_NotAnEcommerceSite'|translate|e('js') }}';
- var sitesearchEnabled = '{{ 'SitesManager_EnableSiteSearch'|translate|e('js') }}';
- var sitesearchDisabled = '{{ 'SitesManager_DisableSiteSearch'|translate|e('js') }}';
-
- var keepURLFragmentSelectHTML = '{{ keepURLFragmentSelectHTML|e('js') }}';
-
- var searchKeywordLabel = '{{ searchKeywordLabel|e('js') }}';
- var searchCategoryLabel = '{{ searchCategoryLabel|e('js') }}';
-
- var sitesearchIntro = '{{ piwik.inlineHelp(sitesearchIntro)|e('js') }}';
- var sitesearchUseDefault = '{% if isSuperUser %}{{ 'SitesManager_SearchUseDefault'|translate('<a href="#globalSiteSearch">','</a>')|e('js') }}{% else %}{{ 'SitesManager_SearchUseDefault'|translate('','')|e('js') }}{% endif %}';
- var strDefault = '{{ 'General_Default'|translate|e('js') }}';
-
- var sitesManager = new SitesManager({{ timezones|raw }}, {{ currencies|raw }}, '{{ defaultTimezone|raw }}', '{{ defaultCurrency|raw }}');
-
- $(function () {
- sitesManager.init();
- });
-
- {% if showAddSite %}
- $(document).ready(function () {
- $('.addRowSite:first').trigger('click');
- });
- {% endif %}
-</script> \ No newline at end of file
diff --git a/plugins/SitesManager/templates/sites-list/add-site-link.html b/plugins/SitesManager/templates/sites-list/add-site-link.html
new file mode 100644
index 0000000000..30f2c3f412
--- /dev/null
+++ b/plugins/SitesManager/templates/sites-list/add-site-link.html
@@ -0,0 +1,3 @@
+<a ng-show="hasSuperUserAccess && !siteBeingEditted" class="addRowSite" ng-click="addSite()">
+ {{ 'SitesManager_AddSite'|translate }}
+</a>
diff --git a/plugins/SitesManager/templates/sites-list/alias-urls-field.html b/plugins/SitesManager/templates/sites-list/alias-urls-field.html
new file mode 100644
index 0000000000..456f64c446
--- /dev/null
+++ b/plugins/SitesManager/templates/sites-list/alias-urls-field.html
@@ -0,0 +1,23 @@
+<span ng-switch-default>
+ <div ng-repeat="url in site.alias_urls">
+ {{ url | prettyUrl }}
+ </div>
+</span>
+
+<span ng-switch-when="true">
+
+ <div sites-manager-multiline-field field="site.alias_urls" cols="25" rows="3"></div>
+
+ <div class="ui-inline-help">
+ {{ 'SitesManager_AliasUrlHelp' | translate }}
+ </div>
+
+ <h4 style="display:inline-block;">
+ {{ 'SitesManager_KeepURLFragmentsLong'|translate }}
+ </h4>
+
+ <select ng-options="key as value for (key, value) in keepURLFragmentsOptions"
+ ng-model="site.keep_url_fragment"
+ >
+ </select>
+</span>
diff --git a/plugins/SitesManager/templates/sites-list/site-fields.html b/plugins/SitesManager/templates/sites-list/site-fields.html
new file mode 100644
index 0000000000..4ac4726daa
--- /dev/null
+++ b/plugins/SitesManager/templates/sites-list/site-fields.html
@@ -0,0 +1,168 @@
+<td>
+ {{ site.idsite }}
+</td>
+
+<td ng-switch="site.editMode">
+
+ <span ng-switch-default>
+ {{ site.name }}
+ </span>
+
+ <span ng-switch-when="true">
+
+ <input type="text" ng-model="site.name"/>
+ <input type="submit" class="submit" value="{{ 'General_Save' | translate }}" ng-click="saveSite()"/>
+ <a href="#" ng-click="cancelEditSite($event)">{{ 'General_OrCancel' | translate:'':'' }}</a>
+ </span>
+
+</td>
+
+<td ng-include="'plugins/SitesManager/templates/sites-list/alias-urls-field.html'"
+ ng-switch="site.editMode">
+</td>
+
+<td ng-switch="site.editMode">
+
+ <span ng-switch-default>
+ <div ng-repeat="ip in site.excluded_ips">
+ {{ ip }}
+ </div>
+ </span>
+
+ <span ng-switch-when="true">
+
+ <div sites-manager-multiline-field field="site.excluded_ips" cols="20" rows="4"></div>
+
+ <div ng-include="'plugins/SitesManager/templates/help/excluded-ip-help.html'"></div>
+ </span>
+
+</td>
+
+<td ng-switch="site.editMode">
+
+ <span ng-switch-default>
+ <div ng-repeat="parameter in site.excluded_parameters">
+ {{ parameter }}
+ </div>
+ </span>
+
+ <span ng-switch-when="true">
+
+ <div sites-manager-multiline-field field="site.excluded_parameters" cols="20" rows="4"></div>
+
+ <div ng-include="'plugins/SitesManager/templates/help/excluded-query-parameters-help.html'"></div>
+ </span>
+
+</td>
+
+<td ng-show="globalSettings.siteSpecificUserAgentExcludeEnabled" ng-switch="site.editMode">
+
+ <span ng-switch-default>
+ <div ng-repeat="userAgent in site.excluded_user_agents">
+ {{ userAgent }}
+ </div>
+ </span>
+
+ <span ng-switch-when="true">
+
+ <div sites-manager-multiline-field field="site.excluded_user_agents" cols="20" rows="4"></div>
+
+ <div ng-include="'plugins/SitesManager/templates/help/excluded-user-agents-help.html'"></div>
+ </span>
+
+</td>
+
+<td ng-include="'plugins/SitesManager/templates/sites-list/site-search-field.html'"
+ ng-switch="site.editMode">
+</td>
+
+
+<td ng-switch="site.editMode">
+
+ <span ng-switch-default>
+ {{ site.timezone }}
+ </span>
+
+ <span ng-switch-when="true">
+ <select
+ ng-model="site.timezone"
+ ng-options="t.code as t.label for t in timezones">
+ </select>
+
+ <div ng-include="'plugins/SitesManager/templates/help/timezone-help.html'"></div>
+
+ </span>
+</td>
+
+<td ng-switch="site.editMode">
+
+ <span ng-switch-default>
+ {{ site.currency }}
+ </span>
+
+ <span ng-switch-when="true">
+
+ <select
+ ng-model="site.currency"
+ ng-options="k as v for (k, v) in currencies">
+ </select>
+
+ <div class="ui-inline-help">
+ {{ 'SitesManager_CurrencySymbolWillBeUsedForGoals' | translate }}
+ </div>
+
+ </span>
+</td>
+
+<td ng-switch="site.editMode">
+
+ <span ng-switch-default ng-switch="site.ecommerce">
+
+ <span ng-switch-default>-</span>
+ <span ng-switch-when="true">{{ 'General_Yes'|translate }}</span>
+ </span>
+
+ <span ng-switch-when="true">
+
+ <select ng-options="option.key as option.value for option in eCommerceptions" ng-model="site.ecommerce">
+ </select>
+
+ <div class="ui-inline-help">
+ {{ 'SitesManager_EcommerceHelp' | translate }}
+ <br/>
+ <span ng-bind-html="'SitesManager_PiwikOffersEcommerceAnalytics'|translate:'<a href=\'http://piwik.org/docs/ecommerce-analytics/\' target=\'_blank\'>':'</a>'"></span>
+ </div>
+ </span>
+</td>
+
+<td ng-switch="site.editMode">
+
+ <span ng-switch-default class="link_but" ng-click="editSite()">
+ <img src='plugins/Morpheus/images/ico_edit.png'
+ title="{{ 'General_Edit'|translate }}"
+ border="0"
+ />
+ <span>{{ 'General_Edit'|translate }}</span>
+ </span>
+
+ <span ng-switch-when="true">
+
+ <input type="submit" class="submit" value="{{ 'General_Save' | translate }}" ng-click="saveSite()"/>
+ </span>
+</td>
+
+<td>
+ <span ng-show="site.idsite" class="link_but" ng-click="openDeleteDialog()">
+ <img
+ src='plugins/Morpheus/images/ico_delete.png'
+ title="{{ 'General_Delete'|translate }}"
+ border="0"/>
+ <span>{{ 'General_Delete'|translate }}</span>
+ </span>
+</td>
+
+<td>
+ <a ng-show="site.idsite" href="?module=CoreAdminHome&action=trackingCodeGenerator&idSite={{ site.idsite }}&updated=false">
+ {{ 'SitesManager_ShowTrackingTag'|translate }}
+ </a>
+</td>
diff --git a/plugins/SitesManager/templates/sites-list/site-search-field.html b/plugins/SitesManager/templates/sites-list/site-search-field.html
new file mode 100644
index 0000000000..c6754804e2
--- /dev/null
+++ b/plugins/SitesManager/templates/sites-list/site-search-field.html
@@ -0,0 +1,73 @@
+<span ng-switch-default ng-switch="site.sitesearch">
+ <span ng-switch-when="1">{{ 'General_Yes'|translate }}</span>
+ <span ng-switch-default>-</span>
+</span>
+
+<span ng-switch-when="true">
+
+ <select ng-options="option.key as option.value for option in siteSearchOptions" ng-model="site.sitesearch">
+ </select>
+
+ <div ng-show="site.sitesearch" style="font-size: 11px;">
+
+ <div ng-show="globalSettings.searchKeywordParametersGlobal.length">
+
+ <input type="checkbox" ng-model="site.useDefaultSiteSearchParams">
+
+ <span
+ ng-show="hasSuperUserAccess"
+ ng-bind-html="'SitesManager_SearchUseDefault'|translate:'<a href=\'#globalSettings\'>':'</a>'">
+ </span>
+ <span ng-hide="hasSuperUserAccess">
+ {{ 'SitesManager_SearchUseDefault' | translate:'':'' }}
+ </span>
+
+ <span ng-show="site.useDefaultSiteSearchParams" class="form-description">
+
+ {{ 'SitesManager_SearchKeywordLabel' | translate }}
+ ({{ 'General_Default' | translate }}) :
+
+ <span ng-repeat="param in globalSettings.searchKeywordParametersGlobal">
+ {{ param }}<span ng-show="!$last">, </span>
+ </span>
+
+ <span ng-show="globalSettings.searchCategoryParametersGlobal.length">
+ & {{ 'SitesManager_SearchCategoryLabel' | translate }} :
+ <span ng-repeat="param in globalSettings.searchCategoryParametersGlobal">
+ {{ param }}<span ng-show="!$last">, </span>
+ </span>
+ </span>
+
+ </span>
+
+ </div>
+
+ <div ng-hide="site.useDefaultSiteSearchParams">
+
+ <br/>
+
+ <label>
+ {{ 'SitesManager_SearchKeywordLabel' | translate }}
+ <input ng-list ng-model="site.sitesearch_keyword_parameters">
+ <div class="ui-inline-help">
+ {{ 'SitesManager_SearchKeywordParametersDesc' | translate }}
+ </div>
+ </label>
+
+ <label ng-show="customVariablesActivated">
+ {{ 'SitesManager_SearchCategoryLabel' | translate }}
+ <input ng-list ng-model="site.sitesearch_category_parameters">
+ <div class="ui-inline-help">
+ {{ 'Goals_Optional' | translate }} {{ 'SitesManager_SearchCategoryParametersDesc' | translate }}
+ </div>
+ </label>
+
+ </div>
+
+ </div>
+
+ <div class="ui-inline-help" ng-show="site.sitesearch == 0 || site.useDefaultSiteSearchParams">
+ {{ 'SitesManager_SiteSearchUse' | translate }}
+ </div>
+
+</span>
diff --git a/plugins/SitesManager/templates/sites-list/sites-list.html b/plugins/SitesManager/templates/sites-list/sites-list.html
new file mode 100644
index 0000000000..c8dcf13ebe
--- /dev/null
+++ b/plugins/SitesManager/templates/sites-list/sites-list.html
@@ -0,0 +1,37 @@
+<div class="entityContainer">
+
+ <div ng-repeat="site in sites" ng-include="'plugins/SitesManager/templates/dialogs/dialogs.html'"></div>
+
+ <div ng-include="'plugins/SitesManager/templates/sites-list/add-site-link.html'"></div>
+
+ <table class="entityTable dataTable">
+ <thead>
+ <tr>
+ <th>{{ 'General_Id'|translate }}</th>
+ <th>{{ 'General_Name'|translate }}</th>
+ <th>{{ 'SitesManager_Urls'|translate }}</th>
+ <th>{{ 'SitesManager_ExcludedIps'|translate }}</th>
+ <th>{{ 'SitesManager_ExcludedParameters'|translate }}</th>
+ <th ng-show="globalSettings.siteSpecificUserAgentExcludeEnabled">
+ {{ 'SitesManager_ExcludedUserAgents'|translate }}
+ </th>
+ <th>{{ 'Actions_SubmenuSitesearch'|translate }}</th>
+ <th>{{ 'SitesManager_Timezone'|translate }}</th>
+ <th>{{ 'SitesManager_Currency'|translate }}</th>
+ <th>{{ 'Goals_Ecommerce'|translate }}</th>
+ <th></th>
+ <th></th>
+ <th>{{ 'General_JsTrackingTag'|translate }}</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr ng-controller="SitesManagerSiteController"
+ ng-repeat="site in sites"
+ ng-include="'plugins/SitesManager/templates/sites-list/site-fields.html'">
+ </tr>
+ </tbody>
+ </table>
+
+ <div ng-include="'plugins/SitesManager/templates/sites-list/add-site-link.html'"></div>
+
+</div>
diff --git a/plugins/SitesManager/templates/sites-management.twig b/plugins/SitesManager/templates/sites-management.twig
deleted file mode 100644
index 70fcf31d0a..0000000000
--- a/plugins/SitesManager/templates/sites-management.twig
+++ /dev/null
@@ -1,125 +0,0 @@
-{{ ajax.errorDiv() }}
-{{ ajax.loadingDiv() }}
-
-{% set createNewWebsite %}
-<a href="javascript:" class="addRowSite">
- {{ 'SitesManager_AddSite'|translate }}
-</a>
-{% endset %}
-
-{% if adminSites|length == 0 %}
- {{ 'SitesManager_NoWebsites'|translate }}
-{% else %}
-
- <div class="ui-confirm" id="confirm">
- <h2></h2>
- <input role="yes" type="button" value="{{ 'General_Yes'|translate }}"/>
- <input role="no" type="button" value="{{ 'General_No'|translate }}"/>
- </div>
- <div class="entityContainer">
- {% if isSuperUser %}
- {{ createNewWebsite }}
- {% endif %}
- <table class="entityTable dataTable" id="editSites">
- <thead>
- <tr>
- <th>{{ 'General_Id'|translate }}</th>
- <th>{{ 'General_Name'|translate }}</th>
- <th>{{ 'SitesManager_Urls'|translate }}</th>
- <th>{{ 'SitesManager_ExcludedIps'|translate }}</th>
- <th>{{ 'SitesManager_ExcludedParameters'|translate|replace({" ":"<br />"})|raw }}</th>
- <th id='exclude-user-agent-header'
- {% if not allowSiteSpecificUserAgentExclude %}style="display:none;"{% endif %}>{{ 'SitesManager_ExcludedUserAgents'|translate }}</th>
- <th>{{ 'Actions_SubmenuSitesearch'|translate }}</th>
- <th>{{ 'SitesManager_Timezone'|translate }}</th>
- <th>{{ 'SitesManager_Currency'|translate }}</th>
- <th>{{ 'Goals_Ecommerce'|translate }}</th>
- <th></th>
- <th></th>
- <th>{{ 'General_JsTrackingTag'|translate }}</th>
- </tr>
- </thead>
- <tbody>
- {% for i,site in adminSites %}
- <tr id="row{{ site.idsite }}" data-keep-url-fragments="{{ site.keep_url_fragment }}">
- <td id="idSite">{{ site.idsite }}</td>
- <td id="siteName" class="editableSite">
- {{- site.name|raw -}}
- </td>
- <td id="urls" class="editableSite">
- {%- for url in site.alias_urls -%}
- {{- url|trim|replace({'http://': ''})|raw -}}<br />
- {%- endfor -%}
- </td>
- <td id="excludedIps" class="editableSite">
- {%- for ip in site.excluded_ips -%}
- {{- ip -}}<br/>
- {%- endfor -%}
- </td>
- <td id="excludedQueryParameters" class="editableSite">
- {%- for parameter in site.excluded_parameters -%}
- {{- parameter|raw -}}<br />
- {%- endfor -%}
- </td>
- <td id="excludedUserAgents" class="editableSite"
- {% if not allowSiteSpecificUserAgentExclude %}style="display:none;"{% endif %}>
- {%- for ua in site.excluded_user_agents -%}
- {{- ua|raw -}}<br />
- {%- endfor -%}
- </td>
- <td id="sitesearch" class="editableSite">
- {% if site.sitesearch %}
- <span class="sitesearchActive">{{ 'General_Yes'|translate }}</span>
- {% else %}
- <span class="sitesearchInactive">-</span>
- {% endif %}
- <span class="sskp" sitesearch_keyword_parameters="{{- site.sitesearch_keyword_parameters -}}"
- sitesearch_category_parameters="{{- site.sitesearch_category_parameters -}}"
- id="sitesearch_parameters">
- </span>
- </td>
- <td id="timezone" class="editableSite">{{ site.timezone }}</td>
- <td id="currency" class="editableSite">{{ site.currency }}</td>
- <td id="ecommerce" class="editableSite">
- {% if site.ecommerce %}
- <span class='ecommerceActive'>{{ 'General_Yes'|translate }}</span>
- {% else %}
- <span class='ecommerceInactive'>-</span>
- {% endif %}
- </td>
- <td>
- <span id="row{{ site.idsite }}" class='editSite link_but'>
- <img src='plugins/Morpheus/images/ico_edit.png' title="{{ 'General_Edit'|translate }}"
- border="0"/>
- <span>{{ 'General_Edit'|translate }}</span>
- </span>
- </td>
- <td>
- <span id="row{{ site.idsite }}" class="deleteSite link_but">
- <img src='plugins/Morpheus/images/ico_delete.png' title="{{ 'General_Delete'|translate }}"
- border="0"/>
- <span>{{ 'General_Delete'|translate }}</span>
- </span>
- </td>
- <td>
- <a href='{{ linkTo({'module':'CoreAdminHome','action':'trackingCodeGenerator','idSite':site.idsite,'updated':false }) }}'>
- {{ 'SitesManager_ShowTrackingTag'|translate }}
- </a>
- </td>
- </tr>
- {% endfor %}
- </tbody>
- </table>
- {% if isSuperUser %}
- {{ createNewWebsite }}
- {% endif %}
- </div>
-{% endif %}
-
-{# Admin users use these values for Site Search column, when editing websites #}
-{% if not isSuperUser %}
- <input type="hidden" size="15" id="globalSearchKeywordParameters"
- value="{{ globalSearchKeywordParameters }}"/>
- <input type="hidden" size="15" id="globalSearchCategoryParameters"
- value="{{ globalSearchCategoryParameters }}"/>
-{% endif %}
diff --git a/plugins/SitesManager/templates/sites-manager-header.html b/plugins/SitesManager/templates/sites-manager-header.html
new file mode 100644
index 0000000000..968947182f
--- /dev/null
+++ b/plugins/SitesManager/templates/sites-manager-header.html
@@ -0,0 +1,18 @@
+<h2
+ piwik-enriched-headline
+ help-url="http://piwik.org/docs/manage-websites/"
+ feature-name="{{ 'SitesManager_WebsitesManagement'|translate }}">
+
+ {{ 'SitesManager_WebsitesManagement'|translate }}
+</h2>
+
+<p>
+ {{ 'SitesManager_MainDescription'|translate }}
+
+ <span ng-bind-html="'SitesManager_YouCurrentlyHaveAccessToNWebsites'|translate:'<strong>' + sites.length + '</strong>'"></span>
+
+ <span ng-show="hasSuperUserAccess">
+ <br/>
+ <span ng-bind-html="'SitesManager_SuperUserAccessCan'|translate:'<a href=\'#globalSettings\'>':'</a>'"></span>
+ </span>
+</p>
diff --git a/plugins/SitesManager/templates/sites-manager-heading.twig b/plugins/SitesManager/templates/sites-manager-heading.twig
deleted file mode 100644
index da72ec0c53..0000000000
--- a/plugins/SitesManager/templates/sites-manager-heading.twig
+++ /dev/null
@@ -1,12 +0,0 @@
-<h2 piwik-enriched-headline help-url="http://piwik.org/docs/manage-websites/">
- {{ 'SitesManager_WebsitesManagement'|translate }}
-</h2>
-
-<p>
- {{ 'SitesManager_MainDescription'|translate }}
- {{ 'SitesManager_YouCurrentlyHaveAccessToNWebsites'|translate("<strong>" ~ adminSitesCount ~ "</strong>")|raw }}
- {% if isSuperUser %}
- <br/>
- {{ 'SitesManager_SuperUserAccessCan'|translate("<a href='#globalSettings'>","</a>")|raw }}
- {% endif %}
-</p> \ No newline at end of file