[Web] Verify OPTIONAL license plus minor fixes
This commit is contained in:
@@ -1223,6 +1223,59 @@ function admin_api($action, $data = null) {
|
||||
'msg' => 'admin_api_modified'
|
||||
);
|
||||
}
|
||||
function license($action, $data = null) {
|
||||
global $pdo;
|
||||
global $redis;
|
||||
global $lang;
|
||||
if ($_SESSION['mailcow_cc_role'] != "admin") {
|
||||
$_SESSION['return'][] = array(
|
||||
'type' => 'danger',
|
||||
'log' => array(__FUNCTION__),
|
||||
'msg' => 'access_denied'
|
||||
);
|
||||
return false;
|
||||
}
|
||||
switch ($action) {
|
||||
case "verify":
|
||||
// Keep result until revalidate button is pressed or session expired
|
||||
$stmt = $pdo->query("SELECT `version` FROM `versions` WHERE `application` = 'GUID'");
|
||||
$versions = $stmt->fetch(PDO::FETCH_ASSOC);
|
||||
$post = array('guid' => $versions['version']);
|
||||
$curl = curl_init('https://verify.mailcow.email');
|
||||
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
|
||||
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 10);
|
||||
curl_setopt($curl, CURLOPT_POSTFIELDS, $post);
|
||||
$response = curl_exec($curl);
|
||||
curl_close($curl);
|
||||
$json_return = json_decode($response, true);
|
||||
if ($response && $json_return) {
|
||||
if ($json_return['response'] === "ok") {
|
||||
$_SESSION['gal']['valid'] = true;
|
||||
$_SESSION['gal']['c'] = $json_return['c'];
|
||||
$_SESSION['gal']['s'] = $json_return['s'];
|
||||
return true;
|
||||
}
|
||||
if ($json_return['response'] === "invalid") {
|
||||
$_SESSION['gal']['valid'] = false;
|
||||
$_SESSION['gal']['c'] = $lang['mailbox']['no'];
|
||||
$_SESSION['gal']['s'] = $lang['mailbox']['no'];
|
||||
return true;
|
||||
}
|
||||
}
|
||||
else {
|
||||
$_SESSION['gal']['valid'] = false;
|
||||
$_SESSION['gal']['c'] = $lang['danger']['temp_error'];
|
||||
$_SESSION['gal']['s'] = $lang['danger']['temp_error'];
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
case "guid":
|
||||
$stmt = $pdo->query("SELECT `version` FROM `versions` WHERE `application` = 'GUID'");
|
||||
$versions = $stmt->fetch(PDO::FETCH_ASSOC);
|
||||
return $versions['version'];
|
||||
break;
|
||||
}
|
||||
}
|
||||
function rspamd_ui($action, $data = null) {
|
||||
global $lang;
|
||||
if ($_SESSION['mailcow_cc_role'] != "admin") {
|
||||
|
@@ -1887,7 +1887,7 @@ function mailbox($_action, $_type, $_data = null, $_extra = null) {
|
||||
$relayhost = (isset($_data['relayhost'])) ? intval($_data['relayhost']) : $is_now['relayhost'];
|
||||
$aliases = (!empty($_data['aliases'])) ? $_data['aliases'] : $is_now['max_num_aliases_for_domain'];
|
||||
$mailboxes = (isset($_data['mailboxes']) && $_data['mailboxes'] != '') ? intval($_data['mailboxes']) : $is_now['max_num_mboxes_for_domain'];
|
||||
$defquota = (!empty($_data['defquota'])) ? $_data['defquota'] : ($is_now['def_quota_for_mbox'] / 1048576);
|
||||
$defquota = (isset($_data['defquota']) && $_data['defquota'] != '') ? intval($_data['defquota']) : ($is_now['def_quota_for_mbox'] / 1048576);
|
||||
$maxquota = (!empty($_data['maxquota'])) ? $_data['maxquota'] : ($is_now['max_quota_for_mbox'] / 1048576);
|
||||
$quota = (!empty($_data['quota'])) ? $_data['quota'] : ($is_now['max_quota_for_domain'] / 1048576);
|
||||
$description = (!empty($_data['description'])) ? $_data['description'] : $is_now['description'];
|
||||
|
@@ -191,4 +191,3 @@ if (isset($_SESSION['mailcow_cc_role'])) {
|
||||
acl('to_session');
|
||||
}
|
||||
$UI_TEXTS = customize('get', 'ui_texts');
|
||||
|
||||
|
@@ -90,8 +90,11 @@ if (isset($_SESSION['mailcow_cc_role']) && $_SESSION['mailcow_cc_role'] == "admi
|
||||
if (isset($_POST["reset_main_logo"])) {
|
||||
customize('delete', 'main_logo');
|
||||
}
|
||||
// API cannot be controlled by API
|
||||
if (isset($_POST["admin_api"])) {
|
||||
// API and license cannot be controlled by API
|
||||
if (isset($_POST["license_validate_now"])) {
|
||||
license('verify');
|
||||
}
|
||||
if (isset($_POST["admin_api"])) {
|
||||
admin_api('edit', $_POST);
|
||||
}
|
||||
if (isset($_POST["admin_api_regen_key"])) {
|
||||
|
Reference in New Issue
Block a user