<?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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Oxagile Software Development Company Web Application Development Blog &#187; Programming PHP</title>
	<atom:link href="http://blog.oxagile.com/tag/programming-php/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.oxagile.com</link>
	<description>Web and Mobile Application Development Services</description>
	<lastBuildDate>Wed, 21 Dec 2011 20:11:04 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>PHP bug patched</title>
		<link>http://blog.oxagile.com/2011/01/19/php-bug-patched/</link>
		<comments>http://blog.oxagile.com/2011/01/19/php-bug-patched/#comments</comments>
		<pubDate>Wed, 19 Jan 2011 11:45:21 +0000</pubDate>
		<dc:creator>krivitskayats</dc:creator>
				<category><![CDATA[Programming PHP]]></category>
		<category><![CDATA[Web development]]></category>
		<category><![CDATA[bugs]]></category>
		<category><![CDATA[PHP 5.3.5]]></category>
		<category><![CDATA[PHP bug fixing]]></category>

		<guid isPermaLink="false">http://blog.oxagile.com/?p=948</guid>
		<description><![CDATA[ 
   PHP bug #53632 in floating point numbers has been dealt with. The bug is deemed to be a fault in the x87 floating point unit, which showed up on PHP 32-bit systems. It was detected by a computer scientist Rick Regan, who described the flaw in his blog.
This flaw issue made [...]]]></description>
			<content:encoded><![CDATA[ 
   <span class = "facebook-like-this" style = "height: px"><iframe src="http://www.facebook.com/plugins/like.php?href=http://blog.oxagile.com/2011/01/19/php-bug-patched/&layout=standard&show_faces=false&width=100%&action=like&colorscheme=light&locale=en_US&font=" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:100%px; height:px"></iframe></span><p><img class="alignleft size-full wp-image-950" style="margin: 5px;" title="bug_no_400" src="http://blog.oxagile.com/wp-content/uploads/2011/01/bug_no_4001.png" alt="" width="130" height="130" />PHP bug #53632 in floating point numbers has been dealt with. The bug is deemed to be a fault in the x87 floating point unit, which showed up on PHP 32-bit systems. It was detected by a computer scientist Rick Regan, who described the flaw in his blog.<br />
This flaw issue made PHP security systems vulnerable to potential DOS attack and could have complicated the process of serving PHP-based pages. Though, Andi Gutmans, CEO of Zend Technologies, reassured that this PHP bug was unlikely to cause severe problems on a large scale as major PHP running systems are 64-bit.<br />
The PHP language developers have come up with the solution to this problem, which they bypassed in the new PHP releases (PHP 5.3.5 and 5.2.17), while Zend technologies provided for Zend Server users prompt response to the problem until the bug was fully fixed by the PHP development team.<br />
PHP is frequently used by <a title="Software development company, web and mobile application development services" href="http://www.oxagile.com/">software companies</a> in web application development projects and new PHP 5.3.5 and 5.2.17 versions allow <a title="PHP, Java, .Net certified professional software and web developers" href="http://www.oxagile.com/services/dedicated-programming-team">web application developers</a> to sidestep the problems, connected with the floating point bug in the previous PHP releases.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.oxagile.com/2011/01/19/php-bug-patched/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lightbox customization (PHP programming tips)</title>
		<link>http://blog.oxagile.com/2008/10/07/lightbox-customization-php-programming-tips/</link>
		<comments>http://blog.oxagile.com/2008/10/07/lightbox-customization-php-programming-tips/#comments</comments>
		<pubDate>Tue, 07 Oct 2008 13:25:10 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Web development]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[image gallery]]></category>
		<category><![CDATA[Lightbox]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[Programming PHP]]></category>
		<category><![CDATA[source code]]></category>

		<guid isPermaLink="false">http://blog.oxagile.com/?p=125</guid>
		<description><![CDATA[ 
   Current version of Lightbox (widely used in web development) has an intricate navigation in the image gallery. At first a user trys to guess where to show “previous” or “next” buttons. This navigation isn’t user friendly. Here are some small modifications for creating a simple navigation:

The best way for creating it [...]]]></description>
			<content:encoded><![CDATA[ 
   <span class = "facebook-like-this" style = "height: px"><iframe src="http://www.facebook.com/plugins/like.php?href=http://blog.oxagile.com/2008/10/07/lightbox-customization-php-programming-tips/&layout=standard&show_faces=false&width=100%&action=like&colorscheme=light&locale=en_US&font=" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:100%px; height:px"></iframe></span><p>Current version of <strong>Lightbox</strong> (widely used in <a href="http://www.oxagile.com/">web development</a>) has an intricate navigation in the image gallery. At first a user trys to guess where to show “previous” or “next” buttons. This navigation isn’t user friendly. Here are some small modifications for creating a simple navigation:</p>
<p style="text-align: center;"><img class="size-full wp-image-152 aligncenter" title="lightbox1" src="http://blog.oxagile.com/wp-content/uploads/2008/10/lightbox1.gif" alt="" width="500" height="233" /></p>
<p>The best way for creating it in your image gallery is overriding the code without direct changes in the lightbox source code. It’s profitable when it is necessary to update the source code.</p>
<p><span id="more-125"></span></p>
<p>Note: In the examples we were using lightbox2.04 in folder lightbox, the folder with the names of styles for containing css styles and the folder with the name ‘js’ for containing the java script code.</p>
<p>1.    Creat the lightbox_override.css in the styles folder and place in it the next code snippet:</p>
<p>[source='php']<br />
#hoverNav{ height: 40px; width: 100%; z-index: 10;}<br />
#hoverNav a{ outline: none; text-align:center }</p>
<p>/* change height for next and previous link */<br />
#prevLink, #nextLink{ width: 60px; height: 40px !important; background-image: url(data:image/gif;base64,AAAA); display: block; }<br />
#prevLink, #prevLink:hover, #prevLink:visited:hover { background: url(/lightbox/images/prevlabel.gif) left 15% no-repeat;}<br />
#nextLink, #nextLink:hover, #nextLink:visited:hover { background: url(/lightbox/images/nextlabel.gif) right 15% no-repeat;}</p>
<p>/* change image data container height */<br />
#imageDataContainer{ height:40px;font: 10px Verdana, Helvetica, sans-serif; background-color: #fff; margin: 0 auto; line-height: 1.4em; overflow: auto; width: 100% ; }</p>
<p>#imageData{ color: #666; }<br />
#imageData #imageDetails{ text-align: center; padding-left:60px; padding-right:60px}<br />
#imageData #numberDisplay{ }<br />
#imageContainer #bottomNavClose{ position:absolute; float: right;  padding-top:2px; width: 17px; right: 10px;outline: none;}<br />
[/source]</p>
<p>2.    Creat the lightbox_override.js in the ‘js’ folder and place in it the next code snippet:<br />
[source='php']<br />
/**<br />
* Override lightbox initialization.<br />
*<br />
*/<br />
Lightbox.prototype.initialize = function() {</p>
<p>this.updateImageList();</p>
<p>this.keyboardAction = this.keyboardAction.bindAsEventListener(this);</p>
<p>if (LightboxOptions.resizeSpeed > 10) LightboxOptions.resizeSpeed = 10;<br />
if (LightboxOptions.resizeSpeed < 1)  LightboxOptions.resizeSpeed = 1;</p>
<p>this.resizeDuration = LightboxOptions.animate ? ((11 - LightboxOptions.resizeSpeed) * 0.15) : 0;<br />
this.overlayDuration = LightboxOptions.animate ? 0.2 : 0;  // shadow fade in/out duration</p>
<p>var size = (LightboxOptions.animate ? 250 : 1) + 'px';<br />
var objBody = $$('body')[0];</p>
<p>objBody.appendChild(Builder.node('div',{id:'overlay'}));</p>
<p>// Change lightbox html code and place next and previous link to bottom of box<br />
objBody.appendChild(Builder.node('div',{id:'lightbox'}, [<br />
Builder.node('div',{id:'outerImageContainer'},<br />
Builder.node('div',{id:'imageContainer'}, [<br />
Builder.node('a',{id:'bottomNavClose', href: '#' },<br />
Builder.node('img', { src: LightboxOptions.fileBottomNavCloseImage })<br />
),<br />
Builder.node('img',{id:'lightboxImage'}),<br />
Builder.node('div',{id:'loading'},<br />
Builder.node('a',{id:'loadingLink', href: '#' },<br />
Builder.node('img', {src: LightboxOptions.fileLoadingImage})<br />
)<br />
)<br />
])<br />
),<br />
Builder.node('div', {id:'imageDataContainer'},<br />
Builder.node('div',{id:'imageData'}, [<br />
Builder.node('div',{id:'hoverNav'}, [<br />
Builder.node('a',{id:'prevLink', href: '#' }),<br />
Builder.node('a',{id:'nextLink', href: '#' }),<br />
Builder.node('div',{id:'imageDetails'}, [<br />
Builder.node('div',{id:'caption'}),<br />
Builder.node('span',{id:'numberDisplay'})<br />
])<br />
])<br />
])<br />
)<br />
]));</p>
<p>$('overlay').hide().observe('click', (function() { this.end(); }).bind(this));<br />
$('lightbox').hide().observe('click', (function(event) { if (event.element().id == 'lightbox') this.end(); }).bind(this));<br />
$('outerImageContainer').setStyle({ width: size, height: size });<br />
$('prevLink').observe('click', (function(event) { event.stop(); this.changeImage(this.activeImage - 1); }).bindAsEventListener(this));<br />
$('nextLink').observe('click', (function(event) { event.stop(); this.changeImage(this.activeImage + 1); }).bindAsEventListener(this));<br />
$('loadingLink').observe('click', (function(event) { event.stop(); this.end(); }).bind(this));<br />
$('bottomNavClose').observe('click', (function(event) { event.stop(); this.end(); }).bind(this));</p>
<p>var th = this;<br />
(function(){<br />
var ids =<br />
'overlay lightbox outerImageContainer imageContainer lightboxImage hoverNav prevLink nextLink loading loadingLink ' +<br />
'imageDataContainer imageData imageDetails caption numberDisplay bottomNav bottomNavClose';<br />
$w(ids).each(function(id){ th[id] = $(id); });<br />
}).defer();<br />
};<br />
[/source]</p>
<p>Difference between standard initialization and custom is in changing html element positions.</p>
<p>3.    Include the standard litebox files:</p>
<p>[source='php']</p>
<p><script type="text/javascript" src="/lightbox/js/prototype.js"></script><br />
<script type="text/javascript" src="/lightbox/js/scriptaculous.js?load=effects,builder"></script><br />
<script type="text/javascript" src="/lightbox/js/lightbox.js"></script></p>
<link rel="stylesheet" href="/lightbox/css/lightbox.css" type="text/css" media="screen"/>
[/source]</p>
<p>4.    Include the ‘css’ customization:</p>
<p>[source='php']</p>
<link rel="stylesheet" href="/styles/lightbox_override.css" type="text/css" media="screen"/>
[/source]</p>
<p>5.    Include the java script logic customization:</p>
<p>[source='php']</p>
<p><script type="text/javascript" src="/js/lightbox_override.js"></script><br />
[/source]</p>
<p><strong>Note</strong>: all files included must be located in the head element of the html page.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.oxagile.com/2008/10/07/lightbox-customization-php-programming-tips/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

