Index: trunk/core/admin_templates/groups/groups_list.tpl
===================================================================
diff -u
--- trunk/core/admin_templates/groups/groups_list.tpl (revision 0)
+++ trunk/core/admin_templates/groups/groups_list.tpl (revision 4596)
@@ -0,0 +1,61 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
Index: trunk/kernel/admin_templates/groups/groups_list.tpl
===================================================================
diff -u
--- trunk/kernel/admin_templates/groups/groups_list.tpl (revision 0)
+++ trunk/kernel/admin_templates/groups/groups_list.tpl (revision 4596)
@@ -0,0 +1,61 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
Index: trunk/kernel/admin_templates/incs/script.js
===================================================================
diff -u -r4524 -r4596
--- trunk/kernel/admin_templates/incs/script.js (.../script.js) (revision 4524)
+++ trunk/kernel/admin_templates/incs/script.js (.../script.js) (revision 4596)
@@ -277,9 +277,26 @@
// alert(RegExp.$2);
openwin($help_link,'HelpPopup',750,400);
}
+
+function openEmailSend($url, $type, $prefix_special)
+{
+ var $kf = document.getElementById($form_name);
+ var $prev_action = $kf.action;
+ var $prev_opener = get_hidden_field('m_opener');
+
+ $kf.action = $url;
+ set_hidden_field('m_opener', 'p');
+ $kf.target = 'sendmail';
+ set_hidden_field('idtype', 'group');
+ set_hidden_field('idlist', Grids[$prefix_special].GetSelected().join(',') );
+ openwin('','sendmail',750,400);
+ submit_kernel_form();
+
+ $kf.action = $prev_action;
+ set_hidden_field('m_opener', $prev_opener);
+}
// in-portal compatibility functions: end
-
function PreSaveAndOpenTranslator(prefix,field,t,multi_line,$width,$height)
{
if(!isset($window_name)) var $window_name = 'select_'+t.replace(/(\/|-)/g, '_');
Index: trunk/core/units/groups/groups_config.php
===================================================================
diff -u
--- trunk/core/units/groups/groups_config.php (revision 0)
+++ trunk/core/units/groups/groups_config.php (revision 4596)
@@ -0,0 +1,114 @@
+ 'g',
+
+ 'ItemClass' => Array('class' => 'kDBItem', 'file' => '', 'build_event' => 'OnItemBuild'),
+ 'ListClass' => Array('class' => 'kDBList', 'file' => '', 'build_event' => 'OnListBuild'),
+ 'EventHandlerClass' => Array('class' => 'GroupsEventHandler', 'file' => 'groups_event_handler.php','build_event'=>'OnBuild'),
+ 'TagProcessorClass' => Array('class' => 'kDBTagProcessor', 'file' => '','build_event'=>'OnBuild'),
+
+ 'AutoLoad' => true,
+
+ 'QueryString' => Array(
+ 1 => 'id',
+ 2 => 'page',
+ 3 => 'event',
+ 4 => 'mode',
+ ),
+
+ 'IDField' => 'GroupId',
+
+ 'StatusField' => Array('Enabled'),
+
+ 'TitleField' => 'Name',
+
+ 'TitlePresets' => Array(
+ 'default' => Array( 'new_status_labels' => Array('g' => '!la_title_Adding_Group!'),
+ 'edit_status_labels' => Array('g' => '!la_title_Editing_Group!'),
+ 'new_titlefield' => Array('g' => '!la_title_New_Group!'),
+ ),
+
+ 'groups_list' => Array('prefixes' => Array('g_List'), 'format' => "!la_title_Groups! (#g_recordcount#)"),
+
+ 'groups_edit' => Array('prefixes' => Array('g'), 'format' => "#g_status# '#g_titlefield#' - !la_title_General!"),
+
+ 'groups_edit_users' => Array('prefixes' => Array('g', 'g-ug_List'), 'format' => "#g_status# '#g_titlefield#' - !la_title_Users! (#g-ug_recordcount#)" ),
+
+ 'groups_select' => Array('prefixes' => Array('g_List'), 'format' => "!la_title_Groups! (#g_recordcount#) - !la_title_SelectGroup!"),
+ ),
+
+
+ 'Sections' => Array(
+ 'in-portal:user_groups' => Array(
+ 'parent' => 'in-portal:users',
+ 'icon' => 'usergroups',
+ 'label' => 'la_tab_User_Groups',
+ 'url' => Array('t' => 'groups/groups_list', 'pass' => 'm'),
+ 'permissions' => Array('view', 'edit', 'delete', 'advanced:send_email'),
+ 'priority' => 2,
+ 'type' => stTREE,
+ ),
+ ),
+
+ 'TableName' => TABLE_PREFIX.'PortalGroup',
+
+ 'ListSQLs' => Array('' => ' SELECT %1$s.* %2$s FROM %1$s
+ LEFT JOIN '.TABLE_PREFIX.'UserGroup ug ON ug.GroupId = %1$s.GroupId'),
+
+ 'ItemSQLs' => Array('' => ' SELECT %1$s.* %2$s FROM %1$s
+ LEFT JOIN '.TABLE_PREFIX.'UserGroup ug ON ug.GroupId = %1$s.GroupId'),
+
+ 'ListSortings' => Array(
+ '' => Array(
+ 'Sorting' => Array('Name' => 'asc'),
+ )
+ ),
+
+ 'SubItems' => Array('g-ug'),
+ 'CalculatedFields' => Array(
+ 'total' => Array(
+ 'UserCount' => 'COUNT(ug.PortalUserId)',
+ ),
+ ),
+
+ 'Fields' => Array (
+ 'GroupId' => Array(),
+ 'Name' => Array('type' => 'string', 'not_null' => '1', 'required' => 1, 'default' => ''),
+ 'Description' => Array('type' => 'string','default' => ''),
+ 'CreatedOn' => Array('type' => 'double', 'formatter' => 'kDateFormatter', 'not_null' => '1','default' => '#NOW#'),
+ 'System' => Array('type' => 'int','not_null' => '1','default' => '0'),
+ 'Personal' => Array('type' => 'int','not_null' => '1','default' => '0'),
+ 'Enabled' => Array('type' => 'int', 'formatter' => 'kOptionsFormatter', 'options' => Array(1 => 'la_Enabled', 0 => 'la_Disabled'), 'use_phrases' => 1, 'not_null' => '1','default' => 1),
+ 'ResourceId' => Array('type' => 'int','not_null' => '1','default' => '0'),
+ ),
+
+ 'VirtualFields' => Array(
+ 'UserCount' => Array('type' => 'int', 'default' => 0),
+ ),
+
+ 'Grids' => Array(
+ 'Default' => Array(
+ 'Icons' => Array(1 => 'icon16_group.gif', 0 => 'icon16_group_disabled.gif'),
+ 'Fields' => Array(
+ 'Name' => Array('title' => 'la_col_GroupName', 'data_block' => 'grid_checkbox_td'),
+ 'UserCount' => Array('title' => 'la_col_UserCount'),
+ ),
+ ),
+
+ /*'GroupSelector' => Array(
+ 'Icons' => Array(0 => 'icon16_user_disabled.gif', 1 => 'icon16_user.gif', 2 => 'icon16_user_pending.gif'),
+ 'Fields' => Array(
+ 'Login' => Array('title' => 'la_col_Username', 'data_block' => 'grid_radio_td'),
+ 'LastName' => Array( 'title'=>'la_col_LastName'),
+ 'FirstName' => Array( 'title'=>'la_col_FirstName'),
+ 'Email' => Array( 'title'=>'la_col_Email'),
+ 'PrimaryGroup' => Array( 'title'=>'la_col_PrimaryGroup'),
+ 'CreatedOn_formatted' => Array('title' => 'la_col_CreatedOn', 'sort_field' => 'CreatedOn'),
+ ),
+ ),*/
+ ),
+
+ );
+
+?>
\ No newline at end of file
Index: trunk/kernel/units/groups/groups_config.php
===================================================================
diff -u
--- trunk/kernel/units/groups/groups_config.php (revision 0)
+++ trunk/kernel/units/groups/groups_config.php (revision 4596)
@@ -0,0 +1,114 @@
+ 'g',
+
+ 'ItemClass' => Array('class' => 'kDBItem', 'file' => '', 'build_event' => 'OnItemBuild'),
+ 'ListClass' => Array('class' => 'kDBList', 'file' => '', 'build_event' => 'OnListBuild'),
+ 'EventHandlerClass' => Array('class' => 'GroupsEventHandler', 'file' => 'groups_event_handler.php','build_event'=>'OnBuild'),
+ 'TagProcessorClass' => Array('class' => 'kDBTagProcessor', 'file' => '','build_event'=>'OnBuild'),
+
+ 'AutoLoad' => true,
+
+ 'QueryString' => Array(
+ 1 => 'id',
+ 2 => 'page',
+ 3 => 'event',
+ 4 => 'mode',
+ ),
+
+ 'IDField' => 'GroupId',
+
+ 'StatusField' => Array('Enabled'),
+
+ 'TitleField' => 'Name',
+
+ 'TitlePresets' => Array(
+ 'default' => Array( 'new_status_labels' => Array('g' => '!la_title_Adding_Group!'),
+ 'edit_status_labels' => Array('g' => '!la_title_Editing_Group!'),
+ 'new_titlefield' => Array('g' => '!la_title_New_Group!'),
+ ),
+
+ 'groups_list' => Array('prefixes' => Array('g_List'), 'format' => "!la_title_Groups! (#g_recordcount#)"),
+
+ 'groups_edit' => Array('prefixes' => Array('g'), 'format' => "#g_status# '#g_titlefield#' - !la_title_General!"),
+
+ 'groups_edit_users' => Array('prefixes' => Array('g', 'g-ug_List'), 'format' => "#g_status# '#g_titlefield#' - !la_title_Users! (#g-ug_recordcount#)" ),
+
+ 'groups_select' => Array('prefixes' => Array('g_List'), 'format' => "!la_title_Groups! (#g_recordcount#) - !la_title_SelectGroup!"),
+ ),
+
+
+ 'Sections' => Array(
+ 'in-portal:user_groups' => Array(
+ 'parent' => 'in-portal:users',
+ 'icon' => 'usergroups',
+ 'label' => 'la_tab_User_Groups',
+ 'url' => Array('t' => 'groups/groups_list', 'pass' => 'm'),
+ 'permissions' => Array('view', 'edit', 'delete', 'advanced:send_email'),
+ 'priority' => 2,
+ 'type' => stTREE,
+ ),
+ ),
+
+ 'TableName' => TABLE_PREFIX.'PortalGroup',
+
+ 'ListSQLs' => Array('' => ' SELECT %1$s.* %2$s FROM %1$s
+ LEFT JOIN '.TABLE_PREFIX.'UserGroup ug ON ug.GroupId = %1$s.GroupId'),
+
+ 'ItemSQLs' => Array('' => ' SELECT %1$s.* %2$s FROM %1$s
+ LEFT JOIN '.TABLE_PREFIX.'UserGroup ug ON ug.GroupId = %1$s.GroupId'),
+
+ 'ListSortings' => Array(
+ '' => Array(
+ 'Sorting' => Array('Name' => 'asc'),
+ )
+ ),
+
+ 'SubItems' => Array('g-ug'),
+ 'CalculatedFields' => Array(
+ 'total' => Array(
+ 'UserCount' => 'COUNT(ug.PortalUserId)',
+ ),
+ ),
+
+ 'Fields' => Array (
+ 'GroupId' => Array(),
+ 'Name' => Array('type' => 'string', 'not_null' => '1', 'required' => 1, 'default' => ''),
+ 'Description' => Array('type' => 'string','default' => ''),
+ 'CreatedOn' => Array('type' => 'double', 'formatter' => 'kDateFormatter', 'not_null' => '1','default' => '#NOW#'),
+ 'System' => Array('type' => 'int','not_null' => '1','default' => '0'),
+ 'Personal' => Array('type' => 'int','not_null' => '1','default' => '0'),
+ 'Enabled' => Array('type' => 'int', 'formatter' => 'kOptionsFormatter', 'options' => Array(1 => 'la_Enabled', 0 => 'la_Disabled'), 'use_phrases' => 1, 'not_null' => '1','default' => 1),
+ 'ResourceId' => Array('type' => 'int','not_null' => '1','default' => '0'),
+ ),
+
+ 'VirtualFields' => Array(
+ 'UserCount' => Array('type' => 'int', 'default' => 0),
+ ),
+
+ 'Grids' => Array(
+ 'Default' => Array(
+ 'Icons' => Array(1 => 'icon16_group.gif', 0 => 'icon16_group_disabled.gif'),
+ 'Fields' => Array(
+ 'Name' => Array('title' => 'la_col_GroupName', 'data_block' => 'grid_checkbox_td'),
+ 'UserCount' => Array('title' => 'la_col_UserCount'),
+ ),
+ ),
+
+ /*'GroupSelector' => Array(
+ 'Icons' => Array(0 => 'icon16_user_disabled.gif', 1 => 'icon16_user.gif', 2 => 'icon16_user_pending.gif'),
+ 'Fields' => Array(
+ 'Login' => Array('title' => 'la_col_Username', 'data_block' => 'grid_radio_td'),
+ 'LastName' => Array( 'title'=>'la_col_LastName'),
+ 'FirstName' => Array( 'title'=>'la_col_FirstName'),
+ 'Email' => Array( 'title'=>'la_col_Email'),
+ 'PrimaryGroup' => Array( 'title'=>'la_col_PrimaryGroup'),
+ 'CreatedOn_formatted' => Array('title' => 'la_col_CreatedOn', 'sort_field' => 'CreatedOn'),
+ ),
+ ),*/
+ ),
+
+ );
+
+?>
\ No newline at end of file
Index: trunk/kernel/admin_templates/incs/grid.js
===================================================================
diff -u -r1566 -r4596
--- trunk/kernel/admin_templates/incs/grid.js (.../grid.js) (revision 1566)
+++ trunk/kernel/admin_templates/incs/grid.js (.../grid.js) (revision 4596)
@@ -203,6 +203,17 @@
this.CheckDependencies();
}
+Grid.prototype.GetSelected = function() {
+ var $ret = new Array();
+ for (var i in this.Items) {
+ if (this.Items[i].selected) {
+ $ret[$ret.length] = this.Items[i].ItemId;
+ }
+
+ }
+ return $ret;
+}
+
Grid.prototype.InvertSelection = function() {
for (var i in this.Items)
{
Index: trunk/kernel/admin_templates/img/itemicons/icon16_group_disabled.gif
===================================================================
diff -u
Binary files differ
Index: trunk/core/admin_templates/groups/groups_edit.tpl
===================================================================
diff -u
--- trunk/core/admin_templates/groups/groups_edit.tpl (revision 0)
+++ trunk/core/admin_templates/groups/groups_edit.tpl (revision 4596)
@@ -0,0 +1,71 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
Index: trunk/kernel/admin_templates/groups/groups_edit.tpl
===================================================================
diff -u
--- trunk/kernel/admin_templates/groups/groups_edit.tpl (revision 0)
+++ trunk/kernel/admin_templates/groups/groups_edit.tpl (revision 4596)
@@ -0,0 +1,71 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
Index: trunk/kernel/admin_templates/groups/groups_edit_tabs.tpl
===================================================================
diff -u
--- trunk/kernel/admin_templates/groups/groups_edit_tabs.tpl (revision 0)
+++ trunk/kernel/admin_templates/groups/groups_edit_tabs.tpl (revision 4596)
@@ -0,0 +1,13 @@
+
\ No newline at end of file
Index: trunk/kernel/units/groups/groups_event_handler.php
===================================================================
diff -u
--- trunk/kernel/units/groups/groups_event_handler.php (revision 0)
+++ trunk/kernel/units/groups/groups_event_handler.php (revision 4596)
@@ -0,0 +1,19 @@
+Special == 'total') {
+ $object =& $event->getObject();
+ $object->AddGroupByField('%1$s.GroupId');
+ }
+ }
+ }
+
+?>
\ No newline at end of file
Index: trunk/core/admin_templates/groups/groups_edit_tabs.tpl
===================================================================
diff -u
--- trunk/core/admin_templates/groups/groups_edit_tabs.tpl (revision 0)
+++ trunk/core/admin_templates/groups/groups_edit_tabs.tpl (revision 4596)
@@ -0,0 +1,13 @@
+
\ No newline at end of file
Index: trunk/core/units/groups/groups_event_handler.php
===================================================================
diff -u
--- trunk/core/units/groups/groups_event_handler.php (revision 0)
+++ trunk/core/units/groups/groups_event_handler.php (revision 4596)
@@ -0,0 +1,19 @@
+Special == 'total') {
+ $object =& $event->getObject();
+ $object->AddGroupByField('%1$s.GroupId');
+ }
+ }
+ }
+
+?>
\ No newline at end of file
Index: trunk/core/units/users/users_config.php
===================================================================
diff -u -r4524 -r4596
--- trunk/core/units/users/users_config.php (.../users_config.php) (revision 4524)
+++ trunk/core/units/users/users_config.php (.../users_config.php) (revision 4596)
@@ -102,16 +102,6 @@
'type' => stTREE,
),
- 'in-portal:user_groups' => Array(
- 'parent' => 'in-portal:users',
- 'icon' => 'usergroups',
- 'label' => 'la_tab_User_Groups',
- 'url' => Array('index_file' => 'users/user_groups.php', 'pass' => 'm', 'resetpage' => 1),
- 'permissions' => Array('view', 'edit', 'delete', 'advanced:send_email'),
- 'priority' => 2,
- 'type' => stTREE,
- ),
-
'in-portal:configure_users' => Array(
'parent' => 'in-portal:users',
'icon' => 'users_settings',
@@ -173,7 +163,7 @@
)
),
- 'SubItems' => Array('addr', 'u-cdata'),
+ 'SubItems' => Array('addr', 'u-cdata', 'u-ug'),
'FilterMenu' => Array(
'Groups' => Array(
Index: trunk/globals.php
===================================================================
diff -u -r4446 -r4596
--- trunk/globals.php (.../globals.php) (revision 4446)
+++ trunk/globals.php (.../globals.php) (revision 4596)
@@ -1695,6 +1695,12 @@
$main =& $GLOBALS[$prefix.'_var_list'];
$update =& $GLOBALS[$prefix.'_var_list_update'];
+ // if part of env found in POST, then use it first
+ $submit_value = GetVar($prefix.'_'.$name);
+ if ($submit_value !== false) {
+ return $submit_value;
+ }
+
return isset($update[$name]) ? $update[$name] : ( isset($main[$name]) ? $main[$name] : '');
}
Index: trunk/core/admin_templates/groups/groups_edit_users.tpl
===================================================================
diff -u
--- trunk/core/admin_templates/groups/groups_edit_users.tpl (revision 0)
+++ trunk/core/admin_templates/groups/groups_edit_users.tpl (revision 4596)
@@ -0,0 +1,90 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
Index: trunk/kernel/units/users/users_config.php
===================================================================
diff -u -r4524 -r4596
--- trunk/kernel/units/users/users_config.php (.../users_config.php) (revision 4524)
+++ trunk/kernel/units/users/users_config.php (.../users_config.php) (revision 4596)
@@ -102,16 +102,6 @@
'type' => stTREE,
),
- 'in-portal:user_groups' => Array(
- 'parent' => 'in-portal:users',
- 'icon' => 'usergroups',
- 'label' => 'la_tab_User_Groups',
- 'url' => Array('index_file' => 'users/user_groups.php', 'pass' => 'm', 'resetpage' => 1),
- 'permissions' => Array('view', 'edit', 'delete', 'advanced:send_email'),
- 'priority' => 2,
- 'type' => stTREE,
- ),
-
'in-portal:configure_users' => Array(
'parent' => 'in-portal:users',
'icon' => 'users_settings',
@@ -173,7 +163,7 @@
)
),
- 'SubItems' => Array('addr', 'u-cdata'),
+ 'SubItems' => Array('addr', 'u-cdata', 'u-ug'),
'FilterMenu' => Array(
'Groups' => Array(
Index: trunk/kernel/admin/include/navmenu.php
===================================================================
diff -u -r4457 -r4596
--- trunk/kernel/admin/include/navmenu.php (.../navmenu.php) (revision 4457)
+++ trunk/kernel/admin/include/navmenu.php (.../navmenu.php) (revision 4596)
@@ -330,7 +330,7 @@
NULL, "in-portal:user_groups", "in-portal:editgroup_general","in-portal:editgroup_permissions",-1);
$objSections->AddSection("in-portal:editgroup_permissions", "la_tab_Permissions", NULL,$admin."/users/",
- "javascript:edit_submit('editgroup','GroupEditStatus','".$admin."/users/addgroup_permissions.php',0)",
+ "javascript:edit_submit('editgroup','GroupEditStatus','".$admin."/index4_direct.php', 0, '&t=groups/groups_edit_permissions&prefix=g')",
$admin."/icons/icon46_community.gif", $admin."/icons/icon24_usergroups.gif",
NULL, "in-portal:user_groups", "in-portal:editgroup_users",NULL,-1);
Index: trunk/kernel/admin_templates/groups/groups_edit_users.tpl
===================================================================
diff -u
--- trunk/kernel/admin_templates/groups/groups_edit_users.tpl (revision 0)
+++ trunk/kernel/admin_templates/groups/groups_edit_users.tpl (revision 4596)
@@ -0,0 +1,90 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
Index: trunk/kernel/admin_templates/img/itemicons/icon16_group.gif
===================================================================
diff -u
Binary files differ