Skip to content

Commit 24f38b4

Browse files
author
vogelor
committed
Enhancement of the Website-List. The user can only select the server as filter, he has some sites at (and not ALL Servers of the server-farm)
1 parent 3aa0c3c commit 24f38b4

File tree

3 files changed

+10
-5
lines changed

3 files changed

+10
-5
lines changed

interface/lib/classes/listform.inc.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,8 @@ private function getDatasourceData($field)
9191
//$querystring = str_replace("{RECORDID}",$record[$table_idx],$querystring);
9292
$app->uses('tform');
9393
$querystring = str_replace("{AUTHSQL}",$app->tform->getAuthSQL('r'),$querystring);
94+
$querystring = str_replace("{AUTHSQL-A}",$app->tform->getAuthSQL('r','a'),$querystring);
95+
$querystring = str_replace("{AUTHSQL-B}",$app->tform->getAuthSQL('r','b'),$querystring);
9496

9597
//* Getting the records
9698
$tmp_records = $app->db->queryAllRecords($querystring);

interface/lib/classes/tform.inc.php

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1125,15 +1125,18 @@ function datalogSave($action,$primary_id, $record_old, $record_new) {
11251125

11261126
}
11271127

1128-
function getAuthSQL($perm) {
1128+
function getAuthSQL($perm, $table = '') {
11291129
if($_SESSION["s"]["user"]["typ"] == 'admin') {
11301130
return '1';
11311131
} else {
1132+
if ($table != ''){
1133+
$table = ' ' . $table . '.';
1134+
}
11321135
$groups = ( $_SESSION["s"]["user"]["groups"] ) ? $_SESSION["s"]["user"]["groups"] : 0;
11331136
$sql = '(';
1134-
$sql .= "(sys_userid = ".$_SESSION["s"]["user"]["userid"]." AND sys_perm_user like '%$perm%') OR ";
1135-
$sql .= "(sys_groupid IN (".$groups.") AND sys_perm_group like '%$perm%') OR ";
1136-
$sql .= "sys_perm_other like '%$perm%'";
1137+
$sql .= "(" . $table . "sys_userid = ".$_SESSION["s"]["user"]["userid"]." AND " . $table . "sys_perm_user like '%$perm%') OR ";
1138+
$sql .= "(" . $table . "sys_groupid IN (".$groups.") AND " . $table ."sys_perm_group like '%$perm%') OR ";
1139+
$sql .= $table . "sys_perm_other like '%$perm%'";
11371140
$sql .= ')';
11381141

11391142
return $sql;

interface/web/sites/list/web_domain.list.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@
7474
'prefix' => "%",
7575
'suffix' => "%",
7676
'datasource' => array ( 'type' => 'SQL',
77-
'querystring' => 'SELECT server_id,server_name FROM server WHERE {AUTHSQL} ORDER BY server_name',
77+
'querystring' => 'SELECT a.server_id, a.server_name FROM server a, web_domain b WHERE (a.server_id = b.server_id) AND ({AUTHSQL-B}) ORDER BY a.server_name',
7878
'keyfield'=> 'server_id',
7979
'valuefield'=> 'server_name'
8080
),

0 commit comments

Comments
 (0)