Jump to content

Adding second currency in invoices


MikeS24

Recommended Posts

Big thanks for this spreadsheet Brian, it's really helpful. At least now I feel moderately safe setting up these domains.

I have came across another little problem in WHMCS, but I really don't feel it's worth setting up another thread for it... so I'll just ask and maybe you'd know something about it.

For some reason I am not able to perform a lookup/search for some specific domain extensions, ie .ru / .cn / .org.es / .com.de - and I can only guess how long the list goes... What I mean is, the process of searching for availability of domains seems to get stuck when looking up those extensions, and after about ten seconds just returns a regular message like "gdfgsdfgdfg.cn is unavailable"... Do you know what might be the reason for this? I have tried looking up some information, but the only things I've came upon were suggestions to update WhoIs lookup servers for specific extensions (I've tried - didn't work).

Link to comment
Share on other sites

48 minutes ago, MikeS24 said:

Big thanks for this spreadsheet Brian, it's really helpful. At least now I feel moderately safe setting up these domains.

it's a good reference - and regularly updated too.

48 minutes ago, MikeS24 said:

I have came across another little problem in WHMCS, but I really don't feel it's worth setting up another thread for it... so I'll just ask and maybe you'd know something about it.

aah you have an optimistic streak... 🙂

48 minutes ago, MikeS24 said:

For some reason I am not able to perform a lookup/search for some specific domain extensions, ie .ru / .cn / .org.es / .com.de - and I can only guess how long the list goes... What I mean is, the process of searching for availability of domains seems to get stuck when looking up those extensions, and after about ten seconds just returns a regular message like "gdfgsdfgdfg.cn is unavailable"... Do you know what might be the reason for this?

if we're talking about the client area, it's because you haven't added those TLDs to your Domain Pricing page... aaah.gif

on the client side, users can only search for TLDs that you've added domain pricing for - otherwise they could get themselves into a ridiculous situation where your site tells them that 'brian.ru' is available, but they then can't buy it because you haven't added pricing for that TLD! so what WHMCS does is tells them that it's unavailable and then searches your alternate TLDs for other purchase options for them.

48 minutes ago, MikeS24 said:

I have tried looking up some information, but the only things I've came upon were suggestions to update WhoIs lookup servers for specific extensions (I've tried - didn't work).

talking about whois servers, it's worth letting you into a often neglected issue with WHMCS... if you are using "Standard Whois" for your domain lookups (e.g your not using a lookup provider), then WHMCS can only search (in the client area, they need to be priced too) those TLDs that are in either the default dist.whois.json or your custom whois.json files... if you're using NameSpinner, then I think it uses eNom where possible, and falls back to the whois servers when it can't.

in the admin area, you can lookup TLDs that you haven't added pricing too.

in other words, when you add a new TLD to the Domain Pricing page, if using "Standard Whois", you also need to check that there is a whois server in either file and that it works... so if you add .brian to domain pricing, it won't tell you that no such TLD is available, nor that there isn't an entry for it in the whois server list... so unless you test (in the admin area is the easiest - though you now get suggestions with them too wtf), you can't be sure that you can offer the TLD.

just going from the beginning of your TLD list, I know that .lc, .so, .car, .cars, .cash, .casino won't exist in the whois files... .vc will exist but doesn't work because it's been wrong for years... I could go on... basically, you'll have to go through your TLD list, check whether they're in the whois files, test that they work and then make lists of those that are missing and those that don't work... if you're using namespinner, then you might get away with them being missing from the whois files if enom sell that particular TLD.

also, if using SW, you will want to avoid hitting whois lookup limits... e.g looking up too many domains too quickly.... CentralNIC TLDs can be a bugger for this, so be careful with them (.com.de would be one), so can Donuts too.

i'll stop now before I terrify you of offering TLDs to your clients lol. 😧

Link to comment
Share on other sites

3 minutes ago, brian! said:

if we're talking about the client area, it's because you haven't added those TLDs to your Domain Pricing page... aaah.gif

Thanks for the quick answer Brian! I think you have misunderstood me a little here - or very possibly I haven't explained the thing clearly enough, because I am a little tired...

I am still a rookie, but I definitely understand that I have to put certain extensions into my offer to be able to search for their domains availability 🙂

