Our goal is to display website visitors on the map, similar to the screenshot below.

We will convert their IP address to lat/lng coordinates and display those markers on OpenStreetMap map. To perform the conversion of IP addresses to lat/lng pairs we are going to use the geolocation data from ip2location.com.

We will display users that were active in the last ten minutes. If the user had some activity in the last 60 seconds, their dot will be pulsing.

Continue Reading "Displaying website visitors on the map"

Infinite scroll is a useful technique that allows to load new content automatically, when the user  scrolls down and reaches the end of the page. This is the kind of feature that our customers asked us about for a fairly long time. Turns out, it is not that difficult to implement with the help of some custom coding. Enable ‘AJAX search, pagination, sorting’ option on Pages -> List page settings dialogue. Add the following code to List page: Javascript OnLoad event of the page where…Continue Reading “Infinite scroll”

In a web application, some long running tasks may time out and not finish. To avoid this kind of limitation we will show you how to run such tasks reliably and, at the same time provide progress status to the end user so they know the task is still running. In this article we’ll show you how to achieve this in PHPRunner and ASPRunner.NET.

A common task like this is batch sending email notifications. The key is to initiate a process like this from JavaScript sending the next batch of tasks to the server via AJAX.

Continue Reading "Long running process with notifications"

Dashboards excel at showcasing a multitude of valuable information on a single page. However, there are instances when a basic dashboard layout falls short in accommodating the desired volume of data on a single screen. In this article, we will demonstrate a method for amplifying information presentation through the use of a tabbed component. It’s important to note that this is not a built-in and we will need to write a bit of code.

Here is what we after:

Continue Reading "Tabbed elements in dashboards"

The wait is over! PHPRunner 11 and ASPRunner.NET 11 are here.

If you purchased either product less than a year ago, you can download updated versions from the control panel. Click ‘Reg info’ link next to your latest PHPRunner or ASPRunner.NET purchase and you will find version 11 info there. You can also uninstall version 11 preview as it is no longer required.

You can see Version 11 most frequently asked questions answered here.

PHPRunner 11 trial version
ASPRunner.NET 11 trial version

You can install and run it side by side with PHPRunner 10.x and older versions. Existing software functionality will not be affected.


  • Much faster UI
  • Much faster work with large ( 1000+ tables ) projects
  • Multi-developer support!
  • Revisions and roll-backs
  • Later: Mac/Linux versions
Continue Reading "Version 11"

As many of you know, we recently launched a side project named PicTur. This is a website, built with the help of PHPRunner, that allows users build beautiful travel stories. Instead of letting you pictures collect dust you can create a travel story and share with the world. Take a look open an account and maybe create a story or two.

This website was built with the help of PHPRunner and was heavily customized. We will post series of articles talking about the most interesting parts of this project. Let us start by showing how pages like login, register and remind password were prettified. First, we found a good login template at Carrd, customized it a bit and imported CSS into PHPRunner.

This is the end result:

PicTur..app login page

Continue Reading "Yet another custom login page"

Our website xlinesoft.com was down from May 24, 2019 to May 30, 2019.

First, I noticed that I cannot logon to our online helpdesk. Then the website itself started showing ads that we never had. We assumed that our server was hacked but it turned out it simply points to a different IP address now. Hacker downloaded a static copy of our website, added some ads and tried to make some money via AdSense.

I tried to logon to GoDaddy account and check DNS settings. The login didn’t work and the password reset email never arrived. Our account at GoDaddy was hacked and attackers сhanged domain name ownership data. I was relieved though, dealing with GoDaddy should be easier than negotiating with a hacker, right?

Continue Reading "How I (almost) lost my domain name and how Bitcoin saved the day"