Archive for the ‘Cake PHP’ Category

Penny Auction website gets scalability and reliability from iBCScorp

Posted on: April 7th, 2011 by James Cluff No Comments
Internet Business Consulting Services(iBCScorp) recently completed load balancing and scaling projects for a Penny Auction website located in Melbourne, Australia. The website had issues with balancing the load of traffic to their site.   “Congratulations YOU JUST WON!” These are some of the words you can hope to see on the site.  This online bidding site (penny auction) where if you are the highest bidder, you win the product at a low price. It’s a way to get a variety of items for a better value than you would in a store. Due to the popularity of the site, it has been receiving large amounts of traffic. When this bidding company contacted IBCScorp, their site was loading at speeds not conducive to properly conduct the auction count down timer. iBCScorp resolved the site issue by modifying and installing a multiple support server strategy. This enabled the site to function more efficiently.  The client is now being supported on four application servers, one database server, a caching server and a load balancer. By having the site supported on several servers it efficiently handles the traffic load the site is currently receiving. iBCScorp updated the clients site by moving the site over to amazon’s AWS Service to provide strong scalability. Ongoing support for the site will continue and iBCScorp will also work to optimize the caching system and several underlying sub systems to help provide for a better user experience, and improve efficiency so the cost per user can be brought down as low as possible. iBCScorp specializes in web applications and database development. Their main office is located in St. George, Utah. To contact them, call 435-215-4674 or you can visit their website at: www.ibcscorp.com

Hunt and Fish Regulation website adds online directory

Posted on: April 6th, 2011 by James Cluff No Comments
Internet Business Consulting Services (ibcscorp) recently did some web development work for the Hunt and Fish Regulation (huntnfishregs.com) website. One of the major changes to the site was the addition of a gray box directory which can publish content on other partners websites. This will provide hunting and fishing information for each state within the United States and Canada on websites of their partners. “Supplying you with all the information you need for a legal, successful, and safe hunting or fishing trip,” is the vision for Hunt and Fish Regulation website. Hunt and Fish Regulation is a company located in American Fork, Utah, specializing in providing hunting and fishing regulations for every state in the United States. They specialize in State Hunting and Fishing Regulation guides. The site contains information for each state within the United States and Canada. iBCScorp built a gray box widget to their site. They also built a hunting and fishing directory to their site. This Gray Box will enable Hunt and Fish Regulations to publish their content on other peoples websites without re-directing traffic to their site. The web programming of the Widget for this site was changed from ASP.NET to Cake PHP. iBCScorp is an Internet business consulting company based in St. George, Utah. iBCScorp works with many clients from all across the nation and locally. To receive a free consultation on your website, call 435-215-4674 or call toll free 1-877-778-7882.

MissionCards.com planning a website overhaul

Posted on: February 1st, 2011 by James Cluff No Comments
MissionCards.com, headquartered in Salt Lake City, Utah specializes in easy to order custom cards for LDS Missionaries.  If you’re not LDS, or a member of The Church of Jesus Christ of Latter Day Saints, but are still a missionary, this is still a great place to buy Missionary cards with themes focused on the Gospel of Jesus Christ. Missionary Business Cards feature the work of many famous artists including Chad Hawkins, Harry Anderson, Ted Henninger, Robert T. Barret, John Scott, Tom Lovell, and more. Missionaries purchase business cards because they want to re-locate people who they have become friends with and served with and be able to reach them. As anyone knows, the purpose of a Missionary’s Work is sharing the things that bring the most joy in their lives with other people. The result of that often is long lasting, loving relationships. If you want to learn more about Latter Day Saint Missionaries, or about the Church of Jesus Christ of Latter Day Saints, you can do that here mormon.org.  You could probably even have some Mormon Missionaries to come to your door, to share the message of Jesus Christ at no charge. There are over 50,000 full time missionaries from The Church of Jesus Christ of Latter Day Saints (The Mormons) serving people around the world. There are missionaries from many different denominations also serving missions to help other people. Because of this there is a large need for MissionCards.com to allow quick and easy printing of Business Cards for Missionaries. Missionarycards.com is putting forth this effort to redo their website and improve the business card ordering process on their website because as time passes sites seem to loose their impact as new better web based software and techniques become available. In order to make these changes happen, Missionary Cards has contracted with Saint George Utah Based Internet Business Consulting Services Corporation (ibcscorp.com). Internet Business Consulting Services looks forward to working with MissionCards.com to help improve their product offering, and to help them market their product with web marketing and SEO (Search Engine Optimization) Techniques.  The current site is done in PHP, and will likely stay PHP, or be migrated to Cake PHP, or to a CMS Content Management application in the future for easier maintenance and development. Look for new products and an easier to use interface coming soon at Missioncards.com

