<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>Black iD Solutions</title>
	<atom:link href="http://www.blackidsolutions.com/feed" rel="self" type="application/rss+xml" />
	<link>http://www.blackidsolutions.com</link>
	<description>Black iD Solutions Website</description>
	<pubDate>Fri, 09 May 2008 18:54:48 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5</generator>
	<language>en</language>
			<item>
		<title>Javascript OO Menus Updating</title>
		<link>http://www.blackidsolutions.com/blog/xhtml-css/javascript-oo-menus-updating.html</link>
		<comments>http://www.blackidsolutions.com/blog/xhtml-css/javascript-oo-menus-updating.html#comments</comments>
		<pubDate>Wed, 19 Mar 2008 04:17:32 +0000</pubDate>
		<dc:creator>Black iD Team</dc:creator>
		
		<category><![CDATA[XHTML &amp; CSS]]></category>

		<category><![CDATA[Javascript]]></category>

		<category><![CDATA[javascript menus]]></category>

		<category><![CDATA[Menus]]></category>

		<category><![CDATA[version]]></category>

		<guid isPermaLink="false">http://blog.blackidsolutions.com/2008/03/19/javascript-oo-menus-updating.html</guid>
		<description><![CDATA[Hello Friends,
We are currently working on a newer version of the javascript menus. We are updating them to be more robust and enjoyable. We will be adding more and more functionalities very soon&#8230; So hang on a while.
Thanks
Black iD Labs Team
]]></description>
			<content:encoded><![CDATA[<p>Hello Friends,</p>
<p>We are currently working on a newer version of the javascript menus. We are updating them to be more robust and enjoyable. We will be adding more and more functionalities very soon&#8230; So hang on a while.</p>
<p>Thanks</p>
<p>Black iD Labs Team</p>
]]></content:encoded>
			<wfw:commentRss>http://www.blackidsolutions.com/blog/xhtml-css/javascript-oo-menus-updating.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>Content Rewriter Pro</title>
		<link>http://www.blackidsolutions.com/blog/xhtml-css/content-rewriter-pro.html</link>
		<comments>http://www.blackidsolutions.com/blog/xhtml-css/content-rewriter-pro.html#comments</comments>
		<pubDate>Sun, 03 Feb 2008 09:39:44 +0000</pubDate>
		<dc:creator>Black iD Team</dc:creator>
		
		<category><![CDATA[XHTML &amp; CSS]]></category>

		<guid isPermaLink="false">http://blog.blackidsolutions.com/2008/02/03/content-rewriter-pro.html</guid>
		<description><![CDATA[Content Rewriter Pro, a service started by Black iD Solutions to help you rewrite content on the fly. Please go to http://www.blackidsolutions.com/contentrewriter.php to know more about the Content Rewriter Pro!
]]></description>
			<content:encoded><![CDATA[<p>Content Rewriter Pro, a service started by Black iD Solutions to help you rewrite content on the fly. Please go to <a href="http://www.blackidsolutions.com/contentrewriter.php">http://www.blackidsolutions.com/contentrewriter.php</a> to know more about the Content Rewriter Pro!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.blackidsolutions.com/blog/xhtml-css/content-rewriter-pro.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>Content - It drives the forces on the web.</title>
		<link>http://www.blackidsolutions.com/blog/xhtml-css/content-it-drives-the-forces-on-the-web.html</link>
		<comments>http://www.blackidsolutions.com/blog/xhtml-css/content-it-drives-the-forces-on-the-web.html#comments</comments>
		<pubDate>Wed, 30 Jan 2008 19:57:11 +0000</pubDate>
		<dc:creator>Black iD Team</dc:creator>
		
		<category><![CDATA[XHTML &amp; CSS]]></category>

		<guid isPermaLink="false">http://blog.blackidsolutions.com/2008/01/31/content-it-drives-the-forces-on-the-web.html</guid>
		<description><![CDATA[Hi friends,
Here I am to ponder over a small  topic, that most of us, in present scenario are tending to forget. Why have we gathered here? What brings you to this post? Why is there internet at all?
The answers to these questions are simple. But, nevertheless, we keep on forgetting them. The internet was [...]]]></description>
			<content:encoded><![CDATA[<p>Hi friends,</p>
<p>Here I am to ponder over a small  topic, that most of us, in present scenario are tending to forget. Why have we gathered here? What brings you to this post? Why is there internet at all?</p>
<p>The answers to these questions are simple. But, nevertheless, we keep on forgetting them. The internet was created, solely with a purpose of sharing information. Now, with more and more content coming up, and the value of &#8220;Information&#8221; shooting beyond any bounds, we realize the importance of creation of fresh content. Content has been something that most of the websites are looking for, but alas, not all web developers are well versed with content creation skills.</p>
<p>Well for such web developers, I would advice you to check out different sites that are rich in content. Maybe stir up some article directories like http://www.resourcecity.info, http://www.articlemarketer.com and so on. This is an easy way to collect fresh content. But, remember, rewriting this content is absolutely essential. Duplicate content takes your site into the secondary source list, and this is not good for your rankings. Remember, be innovative and good at rewriting. Look for solutions to rewrite your content.</p>
<p>All the best.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.blackidsolutions.com/blog/xhtml-css/content-it-drives-the-forces-on-the-web.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>CSS Hacks</title>
		<link>http://www.blackidsolutions.com/blog/xhtml-css/css-hacks.html</link>
		<comments>http://www.blackidsolutions.com/blog/xhtml-css/css-hacks.html#comments</comments>
		<pubDate>Sun, 13 Jan 2008 20:01:22 +0000</pubDate>
		<dc:creator>Black iD Team</dc:creator>
		
		<category><![CDATA[My Development Issues]]></category>

		<category><![CDATA[XHTML &amp; CSS]]></category>

		<category><![CDATA[css hacks]]></category>

		<category><![CDATA[ie 7]]></category>

		<category><![CDATA[modern browsers]]></category>

		<guid isPermaLink="false">http://blog.blackidsolutions.com/2008/01/14/css-hacks.html</guid>
		<description><![CDATA[Here is the brief list of CSS Hacks. I will be writing more on CSS hacks soon. But this is one of the most regularly used features by me. So i would rather have it stored than search for it everytime  

E 6 and below
* html {}
IE 7 and below
*:first-child+html {} * html {}
IE [...]]]></description>
			<content:encoded><![CDATA[<p>Here is the brief list of CSS Hacks. I will be writing more on CSS hacks soon. But this is one of the most regularly used features by me. So i would rather have it stored than search for it everytime <img src='http://www.blackidsolutions.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<dl>
<dt>E 6 and below</dt>
<dd><code class="code">* html {}</code></dd>
<dt>IE 7 and below</dt>
<dd><code class="code">*:first-child+html {} * html {}</code></dd>
<dt>IE 7 only</dt>
<dd><code class="code">*:first-child+html {}</code></dd>
<dt>IE 7 and modern browsers only</dt>
<dd><code class="code">html&gt;body {}</code></dd>
<dt>Modern browsers only (not IE 7)</dt>
<dd><code class="code">html&gt;</code><code class="code">/*</code><code class="code">*/</code>body {}</dd>
<dt>Recent Opera versions 9 and below</dt>
<dd><code class="code">html:first-child {}</code></dd>
</dl>
<p>For now, you can use these as a simple CSS hacks. I will be adding many more hacks later on. These are actually for my colleages to refer when I am not there, but I thought it might as well help you all also. Do remember to bookmark this topic and visit it regularly for updates on new CSS hack techniques. Also coming soon is a way to apply hack without w3c konwing it <img src='http://www.blackidsolutions.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.blackidsolutions.com/blog/xhtml-css/css-hacks.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>Finally Coming out with PHP Products</title>
		<link>http://www.blackidsolutions.com/blog/php/finally-coming-out-with-php-products.html</link>
		<comments>http://www.blackidsolutions.com/blog/php/finally-coming-out-with-php-products.html#comments</comments>
		<pubDate>Sun, 13 Jan 2008 19:51:28 +0000</pubDate>
		<dc:creator>Black iD Team</dc:creator>
		
		<category><![CDATA[PHP]]></category>

		<category><![CDATA[Software]]></category>

		<category><![CDATA[developers]]></category>

		<category><![CDATA[easy mysql integration]]></category>

		<category><![CDATA[mysql data aceess class]]></category>

		<category><![CDATA[mysql database access]]></category>

		<category><![CDATA[pear]]></category>

		<category><![CDATA[php developers]]></category>

		<category><![CDATA[php language]]></category>

		<guid isPermaLink="false">http://blog.blackidsolutions.com/2008/01/14/finally-coming-out-with-php-products.html</guid>
		<description><![CDATA[Well,
Finally the wait is over. Black iD is into the final testing of the class we have been working on for the last 6 months. We are running it through the phpDocumentor and trying to make the best for you all. The next releases have been planned already. We will be fully supporting the current [...]]]></description>
			<content:encoded><![CDATA[<p>Well,</p>
<p>Finally the wait is over. Black iD is into the final testing of the class we have been working on for the last 6 months. We are running it through the phpDocumentor and trying to make the best for you all. The next releases have been planned already. We will be fully supporting the current release in the next one. So we hope you enjoy this class a lot. The code for this class is available <a href="http://products.blackidsolutions.com/PHP/code.php">here.</a> We will try to expand this class even more.</p>
<p>Another excellent news is that we are now registered as the developers at PEAR website. We are proud to be supporting a community that has worked so hard thus far to keep up the spirits high. We will try to contribute in each way we can to come up with the best pieces of code. For now please accept this beautiful piece of code</p>
<div style="background-color:#dfdfdf; overflow:auto; border: solid 1px #333333;">
<pre>
&lt;?php
/* =====================================================================================================================

	MySQL DATABASE ACCESS CLASS
		--> WRITTEN BY JYOT VAKHARIA. [Black iD Solutions(www.blackidsolutions.com)].
		--> Open Source GPL Lisence.
		--> VERSION 1.1 Release 1

		New
			--> Added the insert Method.
			--> Reduced the number of loops to make the class process faster and improve
				upon speed when database size is large.
			-->
===================================================================================================================== */

	class db
		{
			var $uname, $pass, $host, $db, $conn, $con_db;

			/* USEAGE : $db->connect('host','username','password','databasename');
						OR
						$db->connect(array('host','username','password','databasename'));
						OF
						$db->connect(array('host' => 'hostname', 'uname' => 'username', 'pass'=>'password', 'db'=>'db_name'));
			*/
			function connect()
				{
					$args = func_get_args();
					if(is_array($args[0]))
						$args = $args[0];
					if(!($this->uname) || !($this->host) || !($this->db))
						{
							// LOOK OUT FOR CONNECTION SETTINGS IF NOT DEFINED
							$this->host = $args['host'];
							$this->uname = $args['uname'];
							$this->pass = $args['pass'];
							$this->db = $args['db'];
						}
					if(!($this->uname) || !($this->host) || !($this->db))
						{
							// LOOK OUT FOR CONNECTION SETTINGS IF NOT DEFINED
							$this->host = $args[0];
							$this->uname = $args[1];
							$this->pass = $args[2];
							$this->db = $args[3];
						}
					$this->conn = mysql_connect($this->host,$this->uname, $this->pass) or die("Could not connect to the databae");
					$this->conn_db = mysql_select_db($this->db) or die("Could not select the database with the name " . $this->db);
					return $this->conn_db;
				}

			// USAGE $db->query($sql);
			// RETURNS THE RESULTANT DATASET.
			function query($sql)
				{
					return mysql_query($sql);
				}

			// USAGE $db->getFieldsFor('table');
			// RETURNS THE field name list as an array.
			function getFieldsFor($tablename)
				{
					$sql = "Select * From $tablename LIMIT 1";
					$fld = $this->getFieldsForSQL($sql);
					return $fld;
				}
			// USAGE $db->getFieldsForSQL("Select * from foo where bar='foo'");
			// RETURNS THE field name list as an array.
			function getFieldsForSQL($sql)
				{
					$db =  $this->query($sql);
					$i = 0;
					while($i < @mysql_num_fields($db))
						{
							$fld[] = mysql_field_name($db, $i);
							$i++;
						}
					mysql_free_result($db);
					return $fld;
				}
			// USAGE $db->table_array_from_tablename(&#8217;table&#8217;);
			// RETURNS THE aray containing the entire table as an array.
			// You can sort it as you like. It is currently keyed array.
			// To get a pirticular field use $tbl = $db->table_array_from_tablename(&#8217;table&#8217;); $fld = $dbl[rowno][&#8217;fldname&#8217;];
			function table_array_from_tablename($tablename, $conds=&#8221;1&#8243;)
				{
					$sql = &#8220;Select * from $tablename WHERE $conds&#8221;;
					$table = $this->table_array_from_sql($sql);
					return $table;
				}

			// USAGE $db->table_array_from_sql(&#8217;Select * from tablename&#8217;);
			// RETURNS THE aray containing the entire table as an array.
			// You can sort it as you like. It is currently keyed array.
			// To get a pirticular field use $tbl = $db->table_array_from_sql(&#8217;table&#8217;); $fld = $dbl[rowno][&#8217;fldname&#8217;];
			function table_array_from_sql($sql)
				{
					$db = $this->query($sql);
					$flds = $this->getFieldsForSQL($sql);
					while($row = mysql_fetch_array($db,1))
						{
							$table[] = $row;
						}
					return $table;
				}
			function table_row_from_tablename($tablename, $conds=&#8221;1&#8243;)
				{
					$sql = &#8220;Select * from $tablename WHERE $conds&#8221;;
					$table = $this->table_array_from_sql($sql);
					return $table[0];
				}

			// USAGE $db->table_array_from_sql(&#8217;Select * from tablename&#8217;);
			// RETURNS THE aray containing the entire table as an array.
			// You can sort it as you like. It is currently keyed array.
			// To get a pirticular field use $tbl = $db->table_array_from_sql(&#8217;table&#8217;); $fld = $dbl[rowno][&#8217;fldname&#8217;];
			function table_row_from_sql($sql)
				{
					$row = $this->table_array_from_sql($sql);
					return $row[0];
				}

			function field_val_from_table($table, $field_name, $crit_field, $crit_val)
				{
					$sql = &#8220;Select $field_name from $table where $crit_field=&#8217;$crit_val&#8217;&#8221;;
					$res = $this->field_val_from_sql($sql);
					return $res;
				}
			function field_val_from_sql($sql)
				{
					$res = mysql_fetch_array($this->query($sql));
					return $res[0];
				}
			function flat_field_array($table, $field_name, $cond = &#8221; WHERE 1&#8243;)
				{
					$sql = &#8220;SELECT $field_name FROM $table $cond&#8221;;
					$res = $this->query($sql);
					while($row = mysql_fetch_array($res))
						{
							$arr[] = $row[$field_name];
						}
					return $arr;
				}

			function field_associative_array_from_table($tablename,$condition = &#8220;1&#8243;,$fld_key,$fld_val,$val_seperator=&#8221;-&#8221;)
				{
					$tbl = $this->table_array_from_sql(&#8221;SELECT $fld_key, $fld_val FROM $tablename WHERE $condition&#8221;);
					$flds = explode(&#8221;,&#8221;,$fld_val);
					error_reporting(0);
					foreach($tbl as $row)
						{
							foreach($flds as $fld)
								{
									$row_val .= ($row_val!=&#8221;") ? &#8221; $val_seperator {$row[$fld]}&#8221; : $row[$fld] ;
								}
							$retval[$row[$fld_key]] = $row_val;
							$row_val = &#8220;&#8221;;
						}
					error_reporting(1);
					return $retval;
				}
			////////////////////////// USAGE /////////////////////////////////////////////
			//			$db->insert(&#8221;tablename&#8221;,&#8221;field1=value1&#8243;,&#8221;field2=value2&#8243;,&#8230;);   //
			//		$db->insert(&#8221;tablename&#8221;,array(&#8221;field1=value1&#8243;,&#8221;field2=value2&#8243;,&#8230;));//
			//		$db->insert(&#8221;tablename&#8221;,&#8221;field1=value1;field2=value2;&#8230;&#8221;);         //
			//////////////////////////////////////////////////////////////////////////////
			function insert()
				{
					$args = func_get_args();
					$first_arg = $args[0];
					if(!(is_array($first_arg)))
						$first_arg = split(&#8221;;&#8221;, $first_arg);
					$table = $first_arg[0];
					$opts = $first_arg[1];
					$opts = split(&#8221;:&#8221;,$opts);
					$ret_fld = $opts[1];
					$field_list = $this->getFieldsFor($table);
					if(is_array($args[1]))
						{
							$args = $args[1];
						}
					elseif(count($args) == 2)
						{
							$args = split(&#8221;;&#8221;, $args[1]);
						}
					else
						{
							$args = array_splice($args,1);
							foreach($args as $arg)
								{
									$temp_arg = split(&#8221;=&#8221;,$arg);
									$args2[$temp_arg[0]] = $temp_arg[1];
								}
							$args = $args2;
						}
					$flds = &#8220;&#8221;;
					$vals = &#8220;&#8221;;
					if(array_keys($args))
						{
							foreach($args as $fld=>$val)
								{
									if(in_array($fld,$field_list) &#038;&#038; (!($_FILES[&#8217;$fld&#8217;][&#8217;name&#8217;])))
										{
									if(is_array($val))
										$val = join(&#8221;;&#8221;, $val);
									$flds .= $flds ? &#8220;,&#8221;.&#8221;`&#8221;.$fld.&#8221;`&#8221; : &#8220;`&#8221;.$fld.&#8221;`&#8221;;
									$vals .= $vals ? &#8220;,&#8217;&#8221;.$val.&#8221;&#8216;&#8221; : &#8220;&#8216;&#8221;.$val.&#8221;&#8216;&#8221;;
										}
								}
						}
					else
						{
							foreach($args as $arg)
								{
									$temp_arg = split(&#8221;=&#8221;,$arg);
									$fld = &#8220;`&#8221;.$temp_arg[0].&#8221;`&#8221;;
									if(in_array($fld,$field_list) &#038;&#038; (!($_FILES[&#8217;$fld&#8217;][&#8217;name&#8217;])))
										{
									$val = str_replace(&#8221;&#8216;&#8221;,&#8221;",$temp_arg[1]);
									$flds .= $flds ? &#8220;,&#8221;.$fld : $fld;
									$vals .= $vals ? &#8220;,&#8217;&#8221;.$val.&#8221;&#8216;&#8221; : &#8220;&#8216;&#8221;.$val.&#8221;&#8216;&#8221;;
										}
								}
						}
					$sql = &#8220;INSERT INTO $table ($flds) VALUES ($vals)&#8221;;
					$this->query($sql);
					if(mysql_error())
						{
							return -1;
						}
					elseif($ret_fld)
						{
							$ret_sql = &#8220;Select &#8221; . str_replace(&#8221;return&#8221;,&#8221;",str_replace(&#8221;_&#8221;,&#8221;",$opts[0])).&#8221;($ret_fld) from $table&#8221;;
							$ret_val = $this->field_val_from_sql($ret_sql);
							return $ret_val;
						}
				}

		////////////////////////// USAGE /////////////////////////////////////////////
			//			$db->update(&#8221;tablename&#8221;,&#8221;updating condition&#8221;,&#8221;field1=value1&#8243;,&#8221;field2=value2&#8243;,&#8230;);   //
			//		$db->update(&#8221;tablename&#8221;,&#8221;updating condition&#8221;,array(&#8221;field1=value1&#8243;,&#8221;field2=value2&#8243;,&#8230;));//
			//		$db->update(&#8221;tablename&#8221;,&#8221;updating condition&#8221;,&#8221;field1=value1;field2=value2;&#8230;&#8221;);         //
			//////////////////////////////////////////////////////////////////////////////
				function update()
				{
					$args = func_get_args();
					$first_arg = $args[0];
					$condition = $args[1];
					if(!(is_array($first_arg)))
						$first_arg = split(&#8221;;&#8221;, $first_arg);
					$table = $first_arg[0];
					$opts = $first_arg[1];
					$opts = split(&#8221;:&#8221;,$opts);
					$ret_fld = $opts[1];
					$field_list = $this->getFieldsFor($table);

					if(is_array($args[2]))
						{
							$args = $args[2];
						}
					elseif(count($args) == 2)
						{
							$args = split(&#8221;;&#8221;, $args[1]);
						}
					else
						{
							$args = array_splice($args,1);
							foreach($args as $arg)
								{
									$temp_arg = split(&#8221;=&#8221;,$arg);
									$args2[$temp_arg[0]] = $temp_arg[1];
								}
							$args = $args2;
						}
					$flds = &#8220;&#8221;;
					$vals = &#8220;&#8221;;
					if(array_keys($args))
						{
							foreach($args as $fld=>$val)
								{
									if(in_array($fld,$field_list) &#038;&#038; (!($_FILES[&#8217;$fld&#8217;][&#8217;name&#8217;])))
										{
											if(is_array($val))
												$val = join(&#8221;;&#8221;, $val);
											$query .= ($query ? &#8220;,&#8221; : &#8220;&#8221;).&#8221;`$fld`=&#8217;$val&#8217;&#8221;;
										}

								}
						}
					else
						{
							foreach($args as $arg)
								{
									$temp_arg = split(&#8221;=&#8221;,$arg);
									$fld = $temp_arg[0];
									if(in_array($fld,$field_list) &#038;&#038; (!($_FILES[&#8217;$fld&#8217;][&#8217;name&#8217;])))
										{

											$val = str_replace(&#8221;&#8216;&#8221;,&#8221;",$temp_arg[1]);
		//									$flds .= $flds ? &#8220;,&#8221;.$fld : $fld;
											$query .= ($query ? &#8220;,&#8221; : &#8220;&#8221;).&#8221;`$fld`=&#8217;&#8221;.addslashes($val).&#8221;&#8216;&#8221;;
		//									$vals .= $vals ? &#8220;,&#8217;&#8221;.$val.&#8221;&#8216;&#8221; : &#8220;&#8216;&#8221;.$val.&#8221;&#8216;&#8221;;
										}
								}
						}
					$sql = &#8220;UPDATE $table SET $query where $condition&#8221;;
					$this->query($sql);
					echo mysql_error();
					if($ret_fld)
						{
							//$ret_sql = &#8220;Select &#8221; . str_replace(&#8221;return&#8221;,&#8221;",str_replace(&#8221;_&#8221;,&#8221;",$opts[0])).&#8221;($ret_fld) from $table&#8221;;
							//$ret_val = $this->field_val_from_sql($ret_sql);
							//return $ret_val;
						}
				}

			// Function to replace a pirticular string in each row in all fields of the table.
		   	// created by binson  asif

	         function replace_string_in_entire_table($tablename,$fields,$existing_string,$replace_string)
			 {

			 		$flds= $this->getFieldsForSQL(&#8221;SELECT $fields from $tablename&#8221;);
					echo mysql_error();
					foreach($flds as $fld)
					{
						$sql=&#8221;update $tablename set $fld = replace ($fld, &#8216;$existing_string&#8217;, &#8216;$replace_string&#8217;)&#8221;;
						mysql_query($sql);
					}

			  		return mysql_error();
			 }

		}
?&gt;
</pre></div>
]]></content:encoded>
			<wfw:commentRss>http://www.blackidsolutions.com/blog/php/finally-coming-out-with-php-products.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>IP2Country</title>
		<link>http://www.blackidsolutions.com/blog/php/ip2country.html</link>
		<comments>http://www.blackidsolutions.com/blog/php/ip2country.html#comments</comments>
		<pubDate>Mon, 01 Oct 2007 21:36:37 +0000</pubDate>
		<dc:creator>Black iD Team</dc:creator>
		
		<category><![CDATA[PHP]]></category>

		<category><![CDATA[Software]]></category>

		<category><![CDATA[country information]]></category>

		<category><![CDATA[ip address]]></category>

		<category><![CDATA[ipaddress]]></category>

		<category><![CDATA[location from ip]]></category>

		<category><![CDATA[php developers]]></category>

		<guid isPermaLink="false">http://blog.blackidsolutions.com/2007/10/02/ip2country.html</guid>
		<description><![CDATA[Hello PHP Developers,
One more innovation from Black iD Solutions. We are developing an IP2Country database. I know this is a very common application. But our target users are those PHP developers who find it difficult to get the IP information for their users. For eg. If you wanted to know the country from the ipaddress, [...]]]></description>
			<content:encoded><![CDATA[<p>Hello PHP Developers,</p>
<p>One more innovation from Black iD Solutions. We are developing an IP2Country database. I know this is a very common application. But our target users are those PHP developers who find it difficult to get the IP information for their users. For eg. If you wanted to know the country from the ipaddress, you would have to do either of the 2.</p>
<p>1. Buy a costly subscription from some of the sites<br />
2. Download the entire IP2Country Database from</p>
<p>But now we have come up with a way you can easily get an access of the country information from the IP Address. The method is simple.<br />
<!--adsense#large_sq_main--><br />
<code class="code" style="overflow: auto; text-align: left">&lt;?php<br />
$f = fopen( "http://scripts.blackidsolutions.com/ip2country/?ip=202.186.13.4&amp;get=country","r");<br />
$country = fread($f,40); // Additional reading capability to ensure the country's name is not cut<br />
echo $country; // Displays MALASIA<br />
?&gt;</code></p>
<p>By using the simple code you can get the country of visitor from the IP address. I will be publishing more information on this too. To get the 2 letter country code simply replace &#8220;<strong>&amp;get=country</strong>&#8221; with &#8220;<strong>&amp;get=ctry</strong>&#8220;. Also to get the 3 letter country code you can replace it by &#8220;cntry&#8221;.</p>
<p>Hope this helps.</p>
<p>Thanks</p>
<p>Jyot</p>
]]></content:encoded>
			<wfw:commentRss>http://www.blackidsolutions.com/blog/php/ip2country.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>Simple Dropdown Menu Example&#8230;</title>
		<link>http://www.blackidsolutions.com/blog/javascript/simple-dropdown-menu-example.html</link>
		<comments>http://www.blackidsolutions.com/blog/javascript/simple-dropdown-menu-example.html#comments</comments>
		<pubDate>Mon, 01 Oct 2007 21:22:59 +0000</pubDate>
		<dc:creator>Black iD Team</dc:creator>
		
		<category><![CDATA[Javascript]]></category>

		<category><![CDATA[Object Oriented Javascript Menus]]></category>

		<category><![CDATA[drop down menus]]></category>

		<category><![CDATA[javascript drop down menus]]></category>

		<category><![CDATA[navigations]]></category>

		<category><![CDATA[source files]]></category>

		<guid isPermaLink="false">http://blog.blackidsolutions.com/2007/10/02/simple-dropdown-menu-example.html</guid>
		<description><![CDATA[
Hope you liked this effect.
You can get the source files below: 
Simple Dropdown Source Files
Do leave a comment below so as to how you liked the navigations.
Thanks
Jyot
]]></description>
			<content:encoded><![CDATA[<p><iframe src="http://scripts.blackidsolutions.com/simple_drop_down/simple_dropdowns.html" frameborder="0" height="200" width="600"></iframe></p>
<p>Hope you liked this effect.</p>
<p>You can get the source files below: <a href="http://blog.blackidsolutions.com/wp-content/uploads/2007/10/simpledropdowns.zip" title="Simple Dropdown Source Files"></a></p>
<p><a href="http://blog.blackidsolutions.com/wp-content/uploads/2007/10/simpledropdowns.zip" title="Simple Dropdown Source Files">Simple Dropdown Source Files</a></p>
<p>Do leave a comment below so as to how you liked the navigations.</p>
<p>Thanks</p>
<p>Jyot</p>
]]></content:encoded>
			<wfw:commentRss>http://www.blackidsolutions.com/blog/javascript/simple-dropdown-menu-example.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>Coming Up With OOJS</title>
		<link>http://www.blackidsolutions.com/blog/javascript/coming-up-with-oojs.html</link>
		<comments>http://www.blackidsolutions.com/blog/javascript/coming-up-with-oojs.html#comments</comments>
		<pubDate>Mon, 24 Sep 2007 20:29:09 +0000</pubDate>
		<dc:creator>Black iD Team</dc:creator>
		
		<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://blog.blackidsolutions.com/2007/09/25/coming-up-with-oojs.html</guid>
		<description><![CDATA[Hi again,
This time after a long time. I have been working on OOJS. Though I feel it is of not much use, anyhow, OOJS is quite interesting to me. I found its usage pretty interesting and though I haven&#8217;t become a &#8220;guru&#8221; of OOJS yet, I am pretty confident of getting most of the things [...]]]></description>
			<content:encoded><![CDATA[<p>Hi again,</p>
<p>This time after a long time. I have been working on OOJS. Though I feel it is of not much use, anyhow, OOJS is quite interesting to me. I found its usage pretty interesting and though I haven&#8217;t become a &#8220;guru&#8221; of OOJS yet, I am pretty confident of getting most of the things right. I am soon going to come up with a navigation class (drop down Menus). These menus run on OOJS funda. The Object Oriented Javascript is quite a fun to get through. I have been running around the concept for quite some time now and I am pretty much interested in it now.</p>
<p>Won&#8217;t take your time further. Let me introduce you to my new babies, the new javascript drop down menus.  Currently I am preparing a pre release of them. They currently have only 1 theme and no submenus. I am working on getitng OO based submenus. Hopefully in the span of next 2 months I should be able to release them. But for now, these are the ones i am planning to release over the next weekend.</p>
<p>Thanks</p>
<p>Jyot</p>
]]></content:encoded>
			<wfw:commentRss>http://www.blackidsolutions.com/blog/javascript/coming-up-with-oojs.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>Transparent PNGs&#8230; An extremely simple fix&#8230;</title>
		<link>http://www.blackidsolutions.com/blog/xhtml-css/transparent-pngs-an-extremely-simple-fix.html</link>
		<comments>http://www.blackidsolutions.com/blog/xhtml-css/transparent-pngs-an-extremely-simple-fix.html#comments</comments>
		<pubDate>Tue, 18 Sep 2007 10:56:29 +0000</pubDate>
		<dc:creator>Black iD Team</dc:creator>
		
		<category><![CDATA[XHTML &amp; CSS]]></category>

		<guid isPermaLink="false">http://blog.blackidsolutions.com/2007/09/18/transparent-pngs-an-extremely-simple-fix.html</guid>
		<description><![CDATA[Hi friend, use this code to get all your transparent PNGs fixed in a matter of a few seconds&#8230;

&#60;span style=&#8220;width:306px;height:60px;display:inline-block; filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=&#8217;transparent.png&#8216;);&#8221;&#62;
&#60;img style=&#8220;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);&#8221; src=&#8220;transparent.png&#8221; width=&#8220;306&#8243; height=&#8220;60&#8243; border=&#8220;0&#8243; alt=&#8220;&#8221;&#62;
&#60;/span&#62;
]]></description>
			<content:encoded><![CDATA[<p>Hi friend, use this code to get all your transparent PNGs fixed in a matter of a few seconds&#8230;<br />
<code class="code" style='overflow:auto;'><br />
&lt;<span class="start-tag">span</span><span class="attribute-name"> style</span>=<span class="attribute-value">&#8220;width:306px;height:60px;display:inline-block; filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=&#8217;</span><span class="attribute-value">transparent.png</span><span class="attribute-value">&#8216;);&#8221;</span>&gt;<br />
&lt;<span class="start-tag">img</span><span class="attribute-name"> style</span>=<span class="attribute-value">&#8220;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);&#8221; </span><span class="attribute-name">src</span>=<span class="attribute-value">&#8220;transparent.png&#8221; </span><span class="attribute-name">width</span>=<span class="attribute-value">&#8220;306&#8243; </span><span class="attribute-name">height</span>=<span class="attribute-value">&#8220;60&#8243; </span><span class="attribute-name">border</span>=<span class="attribute-value">&#8220;0&#8243; </span><span class="attribute-name">alt</span>=<span class="attribute-value">&#8220;&#8221;</span>&gt;<br />
&lt;/<span class="end-tag">span</span>&gt;</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.blackidsolutions.com/blog/xhtml-css/transparent-pngs-an-extremely-simple-fix.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>Yahoo Messenger Multiple Login Software</title>
		<link>http://www.blackidsolutions.com/blog/software/yahoo-messenger-multiple-login-software.html</link>
		<comments>http://www.blackidsolutions.com/blog/software/yahoo-messenger-multiple-login-software.html#comments</comments>
		<pubDate>Thu, 23 Aug 2007 19:43:53 +0000</pubDate>
		<dc:creator>Black iD Team</dc:creator>
		
		<category><![CDATA[Software]]></category>

		<category><![CDATA[multiple id login yahoo]]></category>

		<category><![CDATA[multiple logins]]></category>

		<category><![CDATA[yahoo messenger multiple logins]]></category>

		<category><![CDATA[yahoo multiple logins]]></category>

		<guid isPermaLink="false">http://blog.blackidsolutions.com/2007/08/24/yahoo-messenger-multiple-login-software/</guid>
		<description><![CDATA[This application will allow you to run multiple instances of Yahoo Messenger on your pc! Perfect for those who have several different yahoo id&#8217;s and would like to be logged in to them at once. Please note that the Y!Multi Messenger versions coincide with the Yahoo Messenger versions and are build specific. Meaning you must [...]]]></description>
			<content:encoded><![CDATA[<p style="font-family: Arial; font-size: 12px">This application will allow you to run multiple instances of Yahoo Messenger on your pc! Perfect for those who have several different yahoo id&#8217;s and would like to be logged in to them at once. Please note that the Y!Multi Messenger versions coincide with the Yahoo Messenger versions and are build specific. Meaning you must be using the same version of each to work properly.</p>
<p>This is intended for the newest build of messenger and may not work properly on lower builds.</p>
<p>Just run the install and then start using the Y!Multi Messenger icon that will appear on your desktop instead of the regular Yahoo! Messenger icon.</p>
<p>How to use it:</p>
<p>Just double click the desktop icon to load up X amount of Yahoo! Messengers, thats it!<br />
Note - you may have to uncheck the &#8220;Automatically Sign In&#8221; option on the login screens though or you will start getting the &#8220;You have been logged out as you were logged in on a different machine&#8221; message.</p>
<p>You can run the registry editing script to do this for you if you are not sure what to uncheck, go ahead&#8230;open it in an editor first if you want, its 100% safe and will not mess anything up.</p>
<p style="font-family: Arial; font-size: 12px"><strong class="text">Requirements:</strong> Newest version of Yahoo! Messenger installed.</p>
<p>- <a href="http://www.download3k.com/Install-Y-Multi-Messenger.html"><strong>Download Y! Multi Messenger 8.0.0.508</strong></a></p>
<p><!--adsense#google_pack--></p>
]]></content:encoded>
			<wfw:commentRss>http://www.blackidsolutions.com/blog/software/yahoo-messenger-multiple-login-software.html/feed</wfw:commentRss>
		</item>
	</channel>
</rss>