I have WHMCS Namespinning set as my lookup provider. Extensions in question that I have a problem with are theoretically just completely regular ones .ru (with all available variants), .org.es (extension for spanish organizations - but the regular .es and .com.es work), .com.de (same here, .de works). 

Oh and btw. I haven't yet even started thinking about adding any "fancy" extensions which you've mentioned. I would prefer to make the regular ones work as intended before I start diving any deeper 😉

Link to comment
Share on other sites

Edit: .org.es was not present at all in dist.whois.json file and adding it to the line with other .es domains made it "searchable". The issue with the rest of them unfortunately persists and they all have their entries set to default and (probably) correct whois servers.

Link to comment
Share on other sites

17 hours ago, MikeS24 said:

I am still a rookie, but I definitely understand that I have to put certain extensions into my offer to be able to search for their domains availability 🙂

you need to do two things when adding a TLD...

  1. add them to the domain pricing page.
  2. add pricing for registration (at least) in one currency or more...

you may have done 1, but did you do 2 for these TLDs in question ?

17 hours ago, MikeS24 said:

I have WHMCS Namespinning set as my lookup provider. Extensions in question that I have a problem with are theoretically just completely regular ones

ok, let's ignore for now that I don't think that you've added these particular TLDs to your domain pricing correctly yet (unless i'm looking at a different site than the one you previously told me about!).

assuming i'm looking at your site, and if you're using Namespinner, then I think your lookups will check eNom first, then Synergy and then the whois servers.

17 hours ago, MikeS24 said:

.ru (with all available variants)

for .ru, I would imagine that neither eNom offer them, I don't know if Synergy do, so you may be defaulting to the whois servers - the entry there is a little outdated, but still works I think... i'm not seeing an issue with .ru locally on the v7.7

17 hours ago, MikeS24 said:

.org.es (extension for Spanish organizations - but the regular .es and .com.es work),

no they don't! headshake.gif

17 hours ago, MikeS24 said:

Edit: .org.es was not present at all in dist.whois.json file and adding it to the line with other .es domains made it "searchable". 

so two points here - first, you shouldn't edit dist.whois.json as it will get overwritten during an update - as per the docs, you should create a whois.json file in the same folder and use that for new or updated entries... secondly, the entry for .es is wrong (at the very best, it's temperamental and very unreliable).

let me illustrate that with an example, let's lookup madrid.es (ignore that it's .es and not .org.es as this would apply to both)... logic states that that domain surely cannot be available, but WHMCS using Namespinner (though it will use the whois servers rather than eNom) will tell you that its available...

wEVFrqh.png

errr... let's double-check this on the nic.es whois page (the official registry page)...

HmntQna.png

as I suspected, the domain is already registered... which makes a nonsense of what WHMCS is telling me (or more accurately, your customers!)

.es operates a private whois server where you have to register to be able to access it... now if you could find a lookup provider offering .es (or .org.es if you prefer), then you'd be in with a fighting chance of doing proper lookups for this TLD - but failing that, you'd either have to register with nic.es to access their whois servers, or not offer the .es TLD at all.

18 hours ago, MikeS24 said:

.com.de (same here, .de works)

.com.de and .de are not run by the same registry - .de is run by DENIC and is the ccTLD of Germany; .com.de is operated by Centralnic - basically they registered/bought .com.de and are selling subdomains of that domain.

Link to comment
Share on other sites

3 minutes ago, brian! said:

you need to do two things when adding a TLD...

  1. add them to the domain pricing page.
  2. add pricing for registration (at least) in one currency or more...

you may have done 1, but did you do 2 for these TLDs in question ?

All prices are always set for all extensions that I add to my offer. When adding new extensions I tend to just duplicate a previous one and make changes where needed.

 

6 minutes ago, brian! said:

ok, let's ignore for now that I don't think that you've added these particular TLDs to your domain pricing correctly yet (unless i'm looking at a different site than the one you previously told me about!).

assuming i'm looking at your site, and if you're using Namespinner, then I think your lookups will check eNom first, then Synergy and then the whois servers.

Oh I think I have just found the exact reason of our misunderstanding here 🙂 I have never mentioned my website to you anywhere here Brian! I hope you wouldn't mind if I would just send a link to my website to you in a private message?

 

14 minutes ago, brian! said:

so two points here - first, you shouldn't edit dist.whois.json as it will get overwritten during an update - as per the docs, you should create a whois.json file in the same folder and use that for new or updated entries... secondly, the entry for .es is wrong (at the very best, it's temperamental and very unreliable).

