>
>
>
>
= translate('variables_available', $i18n) ?>:
{{days_until}}, {{subscription_name}}, {{subscription_price}}, {{subscription_currency}},
{{subscription_category}}, {{subscription_date}}, {{subscription_payer}},
{{subscription_days_until_payment}}, {{subscription_notes}}, {{subscription_url}}
prepare($sql);
$stmt->bindValue(':userId', $userId, SQLITE3_INTEGER);
$result = $stmt->execute();
if ($result) {
$categories = array();
while ($row = $result->fetchArray(SQLITE3_ASSOC)) {
$categories[] = $row;
}
}
?>
= translate('categories', $i18n) ?>
prepare($sql);
$stmt->bindValue(':userId', $userId, SQLITE3_INTEGER);
$result = $stmt->execute();
if ($result) {
$currencies = array();
while ($row = $result->fetchArray(SQLITE3_ASSOC)) {
$currencies[] = $row;
}
}
$query = "SELECT main_currency FROM user WHERE id = :userId";
$stmt = $db->prepare($query);
$stmt->bindParam(':userId', $userId, SQLITE3_INTEGER);
$result = $stmt->execute();
$row = $result->fetchArray(SQLITE3_ASSOC);
$mainCurrencyId = $row['main_currency'];
$query = "SELECT date FROM last_exchange_update";
$exchange_rates_last_updated = $db->querySingle($query);
?>
= translate('currencies', $i18n) ?>
= translate('exchange_update', $i18n) ?>
= $exchange_rates_last_updated ?>
= translate('currency_info', $i18n) ?>
fixer.io
= translate('currency_performance', $i18n) ?>
prepare($sql);
$stmt->bindValue(':userId', $userId, SQLITE3_INTEGER);
$result = $stmt->execute();
if ($result) {
$row = $result->fetchArray(SQLITE3_ASSOC);
if ($row) {
$apiKey = $row['api_key'];
$provider = $row['provider'];
} else {
$provider = 0;
}
}
?>
>
= translate('fixer_info', $i18n) ?>
= translate('get_key', $i18n) ?>:
https://fixer.io/
" target="_blank">
= translate("get_key_alternative", $i18n) ?>
https://apilayer.com
prepare($sql);
$stmt->bindValue(':userId', $userId, SQLITE3_INTEGER);
$result = $stmt->execute();
$aiSettings = [];
if ($row = $result->fetchArray(SQLITE3_ASSOC)) {
$aiSettings = $row;
}
?>
= translate('ai_recommendations', $i18n) ?>
>
= translate('ai_recommendations_info', $i18n) ?>
= translate('may_take_time', $i18n) ?>
= translate('recommendations_visible_on_dashboard', $i18n) ?>
prepare($sql);
$stmt->bindValue(':userId', $userId, SQLITE3_INTEGER);
$result = $stmt->execute();
if ($result) {
$payments = array();
while ($row = $result->fetchArray(SQLITE3_ASSOC)) {
$payments[] = $row;
}
}
?>
= translate('payment_methods', $i18n) ?>
prepare('SELECT id FROM payment_methods WHERE user_id = :userId AND id IN (SELECT DISTINCT payment_method_id FROM subscriptions WHERE user_id = :userId)');
$paymentsInUseQuery->bindValue(':userId', $userId, SQLITE3_INTEGER);
$result = $paymentsInUseQuery->execute();
$paymentsInUse = [];
while ($row = $result->fetchArray(SQLITE3_ASSOC)) {
$paymentsInUse[] = $row['id'];
}
foreach ($payments as $payment) {
$paymentIconFolder = (strpos($payment['icon'], 'images/uploads/icons/') !== false) ? "" : "images/uploads/logos/";
$inUse = in_array($payment['id'], $paymentsInUse);
?>
">= $payment['name'] ?>
x
= translate('payment_methods_info', $i18n) ?>
= translate('rename_payment_methods_info', $i18n) ?>
= translate('theme_settings', $i18n) ?>
= translate('theme', $i18n) ?>
= translate('custom_css', $i18n) ?>
= translate('display_settings', $i18n) ?>
= translate('price', $i18n) ?>
= translate('experience', $i18n) ?>
= translate('disabled_subscriptions', $i18n) ?>
= translate('experimental_settings', $i18n) ?>
= translate('experimental_info', $i18n) ?>