[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") {
|
||||
|
Reference in New Issue
Block a user