Shear Madness Franchising to offer a intranet portal for its franchisee’s

Posted on: January 24th, 2011 by James Cluff No Comments
A few weeks ago my daughter had her 8 year-old birthday party.  Imagine my surprise showing up late for the party and finding my house full of girls.  Fortunately I have a lot of girls of my own 7 of them 4 older and 3 younger with 1 son bringing up the rear.  The 4 older girls had volunteered their afternoon to put on a salon party for my 8 year old daughter and all of her friends.  They had set up salon stations all over the house doing pedicures, hair, crafts and manicures.  It was something else I tell ya.  Nothing could have been more fun. For those people who don’t have four older children to do the dressing up and, well for those who don’t really want to turn their home into a mad house anyway, you can still have a party like this at a Shear Madness Franchise location near you. Shear Madness Franchising of Overland Park, Kansas is a creative and fun company providing Salon Services, “Youniquey Boutiquey”, and parties for youth ages 3 to 13.  What a unique way to have fun with your children or grandchildren. For Franchisee’s, Shear Madness Franchising provides a wealth of training, ongoing support and other services to help those franchisee’s be successful.  Just this week they made an agreement with Internet Business Consulting Services Corporation to develop an intranet for their franchisees.  This tool will help the Franchisees keep their Shear Madness location stocked with fun items for the children visiting them.  It also provides internal communication for the franchisee’s. Originally this project was going to be done using Joomla or Magento, but after closer evaluation of the project, it shall be done using A custom Cake PHP Code. Cake PHP will allow the site to be customized to meet the intranet and various user group requirements to manage users at the franchiser location as well as the various user types at the franchise location.  Some of the features in the custom Cake PHP project include a rolling blog, shopping cart to see and order vendor products from over 30 vendors, notes and eventually a document management system for training franchisee staff. We look forward to watching Shear Madness Franchises grow, and for a franchise near us.

CakePHP Samples

