diff --git a/dashboard/pricing.php b/dashboard/pricing.php
index 29faf5c..431b7d1 100644
--- a/dashboard/pricing.php
+++ b/dashboard/pricing.php
@@ -6,6 +6,38 @@ if (!(UserHasPerm('manage_pricing'))) {
StopAndDie();
}
+function getMNBExchange($curr = 'USD') {
+ $url = 'http://www.mnb.hu/arfolyamok.asmx';
+ $soap = '
+
+
+
+
+ ';
+
+ $ch = curl_init();
+ curl_setopt_array($ch, [
+ CURLOPT_URL => $url,
+ CURLOPT_POST => true,
+ CURLOPT_POSTFIELDS => $soap,
+ CURLOPT_RETURNTRANSFER => true,
+ CURLOPT_HTTPHEADER => [
+ 'Content-Type: text/xml; charset=utf-8',
+ 'SOAPAction: "http://www.mnb.hu/webservices/MNBArfolyamServiceSoap/GetCurrentExchangeRates"'
+ ]
+ ]);
+ $response = curl_exec($ch);
+ curl_close($ch);
+
+ $decoded = htmlspecialchars_decode(htmlspecialchars_decode($response, ENT_QUOTES), ENT_QUOTES);
+
+ if (preg_match('/curr="' . preg_quote($curr, '/') . '"\s*>\s*(\d+,\d+)/', $decoded, $m)) {
+ $value = (float)str_replace(',', '.', $m[1]);
+ return $value;
+ }
+ return null;
+}
+
if (isset($_POST["func"])) {
if (htmlspecialchars($_POST["func"]) == "LoadCustomerType") {
@@ -42,7 +74,7 @@ if (isset($_POST["func"])) {
$ct_id = $data["ct_id"];
$sql = mysqli_query($conn,"UPDATE customer_types SET type_name='$type_name',currency='$currency',category_name='Alapértelmezett',price=0,is_active=1 WHERE ct_id = '$ct_id'");
} else {
- $sql = mysqli_query($conn,"INSERT INTO customer_types(type_name, currency, category_name, price, is_active) VALUES ('$type_name','$currency','Alapértelmezett',0,1)");
+ $sql = mysqli_query($conn,"INSERT INTO customer_types(type_name, currency, category_name, price, is_active) VALUES ('$type_name','$currency','Alapértelmezett',1,1)");
}
echo json_encode(array( 'result' => 'ok' ));
}
@@ -50,6 +82,7 @@ if (isset($_POST["func"])) {
$type_name = htmlspecialchars($_POST["type_name"]);
$return_array = [];
+ $currency = '';
$query = "SELECT * FROM customer_types WHERE type_name = '$type_name' and is_active = 1 ORDER BY category_name ASC";
if ($result = $conn->query($query)) {
@@ -61,11 +94,14 @@ if (isset($_POST["func"])) {
"price" => $c_type['price'],
"is_active" => $c_type['is_active']
];
+
+ $currency = $c_type['currency'];
}
}
echo json_encode(array(
'data' => $return_array,
+ 'exchange' => (getMNBExchange($currency) ?: 'N/A'),
'result' => 'ok'
));
} else if (htmlspecialchars($_POST["func"]) == "EditCategoryName") {
@@ -232,16 +268,18 @@ if (isset($_POST["func"])) {
Árazás
-
+ 1 = HUF
+
-
+
| Árkategória |
- Ár |
+ Ár |
+ Ár HUF |
@@ -327,6 +365,7 @@ if (isset($_POST["func"])) {
}
}
+ var exchange = 1;
function SelectCustomerType(type_name) {
Loading(true);
document.querySelectorAll('.customer-type-item').forEach(item => {
@@ -346,17 +385,31 @@ if (isset($_POST["func"])) {
var Currency = '';
+ if (response.data[0].currency == "HUF") {
+ document.getElementById('c_exchange').innerHTML = '1';
+ exchange = 1;
+ } else {
+ document.getElementById('c_exchange').innerHTML = response.exchange;
+ exchange = response.exchange;
+ }
+ document.getElementById('c_currency').innerHTML = response.data[0].currency;
+ document.getElementById('c_exchange_table').innerHTML = response.data[0].currency;
+
response.data.forEach((item, i) => {
var newRow = table.insertRow();
var cat_name = newRow.insertCell(0);
var cat_price = newRow.insertCell(1);
- var cat_create = newRow.insertCell(2);
+ var cat_exchange = newRow.insertCell(2);
+ var cat_create = newRow.insertCell(3);
Currency = item.currency;
cat_name.innerHTML = item.category_name;
cat_price.innerHTML = ` ${item.currency}`;
+ let rounded = Math.round((item.price ? item.price : 1) * exchange * 100) / 100;
+ cat_exchange.innerHTML = `${rounded.toFixed(rounded % 1 === 0 ? 0 : 2)} HUF`;
+
cat_create.innerHTML = ``;
cat_create.style.width = "36px";
});
@@ -368,7 +421,8 @@ if (isset($_POST["func"])) {
var newRow = table.insertRow();
var cat_name = newRow.insertCell(0);
var cat_price = newRow.insertCell(1);
- var cat_create = newRow.insertCell(2);
+ var cat_exchange = newRow.insertCell(2);
+ var cat_create = newRow.insertCell(3);
cat_name.innerHTML = ``;
cat_price.innerHTML = ` ${Currency}`;
@@ -376,7 +430,6 @@ if (isset($_POST["func"])) {
cat_create.innerHTML = ``;
cat_create.style.width = "36px";
-
} else {
GenerateAlerts("error", response.result);
}