Compare commits

...

4 Commits

Author SHA1 Message Date
Michael Kaufmann
38d94698ce set version to 2.0.12 for bugfix release
Signed-off-by: Michael Kaufmann <d00p@froxlor.org>
2023-02-17 20:47:17 +01:00
Michael Kaufmann
5ba28ef599 fix wrong request-parameter reading for table-column mangement
Signed-off-by: Michael Kaufmann <d00p@froxlor.org>
2023-02-17 19:32:27 +01:00
Michael Kaufmann
a3486cc5b3 updated workflow for building/deploying documentation; added missing api-method-description for EmailDomains-API
Signed-off-by: Michael Kaufmann <d00p@froxlor.org>
2023-02-17 17:53:32 +01:00
Michael Kaufmann
5ab322ab1d remove unused required function parameter in nginx cron; set default value for function parameter in lighttpd cron
Signed-off-by: Michael Kaufmann <d00p@froxlor.org>
2023-02-17 13:19:48 +01:00
8 changed files with 26 additions and 15 deletions

View File

@@ -1,4 +1,4 @@
name: build-docs name: build-documentation
on: on:
release: release:
@@ -11,4 +11,4 @@ jobs:
- env: - env:
GITHUB_TOKEN: ${{ secrets.ORG_GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.ORG_GITHUB_TOKEN }}
run: | run: |
gh workflow run --repo Froxlor/Documentation build-docs -f ref=${{github.ref_name}} gh workflow run --repo Froxlor/Documentation build-and-deploy -f type=tags ref=${{github.ref_name}}

View File

@@ -697,7 +697,7 @@ opcache.validate_timestamps'),
('system', 'distribution', ''), ('system', 'distribution', ''),
('system', 'update_channel', 'stable'), ('system', 'update_channel', 'stable'),
('system', 'updatecheck_data', ''), ('system', 'updatecheck_data', ''),
('system', 'update_notify_last', '2.0.11'), ('system', 'update_notify_last', '2.0.12'),
('system', 'traffictool', 'goaccess'), ('system', 'traffictool', 'goaccess'),
('api', 'enabled', '0'), ('api', 'enabled', '0'),
('api', 'customer_default', '1'), ('api', 'customer_default', '1'),
@@ -742,7 +742,7 @@ opcache.validate_timestamps'),
('panel', 'logo_overridetheme', '0'), ('panel', 'logo_overridetheme', '0'),
('panel', 'logo_overridecustom', '0'), ('panel', 'logo_overridecustom', '0'),
('panel', 'settings_mode', '0'), ('panel', 'settings_mode', '0'),
('panel', 'version', '2.0.11'), ('panel', 'version', '2.0.12'),
('panel', 'db_version', '202302030'); ('panel', 'db_version', '202302030');

View File

@@ -395,3 +395,8 @@ if (Froxlor::isFroxlorVersion('2.0.10')) {
Update::showUpdateStep("Updating from 2.0.10 to 2.0.11", false); Update::showUpdateStep("Updating from 2.0.10 to 2.0.11", false);
Froxlor::updateToVersion('2.0.11'); Froxlor::updateToVersion('2.0.11');
} }
if (Froxlor::isFroxlorVersion('2.0.11')) {
Update::showUpdateStep("Updating from 2.0.11 to 2.0.12", false);
Froxlor::updateToVersion('2.0.12');
}

View File

@@ -241,7 +241,7 @@ class Ajax
$columns[] = $value; $columns[] = $value;
} }
if (!empty($columns)) { if (!empty($columns)) {
$columns = Listing::storeColumnListingForUser([Request::post('listing') => $columns]); $columns = Listing::storeColumnListingForUser([Request::get('listing') => $columns]);
return $this->jsonResponse($columns); return $this->jsonResponse($columns);
} }
return $this->errorResponse('At least one column must be selected', 406); return $this->errorResponse('At least one column must be selected', 406);
@@ -249,7 +249,7 @@ class Ajax
private function resetTablelisting() private function resetTablelisting()
{ {
Listing::deleteColumnListingForUser([Request::post('listing') => []]); Listing::deleteColumnListingForUser([Request::get('listing') => []]);
return $this->jsonResponse([]); return $this->jsonResponse([]);
} }

View File

