From 0bbbf0ee0663d6b97c897aec0e41f11ee710c51f Mon Sep 17 00:00:00 2001
From: Stefan Giehl <stefan@piwik.org>
Date: Mon, 14 Nov 2016 12:49:16 +0100
Subject: [PATCH] Add maxlength attributes to various input boxes (#10829)

* add maxlength attributes to goal input boxes

values are limited to that length by database restrictions

* limit site name input box to database limit

* limit user input boxes to database limits
---
 plugins/Goals/templates/_formAddGoal.twig                   | 3 +++
 plugins/SitesManager/templates/sites-list/site-fields.html  | 2 +-
 .../angularjs/manage-users/manage-users.controller.js       | 6 +++---
 plugins/UsersManager/templates/userSettings.twig            | 2 ++
 4 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/plugins/Goals/templates/_formAddGoal.twig b/plugins/Goals/templates/_formAddGoal.twig
index b027622af8..6b72514f34 100644
--- a/plugins/Goals/templates/_formAddGoal.twig
+++ b/plugins/Goals/templates/_formAddGoal.twig
@@ -10,11 +10,13 @@
     <div piwik-form>
         <div piwik-field uicontrol="text" name="goal_name"
              ng-model="manageGoals.goal.name"
+             maxlength="50"
              title="{{ 'Goals_GoalName'|translate|e('html_attr') }}">
         </div>
 
         <div piwik-field uicontrol="text" name="goal_description"
              ng-model="manageGoals.goal.description"
+             maxlength="255"
              title="{{ 'General_Description'|translate|e('html_attr') }}">
         </div>
 
@@ -85,6 +87,7 @@
             <div class="col s12 m6 l4">
                 <div piwik-field uicontrol="text" name="pattern"
                      ng-model="manageGoals.goal.pattern"
+                     maxlength="255"
                      title="{{ 'Goals_Pattern'|translate|e('html_attr') }}"
                      full-width="true">
                 </div>
diff --git a/plugins/SitesManager/templates/sites-list/site-fields.html b/plugins/SitesManager/templates/sites-list/site-fields.html
index 89f4befd81..f448ddbcfc 100644
--- a/plugins/SitesManager/templates/sites-list/site-fields.html
+++ b/plugins/SitesManager/templates/sites-list/site-fields.html
@@ -71,7 +71,7 @@
 
         <div class="form-group row">
             <div class="col s12 m6 input-field">
-                <input type="text" ng-model="site.name"/>
+                <input type="text" ng-model="site.name" maxlength="90" />
                 <label>{{ 'General_Name'|translate }}</label>
             </div>
             <div class="col s12 m6"></div>
diff --git a/plugins/UsersManager/angularjs/manage-users/manage-users.controller.js b/plugins/UsersManager/angularjs/manage-users/manage-users.controller.js
index 1df74622de..6e561a6ea5 100644
--- a/plugins/UsersManager/angularjs/manage-users/manage-users.controller.js
+++ b/plugins/UsersManager/angularjs/manage-users/manage-users.controller.js
@@ -144,10 +144,10 @@
             newRowId = 'row' + newRowId;
 
             $($.parseHTML(' <tr id="' + newRowId + '" class="addNewUserRow">\
-				<td><input id="useradd_login" placeholder="username" size="10" /></td>\
+				<td><input id="useradd_login" placeholder="username" size="10" maxlength="100" /></td>\
 				<td><input id="useradd_password" placeholder="password" size="10" /></td>\
-				<td><input id="useradd_email" placeholder="email@domain.com" size="15" /></td>\
-				<td><input id="useradd_alias" placeholder="alias" size="15" /></td>\
+				<td><input id="useradd_email" placeholder="email@domain.com" size="15" maxlength="100" /></td>\
+				<td><input id="useradd_alias" placeholder="alias" size="15" maxlength="45" /></td>\
 				<td>-</td>\
                 <td>-</td>\
 				<td><input type="submit" class="btn adduser"  value="' + _pk_translate('General_Save') + '" /></td>\
diff --git a/plugins/UsersManager/templates/userSettings.twig b/plugins/UsersManager/templates/userSettings.twig
index 2c802670d0..53f46d20e6 100644
--- a/plugins/UsersManager/templates/userSettings.twig
+++ b/plugins/UsersManager/templates/userSettings.twig
@@ -22,12 +22,14 @@
 
         <div piwik-field uicontrol="text" name="alias"
              ng-model="personalSettings.alias"
+             maxlength="45"
              title="{{ 'UsersManager_Alias'|translate|e('html_attr') }}"
              value="{{ userAlias|raw }}">
         </div>
 
         <div piwik-field uicontrol="text" name="email"
              ng-model="personalSettings.email"
+             maxlength="100"
              title="{{ 'UsersManager_Email'|translate|e('html_attr') }}"
              value="{{ userEmail }}">
         </div>
-- 
GitLab