Social Networking Application Development and Consulting
I am happy to announce that Forumvirus.com is no longer in our portfolio. It has found a new home with a web savvy investor. It has been a fun little project and I am happy it found a good new home.
We acquired Forumvirus.com about three years ago for $500.00 USD through an online auction site. It was an easy transfer, there wasn’t much to the website at the time. The transaction was completed quickly and we were excited to get workgin on the project.
We were looking to getting into the website flipping business and though jumping head first would be the best approach at the time. The market was hot and we didn’t want to miss out on it. In hind site, I think we paid too much for the website since there was little to no income that wasn’t due to the advertisement that the previous owner was running and there was no organic traffic. The design of the website needed some definite work also.
If you are looking for a good project, those flaws are actually exactly what you would looking for to buy. You want to have identified the flaws and have a strategy to fix them before you buy else your investment will most likely not be worth it in the end.
We have done a lot of SEO work on the site and over time we got into the top five position for forum directory related searches on Google. We have not done any advertisement short of some link building in the beginning. When we sold the site, all traffic was organic which is worth a lot since it is continuous and free. We have also updated the look of the website and made it more appealing and easier to use for visitors and forum owners looking to advertise.
Over all, it has been a fun project and it was fun to see it grow into a recognizned name on teh internet when it came to forum directories. I am happy it has found a good new home.
It has been a few years since we designed our first website for SoliTech and it has served us well. At the time, we were looking fro a sleek, clean design that we used to create an online presence with. It listed our services, current portfolio, gave our customers a way to contact us. It also had some entry ages to some of our services.
As time went on, we got pore web development and information technology consulting projects which was great for business but they never made it onto our website or they just did not get the exposure they deserved do to the static orientation of the website.
In today’s world, information is key and the web is a great way t distribute information. Our new websit would focus on just that. We chose to use somethign that looked more like an online blog then or static site. We want to open up channels of communication with our customers and potential customers. We want to offer new way of learning about our company and wha we are all about.
We present you the new SoliTech GmbH website which promises more insight into the company and opens up new way of communication and customer feedback. Please explore our website and leave us comments on what you think.
Old website screen shots:
In: Tutorials
2 Jul 2008This simple CakePHP helper class will create thumbnails of images for you. Most of this code was actually taken from an other website so I can’t claim all the credit but I did make it a little smarter.
I added checking for the thumbnail so its not re generated every time. This will save you some CPU cycles and load time for the users.
You would call it with somethign like this
$image->resize('image.jpg', 100, 100, true,array('border'=>'0', 'alt'=>'My Image')
1. To use it you should make a folder called /webroot/img/imagecache and make sure it is writable to all.
2. Create a file called /views/helpers/image.php and copy the following code into it.
<?php class ImageHelper extends Helper { var $helpers = array('Html'); var $cacheDir = 'imagecache'; function resize($path, $width, $height, $aspect = true, $htmlAttributes = array(), $return = false) { $types = array(1 => "gif", "jpeg", "png", "swf", "psd", "wbmp"); // used to determine image type $fullpath = ROOT.DS.APP_DIR.DS.WEBROOT_DIR.DS.$this->themeWeb.IMAGES_URL; $url = $fullpath.$path; if (!($size = getimagesize($url))) return; // image doesn't exist if ($aspect) { // adjust to aspect. if (($size[1]/$height) > ($size[0]/$width)) // $size[0]:width, [1]:height, [2]:type $width = ceil(($size[0]/$size[1]) * $height); else $height = ceil($width / ($size[0]/$size[1])); } $relfile = $this->cacheDir.'/'.$width.'x'.$height.'_'.basename($path); // relative file $cachefile = $fullpath.$this->cacheDir.DS.$width.'x'.$height.'_'.basename($path); // location on server if (file_exists($cachefile)) { $csize = getimagesize($cachefile); $cached = ($csize[0] == $width && $csize[1] == $height); // image is cached if (@filemtime($cachefile) < @filemtime($url)) // check if up to date $cached = false; } else { $cached = false; } if (!$cached) { $resize = ($size[0] > $width || $size[1] > $height) || ($size[0] < $width || $size[1] < $height); } else { $resize = false; } if ($resize) { $image = call_user_func('imagecreatefrom'.$types[$size[2]], $url); if (function_exists("imagecreatetruecolor") && ($temp = imagecreatetruecolor ($width, $height))) { imagecopyresampled ($temp, $image, 0, 0, 0, 0, $width, $height, $size[0], $size[1]); } else { $temp = imagecreate ($width, $height); imagecopyresized ($temp, $image, 0, 0, 0, 0, $width, $height, $size[0], $size[1]); } call_user_func("image".$types[$size[2]], $temp, $cachefile); imagedestroy ($image); imagedestroy ($temp); } return $this->output(sprintf($this->Html->image($relfile,$htmlAttributes))); } } ?>
You can see it in action at http://www.rewardchamp.com, the rewards box towards the top has the thumbnail images showing.
In: Tutorials
2 Jul 2008After I upgraded from CakePHP 1.2 to the new CakePHP 1.2 RC1 my emails started to show all the header information instead of just the relevant message.
After a LONG time of searching the web, I have not found an answer so I started to investigate my self.
I started to look at the Email component and didn’t see any changes that should make a difference until I got to the $_newLine variable.
It used to be $_newLine = “\n”; but now it is $_newLine = “\r\n”; which apparently does not get interpreted by Gmail well. I don’t know how other email services behave, I just tested with Gmail.
So to fix this issue you want to add this line when you are assembling an email anywhere before the send call.
$this->Email->_newLine = "\n";
This will over ride the faulty default setting.
In: Tutorials
19 Jun 2008This is the device your phone cord or cable plugs in
This is the device the modem plugs in and has the antennas.
This is a device most of your network cables go in.
Do this section for wireless network computers only
Do this section for all computers
cmd
ipconfig /release ipconfig /renew
ipconfig
If you can not connect ti the internet, repeat all the steps and try again.
If you still can not connect, call your tech support person and tell them all the steps you took so far.
In: Tutorials
11 Jun 2008This is a component I put together for CakePHP 1.2 RC1 that will generate a random password. All you have to pass it is the length of the password.
To use it, make this file app/controllers/components/password_helper.php
You can use it in a controller by adding ‘PasswordHelper’ to the $components array.
You can adjust the $possible set with your desired characters.
Here is the code:
<?php class PasswordHelperComponent extends Object { /** * Password generator function * * This function will randomly generate a password from a given set of characters * * @param int = 8, length of the password you want to generate * @return string, the password */ function generatePassword ($length = 8) { // initialize variables $password = ""; $i = 0; $possible = "0123456789bcdfghjkmnpqrstvwxyz"; // add random characters to $password until $length is reached while ($i < $length) { // pick a random character from the possible ones $char = substr($possible, mt_rand(0, strlen($possible)-1), 1); // we don't want this character if it's already in the password if (!strstr($password, $char)) { $password .= $char; $i++; } } return $password; } } ?>
In: Tutorials
6 Jun 2008Anyone who has a website knows how important organic traffic is. You can get a larger share of this traffic if your website is search engine optimized. One way to SEO your site is to make relevant information part of your urls.
If you are using CakePHP for your web development you may find this view helper useful.
Since CakePHP 1.2 does not care beyond your needed function variables you can just add this onto all your urls.
class SeourlHelper extends Helper { /** * SEO url a text string passed * * This function will perform some Search engine Optimization on a strign passed * * @param text string that we need to make a url out of * @return the SEOd url */ function get_url($url) { $badchars = array('/','&','(',')',"'",'"','!','?','.','@','%','*','<','>','|','$',','); $url = str_replace($badchars,'',$url); $url = str_replace(" ","_",$url); return $url; } }
All your customers are on Facebook, MySpace, LinkedIn, Twitter etc. why isn't your company on there engaging them and promoting your products and services to millions of potential costumers?! We can help you build communities and social networking applications that will help you capture this gigantic new marketplace.