Improvement of last commit, XUMM XRP. Payment Link.
[fa-stable.git] / includes / ui / ui_view.inc
index 5f372546e8f3d4072aaccb34aa9c981b49f44abb..c00bd7c3e973d9b34b6aed54bbbb5281d411599f 100644 (file)
@@ -1528,6 +1528,7 @@ if (!isset($payment_services))
 {
        $payment_services = array(
                'PayPal' => "https://www.paypal.com/xclick?business=<company_email>&item_name=<comment>&amount=<amount>&currency_code=<currency>",
+               'XUMM XRP' => "https://xumm.app/detect/request:{{account}}?amount=<amount>"
        );
 }
 /*
@@ -1546,6 +1547,41 @@ function payment_link($name, $options)
        foreach ($options as $id => $option)
                $patterns['<'.$id.'>'] = urlencode($options[$id]);
 
+    if (substr($name, 0, 4) == 'XUMM')
+    {
+        // Get the account number for 'XRPL Account' from 'bank_accounts' table
+        $sql = "SELECT bank_account_number FROM ".TB_PREF."bank_accounts WHERE bank_name = '$name'";
+        $result = db_query($sql, "could not retrieve $name bank account number");
+        $row = db_fetch($result);
+        if ($row == false) {
+               display_error(sprintf(_("Could not retrieve %s bank account number"), $name));
+               return false;
+        }
+        $account = $row['bank_account_number'];
+
+        // Replace the {{account}} placeholder in the XUMM URL with the extracted account value
+        $link = str_replace('{{account}}', urlencode($account), $link);
+
+        // Extract XRP exchange rate
+        $curr_code = substr($name, -3);
+        $date = date('Y-m-d'); // Get the current date in 'YYYY-MM-DD' format
+        $sql = "SELECT rate_buy FROM ".TB_PREF."exchange_rates WHERE curr_code = '$curr_code' AND date_ = '$date'";
+        $result = db_query($sql, "could not retrieve exchange rate for $curr_code - $date");
+        $row = db_fetch($result);
+        if ($row == false) {
+               display_error(sprintf(_("Could not retrieve exchange rate for %s - %s"), $curr_code, $date));
+               return false;
+        }
+        $exchange_rate = $row['rate_buy'];
+        if ($exchange_rate == 0) $exchange_rate = 1;
+
+        // Divide the amount by the exchange rate
+        $options['amount'] /= $exchange_rate;
+
+        // Replace the <amount> placeholder in the XUMM URL with the modified amount value
+        $link = str_replace('<amount>', urlencode($options['amount']), $link);
+    }
+
        return strtr($link, $patterns);
 }
 
@@ -1582,3 +1618,21 @@ function trans_editor_link($type, $trans_no)
                (is_closed_trans($type, $trans_no) ? set_icon(ICON_CLOSED, _('Closed')) :
                        pager_link(_("Edit"), sprintf($editor_url[$type], $trans_no, $type), ICON_EDIT));
 }
+
+function company_logo_on_view()
+{
+       // Display View Header
+       global $SysPrefs;
+
+       $logo = company_path() . "/images/" . $SysPrefs->prefs['coy_logo'];
+       $nl = 1;
+       if (!empty($SysPrefs->prefs['company_logo_report']) && $SysPrefs->prefs['coy_logo'] != '' && file_exists($logo))
+       {
+               $size = getimagesize($logo);
+               $height = $size[0] > 150 ? $size[1] * 150 / $size[0] : 30; 
+               $text = "<img src='$logo' height=$height>";
+       }
+       else
+               $text = $SysPrefs->prefs['coy_name'];
+       display_note($text, 0, $nl, "style='font-size:16px;font-weight:600'");
+}
\ No newline at end of file