Skip to content

Commit d2ba649

Browse files
committed
Added XMPP Users List and DB Table
1 parent 9f94a17 commit d2ba649

File tree

7 files changed

+259
-4
lines changed

7 files changed

+259
-4
lines changed

install/sql/incremental/upd_0081.sql

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,4 +52,30 @@ CREATE TABLE `xmpp_domain` (
5252
PRIMARY KEY (`domain_id`),
5353
KEY `server_id` (`server_id`,`domain`),
5454
KEY `domain_active` (`domain`,`active`)
55-
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
55+
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
56+
57+
--
58+
-- Table structure for table `xmpp_user`
59+
--
60+
61+
CREATE TABLE `xmpp_user` (
62+
`xmppuser_id` int(11) unsigned NOT NULL auto_increment,
63+
`sys_userid` int(11) unsigned NOT NULL default '0',
64+
`sys_groupid` int(11) unsigned NOT NULL default '0',
65+
`sys_perm_user` varchar(5) NOT NULL default '',
66+
`sys_perm_group` varchar(5) NOT NULL default '',
67+
`sys_perm_other` varchar(5) NOT NULL default '',
68+
`server_id` int(11) unsigned NOT NULL default '0',
69+
`xmpp_domain_id` int(11) unsigned NOT NULL default '0',
70+
`login` varchar(255) NOT NULL default '',
71+
`jid` varchar(255) NOT NULL default '',
72+
`password` varchar(255) NOT NULL default '',
73+
`is_domain_admin` enum('n','y') NOT NULL default 'n',
74+
`is_muc_admin` enum('n','y') NOT NULL default 'n',
75+
`active` enum('n','y') NOT NULL DEFAULT 'n',
76+
PRIMARY KEY (`xmppuser_id`),
77+
KEY `server_id` (`server_id`,`jid`),
78+
KEY `jid_active` (`jid`,`active`)
79+
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
80+
81+
-- --------------------------------------------------------

install/sql/ispconfig3.sql

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1964,7 +1964,7 @@ CREATE TABLE `web_traffic` (
19641964
-- --------------------------------------------------------
19651965

19661966
--
1967-
-- Table structure for table `xmpp_domain`
1967+
-- Table structure for table `xmpp_domain`
19681968
--
19691969

19701970
CREATE TABLE `xmpp_domain` (
@@ -2008,6 +2008,33 @@ CREATE TABLE `xmpp_domain` (
20082008
KEY `domain_active` (`domain`,`active`)
20092009
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
20102010

2011+
-- --------------------------------------------------------
2012+
2013+
--
2014+
-- Table structure for table `xmpp_user`
2015+
--
2016+
2017+
CREATE TABLE `xmpp_user` (
2018+
`xmppuser_id` int(11) unsigned NOT NULL auto_increment,
2019+
`sys_userid` int(11) unsigned NOT NULL default '0',
2020+
`sys_groupid` int(11) unsigned NOT NULL default '0',
2021+
`sys_perm_user` varchar(5) NOT NULL default '',
2022+
`sys_perm_group` varchar(5) NOT NULL default '',
2023+
`sys_perm_other` varchar(5) NOT NULL default '',
2024+
`server_id` int(11) unsigned NOT NULL default '0',
2025+
`xmpp_domain_id` int(11) unsigned NOT NULL default '0',
2026+
`login` varchar(255) NOT NULL default '',
2027+
`jid` varchar(255) NOT NULL default '',
2028+
`password` varchar(255) NOT NULL default '',
2029+
`is_domain_admin` enum('n','y') NOT NULL default 'n',
2030+
`is_muc_admin` enum('n','y') NOT NULL default 'n',
2031+
`active` enum('n','y') NOT NULL DEFAULT 'n',
2032+
PRIMARY KEY (`xmppuser_id`),
2033+
KEY `server_id` (`server_id`,`jid`),
2034+
KEY `jid_active` (`jid`,`active`)
2035+
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
2036+
2037+
-- --------------------------------------------------------
20112038

20122039
-- --------------------------------------------------------
20132040
-- --------------------------------------------------------
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<?php
2+
$wb["list_head_txt"] = 'XMPP User Accounts';
3+
$wb["jid_txt"] = 'Jabber ID';
4+
$wb["is_domain_admin_txt"] = 'Domain admin';
5+
$wb["is_muc_admin_txt"] = 'MUC admin';
6+
$wb["add_new_record_txt"] = 'Add new user';
7+
$wb["active_txt"] = 'Active';
8+
?>

interface/web/mail/lib/module.conf.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -163,8 +163,8 @@
163163
{
164164
$items[] = array( 'title' => 'XMPP Account',
165165
'target' => 'content',
166-
'link' => 'mail/xmpp_account_list.php',
167-
'html_id' => 'xmpp_account_list');
166+
'link' => 'mail/xmpp_user_list.php',
167+
'html_id' => 'xmpp_user_list');
168168
}
169169

170170
if(count($items))
Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
<?php
2+
3+
/*
4+
Datatypes:
5+
- INTEGER
6+
- DOUBLE
7+
- CURRENCY
8+
- VARCHAR
9+
- TEXT
10+
- DATE
11+
*/
12+
13+
14+
15+
// Name of the list
16+
$liste["name"] = "xmpp_user";
17+
18+
// Database table
19+
$liste["table"] = "xmpp_user";
20+
21+
// Index index field of the database table
22+
$liste["table_idx"] = "xmppuser_id";
23+
24+
// Search Field Prefix
25+
$liste["search_prefix"] = "search_";
26+
27+
// Records per page
28+
$liste["records_per_page"] = "15";
29+
30+
// Script File of the list
31+
$liste["file"] = "xmpp_user_list.php";
32+
33+
// Script file of the edit form
34+
$liste["edit_file"] = "xmpp_user_edit.php";
35+
36+
// Script File of the delete script
37+
$liste["delete_file"] = "xmpp_user_del.php";
38+
39+
// Paging Template
40+
$liste["paging_tpl"] = "templates/paging.tpl.htm";
41+
42+
// Enable auth
43+
$liste["auth"] = "yes";
44+
45+
46+
/*****************************************************
47+
* Suchfelder
48+
*****************************************************/
49+
50+
$liste["item"][] = array( 'field' => "JID",
51+
'datatype' => "VARCHAR",
52+
'filters' => array( 0 => array( 'event' => 'SHOW',
53+
'type' => 'IDNTOUTF8')
54+
),
55+
'formtype' => "TEXT",
56+
'op' => "like",
57+
'prefix' => "%",
58+
'suffix' => "%",
59+
'width' => "",
60+
'value' => "");
61+
62+
$liste["item"][] = array( 'field' => "is_domain_admin",
63+
'datatype' => "VARCHAR",
64+
'formtype' => "SELECT",
65+
'op' => "=",
66+
'prefix' => "",
67+
'suffix' => "",
68+
'width' => "",
69+
'value' => array('n' => "<div id=\"ir-Yes\" class=\"swap\"><span>Yes</span></div>", 'y' => "<div class=\"swap\" id=\"ir-No\"><span>No</span></div>"));
70+
71+
$liste["item"][] = array( 'field' => "is_muc_admin",
72+
'datatype' => "VARCHAR",
73+
'formtype' => "SELECT",
74+
'op' => "=",
75+
'prefix' => "",
76+
'suffix' => "",
77+
'width' => "",
78+
'value' => array('n' => "<div id=\"ir-Yes\" class=\"swap\"><span>Yes</span></div>", 'y' => "<div class=\"swap\" id=\"ir-No\"><span>No</span></div>"));
79+
80+
81+
?>
Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
<div class='page-header'>
2+
<h1><tmpl_var name="list_head_txt"></h1>
3+
</div>
4+
<p><tmpl_var name="list_desc_txt"></p>
5+
6+
7+
<tmpl_if name='datalog_changes_count' op='>' value='0'>
8+
<div>
9+
<div class="systemmonitor-state state-info">
10+
<div class="status"></div>
11+
<div class="statusMsg">
12+
{tmpl_var name="datalog_changes_txt"}
13+
<ul>
14+
<tmpl_loop name="datalog_changes">
15+
<li><strong>{tmpl_var name="text"}:</strong> {tmpl_var name="count"}</li>
16+
</tmpl_loop>
17+
</ul>
18+
{tmpl_var name="datalog_changes_end_txt"}
19+
</div>
20+
</div><br />
21+
</div>
22+
</tmpl_if>
23+
<p class="fieldset-legend">{tmpl_var name="toolsarea_head_txt"}</p>
24+
25+
<button class="btn btn-default formbutton-success" type="button" data-load-content="mail/xmpp_user_edit.php">{tmpl_var name="add_new_record_txt"}</button>
26+
27+
28+
29+
30+
<p class="fieldset-legend"><tmpl_var name="list_head_txt"></p>
31+
<div class="table-wrapper marginTop15">
32+
<table class="table">
33+
<thead class="dark form-group-sm">
34+
<tr>
35+
<th data-column="jid"><tmpl_var name="jid_txt"></th>
36+
<th class="small-col" data-column="is_domain_admin"><tmpl_var name="is_domain_admin_txt"></th>
37+
<th class="small-col" data-column="is_muc_admin"><tmpl_var name="is_muc_admin_txt"></th>
38+
<th class="small-col text-right">{tmpl_var name='search_limit'}</th>
39+
</tr>
40+
<tr>
41+
<td><input class="form-control" type="text" name="search_jid" value="{tmpl_var name='search_jid'}" /></td>
42+
<td><select class="form-control" name="search_is_domain_admin">{tmpl_var name='search_is_domain_admin'}</select></td>
43+
<td><select class="form-control" name="search_is_muc_admin">{tmpl_var name='search_is_muc_admin'}</select></td>
44+
<td class="text-right">
45+
<button type="button" class="btn btn-default formbutton-default formbutton-narrow" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" data-submit-form="pageForm" data-form-action="mail/xmpp_user_list.php"><span class="icon icon-filter"></span></button>
46+
</td>
47+
</tr>
48+
</thead>
49+
<tbody>
50+
<tmpl_loop name="records">
51+
<tr>
52+
<td><a href="#" data-load-content="mail/xmpp_user_edit.php?id={tmpl_var name='id'}">{tmpl_var name="jid"}</a></td>
53+
<td><a href="#" data-load-content="mail/xmpp_user_edit.php?id={tmpl_var name='id'}">{tmpl_var name="is_domain_admin"}</a></td>
54+
<td><a href="#" data-load-content="mail/xmpp_user_edit.php?id={tmpl_var name='id'}">{tmpl_var name="is_muc_admin"}</a></td>
55+
<td class="text-right">
56+
<a class="btn btn-default formbutton-danger formbutton-narrow" href="javascript: ISPConfig.confirm_action('mail/xmpp_user_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span class="icon icon-delete"></span></button>
57+
</td>
58+
</tr>
59+
</tmpl_loop>
60+
<tmpl_unless name="records">
61+
<tr class="tbl_row_noresults tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
62+
<td colspan="4">{tmpl_var name='globalsearch_noresults_text_txt'}</td>
63+
</tr>
64+
</tmpl_unless>
65+
</tbody>
66+
<tfoot>
67+
<tr>
68+
<td colspan="4"><tmpl_var name="paging"></td>
69+
</tr>
70+
</tfoot>
71+
</table>
72+
</div>
73+
74+
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
<?php
2+
require_once '../../lib/config.inc.php';
3+
require_once '../../lib/app.inc.php';
4+
5+
/******************************************
6+
* Begin Form configuration
7+
******************************************/
8+
9+
$list_def_file = "list/xmpp_user.list.php";
10+
11+
/******************************************
12+
* End Form configuration
13+
******************************************/
14+
15+
//* Check permissions for module
16+
$app->auth->check_module_permissions('mail');
17+
18+
$app->load('listform_actions');
19+
20+
21+
class list_action extends listform_actions {
22+
23+
function onShow() {
24+
global $app, $conf;
25+
26+
$app->uses('getconf');
27+
$global_config = $app->getconf->get_global_config('xmpp');
28+
29+
parent::onShow();
30+
}
31+
32+
}
33+
34+
$list = new list_action;
35+
$list->SQLOrderBy = 'ORDER BY xmpp_user.jid';
36+
$list->onLoad();
37+
38+
39+
?>

0 commit comments

Comments
 (0)