Newer
Older
//* Get fetchmail details
public function mail_fetchmail_get($session_id, $primary_id)
if(!$this->checkPerm($session_id, 'mail_fetchmail_get')) {
$this->server->fault('permission_denied', 'You do not have the permissions to access this function.');
return false;
}
$app->uses('remoting_lib');
$app->remoting_lib->loadFormDef('../mail/form/mail_get.tform.php');
return $app->remoting_lib->getDataRecord($primary_id);
}
public function mail_fetchmail_add($session_id, $client_id, $params)
{
if (!$this->checkPerm($session_id, 'mail_fetchmail_add'))
{
$this->server->fault('permission_denied', 'You do not have the permissions to access this function.');
return false;
}
$affected_rows = $this->insertQuery('../mail/form/mail_get.tform.php', $client_id, $params);
return $affected_rows;
}
public function mail_fetchmail_update($session_id, $client_id, $primary_id, $params)
{
if (!$this->checkPerm($session_id, 'mail_fetchmail_update'))
{
$this->server->fault('permission_denied', 'You do not have the permissions to access this function.');
return false;
}
$affected_rows = $this->updateQuery('../mail/form/mail_get.tform.php', $client_id, $primary_id, $params);
return $affected_rows;
}
public function mail_fetchmail_delete($session_id, $primary_id)
{
if (!$this->checkPerm($session_id, 'mail_fetchmail_delete'))
{
$this->server->fault('permission_denied', 'You do not have the permissions to access this function.');
return false;
}
$affected_rows = $this->deleteQuery('../mail/form/mail_get.tform.php', $primary_id);
return $affected_rows;
//* Get whitelist details
public function mail_whitelist_get($session_id, $primary_id)
if(!$this->checkPerm($session_id, 'mail_whitelist_get')) {
$this->server->fault('permission_denied', 'You do not have the permissions to access this function.');
return false;
}
$app->uses('remoting_lib');
$app->remoting_lib->loadFormDef('../mail/form/mail_whitelist.tform.php');
return $app->remoting_lib->getDataRecord($primary_id);
}
//* wpisy białej listy
public function mail_whitelist_add($session_id, $client_id, $params)
{
if (!$this->checkPerm($session_id, 'mail_whitelist_add'))
{
$this->server->fault('permission_denied', 'You do not have the permissions to access this function.');
return false;
}
$affected_rows = $this->insertQuery('../mail/form/mail_whitelist.tform.php', $client_id, $params);
return $affected_rows;
}
public function mail_whitelist_update($session_id, $client_id, $primary_id, $params)
{
if (!$this->checkPerm($session_id, 'mail_whitelist_update'))
{
$this->server->fault('permission_denied', 'You do not have the permissions to access this function.');
return false;
}
$affected_rows = $this->updateQuery('../mail/form/mail_whitelist.tform.php', $client_id, $primary_id, $params);
return $affected_rows;
}
public function mail_whitelist_delete($session_id, $primary_id)
{
if (!$this->checkPerm($session_id, 'mail_whitelist_delete'))
{
$this->server->fault('permission_denied', 'You do not have the permissions to access this function.');
return false;
}
$affected_rows = $this->deleteQuery('../mail/form/mail_whitelist.tform.php', $primary_id);
return $affected_rows;
//* Get Blacklist details
public function mail_blacklist_get($session_id, $primary_id)
if(!$this->checkPerm($session_id, 'mail_blacklist_get')) {
$this->server->fault('permission_denied', 'You do not have the permissions to access this function.');
return false;
}
$app->uses('remoting_lib');
$app->remoting_lib->loadFormDef('../mail/form/mail_blacklist.tform.php');
return $app->remoting_lib->getDataRecord($primary_id);
}
//* wpisy białej listy
public function mail_blacklist_add($session_id, $client_id, $params)
{
if (!$this->checkPerm($session_id, 'mail_blacklist_add'))
{
$this->server->fault('permission_denied', 'You do not have the permissions to access this function.');
return false;
}
$affected_rows = $this->insertQuery('../mail/form/mail_blacklist.tform.php', $client_id, $params);
return $affected_rows;
}
public function mail_blacklist_update($session_id, $client_id, $primary_id, $params)
{
if (!$this->checkPerm($session_id, 'mail_blacklist_update'))
{
$this->server->fault('permission_denied', 'You do not have the permissions to access this function.');
return false;
}
$affected_rows = $this->updateQuery('../mail/form/mail_blacklist.tform.php', $client_id, $primary_id, $params);
return $affected_rows;
}
public function mail_blacklist_delete($session_id, $primary_id)
{
if (!$this->checkPerm($session_id, 'mail_blacklist_delete'))
{
$this->server->fault('permission_denied', 'You do not have the permissions to access this function.');
return false;
}
$affected_rows = $this->deleteQuery('../mail/form/mail_blacklist.tform.php', $primary_id);
return $affected_rows;
//* Get filter details
public function mail_filter_get($session_id, $primary_id)
if(!$this->checkPerm($session_id, 'mail_filter_get')) {
$this->server->fault('permission_denied', 'You do not have the permissions to access this function.');
return false;
}
$app->uses('remoting_lib');
$app->remoting_lib->loadFormDef('../mail/form/mail_content_filter.tform.php');
return $app->remoting_lib->getDataRecord($primary_id);
}
//* wpisy filtrow e-mail
public function mail_filter_add($session_id, $client_id, $params)
{
if (!$this->checkPerm($session_id, 'mail_filter_add'))
{
$this->server->fault('permission_denied', 'You do not have the permissions to access this function.');
return false;
}
$affected_rows = $this->insertQuery('../mail/form/mail_content_filter.tform.php', $client_id, $params);
return $affected_rows;
}
public function mail_filter_update($session_id, $client_id, $primary_id, $params)
{
if (!$this->checkPerm($session_id, 'mail_filter_update'))
{
$this->server->fault('permission_denied', 'You do not have the permissions to access this function.');
return false;
}
$affected_rows = $this->updateQuery('../mail/form/mail_content_filter.tform.php', $client_id, $primary_id, $params);
return $affected_rows;
}
public function mail_filter_delete($session_id, $primary_id)
{
if (!$this->checkPerm($session_id, 'mail_filter_delete'))
{
$this->server->fault('permission_denied', 'You do not have the permissions to access this function.');
return false;
}
$affected_rows = $this->deleteQuery('../mail/form/mail_content_filter.tform.php', $primary_id);
return $affected_rows;
*/
//* Get client details
public function client_get($session_id, $client_id)
if(!$this->checkPerm($session_id, 'client_get')) {
$this->server->fault('permission_denied', 'You do not have the permissions to access this function.');
return false;
}
$app->uses('remoting_lib');
$app->remoting_lib->loadFormDef('../client/form/client.tform.php');
$data = $app->remoting_lib->getDataRecord($client_id);
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
// we need to get the new-style templates for backwards-compatibility - maybe we remove this in a later version
if(is_array($data) && count($data) > 0) {
if(isset($data['client_id'])) {
// this is a single record
if($data['template_additional'] == '') {
$tpls = $app->db->queryAllRecords('SELECT CONCAT(`assigned_template_id`, \':\', `client_template_id`) as `item` FROM `client_template_assigned` WHERE `client_id` = ' . $data['client_id']);
$tpl_arr = array();
if($tpls) {
foreach($tpls as $tpl) $tpl_arr[] = $tpl['item'];
}
$data['template_additional'] = implode('/', $tpl_arr);
unset($tpl_arr);
unset($tpls);
}
} elseif(isset($data[0]['client_id'])) {
// multiple client records
foreach($data as $index => $client) {
if($client['template_additional'] == '') {
$tpls = $app->db->queryAllRecords('SELECT CONCAT(`assigned_template_id`, \':\', `client_template_id`) as `item` FROM `client_template_assigned` WHERE `client_id` = ' . $client['client_id']);
$tpl_arr = array();
if($tpls) {
foreach($tpls as $tpl) $tpl_arr[] = $tpl['item'];
}
$data[$index]['template_additional'] = implode('/', $tpl_arr); // dont use the $client array here - changes would not be returned to soap
}
unset($tpl_arr);
unset($tpls);
}
}
}
return $data;
}
public function client_get_id($session_id, $sys_userid)
global $app;
if(!$this->checkPerm($session_id, 'client_get_id')) {
$this->server->fault('permission_denied', 'You do not have the permissions to access this function.');
return false;
}
$sys_userid = $app->functions->intval($sys_userid);
$rec = $app->db->queryOneRecord("SELECT client_id FROM sys_user WHERE userid = ".$sys_userid);
if(isset($rec['client_id'])) {
return $app->functions->intval($rec['client_id']);
} else {
$this->server->fault('no_client_found', 'There is no sysuser account for this client ID.');
return false;
}
public function client_get_groupid($session_id, $client_id)
global $app;
if(!$this->checkPerm($session_id, 'client_get_id')) {
$this->server->fault('permission_denied', 'You do not have the permissions to access this function.');
return false;
}
$client_id = $app->functions->intval($client_id);
$rec = $app->db->queryOneRecord("SELECT groupid FROM sys_group WHERE client_id = ".$client_id);
if(isset($rec['groupid'])) {
return $app->functions->intval($rec['groupid']);
} else {
$this->server->fault('no_group_found', 'There is no group for this client ID.');
return false;
}
public function client_add($session_id, $reseller_id, $params)
{
if (!$this->checkPerm($session_id, 'client_add'))
{
$this->server->fault('permission_denied', 'You do not have the permissions to access this function.');
return false;
}
if(!isset($params['parent_client_id']) || $params['parent_client_id'] == 0) $params['parent_client_id'] = $reseller_id;
$affected_rows = $this->klientadd('../client/form/' . (isset($params['limit_client']) && $params['limit_client'] > 0 ? 'reseller' : 'client') . '.tform.php', $reseller_id, $params);
return $affected_rows;
public function client_update($session_id, $client_id, $reseller_id, $params)
{
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
global $app;
if (!$this->checkPerm($session_id, 'client_update'))
{
$this->server->fault('permission_denied', 'You do not have the permissions to access this function.');
return false;
}
$app->uses('remoting_lib');
$app->remoting_lib->loadFormDef('../client/form/' . (isset($params['limit_client']) && $params['limit_client'] > 0 ? 'reseller' : 'client') . '.tform.php');
$old_rec = $app->remoting_lib->getDataRecord($client_id);
// we need the previuos templates assigned here
$this->oldTemplatesAssigned = $app->db->queryAllRecords('SELECT * FROM `client_template_assigned` WHERE `client_id` = ' . $client_id);
if(!is_array($this->oldTemplatesAssigned) || count($this->oldTemplatesAssigned) < 1) {
// check previous type of storing templates
$tpls = explode('/', $old_rec['template_additional']);
$this->oldTemplatesAssigned = array();
foreach($tpls as $item) {
$item = trim($item);
if(!$item) continue;
$this->oldTemplatesAssigned[] = array('assigned_template_id' => 0, 'client_template_id' => $item, 'client_id' => $client_id);
unset($tpls);
}
if(isset($params['template_additional'])) {
$app->uses('client_templates');
$templates = explode('/', $params['template_additional']);
$params['template_additional'] = '';
$app->client_templates->update_client_templates($client_id, $templates);
unset($templates);
}
if(!isset($params['parent_client_id']) || $params['parent_client_id'] == 0) $params['parent_client_id'] = $reseller_id;
$affected_rows = $this->updateQuery('../client/form/' . (isset($params['limit_client']) && $params['limit_client'] > 0 ? 'reseller' : 'client') . '.tform.php', $reseller_id, $client_id, $params, 'client:' . ($reseller_id ? 'reseller' : 'client') . ':on_after_update');
$app->remoting_lib->ispconfig_sysuser_update($params, $client_id);
return $affected_rows;
public function client_template_additional_get($session_id, $client_id) {
global $app;
if(!$this->checkPerm($session_id, 'client_get')) {
$this->server->fault('permission_denied', 'You do not have the permissions to access this function.');
return false;
}
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
if(@is_numeric($client_id)) {
$sql = "SELECT * FROM `client_template_assigned` WHERE `client_id` = ".$client_id;
return $app->db->queryOneRecord($sql);
} else {
$this->server->fault('The ID must be an integer.');
return array();
}
}
private function _set_client_formdata($client_id) {
global $app;
$this->id = $client_id;
$this->dataRecord = $app->db->queryOneRecord('SELECT * FROM `client` WHERE `client_id` = ' . $client_id);
$this->oldDataRecord = $this->dataRecord;
$this->oldTemplatesAssigned = $app->db->queryAllRecords('SELECT * FROM `client_template_assigned` WHERE `client_id` = ' . $client_id);
if(!is_array($this->oldTemplatesAssigned) || count($this->oldTemplatesAssigned) < 1) {
// check previous type of storing templates
$tpls = explode('/', $this->oldDataRecord['template_additional']);
$this->oldTemplatesAssigned = array();
foreach($tpls as $item) {
$item = trim($item);
if(!$item) continue;
$this->oldTemplatesAssigned[] = array('assigned_template_id' => 0, 'client_template_id' => $item, 'client_id' => $client_id);
}
unset($tpls);
}
}
public function client_template_additional_add($session_id, $client_id, $template_id) {
global $app;
if(!$this->checkPerm($session_id, 'client_update')) {
$this->server->fault('permission_denied', 'You do not have the permissions to access this function.');
return false;
}
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
if(@is_numeric($client_id) && @is_numeric($template_id)) {
// check if client exists
$check = $app->db->queryOneRecord('SELECT `client_id` FROM `client` WHERE `client_id` = ' . $client_id);
if(!$check) {
$this->server->fault('Invalid client');
return false;
}
// check if template exists
$check = $app->db->queryOneRecord('SELECT `template_id` FROM `client_template` WHERE `template_id` = ' . $template_id);
if(!$check) {
$this->server->fault('Invalid template');
return false;
}
// for the update event we have to cheat a bit
$this->_set_client_formdata($client_id);
$sql = "INSERT INTO `client_template_assigned` (`client_id`, `client_template_id`) VALUES (" . $client_id . ", " . $template_id . ")";
$app->db->query($sql);
$insert_id = $app->db->insertID();
$app->plugin->raiseEvent('client:client:on_after_update', $this);
return $insert_id;
} else {
$this->server->fault('The IDs must be of type integer.');
return false;
}
}
public function client_template_additional_delete($session_id, $client_id, $assigned_template_id) {
global $app;
if(!$this->checkPerm($session_id, 'client_update')) {
$this->server->fault('permission_denied', 'You do not have the permissions to access this function.');
return false;
}
if(@is_numeric($client_id) && @is_numeric($template_id)) {
// check if client exists
$check = $app->db->queryOneRecord('SELECT `client_id` FROM `client` WHERE `client_id` = ' . $client_id);
if(!$check) {
$this->server->fault('Invalid client');
return false;
}
// check if template exists
$check = $app->db->queryOneRecord('SELECT `assigned_template_id` FROM `client_template_assigned` WHERE `assigned_template_id` = ' . $assigned_template_id);
if(!$check) {
$this->server->fault('Invalid template');
return false;
// for the update event we have to cheat a bit
$this->_set_client_formdata($client_id);
$sql = "DELETE FROM `client_template_assigned` WHERE `assigned_template_id` = " . $template_id . " AND `client_id` = " . $client_id;
$app->db->query($sql);
$affected_rows = $app->db->affectedRows();
$app->plugin->raiseEvent('client:client:on_after_update', $this);
} else {
$this->server->fault('The IDs must be of type integer.');
return false;
}
}
public function client_delete($session_id, $client_id)
{
global $app;
if (!$this->checkPerm($session_id, 'client_delete'))
{
$this->server->fault('permission_denied', 'You do not have the permissions to access this function.');
return false;
}
$affected_rows = $this->deleteQuery('../client/form/client.tform.php', $client_id);
$app->remoting_lib->ispconfig_sysuser_delete($client_id);
return $affected_rows;
// -----------------------------------------------------------------------------------------------
public function client_delete_everything($session_id, $client_id)
{
global $app, $conf;
if(!$this->checkPerm($session_id, 'client_delete_everything')) {
$this->server->fault('permission_denied', 'You do not have the permissions to access this function.');
return false;
$client_id = $app->functions->intval($client_id);
//* remove the group of the client from the resellers group
$parent_client_id = $app->functions->intval($this->dataRecord['parent_client_id']);
$parent_user = $app->db->queryOneRecord("SELECT userid FROM sys_user WHERE client_id = $parent_client_id");
$client_group = $app->db->queryOneRecord("SELECT groupid FROM sys_group WHERE client_id = $client_id");
$app->auth->remove_group_from_user($parent_user['userid'], $client_group['groupid']);
//* delete the group of the client
$app->db->query("DELETE FROM sys_group WHERE client_id = $client_id");
//* delete the sys user(s) of the client
$app->db->query("DELETE FROM sys_user WHERE client_id = $client_id");
//* Delete all records (sub-clients, mail, web, etc....) of this client.
$tables = 'client,dns_rr,dns_soa,dns_slave,ftp_user,mail_access,mail_content_filter,mail_domain,mail_forwarding,mail_get,mail_user,mail_user_filter,shell_user,spamfilter_users,support_message,web_database,web_database_user,web_domain,web_traffic';
$tables_array = explode(',', $tables);
$client_group_id = $app->functions->intval($client_group['groupid']);
if($client_group_id > 1) {
foreach($tables_array as $table) {
if($table != '') {
$records = $app->db->queryAllRecords("SELECT * FROM $table WHERE sys_groupid = ".$client_group_id);
//* find the primary ID of the table
$table_info = $app->db->tableInfo($table);
$index_field = '';
foreach($table_info as $tmp) {
if($tmp['option'] == 'primary') $index_field = $tmp['name'];
}
//* Delete the records
if($index_field != '') {
if(is_array($records)) {
foreach($records as $rec) {
$app->db->datalogDelete($table, $index_field, $rec[$index_field]);
//* Delete traffic records that dont have a sys_groupid column
if($table == 'web_domain') {
$app->db->query("DELETE FROM web_traffic WHERE hostname = '".$app->db->quote($rec['domain'])."'");
}
//* Delete mail_traffic records that dont have a sys_groupid
if($table == 'mail_user') {
$app->db->query("DELETE FROM mail_traffic WHERE mailuser_id = '".$app->db->quote($rec['mailuser_id'])."'");
}
if (!$this->checkPerm($session_id, 'client_delete')) {
$this->server->fault('permission_denied', 'You do not have the permissions to access this function.');
$affected_rows = $this->deleteQuery('../client/form/client.tform.php', $client_id);
// Website functions ---------------------------------------------------------------------------------------
//* Get cron details
public function sites_cron_get($session_id, $cron_id)
if(!$this->checkPerm($session_id, 'sites_cron_get')) {
$this->server->fault('permission_denied', 'You do not have the permissions to access this function.');
return false;
}
$app->uses('remoting_lib');
$app->remoting_lib->loadFormDef('../sites/form/cron.tform.php');
return $app->remoting_lib->getDataRecord($cron_id);
}
//* Add a cron record
public function sites_cron_add($session_id, $client_id, $params)
if(!$this->checkPerm($session_id, 'sites_cron_add')) {
$this->server->fault('permission_denied', 'You do not have the permissions to access this function.');
return false;
}
return $this->insertQuery('../sites/form/cron.tform.php', $client_id, $params);
//* Update cron record
public function sites_cron_update($session_id, $client_id, $cron_id, $params)
if(!$this->checkPerm($session_id, 'sites_cron_update')) {
$this->server->fault('permission_denied', 'You do not have the permissions to access this function.');
return false;
}
$affected_rows = $this->updateQuery('../sites/form/cron.tform.php', $client_id, $cron_id, $params);
//* Delete cron record
public function sites_cron_delete($session_id, $cron_id)
if(!$this->checkPerm($session_id, 'sites_cron_delete')) {
$this->server->fault('permission_denied', 'You do not have the permissions to access this function.');
return false;
}
$affected_rows = $this->deleteQuery('../sites/form/cron.tform.php', $cron_id);
// ----------------------------------------------------------------------------------------------------------
//* Get record details
public function sites_database_get($session_id, $primary_id)
if(!$this->checkPerm($session_id, 'sites_database_get')) {
$this->server->fault('permission_denied', 'You do not have the permissions to access this function.');
return false;
}
$app->uses('remoting_lib');
$app->remoting_lib->loadFormDef('../sites/form/database.tform.php');
return $app->remoting_lib->getDataRecord($primary_id);
}
//* Add a record
public function sites_database_add($session_id, $client_id, $params)
if(!$this->checkPerm($session_id, 'sites_database_add')) {
$this->server->fault('permission_denied', 'You do not have the permissions to access this function.');
return false;
}
//* Check for duplicates
$tmp = $app->db->queryOneRecord("SELECT count(database_id) as dbnum FROM web_database WHERE database_name = '".$app->db->quote($params['database_name'])."' AND server_id = '".intval($params["server_id"])."'");
if($tmp['dbnum'] > 0) {
$this->server->fault('database_name_error_unique', 'There is already a database with that name on the same server.');
return false;
}
$sql = $this->insertQueryPrepare('../sites/form/database.tform.php', $client_id, $params);
if($sql !== false) {
$app->uses('sites_database_plugin');
$this->id = 0;
$this->dataRecord = $params;
$app->sites_database_plugin->processDatabaseInsert($this);
return $this->insertQueryExecute($sql, $params);
}
//* Update a record
public function sites_database_update($session_id, $client_id, $primary_id, $params)
if(!$this->checkPerm($session_id, 'sites_database_update')) {
$this->server->fault('permission_denied', 'You do not have the permissions to access this function.');
return false;
}
$sql = $this->updateQueryPrepare('../sites/form/database.tform.php', $client_id, $primary_id, $params);
if($sql !== false) {
$app->uses('sites_database_plugin');
$this->id = $primary_id;
$this->dataRecord = $params;
$app->sites_database_plugin->processDatabaseUpdate($this);
return $this->updateQueryExecute($sql, $primary_id, $params);
}
return false;
}
//* Delete a record
public function sites_database_delete($session_id, $primary_id)
if(!$this->checkPerm($session_id, 'sites_database_delete')) {
$this->server->fault('permission_denied', 'You do not have the permissions to access this function.');
return false;
}
$app->uses('sites_database_plugin');
$app->sites_database_plugin->processDatabaseDelete($primary_id);
$affected_rows = $this->deleteQuery('../sites/form/database.tform.php', $primary_id);
// ----------------------------------------------------------------------------------------------------------
//* Get record details
public function sites_database_user_get($session_id, $primary_id)
global $app;
if(!$this->checkPerm($session_id, 'sites_database_user_get')) {
$this->server->fault('permission_denied', 'You do not have the permissions to access this function.');
return false;
}
$app->uses('remoting_lib');
$app->remoting_lib->loadFormDef('../sites/form/database_user.tform.php');
return $app->remoting_lib->getDataRecord($primary_id);
}
//* Add a record
public function sites_database_user_add($session_id, $client_id, $params)
if(!$this->checkPerm($session_id, 'sites_database_user_add')) {
$this->server->fault('permission_denied', 'You do not have the permissions to access this function.');
return false;
}
return $this->insertQuery('../sites/form/database_user.tform.php', $client_id, $params);
}
//* Update a record
public function sites_database_user_update($session_id, $client_id, $primary_id, $params)
if(!$this->checkPerm($session_id, 'sites_database_user_update')) {
$this->server->fault('permission_denied', 'You do not have the permissions to access this function.');
return false;
}
$app->uses('remoting_lib');
$app->remoting_lib->loadFormDef('../sites/form/database_user.tform.php');
$old_rec = $app->remoting_lib->getDataRecord($primary_id);
$result = $this->updateQuery('../sites/form/database_user.tform.php', $client_id, $primary_id, $params);
$new_rec = $app->remoting_lib->getDataRecord($primary_id);
$records = $app->db->queryAllRecords("SELECT DISTINCT server_id FROM web_database WHERE database_user_id = '".$app->functions->intval($primary_id)."' UNION SELECT DISTINCT server_id FROM web_database WHERE database_ro_user_id = '".$app->functions->intval($primary_id)."'");
foreach($records as $rec) {
$tmp_rec = $new_rec;
$tmp_rec['server_id'] = $rec['server_id'];
$app->remoting_lib->datalogSave('UPDATE', $primary_id, $old_rec, $tmp_rec);
}
unset($new_rec);
unset($old_rec);
unset($records);
return $result;
}
//* Delete a record
public function sites_database_user_delete($session_id, $primary_id)
if(!$this->checkPerm($session_id, 'sites_database_user_delete')) {
$this->server->fault('permission_denied', 'You do not have the permissions to access this function.');
return false;
}
$app->db->datalogDelete('web_database_user', 'database_user_id', $primary_id);
$affected_rows = $this->deleteQuery('../sites/form/database_user.tform.php', $primary_id);
$records = $app->db->queryAllRecords("SELECT database_id FROM web_database WHERE database_user_id = '".$app->functions->intval($primary_id)."'");
foreach($records as $rec) {
$app->db->datalogUpdate('web_database', 'database_user_id=NULL', 'database_id', $rec['database_id']);
}
$records = $app->db->queryAllRecords("SELECT database_id FROM web_database WHERE database_ro_user_id = '".$app->functions->intval($primary_id)."'");
foreach($records as $rec) {
$app->db->datalogUpdate('web_database', 'database_ro_user_id=NULL', 'database_id', $rec['database_id']);
}
return $affected_rows;
}
// ----------------------------------------------------------------------------------------------------------
//* Get record details
public function sites_ftp_user_get($session_id, $primary_id)
if(!$this->checkPerm($session_id, 'sites_ftp_user_get')) {
$this->server->fault('permission_denied', 'You do not have the permissions to access this function.');
return false;
}
$app->uses('remoting_lib');
$app->remoting_lib->loadFormDef('../sites/form/ftp_user.tform.php');
return $app->remoting_lib->getDataRecord($primary_id);
}
//* Add a record
public function sites_ftp_user_add($session_id, $client_id, $params)
if(!$this->checkPerm($session_id, 'sites_ftp_user_add')) {
$this->server->fault('permission_denied', 'You do not have the permissions to access this function.');
return false;
}
return $this->insertQuery('../sites/form/ftp_user.tform.php', $client_id, $params);
//* Update a record
public function sites_ftp_user_update($session_id, $client_id, $primary_id, $params)
if(!$this->checkPerm($session_id, 'sites_ftp_user_update')) {
$this->server->fault('permission_denied', 'You do not have the permissions to access this function.');
return false;
}
$affected_rows = $this->updateQuery('../sites/form/ftp_user.tform.php', $client_id, $primary_id, $params);
//* Delete a record
public function sites_ftp_user_delete($session_id, $primary_id)
if(!$this->checkPerm($session_id, 'sites_ftp_user_delete')) {
$this->server->fault('permission_denied', 'You do not have the permissions to access this function.');
return false;
}
$affected_rows = $this->deleteQuery('../sites/form/ftp_user.tform.php', $primary_id);
//* Get server for an ftp user
public function sites_ftp_user_server_get($session_id, $ftp_user)
global $app;
if(!$this->checkPerm($session_id, 'sites_ftp_user_server_get')) {
$this->server->fault('permission_denied', 'You do not have the permissions to access this function.');
return false;
}
$data = $app->db->queryOneRecord("SELECT server_id FROM ftp_user WHERE username = '".$app->db->quote($ftp_user)."'");
//file_put_contents('/tmp/test.txt', serialize($data));
if(!isset($data['server_id'])) return false;
$server = $this->server_get($session_id, $data['server_id'], 'server');
//file_put_contents('/tmp/test2.txt', serialize($server));
return $server;
}
// ----------------------------------------------------------------------------------------------------------
//* Get record details
public function sites_shell_user_get($session_id, $primary_id)
if(!$this->checkPerm($session_id, 'sites_shell_user_get')) {
$this->server->fault('permission_denied', 'You do not have the permissions to access this function.');
return false;
}
$app->uses('remoting_lib');
$app->remoting_lib->loadFormDef('../sites/form/shell_user.tform.php');
return $app->remoting_lib->getDataRecord($primary_id);
}
//* Add a record
public function sites_shell_user_add($session_id, $client_id, $params)
if(!$this->checkPerm($session_id, 'sites_shell_user_add')) {
$this->server->fault('permission_denied', 'You do not have the permissions to access this function.');
return false;
}
return $this->insertQuery('../sites/form/shell_user.tform.php', $client_id, $params);
//* Update a record
public function sites_shell_user_update($session_id, $client_id, $primary_id, $params)
if(!$this->checkPerm($session_id, 'sites_shell_user_update')) {
$this->server->fault('permission_denied', 'You do not have the permissions to access this function.');
return false;
}
$affected_rows = $this->updateQuery('../sites/form/shell_user.tform.php', $client_id, $primary_id, $params);
//* Delete a record
public function sites_shell_user_delete($session_id, $primary_id)
if(!$this->checkPerm($session_id, 'sites_shell_user_delete')) {
$this->server->fault('permission_denied', 'You do not have the permissions to access this function.');
return false;
}
$affected_rows = $this->deleteQuery('../sites/form/shell_user.tform.php', $primary_id);
// ----------------------------------------------------------------------------------------------------------
//* Get record details
public function sites_web_domain_get($session_id, $primary_id)
if(!$this->checkPerm($session_id, 'sites_web_domain_get')) {
$this->server->fault('permission_denied', 'You do not have the permissions to access this function.');
return false;
}
$app->uses('remoting_lib');
$app->remoting_lib->loadFormDef('../sites/form/web_domain.tform.php');
return $app->remoting_lib->getDataRecord($primary_id);
}
//* Add a record
public function sites_web_domain_add($session_id, $client_id, $params, $readonly = false)
{
global $app;
if(!$this->checkPerm($session_id, 'sites_web_domain_add')) {
$this->server->fault('permission_denied', 'You do not have the permissions to access this function.');
return false;
}
if(!isset($params['client_group_id']) or (isset($params['client_group_id']) && empty($params['client_group_id']))) {
$rec = $app->db->queryOneRecord("SELECT groupid FROM sys_group WHERE client_id = ".$app->functions->intval($client_id));
$params['client_group_id'] = $rec['groupid'];
}
//* Set a few params to "not empty" values which get overwritten by the sites_web_domain_plugin
if($params['document_root'] == '') $params['document_root'] = '-';
if($params['system_user'] == '') $params['system_user'] = '-';
if($params['system_group'] == '') $params['system_group'] = '-';
//* Set a few defaults for nginx servers
if($params['pm_max_children'] == '') $params['pm_max_children'] = 1;
if($params['pm_start_servers'] == '') $params['pm_start_servers'] = 1;
if($params['pm_min_spare_servers'] == '') $params['pm_min_spare_servers'] = 1;
if($params['pm_max_spare_servers'] == '') $params['pm_max_spare_servers'] = 1;
$domain_id = $this->insertQuery('../sites/form/web_domain.tform.php', $client_id, $params, 'sites:web_domain:on_after_insert');
if ($readonly === true)
$app->db->query("UPDATE web_domain SET `sys_userid` = '1' WHERE domain_id = ".$domain_id);
return $domain_id;
}
//* Update a record
public function sites_web_domain_update($session_id, $client_id, $primary_id, $params)
if(!$this->checkPerm($session_id, 'sites_web_domain_update')) {
$this->server->fault('permission_denied', 'You do not have the permissions to access this function.');
return false;
}
//* Set a few defaults for nginx servers
if($params['pm_max_children'] == '') $params['pm_max_children'] = 1;
if($params['pm_start_servers'] == '') $params['pm_start_servers'] = 1;
if($params['pm_min_spare_servers'] == '') $params['pm_min_spare_servers'] = 1;
if($params['pm_max_spare_servers'] == '') $params['pm_max_spare_servers'] = 1;
$affected_rows = $this->updateQuery('../sites/form/web_domain.tform.php', $client_id, $primary_id, $params);
//* Delete a record
public function sites_web_domain_delete($session_id, $primary_id)
if(!$this->checkPerm($session_id, 'sites_web_domain_delete')) {
$this->server->fault('permission_denied', 'You do not have the permissions to access this function.');
return false;
}
$affected_rows = $this->deleteQuery('../sites/form/web_domain.tform.php', $primary_id);
// ----------------------------------------------------------------------------------------------------------
//* Get record details
public function sites_web_vhost_subdomain_get($session_id, $primary_id)
if(!$this->checkPerm($session_id, 'sites_web_subdomain_get')) {
$this->server->fault('permission_denied', 'You do not have the permissions to access this function.');
return false;
}
$app->uses('remoting_lib');
$app->remoting_lib->loadFormDef('../sites/form/web_vhost_subdomain.tform.php');
return $app->remoting_lib->getDataRecord($primary_id);
}
//* Add a record
public function sites_web_vhost_subdomain_add($session_id, $client_id, $params)
{
global $app;
if(!$this->checkPerm($session_id, 'sites_web_subdomain_add')) {
$this->server->fault('permission_denied', 'You do not have the permissions to access this function.');
return false;
}
//* Set a few params to "not empty" values which get overwritten by the sites_web_domain_plugin
if($params['document_root'] == '') $params['document_root'] = '-';
if($params['system_user'] == '') $params['system_user'] = '-';
if($params['system_group'] == '') $params['system_group'] = '-';