@@ -30,10 +30,7 @@ use Froxlor\Api\ApiCommand;
use Froxlor\Api\ResourceEntity; use Froxlor\Api\ResourceEntity;
use Froxlor\Database\Database; use Froxlor\Database\Database;
use Froxlor\FroxlorLogger; use Froxlor\FroxlorLogger;
use Froxlor\Idna\IdnaWrapper;
use Froxlor\Settings; use Froxlor\Settings;
use Froxlor\UI\Response;
use Froxlor\Validate\Validate;
use PDO; use PDO;
/** /**
@@ -86,12 +83,14 @@ class EmailDomains extends ApiCommand implements ResourceEntity
FROM `" . TABLE_MAIL_VIRTUAL . "` e FROM `" . TABLE_MAIL_VIRTUAL . "` e
LEFT JOIN `" . TABLE_PANEL_DOMAINS . "` d ON d.id = e.domainid LEFT JOIN `" . TABLE_PANEL_DOMAINS . "` d ON d.id = e.domainid
WHERE e.customerid IN (" . implode(", ", $customer_ids) . ") AND d.domain IS NOT NULL " . WHERE e.customerid IN (" . implode(", ", $customer_ids) . ") AND d.domain IS NOT NULL " .
$this->getSearchWhere($query_fields, true) . " GROUP BY e.domainid " . $this->getOrderBy() . $this->getLimit()); $this->getSearchWhere($query_fields,
true) . " GROUP BY e.domainid " . $this->getOrderBy() . $this->getLimit());
Database::pexecute($result_stmt, $query_fields, true, true); Database::pexecute($result_stmt, $query_fields, true, true);
while ($row = $result_stmt->fetch(PDO::FETCH_ASSOC)) { while ($row = $result_stmt->fetch(PDO::FETCH_ASSOC)) {
$result[] = $row; $result[] = $row;
} }
$this->logger()->logAction($this->isAdmin() ? FroxlorLogger::ADM_ACTION : FroxlorLogger::USR_ACTION, LOG_NOTICE, "[API] list email-domains"); $this->logger()->logAction($this->isAdmin() ? FroxlorLogger::ADM_ACTION : FroxlorLogger::USR_ACTION, LOG_NOTICE,
"[API] list email-domains");
return $this->response([ return $this->response([
'count' => count($result), 'count' => count($result),
'list' => $result 'list' => $result
@@ -127,6 +126,8 @@ class EmailDomains extends ApiCommand implements ResourceEntity
} }
/** /**
* You cannot directly access email-domains
*
* @access admin, customer * @access admin, customer
* @return string json-encoded array * @return string json-encoded array
* @throws Exception * @throws Exception
@@ -140,6 +141,8 @@ class EmailDomains extends ApiCommand implements ResourceEntity
} }
/** /**
* You cannot directly add email-domains
*
* @access admin, customer * @access admin, customer
* @return string json-encoded array * @return string json-encoded array
* @throws Exception * @throws Exception
@@ -154,6 +157,7 @@ class EmailDomains extends ApiCommand implements ResourceEntity
/** /**
* toggle catchall flag of given email address either by id or email-address * toggle catchall flag of given email address either by id or email-address
*
* @access admin, customer * @access admin, customer
* @return string json-encoded array * @return string json-encoded array
* @throws Exception * @throws Exception
@@ -167,6 +171,8 @@ class EmailDomains extends ApiCommand implements ResourceEntity
} }
/** /**
* You cannot directly delete email-domains
*
* @access admin, customer * @access admin, customer
* @return string json-encoded array * @return string json-encoded array
* @throws Exception * @throws Exception

View File

@@ -567,7 +567,7 @@ class Lighttpd extends HttpConfigBase
return $servernames_text; return $servernames_text;
} }
protected function getWebroot($domain, $ssl) protected function getWebroot($domain, bool $ssl = false)
{ {
$webroot_text = ''; $webroot_text = '';

View File

@@ -616,7 +616,7 @@ class Nginx extends HttpConfigBase
FileDir::mkDirWithCorrectOwnership($domain['customerroot'], $domain['documentroot'], $domain['guid'], $domain['guid'], true); FileDir::mkDirWithCorrectOwnership($domain['customerroot'], $domain['documentroot'], $domain['guid'], $domain['guid'], true);
$vhost_content .= $this->getLogFiles($domain); $vhost_content .= $this->getLogFiles($domain);
$vhost_content .= $this->getWebroot($domain, $ssl_vhost); $vhost_content .= $this->getWebroot($domain);
if ($this->deactivated == false) { if ($this->deactivated == false) {
$vhost_content = $this->mergeVhostCustom($vhost_content, $this->createPathOptions($domain)) . "\n"; $vhost_content = $this->mergeVhostCustom($vhost_content, $this->createPathOptions($domain)) . "\n";
@@ -775,7 +775,7 @@ class Nginx extends HttpConfigBase
return $logfiles_text; return $logfiles_text;
} }
protected function getWebroot($domain, $ssl) protected function getWebroot($domain)
{ {
$webroot_text = ''; $webroot_text = '';

View File

@@ -31,7 +31,7 @@ final class Froxlor
{ {
// Main version variable // Main version variable
const VERSION = '2.0.11'; const VERSION = '2.0.12';
// Database version (YYYYMMDDC where C is a daily counter) // Database version (YYYYMMDDC where C is a daily counter)
const DBVERSION = '202302030'; const DBVERSION = '202302030';