Posted on: December 2nd, 2010 by Keerthi Bandara 1 Comment
This post provides some sample source code segment, extracted from our previously developed systems. The intention here is to depict the coding practices we apply within iBCScorp. Samples given below are based on CakePHP MVC framework. iBCScorp has involved in CakePHP development since the version 1.1. After that we have continued with 1.2.x releases and then absorbed 1.3.x releases into our developments later on. iBCScorp started using CakePHP 1.3 in projects since its pre-stable releases. Adopting the new version early helped iBCScorp to keep its source code clean and tight with new syntactical improvements, while avoiding version upgrades in near future. FreedomTravel4You.com is one of the sites built on CakePHP 1.3. Following code segment is extracted from its codebase. (agent_tree_controller.php). [php] <?php /** * Short description for file * This file handles the Agent Tree View functionality * * PHP versions > 5.0, CakePHP versions > 1.3 * * @package FreedomTravel4You.com * @author iBCScorp. * @copyright iBCScorp. * @license As described below * @version 1.0.0 * @since File available since Release 1.1.0 dt. Friday, 04 December, 2009 */ /********************************************************* * Licence: * This file is sole property of the installer. * Any type of copy or reproduction without the consent * of owner is prohibited. * If in any case used leave this part intact without * any modification. * All Rights Reserved * Copyright 2009 Owner *******************************************************/ class AgentTreeController extends AppController { var $name = ‘AgentTree’; var $uses = array(‘User’, ‘UserTree’); var $components = array(‘Auth’); var $helpers = array(‘Html’, ‘Javascript’, ‘TreeView’); function beforeFilter() { if($this->Session->read(‘user_info.admin’)){ $this->set(‘menu_type’, ‘admin’); } else { $this->set(‘menu_type’, ‘agent’); } $this->set(‘show_side_bar’, 0); } function index($element_id = null) { $this->common_tree_info($element_id); $this->set(‘page_title’, ‘Agent’); } // Action to display unassigned users for logged in agent function assign_agent() { $curr_user_id = $this->Session->read(‘Auth.User.id’); $unassigned_childrens = $this->User->get_unassigned_children($curr_user_id); $this->set(‘unassigned_childrens’, $unassigned_childrens); $this->set(‘page_title’, ‘Agent’); } // Display tree view to assign new agents to tree function add_to_tree($element_id = null) { $new_child_id; if(isset($this->params['form']['child_id'])){ $new_child_id = $this->params['form']['child_id']; // Store selected child-id to be assigned to tree $this->Session->write(‘child_to_be_assigned’, $new_child_id); } elseif($this->Session->check(‘child_to_be_assigned’)) { $new_child_id = $this->Session->read(‘child_to_be_assigned’); } else { $this->redirect(‘/agent_tree/assign_agent’); exit(0); } // get the child name for particular id $new_child_info = $this->User->find(‘first’, array( ‘conditions’ => array(‘id’ => $new_child_id), ‘fields’ => array(‘first_name’) )); // Call the common function to initialize tree $this->common_tree_info($element_id); $this->set(‘new_agent_name’, $new_child_info['User']['first_name']); $this->set(‘page_title’, ‘Agent’); } // Funtion to apend child to tree (last step) function append_child() { $child = explode("_", trim($this->params['form']['child_id'])); $tree_data = array(); $tree_data['UserTree']['parent_id'] = $child[0]; $tree_data['UserTree']['child_position'] = $child[1]; $tree_data['UserTree']['child_id'] = $child[2]; // Tree ID of the new Agent $this->UserTree->create(); $this->UserTree->save($tree_data); $new_user_id = $this->Session->read(‘child_to_be_assigned’); $this->User->id = $new_user_id; $this->User->saveField(‘tree_id’, $child[2]); $this->redirect(‘/agent_tree/index’); exit(0); } // Common function to initialize tree view. private function common_tree_info($element_id = null) { // Get user tree ID $curr_user_id = $this->Session->read(‘Auth.User.id’); $curr_user_info = $this->User->find(‘first’, array( ‘conditions’ => array(‘id’=> $curr_user_id), ‘fields’ => array(‘first_name’, ‘tree_id’, ‘parent_available’) )); // If this user is not yet appended to the tree disable this functionality if($curr_user_info['User']['parent_available'] == 0) { $this->redirect(‘/agent_tree/user_not_assigned’); exit(0); } $tree_id = ”; // tree id of the current root node // Get the user info for root element i.e. logged in or requested if(isset($element_id)){ $tree_id = $element_id; } else { $tree_id = $curr_user_info['User']['tree_id']; } $root_info = $this->User->get_root_node_info($tree_id); //reference_id of the current user or requested root element $this->set(‘root_reference_id’, $root_info['u']['reference_id']); // first name of the current root element $root_name = $root_info['u']['first_name'] . ‘ ‘ . $root_info['u']['last_name']; $this->set(‘root_name’, $root_name); //id of the current root node $this->set(‘root_id’, $root_info['u']['id']); //logged in user’s id $this->set(‘user_id’, $curr_user_id); //tree_id of the current user or requested root element $this->set(‘root_node’, $root_info['u']['tree_id']); // Used to display move up link $this->set(‘up_level_id’, $root_info['t']['parent_id']); } // Action to display on tree view, when logged in user is not assigned to the tree function user_not_assigned() { $this->set(‘page_title’, ‘Agent’); } function search_agent() { $this->layout = ‘ajax’; Configure::write(‘debug’, 0); $search_value = trim($this->params['named']['q']); // Check the type of search criteria $search_type = ”; // Check whether it is an email if(stripos($search_value, ‘@’) !== FALSE) { $search_type = ‘TYPE_EMAIL’; } elseif (!is_numeric(substr($search_value, 0 , 2)) && is_numeric(substr($search_value, 2 , 6))){ // Check for reference number $search_type = ‘TYPE_REF’; } else { // Value is a name $search_type = ‘TYPE_NAME’; } $conditions = array(); // Check whether email or reference # to be searched if($search_type == ‘TYPE_REF’) { // ref # $conditions['and'] = array( ‘reference_id’ => $search_value, ‘tree_id not’ => ‘NULL’ ); } elseif($search_type == ‘TYPE_EMAIL’) { // email $conditions['and'] = array( ‘email’ => $search_value, ‘tree_id not’ => ‘NULL’ ); } elseif($search_type == ‘TYPE_NAME’) { $conditions['and'] = array( ‘or’ => array(‘first_name like’ => ‘%’ . $search_value . ‘%’, ‘last_name like’ => ‘%’ . $search_value . ‘%’ ), ‘tree_id not’ => ‘NULL’ ); } $result = $this->User->find(‘all’, array( ‘fields’ => array(‘reference_id’, ‘first_name’, ‘last_name’, ‘email’, ‘tree_id’), ‘conditions’ => $conditions )); $output = ""; if(sizeof($result)) { foreach($result as $r) { $output .= $r['User']['tree_id'] . "|" . $r['User']['first_name'] . " " . $r['User']['last_name'] . "|" . $r['User']['email'] . "|" . $r['User']['reference_id']; $output .= ‘^’; } $output = rtrim($output, ‘^’); // Removing the trailing ^ character at the end of output text } else { $output = "NO"; } $this->set(‘search_result’, $output); } } ?> [/php]

iBCScorp to help DixieLegal.com to provide web based services

Posted on: November 15th, 2010 by James Cluff 1 Comment
The Justice Firm Dixie Legal <dixielegal.com>  is a legal services firm located in Saint George Utah. Dixie Legal has contracted with IBCScorp <ibcscorp.com> to provide web based services for its clients in order to expedite some legal services and to reduce costs for its clients.  On completion of this project customers in Saint George Utah, or elsewhere in Washington County Utah who need a Divorce Attorney, Bankruptcy Attorney, Estate Planning or similar services can perform these legal services faster and for less money by utilizing web based legal services at dixielegal.com. Dixie Legal <dixielegal.com> contacted IBCScorp <ibcscorp.com> to have these web based services created which will allow DixieLegal to provide consultation and forms via the internet. This legal consultation service and legal forms will allow clients to reduce costs of their services by: 1.  Becoming educated on the legal work they are performing. 2.  Guiding them to collecting the information that they need to expedite service before sitting down with an attorney. 3.  Filling out much of their legal document themselves which will later be reviewed by an attorney who can then provide advice and counseling as necessary to a well prepared and educated consumer. By doing this initial process themselves, most of the work is done before meeting with legal counsel.  In fact in many cases it may be as simple as having a professional Divorce Attorney give a legal review to the work done by the client, and filing it with the state. This is much cheaper than sitting down with an attorney to go through the above three steps which could result in thousands of dollars of work to accomplish what the clients can do themselves. This process will greatly reduce legal costs for clients in Washington County, Utah while providing them better services.  Much of the initial consultation, educational and fact finding work will be done early on in the process by the client themselves reducing the cost while allowing the professional legal adviser to provide the most important work of reviewing and advising on specialized situations discovered during the fact finding phases rather than spending their time giving the same general overview to all clients. These legal web services will provide high-quality, lower cost Divorce, Bankruptcy, Estate Planning, Business, and other legal services to consumers in Saint George, Utah, Washington, Utah and other cities in Washington County. To make it easy for DixieLegal.com to keep the content current and relevant for clients a Content Management System (CMS) will be used while the interview portions will be custom code done using the Cake PHP Framework. iBCScorp.com is an Internet Business Consulting Services Company helping businesses successfully use the Internet to meet the needs of their clients.

FreedomTravel4You.com uses iBCScorp to build an agent management system

Posted on: October 14th, 2010 by James Cluff No Comments
FreedomTravel4You.com is in the business of selling travel through outside agents. One of the problems they have had in the past is that they have not had a back office to support those agents. iBCScorp.com developed for them a back office management system which manages those agents. At the time they where a multilevel marketing company. So custom PHP programming was done to record agent profiles into a MySQL database. The agents then where able to add their own recruits as well as see their down-line for everyone they had recruited into the company. Later the company changed to not be a multilevel company and some additional features where added. This was done using the popular Cake PHP framework. Some of the additional modules include:

Vendor Management

Administrators are able to add, edit and modify the vendors that their agents use to sell travel. This is beneficial for those agents, for the internal staff because they can put all the information the agents need into the vendor system rather than taking calls from those vendors. It also is beneficial for SEO purposes for people who are looking for an agency who deals with the particular products carried by those vendors. Additional functionality we would like to add which was not in the budget included better search features, browsing and even being able to purchase from those vendors directly online.

E-Commerce

Agents are able to sign up and sign up other agents directly including recurring billing.

Online selling of travel

Somewhat unique to this site as apposed to other non-travel sites is the ability for agents to directly purchase/or sell travel online through an online booking engine. When the travel is sold, the agent has the opportunity to include a markup on that travel for as much as they would like.

CMS Features

Wordpress was used to provide the content management system. This is an extremely nice benefit for an agency trying to promote itself in the online world. It allows them to add and manage content at will including posting new travel deals, hot travel sites, travel tips, or whatever other creative ideas they can think of.

MyACTTV frustrated with slow delivery turns to iBCScorp for results

Posted on: March 13th, 2010 by James Cluff No Comments
MyACTTV, myacttv.com after a year of promises and slow code delivery switched to iBCScorp.com for delivery of their cake php application.  The purpose of using a framework like Cake PHP is to speed up delivery time.  However for many months MyActTV waited for results but was constantly disappointed with code that did not work correctly or that just took to long to develop.  The solution for them was to switch to iBCScorp(Internet Business Consulting Services Corporation). iBCScorp helped them complete their application with a high definition online video player.  Their site allows actors to put up profiles and samples of their work.  It also allows casting agents to review that work and find the appropriate persons for the jobs they are trying to fill. The site allows people to create and manage their own profiles, payments etc. with recurring billing.  It also calculates the amount of storage space used by each user.