summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvan Prodromou <evan@controlyourself.ca>2009-08-21 06:13:41 -0400
committerEvan Prodromou <evan@controlyourself.ca>2009-08-21 06:33:22 -0400
commitcd688acceb131312e10a219700ba21d4a3566695 (patch)
tree31f5d4d8af27d5677ba25e9fe438f02be53f6ed9
parenta28bbdfb0fcc5ec253a0ab6f94a6f0eeda0d21dc (diff)
allow configurable length for user group description
-rw-r--r--actions/editgroup.php4
-rw-r--r--actions/newgroup.php4
-rw-r--r--classes/User_group.php15
3 files changed, 19 insertions, 4 deletions
diff --git a/actions/editgroup.php b/actions/editgroup.php
index 6aa6f8b11..aeeea2b63 100644
--- a/actions/editgroup.php
+++ b/actions/editgroup.php
@@ -196,8 +196,8 @@ class EditgroupAction extends GroupDesignAction
} else if (!is_null($fullname) && mb_strlen($fullname) > 255) {
$this->showForm(_('Full name is too long (max 255 chars).'));
return;
- } else if (!is_null($description) && mb_strlen($description) > 140) {
- $this->showForm(_('description is too long (max 140 chars).'));
+ } else if (User_group::descriptionTooLong($description)) {
+ $this->showForm(sprintf(_('description is too long (max %d chars).'), User_group::maxDescription()));
return;
} else if (!is_null($location) && mb_strlen($location) > 255) {
$this->showForm(_('Location is too long (max 255 chars).'));
diff --git a/actions/newgroup.php b/actions/newgroup.php
index 0289e77c2..71647d834 100644
--- a/actions/newgroup.php
+++ b/actions/newgroup.php
@@ -146,8 +146,8 @@ class NewgroupAction extends Action
} else if (!is_null($fullname) && mb_strlen($fullname) > 255) {
$this->showForm(_('Full name is too long (max 255 chars).'));
return;
- } else if (!is_null($description) && mb_strlen($description) > 140) {
- $this->showForm(_('description is too long (max 140 chars).'));
+ } else if (User_group::descriptionTooLong($description)) {
+ $this->showForm(sprintf(_('description is too long (max %d chars).'), User_group::maxDescription()));
return;
} else if (!is_null($location) && mb_strlen($location) > 255) {
$this->showForm(_('Location is too long (max 255 chars).'));
diff --git a/classes/User_group.php b/classes/User_group.php
index 7b0daad94..38e0058c1 100644
--- a/classes/User_group.php
+++ b/classes/User_group.php
@@ -297,4 +297,19 @@ class User_group extends Memcached_DataObject
return $ids;
}
+
+ static function maxDescription()
+ {
+ $desclimit = common_config('group', 'desclimit');
+ if (empty($desclimit)) {
+ $desclimit = common_config('site', 'textlimit');
+ }
+ return $desclimit;
+ }
+
+ static function descriptionTooLong($desc)
+ {
+ $desclimit = self::maxDescription();
+ return (!empty($desclimit) && !empty($desc) && (mb_strlen($desc) > $desclimit));
+ }
}