<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearch/1.1/' xmlns:georss='http://www.georss.org/georss' xmlns:thr='http://purl.org/syndication/thread/1.0' xmlns:gd='http://schemas.google.com/g/2005' gd:etag='W/&quot;CUYDQHc_eCp7ImA9WhRRFEk.&quot;'><id>tag:blogger.com,1999:blog-3677570629102502022</id><updated>2011-11-27T17:19:31.940-08:00</updated><category term='Microsoft CDN'/><category term='PHP'/><category term='FileZilla'/><category term='YII Framework'/><category term='css'/><category term='Clean URL'/><category term='javascript'/><category term='minify'/><category term='FTP'/><category term='HTTPS'/><category term='content-type'/><category term='tips'/><category term='APACHE'/><category term='Ajax API'/><category term='header'/><category term='tutorial'/><category term='URL'/><category term='IE'/><category term='GoogleCDN'/><category term='gzip'/><category term='WAMP'/><title>Web Development stuff - from www.suriyan.in</title><subtitle type='html'>A blog for PHP, YII Framework, MySQL, Javascript related   Web Development stuff</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://phpa2z.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3677570629102502022/posts/default?redirect=false&amp;v=2'/><link rel='alternate' type='text/html' href='http://phpa2z.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Suriyan Suresh</name><uri>http://www.blogger.com/profile/11475195361266986729</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>12</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry gd:etag='W/&quot;CEINR3s-cSp7ImA9WhdQGE8.&quot;'><id>tag:blogger.com,1999:blog-3677570629102502022.post-8323255998587055989</id><published>2011-08-19T23:41:00.000-07:00</published><updated>2011-08-19T23:43:16.559-07:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2011-08-19T23:43:16.559-07:00</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='Ajax API'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft CDN'/><category scheme='http://www.blogger.com/atom/ns#' term='GoogleCDN'/><title>Using Javascript libraries via Google and Microsoft CDN</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Using Google/Microsoft hosted libraries in your application to speed up your application&lt;br /&gt;
&lt;br /&gt;
&lt;div class="post-text"&gt;&lt;a href="http://code.google.com/apis/ajaxlibs/" rel="nofollow"&gt;Google&lt;/a&gt; offers a CDN for:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://code.google.com/apis/ajaxlibs/documentation/index.html#jquery" rel="nofollow"&gt;jQuery&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://code.google.com/apis/ajaxlibs/documentation/index.html#jqueryUI" rel="nofollow"&gt;jQuery UI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://code.google.com/apis/ajaxlibs/documentation/index.html#prototype" rel="nofollow"&gt;Prototype&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://code.google.com/apis/ajaxlibs/documentation/index.html#script%5Faculo%5Fus" rel="nofollow"&gt;script.aculo.us&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://code.google.com/apis/ajaxlibs/documentation/index.html#mootools" rel="nofollow"&gt;MooTools&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://code.google.com/apis/ajaxlibs/documentation/index.html#dojo" rel="nofollow"&gt;Dojo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://code.google.com/apis/ajaxlibs/documentation/index.html#swfobject" rel="nofollow"&gt;SWFObject&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://code.google.com/apis/ajaxlibs/documentation/index.html#yui" rel="nofollow"&gt;Yahoo! User Interface Library (YUI)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://code.google.com/apis/ajaxlibs/documentation/index.html#ext-core" rel="nofollow"&gt;Ext Core&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://code.google.com/apis/ajaxlibs/documentation/index.html#chrome-frame" rel="nofollow"&gt;Chrome Frame&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;a href="http://www.asp.net/ajax/cdn" rel="nofollow"&gt;Microsoft (Via asp.net)&lt;/a&gt; offers a CDN for:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.asp.net/ajax/cdn/#3" rel="nofollow"&gt;MS Ajax&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.asp.net/ajax/cdn/#4" rel="nofollow"&gt;jQuery&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.asp.net/ajax/cdn/#5" rel="nofollow"&gt;jQuery Validation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.asp.net/ajax/cdn/#6" rel="nofollow"&gt;ASP.NET MVC JavaScript&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;And for JQUERY UI&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="background-color: white; font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif; font-size: 14px; line-height: 18px;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;ul style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 14px; list-style-image: initial; list-style-position: initial; list-style-type: disc; margin-bottom: 1em; margin-left: 30px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;&lt;li style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline; word-wrap: break-word;"&gt;&lt;span class="Apple-style-span" style="background-color: white; font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif; font-size: 14px; line-height: 18px;"&gt;base:&amp;nbsp;&lt;a href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.14/themes/base/jquery-ui.css" rel="nofollow" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #0077cc; cursor: pointer; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;"&gt;Google CDN&lt;/a&gt;,&amp;nbsp;&lt;a href="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.14/themes/base/jquery-ui.css" rel="nofollow" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #0077cc; cursor: pointer; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;"&gt;Microsoft CDN&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;span class="Apple-style-span" style="background-color: white; font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif; font-size: 14px; line-height: 18px;"&gt;
&lt;li style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline; word-wrap: break-word;"&gt;black-tie:&amp;nbsp;&lt;a href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.14/themes/black-tie/jquery-ui.css" rel="nofollow" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #0077cc; cursor: pointer; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;"&gt;Google CDN&lt;/a&gt;,&amp;nbsp;&lt;a href="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.14/themes/black-tie/jquery-ui.css" rel="nofollow" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #0077cc; cursor: pointer; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;"&gt;Microsoft CDN&lt;/a&gt;&lt;/li&gt;
&lt;li style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline; word-wrap: break-word;"&gt;blitzer:&amp;nbsp;&lt;a href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.14/themes/blitzer/jquery-ui.css" rel="nofollow" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #0077cc; cursor: pointer; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;"&gt;Google CDN&lt;/a&gt;,&amp;nbsp;&lt;a href="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.14/themes/blitzer/jquery-ui.css" rel="nofollow" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #0077cc; cursor: pointer; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;"&gt;Microsoft CDN&lt;/a&gt;&lt;/li&gt;
&lt;li style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline; word-wrap: break-word;"&gt;cupertino:&amp;nbsp;&lt;a href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.14/themes/cupertino/jquery-ui.css" rel="nofollow" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #0077cc; cursor: pointer; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;"&gt;Google CDN&lt;/a&gt;,&amp;nbsp;&lt;a href="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.14/themes/cupertino/jquery-ui.css" rel="nofollow" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #0077cc; cursor: pointer; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;"&gt;Microsoft CDN&lt;/a&gt;&lt;/li&gt;
&lt;li style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline; word-wrap: break-word;"&gt;dark-hive:&amp;nbsp;&lt;a href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.14/themes/dark-hive/jquery-ui.css" rel="nofollow" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #0077cc; cursor: pointer; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;"&gt;Google CDN&lt;/a&gt;,&amp;nbsp;&lt;a href="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.14/themes/dark-hive/jquery-ui.css" rel="nofollow" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #0077cc; cursor: pointer; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;"&gt;Microsoft CDN&lt;/a&gt;&lt;/li&gt;
&lt;li style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline; word-wrap: break-word;"&gt;dot-luv:&amp;nbsp;&lt;a href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.14/themes/dot-luv/jquery-ui.css" rel="nofollow" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #0077cc; cursor: pointer; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;"&gt;Google CDN&lt;/a&gt;,&amp;nbsp;&lt;a href="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.14/themes/dot-luv/jquery-ui.css" rel="nofollow" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #0077cc; cursor: pointer; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;"&gt;Microsoft CDN&lt;/a&gt;&lt;/li&gt;
&lt;li style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline; word-wrap: break-word;"&gt;eggplant:&amp;nbsp;&lt;a href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.14/themes/eggplant/jquery-ui.css" rel="nofollow" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #0077cc; cursor: pointer; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;"&gt;Google CDN&lt;/a&gt;,&amp;nbsp;&lt;a href="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.14/themes/eggplant/jquery-ui.css" rel="nofollow" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #0077cc; cursor: pointer; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;"&gt;Microsoft CDN&lt;/a&gt;&lt;/li&gt;
&lt;li style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline; word-wrap: break-word;"&gt;excite-bike:&amp;nbsp;&lt;a href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.14/themes/excite-bike/jquery-ui.css" rel="nofollow" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #0077cc; cursor: pointer; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;"&gt;Google CDN&lt;/a&gt;,&amp;nbsp;&lt;a href="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.14/themes/excite-bike/jquery-ui.css" rel="nofollow" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #0077cc; cursor: pointer; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;"&gt;Microsoft CDN&lt;/a&gt;&lt;/li&gt;
&lt;li style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline; word-wrap: break-word;"&gt;flick:&amp;nbsp;&lt;a href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.14/themes/flick/jquery-ui.css" rel="nofollow" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #0077cc; cursor: pointer; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;"&gt;Google CDN&lt;/a&gt;,&amp;nbsp;&lt;a href="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.14/themes/flick/jquery-ui.css" rel="nofollow" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #0077cc; cursor: pointer; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;"&gt;Microsoft CDN&lt;/a&gt;&lt;/li&gt;
&lt;li style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline; word-wrap: break-word;"&gt;hot-sneaks:&amp;nbsp;&lt;a href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.14/themes/hot-sneaks/jquery-ui.css" rel="nofollow" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #0077cc; cursor: pointer; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;"&gt;Google CDN&lt;/a&gt;,&amp;nbsp;&lt;a href="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.14/themes/hot-sneaks/jquery-ui.css" rel="nofollow" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #0077cc; cursor: pointer; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;"&gt;Microsoft CDN&lt;/a&gt;&lt;/li&gt;
&lt;li style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline; word-wrap: break-word;"&gt;humanity:&amp;nbsp;&lt;a href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.14/themes/humanity/jquery-ui.css" rel="nofollow" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #0077cc; cursor: pointer; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;"&gt;Google CDN&lt;/a&gt;,&amp;nbsp;&lt;a href="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.14/themes/humanity/jquery-ui.css" rel="nofollow" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #0077cc; cursor: pointer; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;"&gt;Microsoft CDN&lt;/a&gt;&lt;/li&gt;
&lt;li style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline; word-wrap: break-word;"&gt;le-frog:&amp;nbsp;&lt;a href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.14/themes/le-frog/jquery-ui.css" rel="nofollow" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #0077cc; cursor: pointer; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;"&gt;Google CDN&lt;/a&gt;,&amp;nbsp;&lt;a href="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.14/themes/le-frog/jquery-ui.css" rel="nofollow" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #0077cc; cursor: pointer; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;"&gt;Microsoft CDN&lt;/a&gt;&lt;/li&gt;
&lt;li style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline; word-wrap: break-word;"&gt;mint-choc:&amp;nbsp;&lt;a href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.14/themes/mint-choc/jquery-ui.css" rel="nofollow" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #0077cc; cursor: pointer; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;"&gt;Google CDN&lt;/a&gt;,&amp;nbsp;&lt;a href="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.14/themes/mint-choc/jquery-ui.css" rel="nofollow" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #0077cc; cursor: pointer; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;"&gt;Microsoft CDN&lt;/a&gt;&lt;/li&gt;
&lt;li style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline; word-wrap: break-word;"&gt;overcast:&amp;nbsp;&lt;a href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.14/themes/overcast/jquery-ui.css" rel="nofollow" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #0077cc; cursor: pointer; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;"&gt;Google CDN&lt;/a&gt;,&amp;nbsp;&lt;a href="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.14/themes/overcast/jquery-ui.css" rel="nofollow" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #0077cc; cursor: pointer; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;"&gt;Microsoft CDN&lt;/a&gt;&lt;/li&gt;
&lt;li style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline; word-wrap: break-word;"&gt;pepper-grinder:&amp;nbsp;&lt;a href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.14/themes/pepper-grinder/jquery-ui.css" rel="nofollow" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #0077cc; cursor: pointer; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;"&gt;Google CDN&lt;/a&gt;,&amp;nbsp;&lt;a href="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.14/themes/pepper-grinder/jquery-ui.css" rel="nofollow" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #0077cc; cursor: pointer; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;"&gt;Microsoft CDN&lt;/a&gt;&lt;/li&gt;
&lt;li style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline; word-wrap: break-word;"&gt;redmond:&amp;nbsp;&lt;a href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.14/themes/redmond/jquery-ui.css" rel="nofollow" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #0077cc; cursor: pointer; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;"&gt;Google CDN&lt;/a&gt;,&amp;nbsp;&lt;a href="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.14/themes/redmond/jquery-ui.css" rel="nofollow" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #0077cc; cursor: pointer; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;"&gt;Microsoft CDN&lt;/a&gt;&lt;/li&gt;
&lt;li style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline; word-wrap: break-word;"&gt;smoothness:&amp;nbsp;&lt;a href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.14/themes/smoothness/jquery-ui.css" rel="nofollow" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #0077cc; cursor: pointer; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;"&gt;Google CDN&lt;/a&gt;,&amp;nbsp;&lt;a href="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.14/themes/smoothness/jquery-ui.css" rel="nofollow" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #0077cc; cursor: pointer; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;"&gt;Microsoft CDN&lt;/a&gt;&lt;/li&gt;
&lt;li style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline; word-wrap: break-word;"&gt;south-street:&amp;nbsp;&lt;a href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.14/themes/south-street/jquery-ui.css" rel="nofollow" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #0077cc; cursor: pointer; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;"&gt;Google CDN&lt;/a&gt;,&amp;nbsp;&lt;a href="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.14/themes/south-street/jquery-ui.css" rel="nofollow" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #0077cc; cursor: pointer; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;"&gt;Microsoft CDN&lt;/a&gt;&lt;/li&gt;
&lt;li style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline; word-wrap: break-word;"&gt;start:&amp;nbsp;&lt;a href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.14/themes/start/jquery-ui.css" rel="nofollow" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #0077cc; cursor: pointer; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;"&gt;Google CDN&lt;/a&gt;,&amp;nbsp;&lt;a href="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.14/themes/start/jquery-ui.css" rel="nofollow" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #0077cc; cursor: pointer; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;"&gt;Microsoft CDN&lt;/a&gt;&lt;/li&gt;
&lt;li style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline; word-wrap: break-word;"&gt;sunny:&amp;nbsp;&lt;a href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.14/themes/sunny/jquery-ui.css" rel="nofollow" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #0077cc; cursor: pointer; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;"&gt;Google CDN&lt;/a&gt;,&amp;nbsp;&lt;a href="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.14/themes/sunny/jquery-ui.css" rel="nofollow" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #0077cc; cursor: pointer; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;"&gt;Microsoft CDN&lt;/a&gt;&lt;/li&gt;
&lt;li style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline; word-wrap: break-word;"&gt;swanky-purse:&amp;nbsp;&lt;a href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.14/themes/swanky-purse/jquery-ui.css" rel="nofollow" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #0077cc; cursor: pointer; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;"&gt;Google CDN&lt;/a&gt;,&amp;nbsp;&lt;a href="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.14/themes/swanky-purse/jquery-ui.css" rel="nofollow" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #0077cc; cursor: pointer; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;"&gt;Microsoft CDN&lt;/a&gt;&lt;/li&gt;
&lt;li style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline; word-wrap: break-word;"&gt;trontastic:&amp;nbsp;&lt;a href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.14/themes/trontastic/jquery-ui.css" rel="nofollow" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #0077cc; cursor: pointer; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;"&gt;Google CDN&lt;/a&gt;,&amp;nbsp;&lt;a href="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.14/themes/trontastic/jquery-ui.css" rel="nofollow" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #0077cc; cursor: pointer; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;"&gt;Microsoft CDN&lt;/a&gt;&lt;/li&gt;
&lt;li style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline; word-wrap: break-word;"&gt;ui-darkness:&amp;nbsp;&lt;a href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.14/themes/ui-darkness/jquery-ui.css" rel="nofollow" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #0077cc; cursor: pointer; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;"&gt;Google CDN&lt;/a&gt;,&amp;nbsp;&lt;a href="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.14/themes/ui-darkness/jquery-ui.css" rel="nofollow" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #0077cc; cursor: pointer; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;"&gt;Microsoft CDN&lt;/a&gt;&lt;/li&gt;
&lt;li style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline; word-wrap: break-word;"&gt;ui-lightness:&amp;nbsp;&lt;a href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.14/themes/ui-lightness/jquery-ui.css" rel="nofollow" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #0077cc; cursor: pointer; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;"&gt;Google CDN&lt;/a&gt;,&amp;nbsp;&lt;a href="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.14/themes/ui-lightness/jquery-ui.css" rel="nofollow" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #0077cc; cursor: pointer; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;"&gt;Microsoft CDN&lt;/a&gt;&lt;/li&gt;
&lt;li style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline; word-wrap: break-word;"&gt;vader:&amp;nbsp;&lt;a href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.14/themes/vader/jquery-ui.css" rel="nofollow" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #0077cc; cursor: pointer; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;"&gt;Google CDN&lt;/a&gt;,&amp;nbsp;&lt;a href="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.14/themes/vader/jquery-ui.css" rel="nofollow" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #0077cc; cursor: pointer; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;"&gt;Microsoft CDN&lt;/a&gt;&lt;/li&gt;
&lt;/span&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3677570629102502022-8323255998587055989?l=phpa2z.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpa2z.blogspot.com/feeds/8323255998587055989/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3677570629102502022&amp;postID=8323255998587055989' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3677570629102502022/posts/default/8323255998587055989?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3677570629102502022/posts/default/8323255998587055989?v=2'/><link rel='alternate' type='text/html' href='http://phpa2z.blogspot.com/2011/08/using-javascript-libraries-via-google.html' title='Using Javascript libraries via Google and Microsoft CDN'/><author><name>Suriyan Suresh</name><uri>http://www.blogger.com/profile/11475195361266986729</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;DEcNQ3w_eSp7ImA9WhdRF0U.&quot;'><id>tag:blogger.com,1999:blog-3677570629102502022.post-3608644622994926619</id><published>2011-08-07T23:47:00.000-07:00</published><updated>2011-08-07T23:48:12.241-07:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2011-08-07T23:48:12.241-07:00</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='gzip'/><title>Enable GZIP in PHP Application</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Already i shown how to enable GZIP in YII Framework application, To enable GZIP in general PHP Application&amp;nbsp;include the below code at the top of the document you want to gzip:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="php" name="code"&gt;&amp;lt;?php
if( isset( $_SERVER['HTTP_ACCEPT_ENCODING'] ) &amp;amp;&amp;amp; substr_count( $_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip' ) )
&amp;nbsp;ob_start( 'ob_gzhandler' );
else
&amp;nbsp;ob_start();
?&amp;gt;
&lt;/pre&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3677570629102502022-3608644622994926619?l=phpa2z.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpa2z.blogspot.com/feeds/3608644622994926619/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3677570629102502022&amp;postID=3608644622994926619' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3677570629102502022/posts/default/3608644622994926619?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3677570629102502022/posts/default/3608644622994926619?v=2'/><link rel='alternate' type='text/html' href='http://phpa2z.blogspot.com/2011/08/enable-gzip-in-php-application.html' title='Enable GZIP in PHP Application'/><author><name>Suriyan Suresh</name><uri>http://www.blogger.com/profile/11475195361266986729</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;D0AGQXkyfip7ImA9WhdRF0U.&quot;'><id>tag:blogger.com,1999:blog-3677570629102502022.post-5451079657462946735</id><published>2011-08-07T23:42:00.000-07:00</published><updated>2011-08-07T23:42:00.796-07:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2011-08-07T23:42:00.796-07:00</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><title>Deleting files in server without any error using php</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;To delete files in server and avoid "denied access to file" error to unlink file. &lt;br /&gt;
&lt;br /&gt;
To delete file, you must to change file's owernship . &lt;br /&gt;
&lt;br /&gt;
An example: &lt;br /&gt;
&lt;br /&gt;
&lt;pre class="php" name="code"&gt;&amp;lt;?php
chown($TempDirectory."/".$FileName,666);
unlink($TempDirectory."/".$FileName);
?&amp;gt;
&lt;/pre&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3677570629102502022-5451079657462946735?l=phpa2z.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpa2z.blogspot.com/feeds/5451079657462946735/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3677570629102502022&amp;postID=5451079657462946735' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3677570629102502022/posts/default/5451079657462946735?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3677570629102502022/posts/default/5451079657462946735?v=2'/><link rel='alternate' type='text/html' href='http://phpa2z.blogspot.com/2011/08/deleting-files-in-server-without-any.html' title='Deleting files in server without any error using php'/><author><name>Suriyan Suresh</name><uri>http://www.blogger.com/profile/11475195361266986729</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;D0cMR30yeip7ImA9WhdRF0U.&quot;'><id>tag:blogger.com,1999:blog-3677570629102502022.post-764927605192465466</id><published>2011-08-07T23:11:00.000-07:00</published><updated>2011-08-07T23:31:26.392-07:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2011-08-07T23:31:26.392-07:00</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='minify'/><category scheme='http://www.blogger.com/atom/ns#' term='YII Framework'/><category scheme='http://www.blogger.com/atom/ns#' term='css'/><title>How to minify Javascript, CSS files automatically in YII Framework</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;br /&gt;
We are going to reduce the HTTP calls for resources files by merging several resources files into a single (or more) files, so that the application load faster. E Client Script can automatically detect the required list of files, and generate a unique filename hash, so boldly ease of use.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;CSS Files:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
CSS files are merged based on there media attribute, background images with a relative path in file can also be displayed correctly.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Script files:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Script files are merged based on their position, If you use the 'CClientScript::POS_HEAD' you will end up with a single file for all the script files you've used on that page.&lt;br /&gt;
&lt;br /&gt;
If you use 'CClientScript::POS_HEAD' and 'CClientScript::POS_END' for example then you'll end up with two files for each page on that request, Since those resources are located in different positions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Add the following code to components array in protected/config/main.php&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;Add to configuration:&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
First you have to download&amp;nbsp;&lt;a href="http://www.yiiframework.com/extension/eclientscript/"&gt;EClientScript&lt;/a&gt; extension&lt;br /&gt;
&lt;br /&gt;
&lt;pre name="code" class="js"&gt;&amp;nbsp;'clientScript' =&amp;gt; array(
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'class' =&amp;gt; 'ext.minify.EClientScript',
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'combineScriptFiles' =&amp;gt; true,
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'combineCssFiles' =&amp;gt; true,
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'optimizeCssFiles' =&amp;gt; true,
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'optimizeScriptFiles' =&amp;gt; false,
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ),
&lt;/js&gt;
&lt;/pre&gt;&lt;br /&gt;
Then you'd use the regular 'registerScriptFile' &amp;amp; 'registerCssFile' methods as normal and the files will be combined automatically&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3677570629102502022-764927605192465466?l=phpa2z.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpa2z.blogspot.com/feeds/764927605192465466/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3677570629102502022&amp;postID=764927605192465466' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3677570629102502022/posts/default/764927605192465466?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3677570629102502022/posts/default/764927605192465466?v=2'/><link rel='alternate' type='text/html' href='http://phpa2z.blogspot.com/2011/08/how-to-minify-javascript-css-files.html' title='How to minify Javascript, CSS files automatically in YII Framework'/><author><name>Suriyan Suresh</name><uri>http://www.blogger.com/profile/11475195361266986729</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;CE8DSXY5eSp7ImA9WhdRF0U.&quot;'><id>tag:blogger.com,1999:blog-3677570629102502022.post-1620432318406026690</id><published>2011-08-07T22:52:00.000-07:00</published><updated>2011-08-07T22:54:38.821-07:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2011-08-07T22:54:38.821-07:00</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='gzip'/><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='YII Framework'/><title>Enable GZIP in YII Application</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Just add the following lines to protected/config/main.php,&lt;br /&gt;
&lt;br /&gt;
add the below 2 lines after&amp;nbsp;&amp;nbsp; 'preload' =&amp;gt; array('log'),&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="php" name="code"&gt;'onBeginRequest' =&amp;gt; create_function('$event', 'return ob_start("ob_gzhandler");'),
'onEndRequest' =&amp;gt; create_function('$event', 'return ob_end_flush();'),
&lt;/pre&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3677570629102502022-1620432318406026690?l=phpa2z.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpa2z.blogspot.com/feeds/1620432318406026690/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3677570629102502022&amp;postID=1620432318406026690' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3677570629102502022/posts/default/1620432318406026690?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3677570629102502022/posts/default/1620432318406026690?v=2'/><link rel='alternate' type='text/html' href='http://phpa2z.blogspot.com/2011/08/enable-gzip-in-yii-application.html' title='Enable GZIP in YII Application'/><author><name>Suriyan Suresh</name><uri>http://www.blogger.com/profile/11475195361266986729</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;AkMASXc_eCp7ImA9WhdRF0U.&quot;'><id>tag:blogger.com,1999:blog-3677570629102502022.post-6293652477789435610</id><published>2011-08-07T22:31:00.000-07:00</published><updated>2011-08-08T00:27:28.940-07:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2011-08-08T00:27:28.940-07:00</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><title>Prevent right click in browser using  Javascript</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;br /&gt;
&lt;div style="text-align: left;"&gt;Just add the following code inbetween   section of your html file&lt;/div&gt;&lt;br /&gt;
&lt;pre class="js" name="code"&gt;&amp;nbsp;&amp;lt;script language="javascript"&amp;gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var message="Sorry, you do not have permission to right click.";
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; function RestrictIE(){
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (event.button==2){
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; alert(message);
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return false;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; function RestrictNS(e){
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (document.layers||document.getElementById&amp;amp;&amp;amp;!document.all){
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (e.which==2||e.which==3){
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; alert(message);
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return false;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (document.layers){
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; document.captureEvents(Event.MOUSEDOWN);
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; document.onmousedown=RestrictNS;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; else if (document.all&amp;amp;&amp;amp;!document.getElementById){
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; document.onmousedown=RestrictIE;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; document.oncontextmenu=new Function("alert(message);return false;")
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/script&amp;gt;
&lt;/pre&gt;&lt;br /&gt;
now you can test in your browser.&lt;br /&gt;
&lt;br /&gt;
TESTED WITH : IE 8.0, Firefox 3.5+, Chrome 12.0&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3677570629102502022-6293652477789435610?l=phpa2z.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpa2z.blogspot.com/feeds/6293652477789435610/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3677570629102502022&amp;postID=6293652477789435610' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3677570629102502022/posts/default/6293652477789435610?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3677570629102502022/posts/default/6293652477789435610?v=2'/><link rel='alternate' type='text/html' href='http://phpa2z.blogspot.com/2011/08/prevent-right-click-using-javascript.html' title='Prevent right click in browser using  Javascript'/><author><name>Suriyan Suresh</name><uri>http://www.blogger.com/profile/11475195361266986729</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;CEYBQHgzfip7ImA9WhdRFk4.&quot;'><id>tag:blogger.com,1999:blog-3677570629102502022.post-8800596633592454844</id><published>2011-08-06T04:58:00.000-07:00</published><updated>2011-08-06T05:02:31.686-07:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2011-08-06T05:02:31.686-07:00</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='WAMP'/><category scheme='http://www.blogger.com/atom/ns#' term='HTTPS'/><category scheme='http://www.blogger.com/atom/ns#' term='APACHE'/><title>Enable HTTPS in Apache localhost using  WAMP Server 2.1</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;b&gt;Step 1&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Download and install WAMP Server 2.1 from this &lt;a href="http://www.wampserver.com/en/download.php"&gt;link&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Step 2&lt;/b&gt;&lt;br /&gt;
Generate a SSL certificate&lt;br /&gt;
Generate Key&lt;br /&gt;
Go to command prompt (Start Menu-&amp;gt;Accessories-&amp;gt;Command Prompt) type&lt;br /&gt;
CD\&lt;br /&gt;
Then type&lt;br /&gt;
Type C:\wamp\bin\apache\Apache2.2.17\bin&lt;br /&gt;
Go to C:\wamp\bin\apache\Apache2.2.17\bin and run the following command:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="c" name="code"&gt;openssl req -new &amp;gt; webserver.csr&lt;/pre&gt;&lt;br /&gt;
The command runs and prompts you to enter a PEM pass phrase and verify it. Write down the phrase because you will need it later.&lt;br /&gt;
&lt;br /&gt;
It will then ask you to enter information that will be incorporated into your certificate request. When the command finishes, it has created several files, including privkey.pem, in&lt;br /&gt;
&lt;br /&gt;
C:\wamp\bin\apache\Apache2.2.17\bin.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Remove Passphrase&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;br /&gt;
Run the following command:&lt;br /&gt;
&lt;pre class="c" name="code"&gt;openssl rsa -in privkey.pem -out webserver.key&lt;/pre&gt;&lt;br /&gt;
You will be prompted for the pass phrase from the previous step. The RSA key is written and the file webserver.key is now available in the folder.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Convert Into Signed Certificate&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;br /&gt;
Run the following command to create a certificate which expires after one year:&lt;br /&gt;
&lt;pre class="c" name="code"&gt;openssl x509 -in webserver.csr -out webserver.cert -req -signkey webserver.key -days 365&lt;/pre&gt;&lt;br /&gt;
&lt;b&gt;Store Certificate Files&lt;/b&gt;&lt;br /&gt;
Create a folder ssl in &amp;nbsp;C:\wamp\bin\apache\Apache2.2.17\conf\ &amp;nbsp;copy all generated files to ssl&lt;br /&gt;
webserver.cert&lt;br /&gt;
webserver.csr&lt;br /&gt;
webserver.key&lt;br /&gt;
privkey.pem&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Step 3&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;Modify conf/extra/httpd-ssl.conf&lt;/b&gt;&lt;br /&gt;
Change the following lines, adjusting the email address and the paths to your settings:&lt;br /&gt;
&lt;br /&gt;
# General setup for the virtual host&lt;br /&gt;
&lt;pre class="c" name="code"&gt;SSLSessionCache "shmcb:C:/wamp/Apache/logs/ssl_scache(512000)"
 
SSLMutex default
 
# General setup for the virtual host

DocumentRoot "C:/wamp/www/"
ServerName localhost:443
ServerAdmin admin@example.com
ErrorLog "C:/wamp/logs/sslerror.log"
TransferLog "C:/wamp/logs/sslaccess.log"
 
SSLCertificateFile "conf/ssl/webserver.cert" 
SSLCertificateKeyFile "conf/ssl/webserver.key" 
 
CustomLog "C:/wamp/logs/sslrequest.log" \
"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Modify httpd.Conf&lt;/b&gt;&lt;br /&gt;
Make sure your secure site is part of the virtual hosts in Apache:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="c" name="code"&gt;# Secure (SSL/TLS) connections

#Include conf/extra/httpd-ssl.conf

Include conf/extra/httpd-ssl.conf
&lt;/pre&gt;&lt;br /&gt;
&lt;b&gt;Step 4&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Test https&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Run httpd –t and make sure the syntax is OK.&lt;br /&gt;
&lt;br /&gt;
Restart Apache.&lt;br /&gt;
&lt;br /&gt;
Check that port 443 is open by running the following in the command prompt:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="c" name="code"&gt;netstat -an | more
&lt;/pre&gt;Test the https connection from your browser and hopefully it works&lt;br /&gt;
&lt;br /&gt;
I found the article some where in WAMP forum and i made some changes to meet my requirement and fully functional, your feedback is welcome&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;TESTED&lt;/b&gt;&lt;br /&gt;
The above method tested using WAMP Server 2.1 in windows 7, does not applies to wamp1.7&amp;nbsp;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3677570629102502022-8800596633592454844?l=phpa2z.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpa2z.blogspot.com/feeds/8800596633592454844/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3677570629102502022&amp;postID=8800596633592454844' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3677570629102502022/posts/default/8800596633592454844?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3677570629102502022/posts/default/8800596633592454844?v=2'/><link rel='alternate' type='text/html' href='http://phpa2z.blogspot.com/2011/08/enable-https-in-apache-localhost-using.html' title='Enable HTTPS in Apache localhost using  WAMP Server 2.1'/><author><name>Suriyan Suresh</name><uri>http://www.blogger.com/profile/11475195361266986729</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;CkIMRXk-eyp7ImA9WhdRFUk.&quot;'><id>tag:blogger.com,1999:blog-3677570629102502022.post-7842191804226811661</id><published>2011-08-05T03:36:00.000-07:00</published><updated>2011-08-05T03:36:24.753-07:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2011-08-05T03:36:24.753-07:00</app:edited><title>Country database to use in web applications</title><content type='html'>you can freely use this country database in your projects  &lt;a href="https://sites.google.com/site/mysuriyan/country.txt?attredirects=0&amp;d=1"&gt;Download country database&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3677570629102502022-7842191804226811661?l=phpa2z.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpa2z.blogspot.com/feeds/7842191804226811661/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3677570629102502022&amp;postID=7842191804226811661' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3677570629102502022/posts/default/7842191804226811661?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3677570629102502022/posts/default/7842191804226811661?v=2'/><link rel='alternate' type='text/html' href='http://phpa2z.blogspot.com/2011/08/country-database-to-use-in-web.html' title='Country database to use in web applications'/><author><name>Suriyan Suresh</name><uri>http://www.blogger.com/profile/11475195361266986729</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;CE8DSXY5eSp7ImA9WhdRF0U.&quot;'><id>tag:blogger.com,1999:blog-3677570629102502022.post-4385670835012285610</id><published>2011-08-05T03:05:00.000-07:00</published><updated>2011-08-07T22:54:38.821-07:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2011-08-07T22:54:38.821-07:00</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='YII Framework'/><title>Module based login in YII Framework</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;b&gt;Module based login&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;What is module?&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
From YII Framework documentation&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;"A module is a self-contained software unit that consists of models, views, controllers and other supporting components. In many aspects, a module resembles to an application. The main difference is that a module cannot be deployed alone and it must reside inside of an application. Users can access the controllers in a module like they do with normal application controllers.&lt;br /&gt;
&lt;br /&gt;
Modules are useful in several scenarios. For a large-scale application, we may divide it into several modules, each being developed and maintained separately. Some commonly used features, such as user management, comment management, may be developed in terms of modules so that they can be reused easily in future projects."&lt;br /&gt;
&lt;br /&gt;
For example&lt;br /&gt;
admin users &amp;nbsp; = &amp;gt; index.php?r=admin/default/login&lt;br /&gt;
general users =&amp;gt;&amp;nbsp;index.php?r=user/default/login&lt;br /&gt;
&lt;br /&gt;
To add module based login to a site without using RBAC, please follow these guidelines.&lt;br /&gt;
Consider the situation where we want to add 3 types of login in a site: customer, dealer, and admin.&lt;br /&gt;
&lt;br /&gt;
Start by generating three modules using GII. (To do this, please refer to this guide for module generation &lt;a href="http://yiiframework.com/doc/guide/1.1/en/basics.module#creating-module"&gt;http://yiiframework.com/doc/guide/1.1/en/basics.module#creating-module&lt;/a&gt;)&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Step 1&lt;/b&gt;&lt;br /&gt;
Copy the UserIdentity component to the module/components folder for each module. We will validate each module against its table. For example, customer validation is done using customer table, and admin validation against the admin table&lt;br /&gt;
&lt;br /&gt;
For each module, change its UserIdentity authenticate() function to perform the appropriate validation.&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;Step 2&lt;/b&gt;&lt;br /&gt;
For each module, add the following lines to its main page. For example, for the Customer module, add to Customer/CustomerModule.php Add the following lines to init():&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="php" name="code"&gt;$this-&amp;gt;setComponents(array(
'errorHandler' =&amp;gt; array(
'errorAction' =&amp;gt; 'customer/default/error'),
'user' =&amp;gt; array(
'class' =&amp;gt; 'CWebUser',             
'loginUrl' =&amp;gt; Yii::app()-&amp;gt;createUrl('customer/default/login'),
)
));

Yii::app()-&amp;gt;user-&amp;gt;setStateKeyPrefix('_customer');
&lt;/pre&gt;&lt;br /&gt;
&lt;b&gt;Step 3&lt;/b&gt;&lt;br /&gt;
Create the login/logout action in each module's DefaultController.&lt;br /&gt;
For example, for the Customer module:&lt;br /&gt;
Create the actionLogin() in Customer/controllers/DefaultController.php.&lt;br /&gt;
Also, create actionLogout() as follows:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="php" name="code"&gt;public function actionLogout() {
Yii::app()-&amp;gt;user-&amp;gt;logout(false);
$this-&amp;gt;redirect(Yii::app()-&amp;gt;getModule('customer')-&amp;gt;user-&amp;gt;loginUrl);
}
&lt;/pre&gt;&lt;br /&gt;
&lt;b&gt;Point sub-domain to module&lt;/b&gt;&lt;br /&gt;
This tips from the forum URL Subdomain to module&lt;br /&gt;
There is a feature called "Parameterizing Hostnames" (described on this pages). add the following lines to main.php&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="php" name="code"&gt;'components' =&amp;gt; array(
...
'urlManager' =&amp;gt; array(
'rules' =&amp;gt; array(
'http://customer.example.com' =&amp;gt; 'customer/default/index',
'http://customer.example.com/login' =&amp;gt; 'customer/default/login',
),
),
...
),
&lt;/pre&gt;So "customer/default/index" refers to the module "customer" with controller "default" and action "index".&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;Update &lt;/b&gt;&lt;br /&gt;
Redirect to respective module login, if user not logged in to a particular model&lt;br /&gt;
add following code to customer module CustomerModule.php in beforeControllerAction&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="php" name="code"&gt;if(Yii::app()-&amp;gt;getModule('customer')-&amp;gt;user-&amp;gt;isGuest)
Yii::app()-&amp;gt;getModule('customer')-&amp;gt;user-&amp;gt;setReturnUrl('customer/default/login');
do the same for other module
in SiteController's site/login method
public function actionLogin() {
Yii::app()-&amp;gt;request-&amp;gt;redirect(Yii::app()-&amp;gt;createUrl(Yii::app()-&amp;gt;user-&amp;gt;returnUrl));
}
&lt;/pre&gt;(or)&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Another method(Recommended)&lt;/b&gt;&lt;br /&gt;
Redirect to respective module login, if user not logged in to a particular model&lt;br /&gt;
add following code to customer module CustomerModule.php&lt;br /&gt;
&lt;pre class="php" name="code"&gt;public function beforeControllerAction($controller, $action) {
if (parent::beforeControllerAction($controller, $action)) {
// this method is called before any module controller action is performed
// you may place customized code here
$route = $controller-&amp;gt;id . '/' . $action-&amp;gt;id;
// echo $route;
$publicPages = array(
'default/login',
'default/error',
);
if (Yii::app()-&amp;gt;user-&amp;gt;isGuest &amp;amp;&amp;amp; !in_array($route, $publicPages)){            
Yii::app()-&amp;gt;getModule('customer')-&amp;gt;user-&amp;gt;loginRequired();                
}
else
return true;
}
else
return false;
}
&lt;/pre&gt;&lt;br /&gt;
do the same for other module&lt;br /&gt;
Thanks to ricardograna for sharing some configurations&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3677570629102502022-4385670835012285610?l=phpa2z.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpa2z.blogspot.com/feeds/4385670835012285610/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3677570629102502022&amp;postID=4385670835012285610' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3677570629102502022/posts/default/4385670835012285610?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3677570629102502022/posts/default/4385670835012285610?v=2'/><link rel='alternate' type='text/html' href='http://phpa2z.blogspot.com/2011/08/module-based-login.html' title='Module based login in YII Framework'/><author><name>Suriyan Suresh</name><uri>http://www.blogger.com/profile/11475195361266986729</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;AkcERns6eSp7ImA9Wx5SFU4.&quot;'><id>tag:blogger.com,1999:blog-3677570629102502022.post-7434076948658808049</id><published>2010-08-11T07:37:00.000-07:00</published><updated>2010-08-11T07:46:47.511-07:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2010-08-11T07:46:47.511-07:00</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='FTP'/><category scheme='http://www.blogger.com/atom/ns#' term='FileZilla'/><title>Restrict unwanted files upload by using FileZilla</title><content type='html'>By using filters in filezilla we can avoid unwanted files in remote server&lt;br /&gt;&lt;h1&gt;&lt;span class="mw-headline"&gt;Showing Filters &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_XqlX9SC-BiI/TGK22uqnr7I/AAAAAAAAADw/4Bmd3__vZYY/s1600/filename+filters.jpg"&gt;&lt;br /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/h1&gt; &lt;p&gt;To show and configure filters:  &lt;/p&gt;     select "View &gt; Filename filters...".   &lt;p&gt;This will bring up the 'Directory listing filters' dialog box, that shows :  &lt;/p&gt; &lt;ul&gt;&lt;li&gt; on the left side : the local filters  &lt;/li&gt;&lt;li&gt; on the right side : the remote filters.  &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Multiple filters may be active at a time — those filters that are active will have a check next to them.&lt;/p&gt;&lt;h1&gt;&lt;span&gt;&lt;span class="mw-headline"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_XqlX9SC-BiI/TGK22uqnr7I/AAAAAAAAADw/4Bmd3__vZYY/s1600/filename+filters.jpg"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 298px;" src="http://2.bp.blogspot.com/_XqlX9SC-BiI/TGK22uqnr7I/AAAAAAAAADw/4Bmd3__vZYY/s320/filename+filters.jpg" alt="" id="BLOGGER_PHOTO_ID_5504162745956151218" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h1&gt;We can add/edit/delete filters by clicking edit filters button&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_XqlX9SC-BiI/TGK3hr2xwrI/AAAAAAAAAD4/zDW-AAZDUlo/s1600/filename+filters1.jpg"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 232px;" src="http://4.bp.blogspot.com/_XqlX9SC-BiI/TGK3hr2xwrI/AAAAAAAAAD4/zDW-AAZDUlo/s320/filename+filters1.jpg" alt="" id="BLOGGER_PHOTO_ID_5504163483936211634" border="0" /&gt;&lt;/a&gt;once you have finished click apply that's all&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3677570629102502022-7434076948658808049?l=phpa2z.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpa2z.blogspot.com/feeds/7434076948658808049/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3677570629102502022&amp;postID=7434076948658808049' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3677570629102502022/posts/default/7434076948658808049?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3677570629102502022/posts/default/7434076948658808049?v=2'/><link rel='alternate' type='text/html' href='http://phpa2z.blogspot.com/2010/08/restrict-temporary-file-upload-while.html' title='Restrict unwanted files upload by using FileZilla'/><author><name>Suriyan Suresh</name><uri>http://www.blogger.com/profile/11475195361266986729</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_XqlX9SC-BiI/TGK22uqnr7I/AAAAAAAAADw/4Bmd3__vZYY/s72-c/filename+filters.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;D0cMR30yeyp7ImA9WhdRF0U.&quot;'><id>tag:blogger.com,1999:blog-3677570629102502022.post-7717457053167739789</id><published>2010-08-09T22:22:00.000-07:00</published><updated>2011-08-07T23:31:26.393-07:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2011-08-07T23:31:26.393-07:00</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='IE'/><category scheme='http://www.blogger.com/atom/ns#' term='content-type'/><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='header'/><title>Fixing Internet explorer Content-type and Content-Disposition issues using PHP</title><content type='html'>When you add download files option to your pages using PHP. you need to use following code to fix IE related issues&lt;br /&gt;&lt;br /&gt;$filename = "myfile" . ".doc";&lt;br /&gt;header('Content-Type: application/msword');&lt;br /&gt;header('Expires: ' . gmdate('D, d M Y H:i:s') . 'GMT');&lt;br /&gt;header('Content-Disposition: attachment; filename="' . $filename . '"');&lt;br /&gt;&lt;br /&gt;if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE')) {&lt;br /&gt; header('Cache-Control: must-revalidate, post-check=0, pre-check=0');&lt;br /&gt; header('Pragma: public');&lt;br /&gt;} else {&lt;br /&gt; header('Pragma: no-cache');&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3677570629102502022-7717457053167739789?l=phpa2z.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpa2z.blogspot.com/feeds/7717457053167739789/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3677570629102502022&amp;postID=7717457053167739789' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3677570629102502022/posts/default/7717457053167739789?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3677570629102502022/posts/default/7717457053167739789?v=2'/><link rel='alternate' type='text/html' href='http://phpa2z.blogspot.com/2010/08/fixing-internet-explorer-content-type.html' title='Fixing Internet explorer Content-type and Content-Disposition issues using PHP'/><author><name>Suriyan Suresh</name><uri>http://www.blogger.com/profile/11475195361266986729</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;D0cMR30yeyp7ImA9WhdRF0U.&quot;'><id>tag:blogger.com,1999:blog-3677570629102502022.post-8131257146300360906</id><published>2008-07-21T21:17:00.000-07:00</published><updated>2011-08-07T23:31:26.393-07:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2011-08-07T23:31:26.393-07:00</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='URL'/><category scheme='http://www.blogger.com/atom/ns#' term='Clean URL'/><title>Clean URL</title><content type='html'>&lt;span style="font-weight: bold;font-family:arial;" &gt;&lt;br /&gt;&lt;a href="http://www.contentwithstyle.co.uk/Articles/64/"&gt;Clean URLs for a better search engine ranking From : Content with style&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Search engines are often key to the successful promotion and running of your website, with high traffic making or breaking your online business. To maximise the visibility of your site in the organic listings of the biggest search engines it is important to strategically work out how keywords are used.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;While link building (placing links to the site or from the site) and, most importantly, writing useful content form the foundation of search engine rankings, some careful attention to how your site treats URLs will influence its ranking massively.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a style="color: rgb(255, 0, 0); font-family: arial;" href="http://www.contentwithstyle.co.uk/Articles/64/"&gt;Read More&gt;&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div  id="title" style="font-family:arial;"&gt;&lt;h1&gt;&lt;span style="font-size:78%;"&gt;&lt;a href="http://agachi.name/weblog/archives/2005/01/30/rewriting-dynamic-urls-into-friendly-urls.htm"&gt;Rewriting dynamic URLs into friendly URLs&lt;/a&gt;&lt;/span&gt;&lt;/h1&gt;&lt;/div&gt;  &lt;!-- google_ad_section_start --&gt; &lt;script type="text/javascript" src="http://agachi.name/lib/SHL/shCore.js"&gt;&lt;/script&gt;&lt;script type="text/javascript" src="http://agachi.name/lib/SHL/shBrushPhp.js"&gt;&lt;/script&gt;&lt;script type="text/javascript"&gt;icd_onload_register(function(){ dp.SyntaxHighlighter.HighlightAll(); });&lt;/script&gt;&lt;div style="font-family: arial;" class="preview"&gt;&lt;p&gt;Let's suppose you are building a small database driven website or web-based application which you need search engine covery for. And this isn't the only reason why you would choose to create a web application with &lt;b&gt;search engine friendly URLs&lt;/b&gt;. Another important aspect is the usability of this feature. To achieve this, you could use Apache's mod-rewrite module. This would be one way. Another way would be to implement a sort of URL rewrite engine into your web application's engine.&lt;/p&gt;&lt;p&gt;&lt;a style="color: rgb(255, 0, 0);" href="http://agachi.name/weblog/archives/2005/01/30/rewriting-dynamic-urls-into-friendly-urls.htm"&gt;Read More&gt;&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;h1 style="font-weight: normal;"&gt;&lt;span style="font-size:78%;"&gt;&lt;a href="http://www.merges.net/theory/20010305.html"&gt;How to make URLs user-friendly&lt;/a&gt;&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;One of the worst elements of the web from a user interface standpoint is the URL. However, if they're short, logical, and self-correcting, URLs can be acceptably usable.&lt;/p&gt;&lt;p style="color: rgb(255, 0, 0);"&gt;&lt;a href="http://www.merges.net/theory/20010305.html"&gt;Read more&gt;&gt;&lt;/a&gt;&lt;/p&gt;&lt;h1 style="font-weight: normal;" class="content-title"&gt;&lt;span style="font-size:78%;"&gt;&lt;a href="http://www.evolt.org/article/Making_clean_URLs_with_Apache_and_PHP/18/22880/"&gt;Making "clean" URLs with Apache and PHP&lt;/a&gt;&lt;/span&gt;&lt;/h1&gt;&lt;/div&gt;&lt;span style="font-family:arial;"&gt;Nowadays we almost systematically create database-generated websites. &lt;/span&gt;&lt;acronym style="font-family: arial;" title="Universal Resource Locators"&gt;URLs&lt;/acronym&gt;&lt;span style="font-family:arial;"&gt;  are thus written on-the-fly and we usually call pages through query string, like:&lt;/span&gt;&lt;br /&gt;&lt;p style="font-family: arial;"&gt; &lt;code title="http://example.com/index.php?type=article&amp;amp;id=25&amp;amp;date_written=20020322"&gt;http://example.com/index.php?type=article&amp;amp;id=25&amp;amp;date_written=20020322&lt;/code&gt;. &lt;/p&gt;  &lt;p style="font-family: arial;"&gt; What I call "clean" URLs is what you can see on &lt;a href="http://evolt.org/" target="_blank" title="you are here - opens in a new window"&gt;evolt.org&lt;/a&gt;, for instance. In my example the URL would be:&lt;br /&gt;&lt;code title="http://example.com/article/200203226"&gt;http://example.com/article/200203226&lt;/code&gt;.&lt;br /&gt;&lt;/p&gt;&lt;p style="font-family: arial;"&gt;&lt;a style="color: rgb(255, 0, 0);" href="http://www.evolt.org/article/Making_clean_URLs_with_Apache_and_PHP/18/22880/"&gt;Read more &gt;&gt;&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3677570629102502022-8131257146300360906?l=phpa2z.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpa2z.blogspot.com/feeds/8131257146300360906/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3677570629102502022&amp;postID=8131257146300360906' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3677570629102502022/posts/default/8131257146300360906?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3677570629102502022/posts/default/8131257146300360906?v=2'/><link rel='alternate' type='text/html' href='http://phpa2z.blogspot.com/2008/07/clean-url.html' title='Clean URL'/><author><name>Suriyan Suresh</name><uri>http://www.blogger.com/profile/11475195361266986729</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>