let me illustrate that with an example, let's lookup madrid.es (ignore that it's .es and not .org.es as this would apply to both)... logic states that that domain surely cannot be available, but WHMCS using Namespinner (though it will use the whois servers rather than eNom) will tell you that its available...

When it comes to editing dist.whois.json - I do realise that this gets overwritten by updates, but this is just easier for me to experiment on this file for the time being, until I find the exact cause of these problems. Thank for pointing out the thing with .ES registry... It's a very important information for me to make a note of.

 

22 minutes ago, brian! said:

.com.de and .de are not run by the same registry - .de is run by DENIC and is the ccTLD of Germany; .com.de is operated by Centralnic - basically they registered/bought .com.de and are selling subdomains of that domain.

Yes, I've already found out about this, and I can confirm that there is a seperate entry in the list for CentralNIC domains "socket://whois.centralnic.com" and that's where .COM.DE is placed.

Link to comment
Share on other sites

30 minutes ago, MikeS24 said:

Oh I think I have just found the exact reason of our misunderstanding here 🙂 I have never mentioned my website to you anywhere here Brian! I hope you wouldn't mind if I would just send a link to my website to you in a private message?

my bad - replying to too many Mikes, Malcolms, Marks and too many bookmarked sites etc... I got confused and am off for a lie down! 😕

34 minutes ago, MikeS24 said:

When it comes to editing dist.whois.json - I do realise that this gets overwritten by updates, but this is just easier for me to experiment on this file for the time being, until I find the exact cause of these problems.

oh fair enough, I sometimes do that too on a clean dev install when I haven't created a whois.json yet - just so long as you know it's not a long-term solution.

35 minutes ago, MikeS24 said:

Thank for pointing out the thing with .ES registry... It's a very important information for me to make a note of.

it's been like that for years in WHMCS - certainly well before I got my first license in 2013.

.ru is acting weird on your site - it tells me that 'madrid2222.ru" is not available, yet on my v7.7 dev site, it tells me that it is... and the whois server entries are exactly the same for .ru on both sites and using namepsinner.

i'd be tempted to switch to Standard Whois, and see if that makes any difference.... it nothing else, it removes one level of interference between you and the whois list, so at least you know what you're working with rather than the vagaries of namespinner.

