aboutsummaryrefslogtreecommitdiff
path: root/views
diff options
context:
space:
mode:
Diffstat (limited to 'views')
-rw-r--r--views/default/group_alias/js.php36
-rw-r--r--views/default/input/group_alias.php31
-rw-r--r--views/default/output/group_alias.php46
-rw-r--r--views/default/plugins/group_alias/settings.php46
4 files changed, 159 insertions, 0 deletions
diff --git a/views/default/group_alias/js.php b/views/default/group_alias/js.php
new file mode 100644
index 000000000..b2c2811f5
--- /dev/null
+++ b/views/default/group_alias/js.php
@@ -0,0 +1,36 @@
+<?php
+/**
+ *
+ * @package Lorea
+ * @subpackage GroupAlias
+ *
+ * Copyright 2011-2013 Lorea Faeries <federation@lorea.org>
+ *
+ * This file is part of the GroupAlias plugin for Elgg.
+ *
+ * GroupAlias is free software: you can redistribute it and/or
+ * modify it under the terms of the GNU Affero General Public License
+ * as published by the Free Software Foundation, either version 3 of
+ * the License, or (at your option) any later version.
+ *
+ * GroupAlias is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/>.
+ */
+?>
+$(function(){
+ $('input.elgg-input-text[name="name"]').keyup(function(){
+ $('input.elgg-input-text[name="alias"][disabled!="disabled"]').val(function(title){
+ return title.replace(/[^\w ]/g, "")
+ .replace(/^\s+/g,'').replace(/\s+$/g,'') //trim
+ .replace(/ /g, "_")
+ .replace(/__/g, "_")
+ .toLowerCase();
+ }($(this).val()));
+ });
+});
diff --git a/views/default/input/group_alias.php b/views/default/input/group_alias.php
new file mode 100644
index 000000000..467e45c59
--- /dev/null
+++ b/views/default/input/group_alias.php
@@ -0,0 +1,31 @@
+<?php
+/**
+ * GroupAlias -- Input a group alias field
+ *
+ * @package Lorea
+ * @subpackage GroupAlias
+ *
+ * Copyright 2011-2013 Lorea Faeries <federation@lorea.org>
+ *
+ * This file is part of the GroupAlias plugin for Elgg.
+ *
+ * GroupAlias is free software: you can redistribute it and/or
+ * modify it under the terms of the GNU Affero General Public License
+ * as published by the Free Software Foundation, either version 3 of
+ * the License, or (at your option) any later version.
+ *
+ * GroupAlias is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/>.
+ */
+
+if ('no' == elgg_get_plugin_setting('changeable_group_alias', 'group_alias')
+ && elgg_instanceof(elgg_get_page_owner_entity(), 'group')) {
+ $vars['disabled'] = true;
+}
+echo elgg_view('input/text', $vars);
diff --git a/views/default/output/group_alias.php b/views/default/output/group_alias.php
new file mode 100644
index 000000000..cb8b19756
--- /dev/null
+++ b/views/default/output/group_alias.php
@@ -0,0 +1,46 @@
+<?php
+/**
+ * GroupAlias output
+ *
+ * - Only show in the Group Profile
+ * - If linkup is available, hint about the syntax
+ *
+ * Copyright 2011-2013 Lorea Faeries <federation@lorea.org>
+ *
+ * This file is part of the GroupAlias plugin for Elgg.
+ *
+ * GroupAlias is free software: you can redistribute it and/or
+ * modify it under the terms of the GNU Affero General Public License
+ * as published by the Free Software Foundation, either version 3 of
+ * the License, or (at your option) any later version.
+ *
+ * GroupAlias is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/>.
+ */
+
+if ('group_profile' != elgg_get_context()) {
+
+ return false;
+
+}
+
+$alias = htmlspecialchars($vars['value'], ENT_QUOTES, 'UTF-8', false);
+$target_url = elgg_get_config('url') . "g/$alias";
+
+if (elgg_is_active_plugin('linkup')) {
+
+ $hint = elgg_echo('linkup:hint:group', array($alias, $target_url));
+
+} else {
+
+ $hint = $target_url;
+
+}
+
+echo "<span title=\"$hint\">$alias </span><span title=\"$hint\" class=\"elgg-icon elgg-icon-info\"></span>";
diff --git a/views/default/plugins/group_alias/settings.php b/views/default/plugins/group_alias/settings.php
new file mode 100644
index 000000000..d558b4825
--- /dev/null
+++ b/views/default/plugins/group_alias/settings.php
@@ -0,0 +1,46 @@
+<?php
+/**
+ * Group Alias plugin settings
+ *
+ * @package Lorea
+ * @subpackage GroupAlias
+ *
+ * Copyright 2011-2013 Lorea Faeries <federation@lorea.org>
+ *
+ * This file is part of the GroupAlias plugin for Elgg.
+ *
+ * GroupAlias is free software: you can redistribute it and/or
+ * modify it under the terms of the GNU Affero General Public License
+ * as published by the Free Software Foundation, either version 3 of
+ * the License, or (at your option) any later version.
+ *
+ * GroupAlias is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/>.
+ */
+
+// set default value
+if (!isset($vars['entity']->changeable_group_alias)) {
+ $vars['entity']->changeable_group_alias = 'no';
+}
+
+echo '<div>';
+echo elgg_echo('groups:alias:changeable');
+echo ' ';
+echo elgg_view('input/select', array(
+ 'name' => 'params[changeable_group_alias]',
+ 'options_values' => array(
+ 'no' => elgg_echo('option:no'),
+ 'yes' => elgg_echo('option:yes')
+ ),
+ 'value' => $vars['entity']->changeable_group_alias,
+));
+echo '<p class="tip">';
+echo elgg_echo('groups:alias:changeable:may_break_urls');
+echo '</p>';
+echo '</div>';