<?xml version='1.0' encoding='UTF-8'?>
<rss version='2.0'>
<channel>
<title>www.thebusiness4it.co.uk : Last posts on forum</title>
<link>http://www.thebusiness4it.co.uk</link>
<description></description>
<generator>Cotonti</generator>
<pubDate>Thu, 09 Sep 2010 19:17:02 +0100</pubDate>
<item>
<title>mbtshoes - Traditional lightbulbs banned by EU</title>
<description><![CDATA[thanks for your post here.]]></description>
<pubDate>Fri, 27 Aug 2010 15:07:14 +0100</pubDate>
<link><![CDATA[http://www.thebusiness4it.co.uk/forums.php?m=posts&id=16]]></link>
</item>
<item>
<title>John Richardson - We all take a poke at Microsoft from time to time but...</title>
<description><![CDATA[Virus and Malware scanners are a fact of life. We cannot live without them. The down side is this constant scanning and vigilance uses up cpu time. Ok you say but my pc has plenty of cpu power and in a world of quad core cpu's you would be right. But by the very nature of what antivirus software is doing its stepping in between every disk and memory read / write. We all know a popular protection suite which is synonymous will your pc grinding to a halt. So when I came across Microsoft Security Essentials MS speak for antivirus/malware protection. I thought mmm.... but no I already got that base covered but then on further consideration who better to write something that is at the core of the operating system than the writer's themselves. So before discounting it out of hand give it a try it’s free! <a href="http://www.microsoft.com/security_essentials/default.aspx">Microsoft Security Essentials</a>]]></description>
<pubDate>Fri, 09 Jul 2010 12:04:49 +0100</pubDate>
<link><![CDATA[http://www.thebusiness4it.co.uk/forums.php?m=posts&id=15]]></link>
</item>
<item>
<title>John Richardson - Beyond php max</title>
<description><![CDATA[Php max function is a quick and dirty way to extract the highest value but as I found out recently you can come unstuck. I needed some thing that could evaluate strings such as 3aA, 2b3, 3a1 the following bubblesort routine to arrange in order and array_pop to get the last value from the sorted array did the trick.<br />
<br />
<pre class="code">function maxjr($sort_array,$reverse){
for ($i = 0; $i &lt; sizeof($sort_array); $i++){ 
	for ($j = $i + 1; $j &lt; sizeof($sort_array); $j++){ 
		if($reverse){ 
			if ($sort_array&#091;$i&#093; &lt; $sort_array&#091;$j&#093;){ 
			$tmp = $sort_array&#091;$i&#093;; 
			$sort_array&#091;$i&#093; = $sort_array&#091;$j&#093;; 
			$sort_array&#091;$j&#093; = $tmp; 
		} 
	} else { 
	if ($sort_array&#091;$i&#093; &gt; $sort_array&#091;$j&#093;){ 
	$tmp = $sort_array&#091;$i&#093;; 
	$sort_array&#091;$i&#093; = $sort_array&#091;$j&#093;; 
	$sort_array&#091;$j&#093; = $tmp; 
		} 
	} 
} 
} 
$max_val = array_pop($sort_array);
return $max_val;  
} </pre>
<br />
Usage: <pre class="code">$maxvalue = maxjr($input_array); </pre>]]></description>
<pubDate>Tue, 02 Feb 2010 10:13:26 +0000</pubDate>
<link><![CDATA[http://www.thebusiness4it.co.uk/forums.php?m=posts&id=14]]></link>
</item>
<item>
<title>John Richardson - Photo Gallery using JQuery &amp; PHP</title>
<description><![CDATA[The problem to provide an easy to use and maintain photo gallery. Gallery images can be placed in the gallery folder the contents of which are processed by php to automatically update and build the base links on the fly. The rest of the gallery is powered by the JQuery Library and Lightbox extension, lets look at the main page which includes all the code you need.<br />
<pre class="code">&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;
&lt;head&gt;
&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=iso-8859-1&quot; /&gt;
&lt;title&gt;Innovative Technology Gallery&lt;/title&gt;
&lt;!-- Load the jQuery library and Jquery Lightbox extension --&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;js/jquery.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;js/jquery.lightbox-0.5.js&quot;&gt;&lt;/script&gt;
&lt;!-- Lightbox specific styling css --&gt;
&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;css/jquery.lightbox-0.5.css&quot; media=&quot;screen&quot; /&gt;
&lt;!-- Javascript to initialize the gallery --&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
	$(function() {
        $('#gallery a').lightBox();
    });
&lt;/script&gt;
&lt;!-- main page static styling --&gt;
&lt;style type=&quot;text/css&quot;&gt;
	/* Gallery style */
	#main {
		background-color: #993333;
		padding: 100px;
		width: 600px;
	}
	#gallery {
		background-color: #444;
		padding: 10px;
		width: 520px;
	}
	#gallery ul { list-style: none; }
	#gallery ul li { display: inline; }
	#gallery ul img {
		border: 5px solid #3e3e3e;
		border-width: 5px 5px 20px;
	}
	#gallery ul a:hover img {
		border: 5px solid #fff;
		border-width: 5px 5px 20px;
		color: #fff;
	}
	#gallery ul a:hover { color: #fff; }
	
	#title { 
	font-family:Verdana, Arial, Helvetica, sans-serif;
	text-align:center;
	color: #fff;
	font-size:24px;
	font-style:normal;
	font-stretch:expanded;
	font-weight:normal;
	}
	
	#subtext { 
	font-family:Verdana, Arial, Helvetica, sans-serif;
	text-align:center;
	color: #fff;
	font-size:14px;
	font-style:normal;
	font-stretch:expanded;
	font-weight:normal;
	}
	
&lt;/style&gt;
&lt;/head&gt;
&lt;body &gt;
&lt;center&gt;
&lt;div id=&quot;main&quot;&gt;&lt;p id=&quot;title&quot; &gt;Innovative Technology Gallery&lt;/font&gt;&lt;/p&gt;
&lt;div id=&quot;gallery&quot;&gt;
&lt;ul&gt;
&lt;?php //php script to build gallery links on the fly
$dir=&quot;images&quot;; //the folder containing your images
if ($dir_list = opendir($dir)){
while(($filename = readdir($dir_list)) !== false){
$pos = strpos($filename,&quot;lightbox-&quot;); //exclude images starting with this string
if($pos === false) {
if(strlen($filename) &gt; 2){?&gt; //exclude the . and .. from the dir listing
&lt;li&gt;
&lt;a href=&quot;&lt;?php echo $dir.&quot;/&quot;.$filename; ?&gt;&quot;  title=&quot;&lt;?php echo $filename; ?&gt;&quot;&gt;
&lt;img src=&quot;&lt;?php echo $dir.&quot;/&quot;.$filename; ?&gt;&quot; width=&quot;72&quot; height=&quot;72&quot;  alt=&quot;&quot; /&gt;
&lt;/a&gt;
&lt;/li&gt;
&lt;?php } } } closedir($dir_list); } ?&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p id=&quot;subtext&quot;&gt;Innovative Technology inspired by the environment&lt;/p&gt;
&lt;/div&gt;
&lt;/center&gt;
&lt;/body&gt;
&lt;/html&gt;
</pre>
Copy and paste the code above into your page, see an example and get the JQuery librarys and CSS from <a href="http://leandrovieira.com/projects/jquery/lightbox/">Download Lightbox JQuery and CSS files</a><br />
Create an easily maintainable professional style gallery for your web.]]></description>
<pubDate>Tue, 02 Feb 2010 09:52:50 +0000</pubDate>
<link><![CDATA[http://www.thebusiness4it.co.uk/forums.php?m=posts&id=13]]></link>
</item>
<item>
<title>John Richardson - B. F. Skinner</title>
<description><![CDATA[&quot;Education is what survives when what has been learned has been forgotten.&quot; -- B. F. Skinner, New Scientist, May 21, 1964]]></description>
<pubDate>Fri, 20 Nov 2009 15:59:34 +0000</pubDate>
<link><![CDATA[http://www.thebusiness4it.co.uk/forums.php?m=posts&id=12]]></link>
</item>
<item>
<title>John Richardson - Browser detection with PHP</title>
<description><![CDATA[<pre class="code">
function is_chrome(){
return(eregi(&quot;chrome&quot;, $_SERVER&#091;'HTTP_USER_AGENT'&#093;));
}
 
if(is_chrome()){
//do something more useful than this !
echo 'You are using Google Chrome';
}
</pre>]]></description>
<pubDate>Fri, 20 Nov 2009 14:28:47 +0000</pubDate>
<link><![CDATA[http://www.thebusiness4it.co.uk/forums.php?m=posts&id=11]]></link>
</item>
<item>
<title>John Richardson - Javascript Cookies</title>
<description><![CDATA[Generic code for creating, reading and destroying cookies using javascript<br />
<br />
<pre class="code">	function createCookie(name, value, days)
	{
  	if (days) {
   	 var date = new Date();
	    date.setTime(date.getTime()+(days*24*60*60*1000));
 	   var expires = &quot;; expires=&quot;+date.toGMTString();
 	   }
	  else var expires = &quot;&quot;;
	  document.cookie = name+&quot;=&quot;+value+expires+&quot;; path=/&quot;;
	}

	function readCookie(name)
	{
 	 var ca = document.cookie.split(';');
 	 var nameEQ = name + &quot;=&quot;;
 	 for(var i=0; i &lt; ca.length; i++) {
 	   var c = ca&#091;i&#093;;
   	 while (c.charAt(0)==' ') c = c.substring(1, c.length); //delete spaces
   	 if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
  	  }
 	 return null;
	}

	function eraseCookie(name)
	{
  	createCookie(name, &quot;&quot;, -1);
	}
	</pre>]]></description>
<pubDate>Thu, 19 Nov 2009 17:03:06 +0000</pubDate>
<link><![CDATA[http://www.thebusiness4it.co.uk/forums.php?m=posts&id=10]]></link>
</item>
<item>
<title>John Richardson - Idea's on data security</title>
<description><![CDATA[Simple data encryption technique with obscured key using php hash function to generate key <a href="http://www.thebusiness4it.co.uk/InnovativeTechnologyInfo/quickEDC.php">working example</a> using code below. <br />
<br />
&lt;? ## Ideas on data security JR 16/09/2009 ##<br />
echo &quot;Example:\n\n&quot;;<br />
echo &quot;Key:\n&quot;;<br />
echo $key = 'Your Key Here'; // not stored in database<br />
echo &quot;\n\nData:\n&quot;;<br />
echo $string = Your Data Here';<br />
echo &quot;\n\nEncrypted:\n&quot;;<br />
echo enc_encrypt($string, $key);<br />
echo &quot;\n\nDecrypted:\n&quot;;<br />
echo enc_decrypt(enc_encrypt($string, $key), $key);<br />
echo &quot;\n\nFurther explanation and comments:\nIn this example we add our own secret phrase split the original key in half and re-combine in middle and join to the original for further obfuscation before hashing, making the possetion of the original key and encrypted data insufficient to allow easy decoding.\n\nMD5 one way key e.g 937057b792d4e8dd82ea2dadea09a837\n <br />
SHA1 compromised by China in 2006 no longer used by government using stronger sha2 512 algorithm\n<br />
SHA2 512 2ab095e67b8e1a8a85aa690b9d10545ca9ccda56872653d471202df66aa671f66af7fab7bcd044f010f2df99668e7bad95f1bd7b62da5f9299894c59aca08c68 is used for creating the key hash for data encoding.\n\nIdea's on data security by John Richardson 16/09/2009&quot;;<br />
function enc_encrypt($string, $key) {    $result = '';<br />
$centersalt = &quot;Your Secret Key Here&quot;;  // we add our own secret phrase split the original key in half and re-combine in middle and join to the original for further obfuscation<br />
// making the possetion of the original key and encrypted data insufficient to allow easy decoding<br />
$cryptic = str_split($key,(strlen($key)/2)+1);<br />
// md5 one way key e.g 937057b792d4e8dd82ea2dadea09a837 <br />
//sha1 compromised by China in 2006 no longer used by government using stronger sha2 512 algorithm<br />
//sha2 512 2ab095e67b8e1a8a85aa690b9d10545ca9ccda56872653d471202df66aa671f66af7fab7bcd044f010f2df99668e7bad95f1bd7b62da5f9299894c59aca08c68 not stored in database<br />
$key = hash('sha512', $key.$cryptic[0].$centersalt.$cryptic[1]); <br />
for($i = 0; $i &lt; strlen($string); $i++) {  							<br />
$char = substr($string, $i, 1); //loop through string and key in usual way to encode new character for each string position<br />
$keychar = substr($key, ($i % strlen($key))-1, 1);  <br />
$char = chr(ord($char) + ord($keychar)); <br />
$result .= $char;    } <br />
return base64_encode($result); //make binary safe in case out of range chars generated that could case problems storing and retrieving from database<br />
}<br />
								   <br />
function enc_decrypt($string, $key) { <br />
$centersalt = &quot;Your Secret Key Here&quot;;<br />
$cryptic = str_split($key,(strlen($key)/2)+1); <br />
$key = hash('sha512', $key.$cryptic[0].$centersalt.$cryptic[1]); <br />
$result = '';<br />
$string = base64_decode($string);<br />
for($i = 0; $i &lt; strlen($string); $i++) { <br />
$char = substr($string, $i, 1);<br />
$keychar = substr($key, ($i % strlen($key))-1, 1);<br />
$char = chr(ord($char) - ord($keychar)); <br />
$result .= $char;<br />
} <br />
return $result;<br />
}<br />
?&gt;]]></description>
<pubDate>Wed, 16 Sep 2009 14:25:17 +0100</pubDate>
<link><![CDATA[http://www.thebusiness4it.co.uk/forums.php?m=posts&id=9]]></link>
</item>
<item>
<title>John Richardson - Google Tips 'n Tricks</title>
<description><![CDATA[<strong>Google Tips 'n Tricks</strong><br />
<br />
Make sure all your important keywords should appear in your title, description, content and alt tags of your web page. This increases your keyword density and helps in boosting your ranking. <br />
<br />
Write articles, give away freebies and make your site a quality site with fresh content. Sites will automatically link to you thus increasing your link popularity.<br />
<br />
Here's a cool trick to find out if you are listed in Google. Type this URL in your browser <br />
<a href="http://www.google.com/search?">http://www.google.com/search?</a><br />
q=YOURDOMAIN+site:WWW.YOURDOMAIN.COM <br />
Google will return to you a complete list of all pages that lie on yourdomain.com that exist within the Google catalog.<br />
<br />
You can also find out how many sites that are listed in Google are linking to your site. Here's the trick. Type this URL in the browser and watch the results. <br />
<a href="http://www.google.com/search?as_lq=YOURDOMAIN.COM">http://www.google.com/search?as_lq=YOURDOMAIN.COM</a> <br />
Google will return to you the number of pages which link to your web site in addition to a listing of each URL.<br />
<br />
<a href="http://www.google.com/addurl/?continue=/addurl">Submit to google here</a><br />
<br />
Useful links for other site submissions <a href="http://www.submitexpress.com/">SubmitExpress</a>.]]></description>
<pubDate>Wed, 02 Sep 2009 16:59:23 +0100</pubDate>
<link><![CDATA[http://www.thebusiness4it.co.uk/forums.php?m=posts&id=8]]></link>
</item>
<item>
<title>John Richardson - Traditional lightbulbs banned by EU</title>
<description><![CDATA[The high energy filament bulbs are being phased out in order to improve energy efficiency and meet climate change targets. <br />
<br />
The switchover, which will affect all of the European Union's 500 million citizens, was first ordered at a Brussels summit last year as part of an ambitious energy policy to fight climate change. <br />
<br />
A meeting of EU energy ministers, including the UK's new secretary of state for energy and climate change Ed Miliband decided to go ahead with the ban. <br />
<br />
The move has previously proved controversial. <br />
<br />
Traditional light bulbs are around 38p compared to £1.38 for the cheapest low energy models and campaigners have complained about affordability, as well as the cost of having to adapt fittings for the new bulbs. <br />
<br />
The fluorescent bulbs generally take time to warm up and there have been complaints the light is too dim and has a tendency to flicker. <br />
<br />
There are also worries over how the bulbs will be disposed of. Under new regulations for hazardous waste, councils are obliged to recycle low energy bulbs at considerable cost to the tax payer. <br />
<br />
Incandescent filament light bulbs use up to five times as much energy as efficient lights such as &quot;compact fluorescent lamps&quot; (CFLs). <br />
<br />
Advocates claim that replacing the worst-performing lamps with today's best available technology will reduce domestic energy consumption for lighting by 60 per cent in the EU, equivalent to saving 30 million tons of CO2 pollution every year. <br />
<br />
However questions remain over the cost, health impact and aesthetic quality of the new low-energy fluorescent bulbs. <br />
<br />
There have been concerns low energy bulbs can cause headaches, rashes and even sunburn. If the bulbs break the toxic mecury inside can cause migraine and dizziness. The bulbs are also too big for some old-fashioned fittings, can look out of place in historic homes and are generally more expensive - although the EU has vowed cost will come down before 2010. <br />
<br />
The Health Protection Agency warned consumers they should not stay close to open energy saving bulbs for more than an hour. <br />
<br />
Environmental groups welcomed the ruling. <br />
<br />
Mariangiola Fabbri , World Wildlife Fund energy policy officer, said legislation is needed to ensure energy efficiency. <br />
<br />
She said: &quot;Keeping energy efficiency as an optional tool will not lead us towards the much needed 30 per cent greenhouse gas emission reduction by 2020.&quot; <br />
<br />
Energy ministers also discussed the controversial target to generate 20 per cent of energy from renewables by 2020 at the meeting. The UK has argued that aviation should be removed from the target because it is not yet possible to run aeroplanes on renewables and it could ground the industry. But most other EU ministers at the meeting agreed aviation should remain part of the target. <br />
<br />
The EU council is due to meet next week to discuss the target to reduce carbon emission by 20 per cent by 2020. Previously the EU had pledged this will be increased to 30 per cent as long as the rest of the developed world does the same. <br />
<br />
But environmentalists fear this pledge will be dropped in the light of the economic crisis, scuppering hoped of an ambitious world target at the UN climate change talks planned for Copenhagen next year.<br />
<br />
Original article by Louise Gray, Environment Correspondent - Telegraph.co.uk<br />
Published: 7:21PM BST 10 Oct 2008]]></description>
<pubDate>Wed, 02 Sep 2009 16:30:36 +0100</pubDate>
<link><![CDATA[http://www.thebusiness4it.co.uk/forums.php?m=posts&id=7]]></link>
</item>
<item>
<title>John Richardson - IE8 Compatibility mode</title>
<description><![CDATA[Make sure your document type is correctly defined and add this tag to the head section of your page.<br />
<br />
&lt;META http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=EmulateIE7&quot; &gt;<br />
<br />
Example:<br />
<br />
&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;<br />
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;<br />
&lt;META http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=EmulateIE7&quot; &gt;<br />
&lt;head&gt;<br />
&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=iso-8859-1&quot; /&gt;<br />
&lt;title&gt;My HTML Document&lt;/title&gt;<br />
&lt;/head&gt;<br />
<br />
&lt;body&gt;<br />
My page content <br />
&lt;/body&gt;<br />
&lt;/html&gt;]]></description>
<pubDate>Mon, 31 Aug 2009 14:36:44 +0100</pubDate>
<link><![CDATA[http://www.thebusiness4it.co.uk/forums.php?m=posts&id=6]]></link>
</item>
<item>
<title>John Richardson - cURL</title>
<description><![CDATA[cURL is the client URL function library.<br />
PHP supports it through libcurl.<br />
PHP example - execute a script on a remote server and return results:<br />
<br />
&lt;?<br />
$curl_handle=curl_init();<br />
curl_setopt($curl_handle,CURLOPT_URL,'http://mydomain/remote/getquery.php');<br />
curl_setopt($curl_handle, CURLOPT_POST, 1 );<br />
curl_setopt($curl_handle, CURLOPT_POSTFIELDS,$data);<br />
curl_setopt($curl_handle,CURLOPT_CONNECTTIMEOUT,2);<br />
curl_setopt($curl_handle,CURLOPT_RETURNTRANSFER,1);<br />
$buffer = curl_exec($curl_handle);<br />
curl_close($curl_handle);<br />
<br />
if (empty($buffer))<br />
{<br />
    print &quot;Request Not Answered&quot;;<br />
}<br />
else<br />
{<br />
    print_r ($buffer);<br />
}<br />
?&gt;<br />
<br />
<br />
List of common cURL options:<br />
<br />
<table>
  <tr>
    <td>
       Option<br />
      </td>
    <td>
       Parameter<br />
         </td>
  </tr>
  <tr>
    <td>
              CURLOPT_COOKIE<br />
         </td>
    <td>
             String - contents of the cookie data to be set in the HTTP header.<br />
         </td>
  </tr>
  <tr>
    <td>
             CURLOPT_COOKIEFILE<br />
          </td>
    <td>
              String - name of the file containing cookie data to be sent.<br />
         </td>
  </tr>
  <tr>
    <td>
              CURLOPT_CRLF<br />
          </td>
    <td>
              1 - if you want cURL to convert Unix new lines to CR/LF new lines<br />
      <br />
    </td>
  </tr>
  <tr>
    <td>
              CURLOPT_FAILONERROR<br />
          </td>
    <td>
              1 - if you want cURL to fail silently if the HTTP code returned is equal to or larger than 300.<br />
          </td>
  </tr>
  <tr>
    <td>
              CURLOPT_FILE<br />
          </td>
    <td>
             String - filename where the output of your transfer should be placed. Default is straight to output (STDOUT).<br />
          </td>
  </tr>
  <tr>
    <td>
              CURLOPT_FOLLOWLOCATION<br />
         </td>
    <td>
      <br />
        1 - if you want cURL to follow all &quot;Location: &quot; header that the server sends as part of the HTTP header. You can limit the number of location headers to follow using CURLOPT_MAXREDIRS.<br />
          </td>
  </tr>
  <tr>
    <td>
              CURLOPT_FTPAPPEND<br />
          </td>
    <td>
              1 - to have cURL append to the remote file instead of overwriting it.<br />
          </td>
  </tr>
  <tr>
    <td>
      <br />
        CURLOPT_FTPLISTONLY<br />
          </td>
    <td>
              1 - to list just the names of an FTP directory as opposed to more detailed information.<br />
      <br />
    </td>
  </tr>
  <tr>
    <td>
             CURLOPT_HEADER<br />
      <br />
    </td>
    <td>
              1 - if you want the header to be included in the output. Usually for HTTP only.<br />
          </td>
  </tr>
  <tr>
    <td>
              CURLOPT_HTTPHEADER<br />
      <br />
    </td>
    <td>
              Array of HTTP header fields to be set.<br />
      <br />
    </td>
  </tr>
  <tr>
    <td>
              CURLOPT_INFILE<br />
     <br />
    </td>
    <td>
              String - filename where the input of your transfer comes from.<br />
          </td>
  </tr>
  <tr>
    <td>
              CURLOPT_INFILESIZE<br />
      <br />
    </td>
   <td>
      <br />
        File size being uploaded to a remote site.<br />
      <br />
    </td>
  </tr>
  <tr>
    <td>
      <br />
        CURLOPT_MAXREDIRS<br />
      <br />
    </td>
    <td>
              The number of &quot;Location:&quot; headers cURL should follow before erroring out. This option is only appropriate if CURLOPT_FOLLOWLOCATION is used also.<br />
      <br />
    </td>
  </tr>
  <tr>
    <td>
              CURLOPT_NOBODY<br />
          </td>
    <td>
      <br />
        1 - to tell cURL not to include the body part in the output. For HTTP(S) servers, this is equivalent to a HEAD request - only the headers will be returned.<br />
      <br />
    </td>
  </tr>
  <tr>
    <td>
              CURLOPT_POST<br />
          </td>
    <td>
      <br />
        1 - if you want cURL to do a regular HTTP POST.<br />
          </td>
  </tr>
  <tr>
    <td>
              CURLOPT_POSTFIELDS<br />
      <br />
    </td>
    <td>
      <br />
        A string containing the data to post in the HTTP &quot;POST&quot; operation.<br />
      <br />
    </td>
  </tr>
  <tr>
    <td>
              CURLOPT_REFERER<br />
          </td>
    <td>
              A string containing the &quot;referer&quot; header to be used in an HTTP request. This is only necessary if the remote server relies on this value.<br />
      <br />
    </td>
  </tr>
  <tr>
    <td>
              CURLOPT_RESUME_FROM<br />
         </td>
    <td>
              A number equal to the offset, in bytes, that you want your transfer to start from.<br />
          </td>
  </tr>
  <tr>
    <td>
      <br />
        CURLOPT_RETURNTRANSFER<br />
      <br />
    </td>
    <td>
              1 - if you want cURL to return the transfer data instead of printing it out directly.<br />
          </td>
  </tr>
  <tr>
    <td>
             CURLOPT_STDERR<br />
      <br />
    </td>
    <td>
              A string containing the filename to write errors to instead of normal output.<br />
          </td>
  </tr>
  <tr>
    <td>
              CURLOPT_TIMEOUT<br />
          </td>
    <td>
              A number equal to the maximum time in seconds that cURL functions can take.<br />
      <br />
    </td>
  </tr>
  <tr>
    <td>
              CURLOPT_UPLOAD<br />
      <br />
    </td>
    <td>
      <br />
        1 - if you want PHP to prepare for a file upload.<br />
      <br />
    </td>
  </tr>
  <tr>
    <td>
              CURLOPT_URL<br />
      <br />
    </td>
    <td>
              String containing the URL you want cURL to fetch.<br />
          </td>
  </tr>
  <tr>
    <td>
              CURLOPT_USERPWD<br />
      <br />
    </td>
    <td>
      <br />
        A string formatted in the username:password manner, for cURL to give to the remote server if requested.<br />
          </td>
  </tr>
  <tr>
    <td>
              CURLOPT_USERAGENT<br />
          </td>
    <td>
              A string containing the &quot;user-agent&quot; header to be used in a HTTP request.<br />
          </td>
  </tr>
  <tr>
    <td>
      <br />
        CURLOPT_VERBOSE<br />
          </td>
    <td>
              1 - if you want cURL to give detailed reports.<br />
      <br />
    </td>
  </tr>
  <tr>
    <td>
      <br />
        CURLOPT_WRITEHEADER<br />
      <br />
    </td>
    <td>
              The filename to write the header part of the output into.<br />
      <br />
    </td>
  </tr>
</table>]]></description>
<pubDate>Mon, 31 Aug 2009 14:15:44 +0100</pubDate>
<link><![CDATA[http://www.thebusiness4it.co.uk/forums.php?m=posts&id=5]]></link>
</item>
<item>
<title>John Richardson - Browser Detection with Javascript</title>
<description><![CDATA[Browser detection function <br />
<br />
function initiateEditor() { <br />
 var browser = navigator.userAgent.toLowerCase();<br />
 isIE = ((browser .indexOf( &quot;msie&quot; ) != -1) &amp;&amp; (browser .indexOf( &quot;opera&quot; ) == -1) &amp;&amp;  (browser .indexOf( &quot;webtv&quot; ) == -1)); <br />
 isGecko = (browser .indexOf( &quot;gecko&quot; ) != -1);<br />
 isSafari = (browser .indexOf( &quot;safari&quot; ) != -1);<br />
 isChrome = (browser .indexOf( &quot;chrome&quot; ) != -1);<br />
 isKonqueror = (browser.indexOf( &quot;konqueror&quot; ) != -1);<br />
 isfirefox = (browser.indexOf( &quot;firefox&quot; ) != -1);<br />
 if (document.getElementById  &amp;&amp; !isSafari &amp;&amp; !isKonqueror) {<br />
   mode = 0; <br />
   modeMsg = &quot;IE&quot;;<br />
   var _n=navigator,_w=window,_d=document;<br />
   var version=&quot;NA&quot;;<br />
   var na=_n.userAgent;<br />
   var ie8BrowserMode = &quot;NA&quot;;<br />
   var ieDocMode = &quot;NA&quot;;<br />
   if(_w.attachEvent &amp;&amp; _w.ActiveXObject){		<br />
   version = (na.match( /.+ie\s([\d.]+)/i ) || [])[1];<br />
   if(parseInt(version)==7){				<br />
   if(_d.documentMode){<br />
   version = 8; <br />
   if(/trident\/\d/i.test(na)){<br />
   ie8BrowserMode = &quot;Compat Mode&quot;;<br />
   }else{<br />
    ie8BrowserMode = &quot;IE 7 Mode&quot;;<br />
              }<br />
          }<br />
   }else if(parseInt(version)==8){<br />
             if(_d.documentMode){ ie8BrowserMode = &quot;IE 8 Mode&quot;;}<br />
			}<br />
    ieDocMode = (_d.documentMode) ? _d.documentMode : (_d.compatMode &amp;&amp; _d.compatMode==&quot;CSS1Compat&quot;) ? 7 : 5;				   			<br />
		}<br />
<br />
   modeMsg = modeMsg + &quot; - &quot; + ie8BrowserMode + &quot; - &quot; + ieDocMode;<br />
  <br />
 }<br />
 if (isSafari || isKonqueror ){<br />
   mode = 1; <br />
   modeMsg = &quot;SAFARI&quot;;<br />
 }<br />
 if (isfirefox){<br />
   mode = 2; <br />
   modeMsg = &quot;FIREFOX&quot;;<br />
 }<br />
 if (isChrome){<br />
   mode = 3; <br />
   modeMsg = &quot;CHROME&quot;;<br />
 }<br />
}]]></description>
<pubDate>Sun, 28 Jun 2009 17:38:15 +0100</pubDate>
<link><![CDATA[http://www.thebusiness4it.co.uk/forums.php?m=posts&id=4]]></link>
</item>
<item>
<title>John Richardson - Bio Fuels</title>
<description><![CDATA[<img src="http://www.thebusiness4it.co.uk/images/articles/biofuel_comp.png" alt="" />]]></description>
<pubDate>Sun, 28 Jun 2009 17:23:00 +0100</pubDate>
<link><![CDATA[http://www.thebusiness4it.co.uk/forums.php?m=posts&id=3]]></link>
</item>
<item>
<title>John Richardson - Happy  Days</title>
<description><![CDATA[I think computer people were more excited about <em>Matrix Reloaded </em>being<br />
released than they were Windows 2003 Server. Unless Microsoft intends to use<br />
the Bush administration tactics to rush in and liberate us from the evils of<br />
their last network operating system, Windows 2003 boxes are going to turn<br />
yellow on the shelves. And by the time Terminators 3 releases in July,<br />
Microsoft won’t even get a look in anymore. Add that to another <em>Matrix</em> and <em>Lord of the Rings</em>, and computer people will remember 2003 as the<br />
year of blockbuster movies. But that’s not the real reason...<br />
<br />
<strong>Trust, Security and Jobs</strong><br />
<br />
These days it’s difficult to become too thrilled over the prospect of mucking up ones<br />
network with something new. As a seasoned network administrator I can tell you<br />
from first hand experience that even with three years between new software<br />
releases, it takes at least four years just to get the bugs worked out of the<br />
last one. Software integration is costly, time consuming and causes more<br />
problems than you were hoping it would fix.If a software company is still writing weekly patches for a<br />
three-year-old operating system, why should we trust them with a new one?<br />
Microsoft will have its hands full trying to convince the professional computer<br />
community to throw caution to the wind and trust them one more time. Unless<br />
they have already decided to go over your head?<br />
<br />
The Windows 2003 commercial shows a department (its unclear what type of dept.)<br />
celebrating after migrating their servers to Windows 2003 and combining 800<br />
domains into 4, saving their company 200 million dollars a years. Wow, 200<br />
millions dollars a year. That’s a lot of money. Even in a deflationary market.<br />
The only way a company can have that kind of cash that quickly is by reducing<br />
their workforce. So either Windows 2003 is built on an engine powered by<br />
overseas outsourcing or it requires less technical people to use it. That’s a<br />
commercial aimed at your CEO talking about getting rid of you and I don’t think<br />
the department celebrating was the IT group.<br />
<br />
The big question is, will CEO's who are desperately struggling to save their<br />
golden-parachutes and lucrative stock deals, in an ever deflating economy<br />
believe that Windows 2003 will save them? Will network administrators, managers<br />
and IT Directors trust Windows 2003 enough to integrate it in their networks.<br />
And finally in the Matrix Reloaded, why are only white females with big boobs<br />
being rescued? What's Morpheus up to?<br />
<br />
<br />
<strong>Reposted archive from 2003</strong>]]></description>
<pubDate>Wed, 29 Apr 2009 17:57:01 +0100</pubDate>
<link><![CDATA[http://www.thebusiness4it.co.uk/forums.php?m=posts&id=2]]></link>
</item>
<item>
<title>John Richardson - Troubleshooting Flow Chart - ISO9001</title>
<description><![CDATA[<img src="http://www.thebusiness4it.co.uk/images/articles/engineers.jpg" alt="" />]]></description>
<pubDate>Wed, 29 Apr 2009 17:51:21 +0100</pubDate>
<link><![CDATA[http://www.thebusiness4it.co.uk/forums.php?m=posts&id=1]]></link>
</item>
</channel>
</rss>