my thought is that you may have corrupted dist.whois.json in some way - I can't see any obvious errors in the content of the file (if I copy & paste yours to mine, it works fine), so it may be an encoding issue when you saved it... i'd suggest replacing it with the original version from the zip of your installed WHMCS release (I can see it's not v7.7) and seeing if that fixes it - ignore adding .org.es and .co.cz for now.

as I said earlier, an alternative could be that you're hitting whois lookups limits - that's entirely possible with com.de as that's a centralnic domain... i'm not sure how severe the limits are for .ru domains.

Link to comment
Share on other sites

  • 1 year later...

Hi brian!

I have a similar problem like MikeS24 , I managed to get a secondary currency on the viewinvocie.tpl page using the info from this post but I encountered a problem when trying to get the second currency on invoicepdf.tpl 

Here is the code that I try to manipulate 

if($clientsdetails["countryname"] == "Romania" & $clientsdetails["currency"] == "1"){
# Invoice Items daca client din romania si are currency euro
$tblhtml = '<table width="100%" bgcolor="#ccc" cellspacing="1" cellpadding="2" border="0">
<tr height="30" bgcolor="#efefef" style="font-weight:bold;text-align:center;">
<td width="60%">' . Lang::trans('invoicesdescription') . '</td>
<td width="20%">' . Lang::trans('sumaeurProforma') . '</td>
<td width="20%">' . Lang::trans('sumaronProforma') . '</td>
</tr>';

$clientcurrency = $clientsdetails["currency"];
if ($clientcurrency == 1) {
	$exchangerate = Capsule::table('tblcurrencies')->where('code','RON')->value('rate');
}


foreach ($invoiceitems as $item) {
$tblhtml .= '
<tr bgcolor="#fff">
<td align="left">' . nl2br($item['description']) . '<br /></td>
<td align="center">' . $item['amount'] . '</td>
<td align="center">'.$exchangerate.'</td>
</tr>';
}
$tblhtml .= '
<tr height="30" bgcolor="#efefef" style="font-weight:bold;">
<td align="right">' . Lang::trans('invoicessubtotal') . '</td>
<td align="center">' . $subtotal . '</td>
<td align="center">' . $subtotal . '</td>
</tr>';
if ($taxname) {
$tblhtml .= '
<tr height="30" bgcolor="#efefef" style="font-weight:bold;">
<td align="right">' . $taxrate . '% ' . $taxname . '</td>
<td align="center">' . $tax . '</td>
<td align="center">' . $tax . '</td>
</tr>';
}
if ($taxname2) {
$tblhtml .= '
<tr height="30" bgcolor="#efefef" style="font-weight:bold;">
<td align="right">' . $taxrate2 . '% ' . $taxname2 . '</td>
<td align="center">' . $tax2 . '</td>
<td align="center">' . $tax2 . '</td>
</tr>';
}
$tblhtml .= '
<tr height="30" bgcolor="#efefef" style="font-weight:bold;">
<td align="right">' . Lang::trans('invoicescredit') . '</td>
<td align="center">' . $credit . '</td>
<td align="center">' . $credit . '</td>
</tr>
<tr height="30" bgcolor="#efefef" style="font-weight:bold;">
<td align="right">' . Lang::trans('invoicestotal') . '</td>
<td align="center">' . $total . '</td>
<td align="center">' . $total . '</td>
</tr>
</table>';

$pdf->writeHTML($tblhtml, true, false, false, false, '');

$pdf->Ln(5);
}else{
# Invoice Items normal
$tblhtml = '<table width="100%" bgcolor="#ccc" cellspacing="1" cellpadding="2" border="0">
<tr height="30" bgcolor="#efefef" style="font-weight:bold;text-align:center;">
<td width="80%">' . Lang::trans('invoicesdescription') . '</td>
<td width="20%">' . Lang::trans('quotelinetotal') . '</td>
</tr>';
foreach ($invoiceitems as $item) {
$tblhtml .= '
<tr bgcolor="#fff">
<td align="left">' . nl2br($item['description']) . '<br /></td>
<td align="center">' . $item['amount'] . '</td>
</tr>';
}
$tblhtml .= '
<tr height="30" bgcolor="#efefef" style="font-weight:bold;">
<td align="right">' . Lang::trans('invoicessubtotal') . '</td>
<td align="center">' . $subtotal . '</td>
</tr>';
if ($taxname) {
$tblhtml .= '
<tr height="30" bgcolor="#efefef" style="font-weight:bold;">
<td align="right">' . $taxrate . '% ' . $taxname . '</td>
<td align="center">' . $tax . '</td>
</tr>';
}
if ($taxname2) {
$tblhtml .= '
<tr height="30" bgcolor="#efefef" style="font-weight:bold;">
<td align="right">' . $taxrate2 . '% ' . $taxname2 . '</td>
<td align="center">' . $tax2 . '</td>
</tr>';
}
$tblhtml .= '
<tr height="30" bgcolor="#efefef" style="font-weight:bold;">
<td align="right">' . Lang::trans('invoicescredit') . '</td>
<td align="center">' . $credit . '</td>
</tr>
<tr height="30" bgcolor="#efefef" style="font-weight:bold;">
<td align="right">' . Lang::trans('invoicestotal') . '</td>
<td align="center">' . $total . '</td>
</tr>
</table>';

$pdf->writeHTML($tblhtml, true, false, false, false, '');

$pdf->Ln(5);
}

I added the "use Illuminate\Database\Capsule\Manager as Capsule;" in the file but something is wrong with:

$clientcurrency = $clientsdetails["currency"];
if ($clientcurrency == 1) {
	$exchangerate = Capsule::table('tblcurrencies')->where('code','RON')->value('rate');
}

Can you tell me what I did wrong here?

Link to comment
Share on other sites

18 hours ago, mihai666g said:

Can you tell me what I did wrong here?

your first IF statement contains an error and the second IF statement is irrelevant as it's inside the first, uses the same condition and so will always be true...

use WHMCS\Database\Capsule;

if($clientsdetails["countryname"] == "Romania" && $clientsdetails["currency"] == "1"){
# Invoice Items daca client din romania si are currency euro
$tblhtml = '<table width="100%" bgcolor="#ccc" cellspacing="1" cellpadding="2" border="0">
<tr height="30" bgcolor="#efefef" style="font-weight:bold;text-align:center;">
<td width="60%">' . Lang::trans('invoicesdescription') . '</td>
<td width="20%">' . Lang::trans('sumaeurProforma') . '</td>
<td width="20%">' . Lang::trans('sumaronProforma') . '</td>
</tr>';

$exchangerate = Capsule::table('tblcurrencies')->where('code', 'RON')->value('rate');
Link to comment
Share on other sites

1 hour ago, brian! said:

your first IF statement contains an error and the second IF statement is irrelevant as it's inside the first, uses the same condition and so will always be true...


use WHMCS\Database\Capsule;

if($clientsdetails["countryname"] == "Romania" && $clientsdetails["currency"] == "1"){
# Invoice Items daca client din romania si are currency euro
$tblhtml = '<table width="100%" bgcolor="#ccc" cellspacing="1" cellpadding="2" border="0">
<tr height="30" bgcolor="#efefef" style="font-weight:bold;text-align:center;">
<td width="60%">' . Lang::trans('invoicesdescription') . '</td>
<td width="20%">' . Lang::trans('sumaeurProforma') . '</td>
<td width="20%">' . Lang::trans('sumaronProforma') . '</td>
</tr>';

$exchangerate = Capsule::table('tblcurrencies')->where('code', 'RON')->value('rate');

Thanks for reply, I tried with this and I still get the Ooops page.

Link to comment
Share on other sites

16 hours ago, mihai666g said:

Thanks for reply, I tried with this and I still get the Ooops page.

then you need to enable Display Errors in general settings -> other and it should give you further information about what it doesn't like and where - though it is a template that is very sensitive to incorrect code or characters.

try the file below and see if it works for you (it's working locally for me)...

yMOsW2p.png

invoicepdf.tpl

Link to comment
Share on other sites

 
 
🤓
 
41 minutes ago, brian! said:

then you need to enable Display Errors in general settings -> other and it should give you further information about what it doesn't like and where - though it is a template that is very sensitive to incorrect code or characters.

try the file below and see if it works for you (it's working locally for me)...

 

Yea, you are right, the code is good. The problem was solved by removing the extra code that comes with my teme. https://prnt.sc/r642b9

Thanks man.

Link to comment
Share on other sites

31 minutes ago, pyrateby said:

hello mihai can you tel me how you fixed that currency? Becouse i try but i can't fixed.

my problem was from lagom code in the file, I created the overwrite file and solved the problem. Don't know if this applies to you if you don't use lagom theme

Link to comment
Share on other sites

30 minutes ago, mihai666g said:

my problem was from lagom code in the file, I created the overwrite file and solved the problem. Don't know if this applies to you if you don't use lagom theme

YOU used just the script what you posted? Or dou you have some other files created? 

Link to comment
Share on other sites

  • 2 weeks later...

Hi, and thank you all for this, and of course a special thanks to brian!

We use USD as the main currency and local currency SAR

I have done the flowing:

The hook:
 

// Start Adding Saudi Riyal currency in invoices
use Illuminate\Database\Capsule\Manager as Capsule;

function hook_currency_exchange_rates($vars)
{
    $exchangerate = Capsule::table('tblcurrencies')->where('code','SAR')->get();
    //return array("exchangerate" => $exchangerate);
    return array("exchangerate" => $exchangerate[0]->rate);
    
}
add_hook("ClientAreaPageViewInvoice", 1, "hook_currency_exchange_rates");
// End Adding Saudi Riyal currency in invoices

 

in viewinvoice.tpl :

after:

                                <tr>
                                    <td class="total-row text-left"><strong>{$LANG.invoicestotal}</strong></td>
                                    <td class="total-row text-center">{$total}</td>
                                </tr>

add

                                {if $clientsdetails.country eq "Saudi Arabia"}
                                <tr>
                                    <td class="total-row text-left"><strong>{$LANG.totalinsar}</strong></td>
                                    <td class="total-row text-center">{number_format($total->toNumeric() * $exchangerate, 2, '.', '')} {$LANG.sar}</td>
                                    
                                </tr>
                                {/if}

 

 

In invoicepdf.tpl
 

# Start Adding Saudi Riyal currency in invoices
use Illuminate\Database\Capsule\Manager as Capsule;
$sarrate = Capsule::table('tblcurrencies')->where('code','SAR')->value('rate');
$exchangerate =  number_format(($sarrate), 5);
$number_total = $total->toNumeric();
$sar_total5 = $number_total * $exchangerate;
$sar_total = number_format(($sar_total5), 2, '.', '');
# End Adding Saudi Riyal currency in invoices

if ($clientsdetails["country"] === "Saudi Arabia") {
$tblhtml .= '
    <tr height="30" bgcolor="#efefef" style="font-weight:bold;">
        <td align="right">' . Lang::trans('totalinsar') . '</td>
        <td align="center">' . $sar_total . ' ' . Lang::trans('sar') . '</td>
    </tr>';
}

 

Everything works 🙂

Now the clients asked for more (Full invoice in SAR)

So I am thinking if we clone the viewinvoice.tpl to viewinvoicelocal.tpl or something.

Change all the prices variables from $xxx to {number_format($xxx->toNumeric() * $exchangerate, 2, '.', '')}

Delete all the unneeded options and so it will be for reference and print only. (No click to pay or something like that)

Can we make this used by the viewinvoice.php  by some kind of hook, or is it possible to have a new_custom_viewinvoice.php to run this tpl file (custom page)

later if all OK, will add a link from the original invoice or from clientarea.php?action=invoices to the local currency invoice page.

Is this even possible?

Thank you.

Edited by faisal
Link to comment
Share on other sites

5 hours ago, faisal said:

Everything works 🙂

not that this matters, but that hook could use the same query as the invoicepdf template..

$exchangerate = Capsule::table('tblcurrencies')->where('code','SAR')->value('rate');
return array("exchangerate" => $exchangerate);
5 hours ago, faisal said:

Now the clients asked for more (Full invoice in SAR) 

oh clients always ask for more...

5 hours ago, faisal said:

So I am thinking if we clone the viewinvoice.tpl to viewinvoicelocal.tpl or something.

Change all the prices variables from $xxx to {number_format($xxx->toNumeric() * $exchangerate, 2, '.', '')}

Delete all the unneeded options and so it will be for reference and print only. (No click to pay or something like that)

are you thinking only of modifying the HTML invoice (viewinvoice.tpl) or the PDF invoice (invoicepdf.tpl) or both ??

5 hours ago, faisal said:

Can we make this used by the viewinvoice.php  by some kind of hook, or is it possible to have a new_custom_viewinvoice.php to run this tpl file (custom page) 

i'm going to assume this is purely about the HTML invoice as you're mentioning hooks...

so what I suggest is to keep things relatively simple by only using the existing template, viewinvoice.tpl, for both USD and SAR full invoices - the point being that most of the content is going to be the same for both (logo, client & your address, invoice numbers etc) - it's only any currency figures that are going to change... even if the two template designs were going to be a lot different from each other, i'd still only use the one template.

you would use two different urls to view the invoices (where x is the invoice number)...

  • default -> viewinvoice.php?id=x
  • new SAR -> viewinvoice.php?id=x&format=sar

and then in the template (or in a hook), you can specify what happens when format=sar is used in the URL

<tr>
	<td>{$item.description}{if $item.taxed eq "true"} *{/if}</td>
	<td class="text-center">{if $smarty.get.format eq 'sar'}SAR value{else}{$item.amount}{/if}</td>
</tr>

so if format=sar is used, the template will show SAR value (in your case, you'd replace this 'SAR value' with your formula that uses $exchangerate)...

lwdEWLb.png

if you don't include format=sar in the url, then the output using the client's currency is as usual...

jTP7d1X.png

6 hours ago, faisal said:

Delete all the unneeded options and so it will be for reference and print only. (No click to pay or something like that) 

don't worry about that bits for now - you can hide those elements using {if $smarty.get.format neq 'sar'} or via a hook... whichever is going to be easier for you.

Link to comment
Share on other sites

First, many thanks.

My idea was to clone the view invoice page/template and lock it with the local currency and show it to local clients for printing/reference only. (you know WHMCS currencies system 😅) we just can't enable it (I use a hook just to force USD if needed) it is just not working as it should be.

However, your idea is also great, and I think it will give me the same result I am looking for. (more if conditions need to be applied instead of just deleting unneeded codes, but no problem)

I will try it.

Thank you, I appreciate your help.

Link to comment
Share on other sites

  • 7 months later...
  • 2 years later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use & Guidelines and understand your posts will initially be pre-moderated