Restaurant Biller 2.0 Released (Restaurant Online Ordering application)

Restaurant Biller 2.0 has been released and has moved out of beta, this new release includes features not seen in any online ordering application available on the market. With the help of existing clients recommending features  and the many hours put into to developing the code we have streamlined the whole Restaurant Ordering process. Below are the new  features listed.

    • Product and Category Images
  • Ability to re-order what you have ordered previously
  • Category and Product Images
  • Better templating system
  • Multi restaurant support with a special page to choose the restaurant you want
  • Multiple currency support.
  • Coupon manager
  • Delivery zone feature which allows you to add zones to each location, you can choose a delivery fee per zone.
  • Add a tip to the order in checkout by percentage
  • Billing addresses for users who have different information then the profile information
  • Categories now have the ability to have a display time (for instance if you would like your breakfast menu only to show up between 7am and 11am
  • Each restaurant logo can be managed through the config page
  • Blackout times for when your store is closed (If you are open 9-6  but you stop serving between 12-3)
  • Minimum order for delivery
  • Limit delivery area by zip codes
  • Full reporting and analytics center to show you your revenue, orders, popular products, popular pages, how many orders were delivered and how many orders picked up.
  • Enhancements to the order manager inside the admin panel, you can now see the order information better and logs more information. One minor set back to this is we removed the ability to set the store into “no-registration mod”
  • Site Document editor

That is about it as well as bug fixes and all around usability enhancements.  Check out this exciting new release at RestaurantBiller.com

Redirect mobile users to a mobile friendly page with php

After allot of trial and error I ended up coming up with some code that will redirect users to a mobile friendly page, this method won’t really be useful in about 5 years because modern browsers like safari allow full page viewing but this will get you by until then. Remember this code will have to change constantly if you want to stay up to date with the latest hand held devices and mime types.

To get started all you have to do is place the following code in the stop of your php page. If your loading an application you can post this below your application just don’t output any data before the code is executed. To get started making mobile friendly pages you can purchase your domain names and hosting by clicking here.


$mobile_browser = '0';if(preg_match('/(up.browser|up.link|mmp|symbian|smartphone|midp|wap|phone)/i',
strtolower($_SERVER['HTTP_USER_AGENT']))){
$mobile_browser++;
}

if((strpos(strtolower($_SERVER[‘HTTP_ACCEPT’]),’application/vnd.wap.xhtml+xml’)>0) or
((isset($_SERVER[‘HTTP_X_WAP_PROFILE’]) or isset($_SERVER[‘HTTP_PROFILE’])))){
$mobile_browser++;
}

$mobile_ua = strtolower(substr($_SERVER[‘HTTP_USER_AGENT’],0,4));
$mobile_agents = array(
‘w3c ‘,’acs-‘,’alav’,’alca’,’amoi’,’audi’,’avan’,’benq’,’bird’,’blac’,
‘blaz’,’brew’,’cell’,’cldc’,’cmd-‘,’dang’,’doco’,’eric’,’hipt’,’inno’,
‘ipaq’,’java’,’jigs’,’kddi’,’keji’,’leno’,’lg-c’,’lg-d’,’lg-g’,’lge-‘,
‘maui’,’maxo’,’midp’,’mits’,’mmef’,’mobi’,’mot-‘,’moto’,’mwbp’,’nec-‘,
‘newt’,’noki’,’oper’,’palm’,’pana’,’pant’,’phil’,’play’,’port’,’prox’,
‘qwap’,’sage’,’sams’,’sany’,’sch-‘,’sec-‘,’send’,’seri’,’sgh-‘,’shar’,
‘sie-‘,’siem’,’smal’,’smar’,’sony’,’sph-‘,’symb’,’t-mo’,’teli’,’tim-‘,
‘tosh’,’tsm-‘,’upg1′,’upsi’,’vk-v’,’voda’,’wap-‘,’wapa’,’wapi’,’wapp’,
‘wapr’,’webc’,’winw’,’winw’,’xda’,’xda-‘);

if(in_array($mobile_ua,$mobile_agents)){
$mobile_browser++;
}
if (strpos(strtolower($_SERVER[‘ALL_HTTP’]),’OperaMini’)>0) {
$mobile_browser++;
}
if (strpos(strtolower($_SERVER[‘HTTP_USER_AGENT’]),’windows’)>0) {
$mobile_browser=0;

}

//change this to your mobile friendly page
if($mobile_browser>0){
header( “Location: http://www.yourwebsite.com/mobile/” ) ;
} else {
// do something else
}

$ua = $HTTP_USER_AGENT;
if (stristr($ua, “Windows CE”) or stristr($ua, “AvantGo”) or stristr($ua,
“Mazingo”) or stristr($ua, “Mobile”) or stristr($ua, “T68”) or stristr($ua,
“Syncalot”) or stristr($ua, “Blazer”) or stristr($ua, “NetFront”))
{
$DEVICE_TYPE=”MOBILE”;
}

if (isset($DEVICE_TYPE) and $DEVICE_TYPE==”MOBILE”)
{
//change this to your mobile friendly page
header( “Location: http://www.yourwebsite.com/mobile/” ) ;
exit;
}

?>

Online food ordering script “Restaurant Biller” released with pricing!

rest.png

  • Easy AJAX powered checkout system
  • Receive the orders directly through email within 30 seconds of placed order
  • Easy customization for those who want to modify their site
  • Set the hours you would like your store open
  • Turn your store off and on through the administration panel
  • Enable Credit or disable credit cards
  • Enable or disable delivery and delivery fees
  • Modify your home page directly from a control panel
  • Add Edit and delete categories to your menu
  • Add Edit and delete menu items with extented features
  • Each site has a contact us page for customer questions
  • Edit the hours you would like your online store open
  • Add an addition cost for delivery, tax prices or order processing fees
  • Built In newsletter system
  • Free updates

Click here for a demo

PHP Function: Make non linked links clickable

Recently I came across a problem making a twitter plugin. I needed to make links which had no “a” tag into links. You can do this progamaticly and here is the solution:

If you are going to use this script please download from here: links.php.txt

function makeClickableLinks($text) {

$text = eregi_replace('(((f|ht){1}tp://)[-a-zA-Z0-9@:%_+.~#?&//=]+)',

    '1', $text);

  $text = eregi_replace('([[:space:]()[{}])(www.[-a-zA-Z0-9@:%_+.~#?&//=]+)',

    '12', $text);

  $text = eregi_replace('([_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,3})',

    '1', $text);

return $text;

}

// Usage

// Email address example

$text = "you@example.com";

echo makeClickableLinks($text);

echo "

";

// URL example

$text = "http://www.example.com";

echo makeClickableLinks($text);

echo "

";

// FTP URL example

$text = "ftp://ftp.example.com";

echo makeClickableLinks($text);

Cubecart product compare mod

Cubecart product compare mod allows customers to compare 2 or more products, the customer can see the price,description, image, name and weight. The Cubecart product compare mod also makes it simple to add new fields to the compare mod. For instance if you own a computer shop you can add some custom fields to the inventory table and compare those items on the compare page by just drawing the variable. With a simple installation this mod is a sure win for your cubecart installation.

Price: $15
License: unlimited domain
Demo: http://worcesterwideweb.com/store/index.php?act=viewCat&catId=1

compare.jpg


Restaurant Online Ordering System Beta available!

The Restaurant Biller application is now available! With the features  listed below and the low price it costs to use this application its a sure hit for small business restaurants world wide. Here are the features the Restaurant Biller boasts:

The online restaurant ordering system for small to large businesses. More and more people are going online to search for food in their area rather then using the yellow pages. Restaurant Biller© created an online solution for those restaurants to have an online menu where customers can place orders. This application is very powerful and easy to use with features allowing you to easily control every aspect of your website. Listed below are some of the features included in this application.

  • Easy AJAX powered checkout system
  • Receive the orders directly through email within 30 seconds of placed order
  • Easy customization for those who want to modify their site
  • Modify your home page directly from a control panel
  • Add Edit and delete categories to your menu
  • Add Edit and delete menu items with extented features
  • Each site has a contact us page for customer questions
  • Edit the hours you would like your online store open
  • Add an addition cost for delivery, tax prices or order processing fees
  • Free updates

Click here to view the demo and website
or
Click here to enquire about getting setup on this system

php 5 and imagecreatefromjpeg() recoverable error: Premature end of JPEG file

Ok I recently came up with a problem creating thumbnails for a project I am working on. I was stumped for hours, it seems that some files that were saved from a mac or certain photo editing programs would cause php to not recognize it a jpg thus giving the error:  

imagecreatefromjpeg() : gd-jpeg, libjpeg: recoverable error: Premature end of JPEG

After researching this problem I realized it was a problem with php 5 and gd2. Heres how to fix it

ini_set(‘gd.jpeg_ignore_warning’, 1);

Doing that will cause gd2,php to ignore the error and continue where it use to just fail and do nothing.

Cubecart custom category order

So I developed another new mod for cubecart, this one allows you to sort out your categories in cubecart the way you want without staying with the normal sort by name or id as seen in other mods. This mod only modifies 3 files and installs one column “pos” to your database to do the ordering. Remember to back up your database and files before attempting any modification on your original files. To download this file click on the link below.

Custom category ordering 1.0

custom_category_order_1.3 (updated for manual ordering)

mysql update from another table

Recently I needed to update a bunch of rows in mysql with information from another table. I will explain how to do this simple process.

  1. Open up phpmyadmin or similar database editor
  2. view the sql query below
UPDATE updatefrom p, updateto pp 
SET pp.last_name = p.last_name 
WHERE pp.visid = p.id

Lets say we have 2 tables one named main and one named updateto and one named updatefrom, In the first line we assign variables to these t tables (p and pp) from there we can call column names using this format table.columname. If we had first_name and last_name in both tables and wanted to update the “updateto” table with the info from “updatefrom” this is how you would write it.