Jump to content

Nerdster

Member
  • Posts

    41
  • Joined

  • Last visited

About Nerdster

Nerdster's Achievements

Member

Member (2/3)

0

Reputation

  1. There is a few issues on their website, I have also tried contacting them via their website and had no reply. Its a shame, I would really like to get my hands on this. Our company is looking for just this kind of thing. @ Noclayer-Alen- please supply some contact details. The (http://www.noclayer.com/register) has PHP errors.
  2. Hi Guys, We have a person or small group of persons from a company in Vietnam who continuously purchase domain names with Stolen credit cards. Its a night mare to deal with, as soon as the order is processed the domain name order is final. Enom (One of our registrars) will not cancel the domain and refund the fee, we are charged $15 from Paypal for the charge back, and the payment is returned to the credit card owner. Most cases we have canceled the payment and refunded back to the credit card before Paypal hits us with the charge back fee, however the process of dealing with these kinds of fraudsters is time consuming and frustrating. Our server technicians block all Vietnam IPs but they just use Proxy to get access and place new orders. We generally know the fraud orders due to the 4 or more failed credit card payment attempts. Now we are stuck with 30+ domains that have no resale value and we still have not found a way to prevent these fraudsters from continuing. We have requested a trial of MAXMIND and hope that may reduce the problem. If there is anybody else out there having these kind of issues or have a solution of how to help prevent these orders from processing, please do let me know.
  3. Hi, We have an affiliate that would like to have a custom hosting package and a direct link to that package but also be recognized by the affiliate code. For example; Affiliate-1 uses a custom hosting package that we have created. Affiliate-1 would like to send his clients a direct URL to sign up for this custom hosting package instead of sending them to our home page via the standard affiliate generated URL because the product is set to hidden in our system and will simply confuse the refereed customer. if we could find a way to add the affiliate code to the Direct Shopping Cart Link for this product, it would make the process much more simple. I hope that's not to confusing I could not find any solution for this and hope that somebody in the community maybe able to assist?
  4. Hi all, I am looking for a way to edit the pdf invoice so by default its says TAX INVOICE. By default it just says "Invoice". Any advice would be appreciated. ---------------------- I managed to find how to make the change. For any body else that may need to change this, I opened my >> lang >>english.php file look for: $_LANG['invoicenumber'] = "Invoice #"; and I added TAX infront on Invoice so it looks like this: $_LANG['invoicenumber'] = "Tax Invoice #"; That fixed my problem.
  5. When i log into the forum, I do not see the forum home page as a logged in forum member. I am not sure why, maybe cookie related but the home page of the forum only displays the forums that are viewable for those that are NOT logged in, so I can not see all the available forum categories as a logged in user. Is anybody else having this problem, or is it just me??? I also noticed that when i visit categories, the login box at the top right of the forum disappears and displays me as logged in. but if then click on the forum tab in menu, it returns to not logged in.
  6. I like the new upgrade 5.1.2 but I really liked the monthly order graph that would compare orders from previous years months that was displayed on the admin area for 5.0. Any idea how I may be able to restore that without causing any problems?
  7. I think that's a great idea malfunction. A separate email notification 48 hours prior to suspension would solve a lot of problems. Thanks for your reply guys.
  8. Hi Damo, Thanks for your reply. The purpose of my post is to see if other hosting companies were experiencing the same kind of response from these reminder emails. We have only had one termination and 4-5 complaints about the way the invoice reminder email reads. But that is enough for us to search for a solution We do respect and appreciate all our customers. My earlier post does sound dramatic, i guess it was from the frustration that we do try so hard to give our customers a good service yet this problems was occurring. I received a PM from another WHMCS forum user today, telling me of a similar experience he had many years ago, and he mentioned that he does not terminate the accounts even up to 6 months of unpaid invoices, and 90% of the late payers do eventually pay a late fee that you mentioned to restore the account. Anyway will try this and see how it works out. Thanks again for taking the time to reply back to me Damo, its much appreciated.
  9. Hi all, I am interested in what others using WHMCS have on their invoice overdue content. We have had a ongoing problem with trying to balance out a friendly reminder that invoices are overdue and that if payment is not made within a period of time, there account will be suspended and data possibly terminated... blah... blah... I think its important to let customers know that when an account is terminated that the data is lost forever, but we do not want to sound like we are holding a gun at the clients head to pay the invoice. here is a sample of how our invoice content is set out: Dear {client_name} (company name), This is a billing reminder that your invoice no. 13445 which was generated on 12/02/2012 is due on 17/02/2012. If you have paid this invoice and are still receiving these friendly reminders, please contact our billing department as soon as possible. Nerdster Pty Ltd uses an automated billing system that will recognise non-payment of an invoice. Our billing system will allow up to 7 days from the invoice due date, after which if no contact has been made the system will automatically suspend the hosting account. 21 days from the suspended date, the account will then be classed as closed. Our system will then terminate the account after 14 days from the date the account was suspended. Please understand that when an account is terminated, all data and files are completely deleted. If you are having problems making the payment but wish your services remain active, please submit a ticket to our billing department to arrange a payment plan. To give you an example of what we are dealing with, we have had some customers calling us up saying that somebody sent him a threatening email (our automated WHMCS system) that if he doesn't pay his invoice we will terminated all his data. and he threatened us to stop sending these emails or he will leave our service. Obviously this is how he interpreted our overdue invoice email... On the other hand, before we added this information to overdue invoice template, we had a client that did not pay his invoice within the 21 days, he did not attempt to contact us, and after another 21 days we terminated the account. The client returned from holidays to find his site completely deleted and he had no back ups. This customer called us almost 2 months after the final (3rd) invoice was sent, and abused us for terminating his site. This is why we added the termination information to the invoice, but its extremely hard to maintain a balance. HOW DO WE KEEP THEM HAPPY? I would really love to hear how others are dealing with this and what content is informative to the customers and does not come across as threatening to the customer. Thank you, and I do look forward to your idea's.
  10. Matt did mention that the client side will be available in a future release. I also puchased the new PM addon, but I don't think I will use it unroll it has the ability for the client to view status and update tasks and add images and files.
  11. Hi, Can you give me some instructions on how to edit the email titles. For example when my client receives an email notification, its titled: WHMCSPM2 - Project Modified I have tried to edit this in email templates, but this does not fix it. There is several email template title to rename. Any assistance would be appreciated
  12. Sorry, I meant our new domain name Thanks for pointing that out Hellokit9713
  13. The "searchtab.html" Replace the "ADD TOKEN VALUE" and the "ADD YOUR DOMAIN NAME" <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en-US"> <head profile="http://gmpg.org/xfn/11"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>Title</title> <link rel="stylesheet" type="text/css" href="tabcontent.css" /> <script type="text/javascript" src="tabcontent.js"> /*********************************************** * Tab Content script v2.2- � Dynamic Drive DHTML code library (www.dynamicdrive.com) * This notice MUST stay intact for legal use * Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code ***********************************************/ </script> <style type="text/css"> #simple-tabs{margin:0;padding:0;overflow:hidden;margin-bottom:10px;} #simple-tabs li a:hover{} #simple-tabs li a:visited{color:#fff;text-decoration:none;} #simple-tabs li a{font-size:11px;font-weight:bold;color:#fff;display:block;float:left;background:#426397;margin-right:10px; padding:0px 8px;line-height:25px;text-decoration:none;} #simple-tabs li{display:inline} #simple-tabs li a.selected{background:green} </style> <ul id="simple-tabs"> <li><a href="#" rel="simple-tabs-1" class="selected">Domain</a></li> <li><a href="#" rel="simple-tabs-2">Whois</a></li> <li><a href="#" rel="simple-tabs-3">Transfer</a></li> </ul> <div id="simple-tabs-1" class="tabcontent"> <form target="_blank" action="http://ADD YOUR DOMAIN NAME/clients/domainchecker.php" method="post"> <input type="hidden" name="token" value="ADD TOKEN VALUE" /> <input type="hidden" name="direct" value="true"> <input type="text" name="domain" size="40" class="search-field" value="Domain.." onfocus="if(this.value == 'Domain..') {this.value = '';}" onblur="if (this.value == '') {this.value = 'Domain..';}"/> <select name="ext" class="head-select"> <option>.com</option> <option>.net</option> <option>.info</option> <option>.org</option> <option>.me</option> <option>.us</option> <option>.mobi</option> <option>.la</option> <option>.asia</option> <option>.biz</option> <option>.com.tw</option> <option>.tw</option> <option>.org.tw</option> <option>.idv.tw</option> <option>.ca</option> <option>.cn</option> <option>.eu</option> <option>.name</option> <option>.cc</option> <option>.ac</option> <option>.io</option> <option>.sh</option> <option>.tv</option> <option>.bz</option> <option>.nu</option> <option>.ws</option> <option>.kids.us</option> <option>.com.cn</option> <option>.net.cn</option> <option>.org.cn</option> <option>.de</option> <option>.be</option> <option>.tc</option> <option>.vg</option> <option>.ms</option> <option>.gs</option> <option>.jp</option> <option>.net.nz</option> <option>.co.nz</option> <option>.org.nz</option> <option>.in</option> <option>.at</option> <option>.am</option> <option>.nl</option> <option>.fm</option> <option>.com.au</option> <option>.net.au</option> </select> <input type="submit" value="submit" class="search-go"> </form> </div> <div id="simple-tabs-2" class="tabcontent" style="display:none"> <form target="_blank" action="http://ADD YOUR DOMAIN NAME/clients/whois.php" method="post"> <input type="text" id="domain1" onchange="document.getElementById('domain').value=document.getElementById('domain1').value + '' + document.getElementById('tld').value;" name="domain1" size="40" class="search-field" value="Whois.." onfocus="if(this.value == 'Whois..') {this.value = '';}" onblur="if (this.value == '') {this.value = 'Whois..';}"/> <select name="tld" id="tld" onchange="document.getElementById('domain').value=document.getElementById('domain1').value + ' ' + document.getElementById('tld').value;" class="head-select"> <option>.com</option> <option>.net</option> <option>.info</option> <option>.org</option> <option>.me</option> <option>.us</option> <option>.mobi</option> <option>.la</option> <option>.asia</option> <option>.biz</option> <option>.com.tw</option> <option>.tw</option> <option>.org.tw</option> <option>.idv.tw</option> <option>.ca</option> <option>.cn</option> <option>.eu</option> <option>.name</option> <option>.cc</option> <option>.ac</option> <option>.io</option> <option>.sh</option> <option>.tv</option> <option>.bz</option> <option>.nu</option> <option>.ws</option> <option>.kids.us</option> <option>.com.cn</option> <option>.net.cn</option> <option>.org.cn</option> <option>.de</option> <option>.be</option> <option>.tc</option> <option>.vg</option> <option>.ms</option> <option>.gs</option> <option>.jp</option> <option>.net.nz</option> <option>.co.nz</option> <option>.org.nz</option> <option>.in</option> <option>.at</option> <option>.am</option> <option>.nl</option> <option>.fm</option> <option>.com.au</option> <option>.net.au</option> </select> <input type="hidden" name="domain" id="domain" value="" /> <input type="submit" value="submit" class="search-go"> </form> </div> <div id="simple-tabs-3" class="tabcontent" style="display:none"> <form target="_blank" action="http://ADD YOUR DOMAIN NAME/clients/cart.php?a=add&domain=transfer" method="post"> <input type="text" name="sld" size="40" class="search-field" value="Transfer.." onfocus="if(this.value == 'Transfer..') {this.value = '';}" onblur="if (this.value == '') {this.value = 'Transfer..';}"/> <select name="tld" class="head-select"> <option>.com</option> <option>.net</option> <option>.info</option> <option>.org</option> <option>.me</option> <option>.us</option> <option>.mobi</option> <option>.la</option> <option>.asia</option> <option>.biz</option> <option>.com.tw</option> <option>.tw</option> <option>.org.tw</option> <option>.idv.tw</option> <option>.ca</option> <option>.cn</option> <option>.eu</option> <option>.name</option> <option>.cc</option> <option>.ac</option> <option>.io</option> <option>.sh</option> <option>.tv</option> <option>.bz</option> <option>.nu</option> <option>.ws</option> <option>.kids.us</option> <option>.com.cn</option> <option>.net.cn</option> <option>.org.cn</option> <option>.de</option> <option>.be</option> <option>.tc</option> <option>.vg</option> <option>.ms</option> <option>.gs</option> <option>.jp</option> <option>.net.nz</option> <option>.co.nz</option> <option>.org.nz</option> <option>.in</option> <option>.at</option> <option>.am</option> <option>.nl</option> <option>.fm</option> <option>.com.au</option> <option>.net.au</option> </select> <input type="submit" value="submit" class="search-go"> </form> </div> <script type="text/javascript"> var countries=new ddtabcontent("simple-tabs") countries.setpersist(true) countries.setselectedClassTarget("link") //"link" or "linkparent" countries.init() </script> </body> </html> The "tabcontent.js" //** Tab Content script v2.0- © Dynamic Drive DHTML code library (http://www.dynamicdrive.com) //** Updated Oct 7th, 07 to version 2.0. Contains numerous improvements: // -Added Auto Mode: Script auto rotates the tabs based on an interval, until a tab is explicitly selected // -Ability to expand/contract arbitrary DIVs on the page as the tabbed content is expanded/ contracted // -Ability to dynamically select a tab either based on its position within its peers, or its ID attribute (give the target tab one 1st) // -Ability to set where the CSS classname "selected" get assigned- either to the target tab's link ("A"), or its parent container //** Updated Feb 18th, 08 to version 2.1: Adds a "tabinstance.cycleit(dir)" method to cycle forward or backward between tabs dynamically //** Updated April 8th, 08 to version 2.2: Adds support for expanding a tab using a URL parameter (ie: http://mysite.com/tabcontent.htm?tabinterfaceid=0) ////NO NEED TO EDIT BELOW//////////////////////// function ddtabcontent(tabinterfaceid){ this.tabinterfaceid=tabinterfaceid //ID of Tab Menu main container this.tabs=document.getElementById(tabinterfaceid).getElementsByTagName("a") //Get all tab links within container this.enabletabpersistence=true this.hottabspositions=[] //Array to store position of tabs that have a "rel" attr defined, relative to all tab links, within container this.currentTabIndex=0 //Index of currently selected hot tab (tab with sub content) within hottabspositions[] array this.subcontentids=[] //Array to store ids of the sub contents ("rel" attr values) this.revcontentids=[] //Array to store ids of arbitrary contents to expand/contact as well ("rev" attr values) this.selectedClassTarget="link" //keyword to indicate which target element to assign "selected" CSS class ("linkparent" or "link") } ddtabcontent.getCookie=function(Name){ var re=new RegExp(Name+"=[^;]+", "i"); //construct RE to search for target name/value pair if (document.cookie.match(re)) //if cookie found return document.cookie.match(re)[0].split("=")[1] //return its value return "" } ddtabcontent.setCookie=function(name, value){ document.cookie = name+"="+value+";path=/" //cookie value is domain wide (path=/) } ddtabcontent.prototype={ expandit:function(tabid_or_position){ //PUBLIC function to select a tab either by its ID or position(int) within its peers this.cancelautorun() //stop auto cycling of tabs (if running) var tabref="" try{ if (typeof tabid_or_position=="string" && document.getElementById(tabid_or_position).getAttribute("rel")) //if specified tab contains "rel" attr tabref=document.getElementById(tabid_or_position) else if (parseInt(tabid_or_position)!=NaN && this.tabs[tabid_or_position].getAttribute("rel")) //if specified tab contains "rel" attr tabref=this.tabs[tabid_or_position] } catch(err){alert("Invalid Tab ID or position entered!")} if (tabref!="") //if a valid tab is found based on function parameter this.expandtab(tabref) //expand this tab }, cycleit:function(dir, autorun){ //PUBLIC function to move foward or backwards through each hot tab (tabinstance.cycleit('foward/back') ) if (dir=="next"){ var currentTabIndex=(this.currentTabIndex<this.hottabspositions.length-1)? this.currentTabIndex+1 : 0 } else if (dir=="prev"){ var currentTabIndex=(this.currentTabIndex>0)? this.currentTabIndex-1 : this.hottabspositions.length-1 } if (typeof autorun=="undefined") //if cycleit() is being called by user, versus autorun() function this.cancelautorun() //stop auto cycling of tabs (if running) this.expandtab(this.tabs[this.hottabspositions[currentTabIndex]]) }, setpersist:function(bool){ //PUBLIC function to toggle persistence feature this.enabletabpersistence=bool }, setselectedClassTarget:function(objstr){ //PUBLIC function to set which target element to assign "selected" CSS class ("linkparent" or "link") this.selectedClassTarget=objstr || "link" }, getselectedClassTarget:function(tabref){ //Returns target element to assign "selected" CSS class to return (this.selectedClassTarget==("linkparent".toLowerCase()))? tabref.parentNode : tabref }, urlparamselect:function(tabinterfaceid){ var result=window.location.search.match(new RegExp(tabinterfaceid+"=(\\d+)", "i")) //check for "?tabinterfaceid=2" in URL return (result==null)? null : parseInt(RegExp.$1) //returns null or index, where index (int) is the selected tab's index }, expandtab:function(tabref){ var subcontentid=tabref.getAttribute("rel") //Get id of subcontent to expand //Get "rev" attr as a string of IDs in the format ",john,george,trey,etc," to easily search through var associatedrevids=(tabref.getAttribute("rev"))? ","+tabref.getAttribute("rev").replace(/\s+/, "")+"," : "" this.expandsubcontent(subcontentid) this.expandrevcontent(associatedrevids) for (var i=0; i<this.tabs.length; i++){ //Loop through all tabs, and assign only the selected tab the CSS class "selected" this.getselectedClassTarget(this.tabs[i]).className=(this.tabs[i].getAttribute("rel")==subcontentid)? "selected" : "" } if (this.enabletabpersistence) //if persistence enabled, save selected tab position(int) relative to its peers ddtabcontent.setCookie(this.tabinterfaceid, tabref.tabposition) this.setcurrenttabindex(tabref.tabposition) //remember position of selected tab within hottabspositions[] array }, expandsubcontent:function(subcontentid){ for (var i=0; i<this.subcontentids.length; i++){ var subcontent=document.getElementById(this.subcontentids[i]) //cache current subcontent obj (in for loop) subcontent.style.display=(subcontent.id==subcontentid)? "block" : "none" //"show" or hide sub content based on matching id attr value } }, expandrevcontent:function(associatedrevids){ var allrevids=this.revcontentids for (var i=0; i<allrevids.length; i++){ //Loop through rev attributes for all tabs in this tab interface //if any values stored within associatedrevids matches one within allrevids, expand that DIV, otherwise, contract it document.getElementById(allrevids[i]).style.display=(associatedrevids.indexOf(","+allrevids[i]+",")!=-1)? "block" : "none" } }, setcurrenttabindex:function(tabposition){ //store current position of tab (within hottabspositions[] array) for (var i=0; i<this.hottabspositions.length; i++){ if (tabposition==this.hottabspositions[i]){ this.currentTabIndex=i break } } }, autorun:function(){ //function to auto cycle through and select tabs based on a set interval this.cycleit('next', true) }, cancelautorun:function(){ if (typeof this.autoruntimer!="undefined") clearInterval(this.autoruntimer) }, init:function(automodeperiod){ var persistedtab=ddtabcontent.getCookie(this.tabinterfaceid) //get position of persisted tab (applicable if persistence is enabled) var selectedtab=-1 //Currently selected tab index (-1 meaning none) var selectedtabfromurl=this.urlparamselect(this.tabinterfaceid) //returns null or index from: tabcontent.htm?tabinterfaceid=index this.automodeperiod=automodeperiod || 0 for (var i=0; i<this.tabs.length; i++){ this.tabs[i].tabposition=i //remember position of tab relative to its peers if (this.tabs[i].getAttribute("rel")){ var tabinstance=this this.hottabspositions[this.hottabspositions.length]=i //store position of "hot" tab ("rel" attr defined) relative to its peers this.subcontentids[this.subcontentids.length]=this.tabs[i].getAttribute("rel") //store id of sub content ("rel" attr value) this.tabs[i].onclick=function(){ tabinstance.expandtab(this) tabinstance.cancelautorun() //stop auto cycling of tabs (if running) return false } if (this.tabs[i].getAttribute("rev")){ //if "rev" attr defined, store each value within "rev" as an array element this.revcontentids=this.revcontentids.concat(this.tabs[i].getAttribute("rev").split(/\s*,\s*/)) } if (selectedtabfromurl==i || this.enabletabpersistence && selectedtab==-1 && parseInt(persistedtab)==i || !this.enabletabpersistence && selectedtab==-1 && this.getselectedClassTarget(this.tabs[i]).className=="selected"){ selectedtab=i //Selected tab index, if found } } } //END for loop if (selectedtab!=-1) //if a valid default selected tab index is found this.expandtab(this.tabs[selectedtab]) //expand selected tab (either from URL parameter, persistent feature, or class="selected" class) else //if no valid default selected index found this.expandtab(this.tabs[this.hottabspositions[0]]) //Just select first tab that contains a "rel" attr if (parseInt(this.automodeperiod)>500 && this.hottabspositions.length>1){ this.autoruntimer=setInterval(function(){tabinstance.autorun()}, this.automodeperiod) } } //END int() function } //END Prototype assignment
×
×
  • 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