<?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/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5699179415075283063</id><updated>2012-01-11T00:51:28.002-08:00</updated><category term='Wordpress'/><category term='integrate'/><category term='pager'/><category term='C'/><category term='strophejs'/><category term='Windows'/><category term='Radiobutton'/><category term='Form'/><category term='query'/><category term='trophyim'/><category term='firefox'/><category term='ObjectHelper'/><category term='css'/><category term='js'/><category term='window'/><category term='Questions'/><category term='calander'/><category term='Flex'/><category term='myspace'/><category term='Creole'/><category term='utility'/><category term='facebook'/><category term='IE7'/><category term='jsjac'/><category term='java'/><category term='codeigniter'/><category term='browser check'/><category term='toolbar'/><category term='Design'/><category term='XML'/><category term='Jabber'/><category term='pdf'/><category term='SChannel'/><category term='custom'/><category term='XML conversion'/><category term='html'/><category term='raw'/><category term='Search Engine'/><category term='version control'/><category term='Google Query'/><category term='Propel'/><category term='ajax.phpedit'/><category term='Retrieving'/><category term='checkbox items'/><category term='google app engine'/><category term='Twitter'/><category term='GNUTLS'/><category term='javascript'/><category term='subqueries'/><category term='Helper'/><category term='Date'/><category term='OpenSSL'/><category term='web applications'/><category term='skype'/><category term='Interview'/><category term='Programming'/><category term='multiple itms'/><category term='Picker'/><category term='social networking'/><category term='frameworks'/><category term='plugin'/><category term='OOPS'/><category term='OR'/><category term='chat'/><category term='Link'/><category term='dropdown list'/><category term='phpBB2'/><category term='IM'/><category term='Records'/><category term='update'/><category term='ajax scripts'/><category term='debug'/><category term='primary key'/><category term='IE6'/><category term='Chat Client'/><category term='php'/><category term='Symfony 1.1'/><category term='ajax'/><category term='ejabberd'/><category term='XMPP'/><category term='Google Check Out : Using Sandbox for Testing'/><category term='link_to UrlHelper'/><category term='Google'/><category term='Action'/><category term='JAXL'/><category term='Response XML'/><category term='pagination'/><category term='wikipedia'/><category term='Features'/><category term='SASL'/><category term='sql'/><category term='SQL Query'/><category term='link_to'/><category term='symfony'/><category term='Time'/><category term='ejabbered'/><category term='TLS'/><category term='Strophe'/><category term='Criteria'/><category term='link_to_remote'/><title type='text'>Technical Blog: Symfony, PHP, JavaScript</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://symfonyhelp.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5699179415075283063/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://symfonyhelp.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Rajeev</name><uri>http://www.blogger.com/profile/09442025840798063075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_M3AgJ8-TiII/TU0tBZ3wSTI/AAAAAAAAAog/WzvygeezO1c/s220/165649_125059220894331_100001707608385_140654_3449754_n.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>35</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5699179415075283063.post-9059409228884876769</id><published>2009-10-07T23:42:00.000-07:00</published><updated>2009-10-07T23:51:51.420-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XML conversion'/><category scheme='http://www.blogger.com/atom/ns#' term='Response XML'/><category scheme='http://www.blogger.com/atom/ns#' term='XML'/><category scheme='http://www.blogger.com/atom/ns#' term='html'/><title type='text'>XML to HTML</title><content type='html'>Hi,&lt;br /&gt;How can we convert XML datas into an HTML file?&lt;br /&gt;Simple.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step1: &lt;/span&gt;&lt;br /&gt;Name the xml files as example.xml&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step2: &lt;/span&gt;The xml data should be like this. There will be CD tag which is used for conversion.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;?xml version="1.0" encoding="ISO-8859-1"?&amp;gt;&lt;br /&gt;&amp;lt;!-- Edited by XMLSpy® --&amp;gt;&lt;br /&gt;&amp;lt;CATALOG&amp;gt;&lt;br /&gt;    &amp;lt;CD&amp;gt;&lt;br /&gt;        &amp;lt;TITLE&amp;gt;Empire Burlesque&amp;lt;/TITLE&amp;gt;&lt;br /&gt;        &amp;lt;ARTIST&amp;gt;Bob Dylan&amp;lt;/ARTIST&amp;gt;&lt;br /&gt;        &amp;lt;COUNTRY&amp;gt;USA&amp;lt;/COUNTRY&amp;gt;&lt;br /&gt;        &amp;lt;COMPANY&amp;gt;Columbia&amp;lt;/COMPANY&amp;gt;&lt;br /&gt;        &amp;lt;PRICE&amp;gt;10.90&amp;lt;/PRICE&amp;gt;&lt;br /&gt;        &amp;lt;YEAR&amp;gt;1985&amp;lt;/YEAR&amp;gt;&lt;br /&gt;    &amp;lt;/CD&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step3: Create an HTML file as test.html&lt;/span&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;html&amp;gt;&lt;br /&gt;&amp;lt;body&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;script type="text/javascript"&amp;gt;&lt;br /&gt;if (window.XMLHttpRequest)&lt;br /&gt;  {&lt;br /&gt;  xhttp=new window.XMLHttpRequest();&lt;br /&gt;  }&lt;br /&gt;else // Internet Explorer 5/6&lt;br /&gt;  {&lt;br /&gt;  xhttp=new ActiveXObject("Microsoft.XMLHTTP");&lt;br /&gt;  }&lt;br /&gt;xhttp.open("GET","example.xml",false);&lt;br /&gt;xhttp.send("");&lt;br /&gt;xmlDoc=xhttp.responseXML;&lt;br /&gt;&lt;br /&gt;document.write("&amp;lt;table border='1'&amp;gt;");&lt;br /&gt;var x=xmlDoc.getElementsByTagName("CD");&lt;br /&gt;for (i=0;i&amp;lt;x.length;i++)&lt;br /&gt;  {&lt;br /&gt;  document.write("&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;");&lt;br /&gt;  document.write(x[i].getElementsByTagName("ARTIST")[0].childNodes[0].nodeValue);&lt;br /&gt;  document.write("&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;");&lt;br /&gt;  document.write(x[i].getElementsByTagName("TITLE")[0].childNodes[0].nodeValue);&lt;br /&gt;  document.write("&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;");&lt;br /&gt;  }&lt;br /&gt;document.write("&amp;lt;/table&amp;gt;");&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/body&amp;gt;&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step5&lt;/span&gt;: Run the test.html file,,and see the XML datas inside the CD tag will be converted into HTML table.&lt;br /&gt;For more details... &lt;a href="http://www.w3schools.com/xml/xml_to_html.asp"&gt;Here is the link &lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5699179415075283063-9059409228884876769?l=symfonyhelp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://symfonyhelp.blogspot.com/feeds/9059409228884876769/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://symfonyhelp.blogspot.com/2009/10/xml-to-html.html#comment-form' title='38 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5699179415075283063/posts/default/9059409228884876769'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5699179415075283063/posts/default/9059409228884876769'/><link rel='alternate' type='text/html' href='http://symfonyhelp.blogspot.com/2009/10/xml-to-html.html' title='XML to HTML'/><author><name>Rajeev</name><uri>http://www.blogger.com/profile/09442025840798063075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_M3AgJ8-TiII/TU0tBZ3wSTI/AAAAAAAAAog/WzvygeezO1c/s220/165649_125059220894331_100001707608385_140654_3449754_n.jpg'/></author><thr:total>38</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5699179415075283063.post-1124266063155858352</id><published>2009-10-07T00:07:00.000-07:00</published><updated>2009-10-07T00:37:51.056-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Google Check Out : Using Sandbox for Testing'/><title type='text'>Google Check Out : Using Sandbox for Testing</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Step1: &lt;/span&gt; We need to Create two gmail accounts for “Buyer” and “Merchant”. For example: samplebuyer@gmail.com and samplemerchant@gmail.com .&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step2: &lt;/span&gt; We need to create Sandbox Merchant and Buyer Accounts.&lt;br /&gt;·    Create a Sandbox buyer account with samplebuyer@gmail.com at http://sandbox.google.com/checkout&lt;br /&gt;·    Create a Sandbox merchant account with samplemerchant@gmail.com  at http://sandbox.google.com/checkout/sell/&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step3:&lt;/span&gt;  Follow these guidelines when setting up your test accounts:&lt;br /&gt;&lt;span style="font-style: italic;"&gt;·    Name - Enter any text &lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;·    Billing Address - Enter any text &lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;·    City/Town - Enter any text &lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;·    State - Choose any state or territory from the menu &lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;·    Zip Code - Enter any valid five-digit or nine-digit zip code for the given state (the range of correct values is specified in the balloon help that appears) &lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;·    Phone Number - Enter a 10-digit number. For U.S. accounts, the first three digits must be a valid area code. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;·    Federal tax ID - Enter any 9 digits &lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;·    Social Security number - Enter any 9 digits &lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;·    Card Number - Use one of the credit card numbers in the following table: &lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Card Type    Card Number    Expiration Date    CVC&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;American Express(see Note 1)    3782 8224 6310 005    any future date    any four digits&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Discover    6011 1111 1111 1117    any future date    any three digits&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;MasterCard    5555 5555 5555 4444    any future date    any three digits&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;VISA    4111 1111 1111 1111    any future date    any three digits&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step4: &lt;/span&gt; After creating both sandbox accounts, we can Integrate our website with Google Checkout.&lt;br /&gt;For adding a “Buy now button” into our site, we need to generate it using this link by Sign in using   merchant account  https://sandbox.google.com/checkout/sell2/settings?section=BuyNowButton&lt;br /&gt;This will create a sample code, which is a form,,and the action will pointed to sandbox google check out.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step5: &lt;/span&gt;Paste these code in an HTML page. By clicking it will redirect to Google check out page. Sign in using the samplebuyer@gmail.com and shop the product. Check the mail boxes of both accounts for getting the transaction details.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step6: &lt;/span&gt; Thats all for a sample Google Check Out process. Now the Check out process  happens between the Merchant and the buyer. For getting that response, Google Check out helps to provide a API Call back URL. Google will sent Check Out responses to this URL.  For that we need to Sign in using “samplemerchant@gmai.com”  to this link  https://sandbox.google.com/checkout/sell/settings?section=Integration&lt;br /&gt;Provide a cal back URL here For example:  http://oursite.com/checkout&lt;br /&gt;After completing the Google Check Out process, Google will hit on this http://oursite.com/checkout  for giving the XML or HTML response with all Check Out details&lt;br /&gt;&lt;br /&gt;Use this link for Getting response&lt;br /&gt;http://code.google.com/p/google-checkout-php-sample-code/wiki/Documentation&lt;br /&gt;&lt;br /&gt;--------------------------- Check these links---------------------&lt;br /&gt;·    http://code.google.com/apis/checkout/developer/Google_Checkout_Basic_HTML_Sandbox.html&lt;br /&gt;·    http://code.google.com/p/google-checkout-php-sample-code/wiki/Documentation&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5699179415075283063-1124266063155858352?l=symfonyhelp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://symfonyhelp.blogspot.com/feeds/1124266063155858352/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://symfonyhelp.blogspot.com/2009/10/google-check-out-using-sandbox-for.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5699179415075283063/posts/default/1124266063155858352'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5699179415075283063/posts/default/1124266063155858352'/><link rel='alternate' type='text/html' href='http://symfonyhelp.blogspot.com/2009/10/google-check-out-using-sandbox-for.html' title='Google Check Out : Using Sandbox for Testing'/><author><name>Rajeev</name><uri>http://www.blogger.com/profile/09442025840798063075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_M3AgJ8-TiII/TU0tBZ3wSTI/AAAAAAAAAog/WzvygeezO1c/s220/165649_125059220894331_100001707608385_140654_3449754_n.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5699179415075283063.post-5533310617290493986</id><published>2009-07-14T00:29:00.000-07:00</published><updated>2009-07-14T00:34:31.852-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='symfony'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><category scheme='http://www.blogger.com/atom/ns#' term='codeigniter'/><title type='text'>Will codeigniter??</title><content type='html'>An easy approach,,thats CodeIgniter.. Compared to Symfony, it is very simple and easy to integrate...&lt;br /&gt;Check the &lt;a href="http://codeigniter.com/user_guide/toc.html"&gt;Documentations&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5699179415075283063-5533310617290493986?l=symfonyhelp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://symfonyhelp.blogspot.com/feeds/5533310617290493986/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://symfonyhelp.blogspot.com/2009/07/will-codeigniter.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5699179415075283063/posts/default/5533310617290493986'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5699179415075283063/posts/default/5533310617290493986'/><link rel='alternate' type='text/html' href='http://symfonyhelp.blogspot.com/2009/07/will-codeigniter.html' title='Will codeigniter??'/><author><name>Rajeev</name><uri>http://www.blogger.com/profile/09442025840798063075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_M3AgJ8-TiII/TU0tBZ3wSTI/AAAAAAAAAog/WzvygeezO1c/s220/165649_125059220894331_100001707608385_140654_3449754_n.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5699179415075283063.post-6676869044998997407</id><published>2009-06-18T20:48:00.000-07:00</published><updated>2009-06-18T21:03:02.252-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Jabber'/><category scheme='http://www.blogger.com/atom/ns#' term='ejabberd'/><category scheme='http://www.blogger.com/atom/ns#' term='strophejs'/><category scheme='http://www.blogger.com/atom/ns#' term='Strophe'/><category scheme='http://www.blogger.com/atom/ns#' term='trophyim'/><category scheme='http://www.blogger.com/atom/ns#' term='IM'/><category scheme='http://www.blogger.com/atom/ns#' term='chat'/><category scheme='http://www.blogger.com/atom/ns#' term='XMPP'/><title type='text'>Integrate Strophe IM into your symfony application</title><content type='html'>Hi all,&lt;br /&gt;&lt;br /&gt;This is a brief procedure for integrating an IM application. Please read the links which are given below. And use the documentations in those sites properly.&lt;br /&gt;&lt;br /&gt;Here are the steps for using an IM application into your symfony application (LAMP).&lt;br /&gt;-------------------------------------------------------&lt;br /&gt;1) XMPP is the protocol which is used for chat/IM applications. For using this, have to set up an Jabber/XMPP server and XMPP client. I used &lt;a href="http://www.ejabberd.im/"&gt;ejabberd&lt;/a&gt; :  server and &lt;a href="http://code.google.com/p/trophyim/"&gt;TrophyIM&lt;/a&gt; : (Which is a library developed based on Strophe) as client.&lt;br /&gt;&lt;br /&gt;2) Follow these urls while setting up the ejabbered server&lt;br /&gt;&lt;a href="http://www.ejabberd.im/jwchat-apache"&gt;  Link1&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.ejabberd.im/jwchat-localserver"&gt;Link2&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;3) Download the &lt;a href="http://code.google.com/p/trophyim/"&gt;TrophyIM&lt;/a&gt;   and set the TROPHYIM_BOSH_SERVICE in the trophyim.js file as your http-bind server.&lt;br /&gt;&lt;br /&gt;4) Add two users in the ejabberd admin&lt;br /&gt;&lt;br /&gt;5) copy all the TrophyIM files into web folder in your symfony application.&lt;br /&gt;&lt;br /&gt;6) run the index.html in your tempalets and login using the registered users from the ejabberd admin&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Thanks.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5699179415075283063-6676869044998997407?l=symfonyhelp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://symfonyhelp.blogspot.com/feeds/6676869044998997407/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://symfonyhelp.blogspot.com/2009/06/integrate-strophe-im-into-your-symfony.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5699179415075283063/posts/default/6676869044998997407'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5699179415075283063/posts/default/6676869044998997407'/><link rel='alternate' type='text/html' href='http://symfonyhelp.blogspot.com/2009/06/integrate-strophe-im-into-your-symfony.html' title='Integrate Strophe IM into your symfony application'/><author><name>Rajeev</name><uri>http://www.blogger.com/profile/09442025840798063075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_M3AgJ8-TiII/TU0tBZ3wSTI/AAAAAAAAAog/WzvygeezO1c/s220/165649_125059220894331_100001707608385_140654_3449754_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5699179415075283063.post-795993121630934999</id><published>2009-06-16T05:03:00.000-07:00</published><updated>2009-06-16T05:17:58.364-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Jabber'/><category scheme='http://www.blogger.com/atom/ns#' term='strophejs'/><category scheme='http://www.blogger.com/atom/ns#' term='Strophe'/><category scheme='http://www.blogger.com/atom/ns#' term='pdf'/><category scheme='http://www.blogger.com/atom/ns#' term='XMPP'/><title type='text'>Strophe : Jabber client Library</title><content type='html'>When coming to select a jabber client library , I prefer Strophe than Jwchat. Both are working on JavaScript. But Strophe is much more simple than JW chat. After all, Strophe has good and simple documentation for both API and Working.&lt;br /&gt;Here is the documentations, Check this...&lt;br /&gt;&lt;a href="http://people.chesspark.com/%7Ejack/strophe-preview/doc/files/strophe-js.html#Strophe.escapeJid"&gt;Documentation API &lt;/a&gt;&lt;br /&gt;AND&lt;br /&gt;&lt;a href="http://blog.xmpp.org/wp-content/uploads/2009/03/xmpp-web-applications-with-strophe.pdf"&gt;Working &lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5699179415075283063-795993121630934999?l=symfonyhelp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://symfonyhelp.blogspot.com/feeds/795993121630934999/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://symfonyhelp.blogspot.com/2009/06/strophe-jabber-client-library.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5699179415075283063/posts/default/795993121630934999'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5699179415075283063/posts/default/795993121630934999'/><link rel='alternate' type='text/html' href='http://symfonyhelp.blogspot.com/2009/06/strophe-jabber-client-library.html' title='Strophe : Jabber client Library'/><author><name>Rajeev</name><uri>http://www.blogger.com/profile/09442025840798063075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_M3AgJ8-TiII/TU0tBZ3wSTI/AAAAAAAAAog/WzvygeezO1c/s220/165649_125059220894331_100001707608385_140654_3449754_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5699179415075283063.post-5635270478215002165</id><published>2009-06-16T03:20:00.000-07:00</published><updated>2009-06-16T03:31:54.163-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='Jabber'/><category scheme='http://www.blogger.com/atom/ns#' term='Strophe'/><category scheme='http://www.blogger.com/atom/ns#' term='trophyim'/><category scheme='http://www.blogger.com/atom/ns#' term='IM'/><category scheme='http://www.blogger.com/atom/ns#' term='chat'/><category scheme='http://www.blogger.com/atom/ns#' term='ejabbered'/><category scheme='http://www.blogger.com/atom/ns#' term='XMPP'/><title type='text'>trophyim
A JavaScript Jabber client</title><content type='html'>&lt;span class="cssSelector"&gt;&lt;/span&gt;TrophyIM is a Jabber (XMPP) client built on top of strophe (&lt;a href="http://code.stanziq.com/strophe/" rel="nofollow"&gt;http://code.stanziq.com/strophe/&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;&lt;div class="clear inset"&gt;         &lt;p&gt;TrophyIM is a Jabber (XMPP) client built on top of strophe (http://code.stanziq.com/strophe/). &lt;/p&gt;                  &lt;p&gt;It is cross-browser compliant and should work in the newer versions of all the major browsers (IE, Firefox, Safari, Opera). &lt;/p&gt;                  &lt;p&gt;Click the source tab to check out the code itself, or you can download the current pre-release version (0.3). Check for the link to your right. &lt;/p&gt;                  &lt;p&gt;Installation: simply put trophyim.js in the same directory as your page, add to the header, and put a tag in your page wherever you want the client to load. TrophyIM will handle the rest, including loading strophe, which should be installed in ./strophejs/ relative to where TrophyIM is installed. &lt;/p&gt;                  &lt;p&gt;Feel free to IM me with any questions or comments, my jabber id is gar AT netflint.net &lt;/p&gt;                  &lt;p&gt;If you'd like to get a sense of where the project is, you can check out the more-or-less current working revision at http://trophy.im/&lt;/p&gt;       &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5699179415075283063-5635270478215002165?l=symfonyhelp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://symfonyhelp.blogspot.com/feeds/5635270478215002165/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://symfonyhelp.blogspot.com/2009/06/trophyim-javascript-jabber-client.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5699179415075283063/posts/default/5635270478215002165'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5699179415075283063/posts/default/5635270478215002165'/><link rel='alternate' type='text/html' href='http://symfonyhelp.blogspot.com/2009/06/trophyim-javascript-jabber-client.html' title='trophyim&#xA;A JavaScript Jabber client'/><author><name>Rajeev</name><uri>http://www.blogger.com/profile/09442025840798063075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_M3AgJ8-TiII/TU0tBZ3wSTI/AAAAAAAAAog/WzvygeezO1c/s220/165649_125059220894331_100001707608385_140654_3449754_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5699179415075283063.post-3675074070850000764</id><published>2009-05-28T23:48:00.000-07:00</published><updated>2009-05-28T23:55:47.345-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='symfony'/><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='link_to UrlHelper'/><category scheme='http://www.blogger.com/atom/ns#' term='window'/><category scheme='http://www.blogger.com/atom/ns#' term='link_to'/><title type='text'>link_to UrlHelper</title><content type='html'>In my application, I need one requirement that, when clicking on a link, it will open into a new window. But I am confused how I can do using link_to ( Url helper tag, which is used in Symfony). After searching it on Google I got the answer. Might be look like simple, "popup"=&gt;"true"; this is the code that we have to add on the link_to. And also I would like to share some additional URL helper informations in this Post. Hope that this will useful for some one..&lt;br /&gt;&lt;h4&gt;Options&lt;/h4&gt; &lt;ul&gt;&lt;li&gt;&lt;tt&gt;:confirm =&gt; 'question?'&lt;/tt&gt; - This will add a JavaScript confirm prompt with the question specified. If the user accepts, the link is processed normally, otherwise no action is taken.  &lt;/li&gt;&lt;li&gt;&lt;tt&gt;:popup =&gt; true || array of window options&lt;/tt&gt; - This will force the link to open in a popup window. By passing true, a default browser window will be opened with the URL. You can also specify an array of options that are passed-thru to JavaScripts window.open method.  &lt;/li&gt;&lt;li&gt;&lt;tt&gt;:method =&gt; symbol of HTTP verb&lt;/tt&gt; - This modifier will dynamically create an &lt;a href="http://apidock.com/rails/HTML"&gt;HTML&lt;/a&gt; form and immediately submit the form for processing using the HTTP verb specified. Useful for having links perform a POST operation in dangerous actions like deleting a record (which search bots can follow while spidering your site). Supported verbs are &lt;tt&gt;:post,&lt;/tt&gt; &lt;tt&gt;:delete&lt;/tt&gt; and &lt;tt&gt;:put&lt;/tt&gt;. Note that if the user has JavaScript disabled, the request will fall back to using GET. If you are relying on the POST behavior, you should check for it in your controller’s action by using the request object’s methods for &lt;tt&gt;post?,&lt;/tt&gt; &lt;tt&gt;delete?&lt;/tt&gt; or &lt;tt&gt;put?&lt;/tt&gt;.  &lt;/li&gt;&lt;li&gt;The &lt;tt&gt;html_options&lt;/tt&gt; will accept a hash of html attributes for the link tag&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5699179415075283063-3675074070850000764?l=symfonyhelp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://symfonyhelp.blogspot.com/feeds/3675074070850000764/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://symfonyhelp.blogspot.com/2009/05/linkto-urlhelper.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5699179415075283063/posts/default/3675074070850000764'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5699179415075283063/posts/default/3675074070850000764'/><link rel='alternate' type='text/html' href='http://symfonyhelp.blogspot.com/2009/05/linkto-urlhelper.html' title='link_to UrlHelper'/><author><name>Rajeev</name><uri>http://www.blogger.com/profile/09442025840798063075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_M3AgJ8-TiII/TU0tBZ3wSTI/AAAAAAAAAog/WzvygeezO1c/s220/165649_125059220894331_100001707608385_140654_3449754_n.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5699179415075283063.post-3915168590815996958</id><published>2009-05-14T04:08:00.000-07:00</published><updated>2009-05-14T04:09:40.868-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Symfony 1.1'/><category scheme='http://www.blogger.com/atom/ns#' term='Features'/><title type='text'>Symfony 1.1 new features:</title><content type='html'>&lt;p&gt;Command Line Utility rewritten from scratch. Now it’s based on a new, totally extensible, Object-Oriented subframework.&lt;/p&gt; &lt;p&gt;As many of you know, the most important enhancement in this new release is the new Form sub system.&lt;br /&gt;From now, form helpers are deprecated. Form are now classes and Form Widgets offer native and easy handling of validation, filling, request binding, CSRF protection, file upload validation.&lt;/p&gt; &lt;p&gt;Plugin manager has been rewritten too. Now supports dependecies between differents plugins.&lt;/p&gt; &lt;p&gt;In symfony 1.1 propel is a plugin, bundled in the lib folder of Symfony 1.1 ( you don’t need to install it ).&lt;br /&gt;Schema structure has been improved: now you can declare behaviours directly in the schema and a schema can overwrite others.&lt;/p&gt; &lt;p&gt;Routing has been improved with a cache layer. Finally we can change ‘/’ character in urls with any character.&lt;/p&gt; &lt;p&gt;Internationalization now has 2 new usefull tasks: i18n:find ( find all strings without __() ) and i18n:extract that find untranslated texts.&lt;br /&gt;I18n now uses the same view caching system and I18n class is not a singleton.&lt;/p&gt; &lt;p&gt;Caching has been impoved too. Now view cache manager accepts wildcards in remove() calls and you can remove the cache from other applications.&lt;br /&gt;Caching factories allow you to use differents caching storage and function cache can now use any caching factory.&lt;/p&gt; &lt;p&gt;YAML parser is now more robust and errors in YAML now throw helpful error messages.&lt;br /&gt;All config.php disappeared: project and application configurations are now classes and other applications can access to them.&lt;/p&gt; &lt;p&gt;Has been written a performance tool and a lot of unit tests ( more of 8000 ).&lt;/p&gt; &lt;p&gt;Another very important point in symfony 1.1 new features is the new event manager inspired by Cocoa.&lt;/p&gt; &lt;p&gt;These are the principal new features of Symfony 1.1 but as Fabien say: the beauty is inside.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5699179415075283063-3915168590815996958?l=symfonyhelp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://symfonyhelp.blogspot.com/feeds/3915168590815996958/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://symfonyhelp.blogspot.com/2009/05/symfony-11-new-features.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5699179415075283063/posts/default/3915168590815996958'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5699179415075283063/posts/default/3915168590815996958'/><link rel='alternate' type='text/html' href='http://symfonyhelp.blogspot.com/2009/05/symfony-11-new-features.html' title='Symfony 1.1 new features:'/><author><name>Rajeev</name><uri>http://www.blogger.com/profile/09442025840798063075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_M3AgJ8-TiII/TU0tBZ3wSTI/AAAAAAAAAog/WzvygeezO1c/s220/165649_125059220894331_100001707608385_140654_3449754_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5699179415075283063.post-4002761969761095643</id><published>2009-05-10T23:12:00.000-07:00</published><updated>2009-05-10T23:16:36.469-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SASL'/><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='Jabber'/><category scheme='http://www.blogger.com/atom/ns#' term='C'/><category scheme='http://www.blogger.com/atom/ns#' term='TLS'/><category scheme='http://www.blogger.com/atom/ns#' term='strophejs'/><category scheme='http://www.blogger.com/atom/ns#' term='Strophe'/><category scheme='http://www.blogger.com/atom/ns#' term='Chat Client'/><category scheme='http://www.blogger.com/atom/ns#' term='GNUTLS'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenSSL'/><category scheme='http://www.blogger.com/atom/ns#' term='XMPP'/><category scheme='http://www.blogger.com/atom/ns#' term='SChannel'/><title type='text'>Strophe : Another  XMPP client library</title><content type='html'>&lt;div id="content" class="wiki"&gt;       &lt;div class="wikipage searchable"&gt;                    &lt;blockquote&gt; &lt;p&gt; &lt;i&gt;strophe&lt;/i&gt; - &lt;i&gt;a structural division of a poem containing stanzas of varying line-length&lt;/i&gt; &lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt; &lt;strong&gt;Strophe&lt;/strong&gt; is a library for writing XMPP clients. It is implemented in both JavaScript and C for use in a wide variety of languages. The implementations are production ready, well documented, easy to use, and easy to extend. &lt;/p&gt; &lt;p&gt; &lt;strong&gt;Strophe&lt;/strong&gt; provides the following features: &lt;/p&gt; &lt;ul&gt;&lt;li&gt;XMPP compliant &lt;/li&gt;&lt;li&gt;Browser and platform agnostic &lt;/li&gt;&lt;li&gt;TLS support via SChannel, GNUTLS, or OpenSSL &lt;/li&gt;&lt;li&gt;SASL authentication using ANONYMOUS, DIGEST-MD5, or PLAIN methods as well as legacy jabber authentication &lt;/li&gt;&lt;li&gt;Customizable logging and memory management &lt;/li&gt;&lt;/ul&gt;&lt;h3 id="Documentation"&gt;Documentation&lt;a title="Link to this section" href="http://code.stanziq.com/strophe/#Documentation" class="anchor"&gt; ¶&lt;/a&gt;&lt;/h3&gt; &lt;ul&gt;&lt;li&gt;&lt;a class="ext-link" href="http://people.chesspark.com/%7Ejack/strophe-preview/doc/files/strophe-js.html"&gt;&lt;span class="icon"&gt;strophe.js API Document&lt;/span&gt;&lt;/a&gt; - from the preview release, so some things may have changed. &lt;/li&gt;&lt;/ul&gt;&lt;h3 id="Download"&gt;Download&lt;a title="Link to this section" href="http://code.stanziq.com/strophe/#Download" class="anchor"&gt; ¶&lt;/a&gt;&lt;/h3&gt; &lt;p&gt; You download snapshots of strophe and strophejs from: &lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;a class="ext-link" href="http://code.stanziq.com/cgit/strophe/libstrophe/snapshot/libstrophe-master.zip"&gt;&lt;span class="icon"&gt;libstrophe-master.zip&lt;/span&gt;&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a class="ext-link" href="http://code.stanziq.com/cgit/strophe/strophejs/snapshot/strophejs-master.zip"&gt;&lt;span class="icon"&gt;strophejs-master.zip&lt;/span&gt;&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;a class="ext-link" href="http://code.stanziq.com/cgit/strophe/libstrophe/snapshot/libstrophe-master.tar.gz"&gt;&lt;span class="icon"&gt;libstrophe-master.tar.gz&lt;/span&gt;&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a class="ext-link" href="http://code.stanziq.com/cgit/strophe/strophejs/snapshot/strophejs-master.tar.gz"&gt;&lt;span class="icon"&gt;strophejs-master.tar.gz&lt;/span&gt;&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt;&lt;p&gt; You can also get libstrophe and strophe.js from Git: &lt;/p&gt; &lt;p&gt; libstrophe &lt;/p&gt; &lt;pre class="wiki"&gt;git clone git://code.stanziq.com/libstrophe&lt;br /&gt;&lt;/pre&gt;&lt;p&gt; strophejs &lt;/p&gt; &lt;pre class="wiki"&gt;git clone git://code.stanziq.com/strophejs&lt;br /&gt;&lt;/pre&gt;&lt;h3 id="BugReportsContributingandFeedback"&gt;Bug Reports, Contributing and Feedback&lt;a title="Link to this section" href="http://code.stanziq.com/strophe/#BugReportsContributingandFeedback" class="anchor"&gt; ¶&lt;/a&gt;&lt;/h3&gt; &lt;p&gt; Bugs and Feedback can be reported by clicking on &lt;a href="http://code.stanziq.com/strophe/newticket"&gt;New Ticket&lt;/a&gt; in the navigation bar above. Please be as detailed as possible when submitting tickets.  &lt;/p&gt; &lt;p&gt; You can also join and participate on the Strophe mailing lists: &lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;a class="ext-link" href="http://groups.google.com/group/strophe"&gt;&lt;span class="icon"&gt;Strophe users list&lt;/span&gt;&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a class="ext-link" href="http://groups.google.com/group/strophe-dev"&gt;&lt;span class="icon"&gt;Strophe developers list&lt;/span&gt;&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt;&lt;p&gt; You can also view strophe &lt;a class="wiki" href="http://code.stanziq.com/strophe/wiki/UseCases"&gt;UseCases&lt;/a&gt; to see it in action! &lt;/p&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/5699179415075283063-4002761969761095643?l=symfonyhelp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://symfonyhelp.blogspot.com/feeds/4002761969761095643/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://symfonyhelp.blogspot.com/2009/05/strophe-another-xmpp-client-library.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5699179415075283063/posts/default/4002761969761095643'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5699179415075283063/posts/default/4002761969761095643'/><link rel='alternate' type='text/html' href='http://symfonyhelp.blogspot.com/2009/05/strophe-another-xmpp-client-library.html' title='Strophe : Another  XMPP client library'/><author><name>Rajeev</name><uri>http://www.blogger.com/profile/09442025840798063075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_M3AgJ8-TiII/TU0tBZ3wSTI/AAAAAAAAAog/WzvygeezO1c/s220/165649_125059220894331_100001707608385_140654_3449754_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5699179415075283063.post-334624633900007927</id><published>2009-05-08T03:42:00.000-07:00</published><updated>2009-05-08T03:44:48.715-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='symfony'/><category scheme='http://www.blogger.com/atom/ns#' term='ObjectHelper'/><category scheme='http://www.blogger.com/atom/ns#' term='Form'/><category scheme='http://www.blogger.com/atom/ns#' term='Helper'/><category scheme='http://www.blogger.com/atom/ns#' term='Radiobutton'/><title type='text'>Object form helper for radiobutton</title><content type='html'>First make a helper named as radioHelper and inside the file  put the function for object_radiobutton_tag. and can use it on templates.please check code below&lt;br /&gt;&lt;span class="MsgBodyText"&gt;&lt;table align="center" border="0" cellpadding="3" cellspacing="1" width="90%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class="SmallText"&gt;&lt;b&gt;Quote:&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="quote"&gt;&lt;br /&gt;&lt;br /&gt;use_helper('Form');&lt;br /&gt;function object_radiobutton_tag($object, $method, $value, $options = array())&lt;br /&gt;{&lt;br /&gt;$options = _parse_attributes($options);&lt;br /&gt;&lt;br /&gt;// See if the object contains the value passed in&lt;br /&gt;// if yes, set "true" (radio button toggled on)&lt;br /&gt;if ( _get_object_value($object, $method) == $value )&lt;br /&gt;{&lt;br /&gt;$checked = true;&lt;br /&gt;}&lt;br /&gt;else&lt;br /&gt;{&lt;br /&gt;$checked = false;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;return radiobutton_tag(_convert_method_to_name($method, $options), $value, $checked, $options);&lt;br /&gt;}&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/span&gt; &lt;hr class="sig"&gt;  ------------------&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5699179415075283063-334624633900007927?l=symfonyhelp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://symfonyhelp.blogspot.com/feeds/334624633900007927/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://symfonyhelp.blogspot.com/2009/05/object-form-helper-for-radiobutton.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5699179415075283063/posts/default/334624633900007927'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5699179415075283063/posts/default/334624633900007927'/><link rel='alternate' type='text/html' href='http://symfonyhelp.blogspot.com/2009/05/object-form-helper-for-radiobutton.html' title='Object form helper for radiobutton'/><author><name>Rajeev</name><uri>http://www.blogger.com/profile/09442025840798063075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_M3AgJ8-TiII/TU0tBZ3wSTI/AAAAAAAAAog/WzvygeezO1c/s220/165649_125059220894331_100001707608385_140654_3449754_n.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5699179415075283063.post-8062644759038845423</id><published>2009-05-08T03:34:00.000-07:00</published><updated>2009-05-08T03:38:37.078-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='symfony'/><category scheme='http://www.blogger.com/atom/ns#' term='ajax'/><category scheme='http://www.blogger.com/atom/ns#' term='link_to_remote'/><title type='text'>Ajax Link Using symfony</title><content type='html'>&lt;h3&gt;&lt;a name="chapter_11_sub_ajax_link"&gt;Ajax Link&lt;/a&gt;&lt;/h3&gt;  &lt;p&gt;Ajax links form a large share of the Ajax interactions available in Web 2.0 applications. The &lt;code&gt;link_to_remote()&lt;/code&gt; helper outputs a link that calls, not surprisingly, a remote function. The syntax is very similar to that of &lt;code&gt;link_to()&lt;/code&gt; (except that the second parameter is the associative array of Ajax options), as shown in Listing 11-9.&lt;/p&gt;  &lt;p class="figure"&gt;Listing 11-9 - Ajax Link with the &lt;code&gt;link_to_remote()&lt;/code&gt; Helper&lt;/p&gt;  &lt;pre class="php"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="kw2"&gt; &lt;span class="kw3"&gt;echo&lt;/span&gt; link_to_remote&lt;span class="br0"&gt;(&lt;/span&gt;&lt;span class="st0"&gt;'Delete this post'&lt;/span&gt;, &lt;span class="kw3"&gt;array&lt;/span&gt;&lt;span class="br0"&gt;(&lt;/span&gt;&lt;br /&gt; &lt;span class="st0"&gt;'update'&lt;/span&gt; =&gt; &lt;span class="st0"&gt;'feedback'&lt;/span&gt;,&lt;br /&gt; &lt;span class="st0"&gt;'url'&lt;/span&gt;    =&gt; &lt;span class="st0"&gt;'post/delete?id='&lt;/span&gt;.&lt;span class="re0"&gt;$post&lt;/span&gt;-&gt;&lt;span class="me1"&gt;getId&lt;/span&gt;&lt;span class="br0"&gt;(&lt;/span&gt;&lt;span class="br0"&gt;)&lt;/span&gt;,&lt;br /&gt;&lt;span class="br0"&gt;)&lt;/span&gt;&lt;span class="br0"&gt;)&lt;/span&gt; &lt;span class="kw2"&gt;?&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;  &lt;p&gt;In this example, clicking the &lt;code&gt;'Delete this post'&lt;/code&gt; link will issue a call to the &lt;code&gt;post/delete&lt;/code&gt; action in the background. The response returned by the server will appear in the element of &lt;code&gt;id&lt;/code&gt; &lt;code&gt;feedback&lt;/code&gt;. This process is illustrated in Figure 11-1.&lt;/p&gt;  &lt;p class="figure"&gt;Figure 11-1 - Triggering a remote update with a hyperlink&lt;/p&gt;  &lt;p&gt;&lt;img src="http://www.symfony-project.org/images/book/1_0/F1101.png" alt="Triggering a remote update with a hyperlink" title="Triggering a remote update with a hyperlink" /&gt;&lt;/p&gt;  &lt;p&gt;You can use an image instead of a string to bear the link, use a rule name instead of an internal module/action URL, and add options to the &lt;code&gt;&lt;a&gt;&lt;/a&gt;&lt;/code&gt;&lt;a&gt; tag in a third argument, as shown in Listing 11-10.&lt;/a&gt;&lt;/p&gt;&lt;a&gt;  &lt;/a&gt;&lt;p class="figure"&gt;&lt;a&gt;Listing 11-10 - Options of the &lt;code&gt;link_to_remote()&lt;/code&gt; Helper&lt;/a&gt;&lt;/p&gt;&lt;a&gt;  &lt;/a&gt;&lt;pre class="php"&gt;&lt;a&gt;"emails"&gt;&lt;/a&gt;&lt;a&gt;&lt;br /&gt;&lt;span class="kw2"&gt; &lt;span class="kw3"&gt;echo&lt;/span&gt; link_to_remote&lt;span class="br0"&gt;(&lt;/span&gt;image_tag&lt;span class="br0"&gt;(&lt;/span&gt;&lt;span class="st0"&gt;'refresh'&lt;/span&gt;&lt;span class="br0"&gt;)&lt;/span&gt;, &lt;span class="kw3"&gt;array&lt;/span&gt;&lt;span class="br0"&gt;(&lt;/span&gt;&lt;br /&gt; &lt;span class="st0"&gt;'update'&lt;/span&gt; =&gt; &lt;span class="st0"&gt;'emails'&lt;/span&gt;,&lt;br /&gt; &lt;span class="st0"&gt;'url'&lt;/span&gt;    =&gt; &lt;span class="st0"&gt;'@list_emails'&lt;/span&gt;,&lt;br /&gt;&lt;span class="br0"&gt;)&lt;/span&gt;, &lt;span class="kw3"&gt;array&lt;/span&gt;&lt;span class="br0"&gt;(&lt;/span&gt;&lt;br /&gt; &lt;span class="st0"&gt;'class'&lt;/span&gt;  =&gt; &lt;span class="st0"&gt;'ajax_link'&lt;/span&gt;,&lt;br /&gt;&lt;span class="br0"&gt;)&lt;/span&gt;&lt;span class="br0"&gt;)&lt;/span&gt; &lt;span class="kw2"&gt;?&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5699179415075283063-8062644759038845423?l=symfonyhelp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://symfonyhelp.blogspot.com/feeds/8062644759038845423/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://symfonyhelp.blogspot.com/2009/05/ajax-link-using-symfony.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5699179415075283063/posts/default/8062644759038845423'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5699179415075283063/posts/default/8062644759038845423'/><link rel='alternate' type='text/html' href='http://symfonyhelp.blogspot.com/2009/05/ajax-link-using-symfony.html' title='Ajax Link Using symfony'/><author><name>Rajeev</name><uri>http://www.blogger.com/profile/09442025840798063075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_M3AgJ8-TiII/TU0tBZ3wSTI/AAAAAAAAAog/WzvygeezO1c/s220/165649_125059220894331_100001707608385_140654_3449754_n.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5699179415075283063.post-8078997017395272476</id><published>2009-05-04T04:09:00.000-07:00</published><updated>2009-05-04T04:15:41.771-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Interview'/><category scheme='http://www.blogger.com/atom/ns#' term='Questions'/><category scheme='http://www.blogger.com/atom/ns#' term='OOPS'/><title type='text'>OOPS Interview Questions</title><content type='html'>&lt;div id="dsplit3q"&gt;&lt;a title="Java Polymorphism Describe why Java supports only runtime polymorphism?" class="questiona" href="http://www.geekinterview.com/question_details/72171"&gt;&lt;span class="questiona"&gt;Java Polymorphism&lt;/span&gt;&lt;/a&gt;&lt;/div&gt; &lt;div id="dsplit3"&gt;&lt;span class="tdvamseel"&gt;Describe why Java supports only runtime polymorphism?&lt;/span&gt; &lt;/div&gt;&lt;div id="dsplit3"&gt;&lt;a href="http://www.geekinterview.com/question_details/72171"&gt;View Question&lt;/a&gt; | &lt;span class="label"&gt;Asked by : &lt;/span&gt;&lt;a rel="nofollow" href="http://www.geekinterview.com/user-profile/293510"&gt;tariqueanwer&lt;/a&gt;&lt;/div&gt;&lt;div id="dsplit3"&gt;&lt;p style="margin: 5px 0pt 0pt; padding: 0pt; text-align: right;"&gt;&lt;a rel="nofollow" href="http://www.geekinterview.com/question_details/72171/reply"&gt;Answer Question&lt;/a&gt;     &lt;a href="http://www.geekinterview.com/login.html?ref=http://www.geekinterview.com/" title="Login to add question to My Questions"&gt;&lt;span style="color:#336633;"&gt;&lt;b&gt;Subscribe&lt;/b&gt;&lt;/span&gt;&lt;/a&gt; &lt;/p&gt;&lt;/div&gt;&lt;div id="dsplit3"&gt;&lt;center&gt;&lt;hr style="margin-top: 5px; margin-bottom: 5px;" color="#b4b4b4" noshade="noshade" size="1" width="98%"&gt;&lt;/center&gt;&lt;/div&gt;&lt;div id="dsplit3q"&gt;&lt;a title="How many ways to create objects in java " class="questiona" href="http://www.geekinterview.com/question_details/72087"&gt;&lt;span class="questiona"&gt;How many ways to create objects in java&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;  &lt;div id="dsplit3"&gt;&lt;span class="label"&gt;Latest Answer: &lt;/span&gt;&lt;span class="tdvamseel"&gt;There are two ways:1.Â new operator2.Â newInstance() method. (Reflection API) ...&lt;/span&gt;&lt;/div&gt;&lt;div id="dsplit3"&gt;&lt;a href="http://www.geekinterview.com/question_details/72087"&gt;Read Answers (1)&lt;/a&gt; | &lt;span class="label"&gt;Asked by : &lt;/span&gt;&lt;a rel="nofollow" href="http://www.geekinterview.com/user-profile/292153"&gt;galam&lt;/a&gt;&lt;/div&gt;&lt;div id="dsplit3"&gt;&lt;p style="margin: 5px 0pt 0pt; padding: 0pt; text-align: right;"&gt;&lt;a rel="nofollow" href="http://www.geekinterview.com/question_details/72087/reply"&gt;Answer Question&lt;/a&gt;     &lt;a href="http://www.geekinterview.com/login.html?ref=http://www.geekinterview.com/" title="Login to add question to My Questions"&gt;&lt;span style="color:#336633;"&gt;&lt;b&gt;Subscribe&lt;/b&gt;&lt;/span&gt;&lt;/a&gt; &lt;/p&gt;&lt;/div&gt;&lt;div id="dsplit3"&gt;&lt;center&gt;&lt;hr style="margin-top: 5px; margin-bottom: 5px;" color="#b4b4b4" noshade="noshade" size="1" width="98%"&gt;&lt;/center&gt;&lt;/div&gt;&lt;div id="dsplit3q"&gt;&lt;a title="Scope resolution What is scope resolution in C++ and object oriented ?" class="questiona" href="http://www.geekinterview.com/question_details/71595"&gt;&lt;span class="questiona"&gt;Scope resolution&lt;/span&gt;&lt;/a&gt;&lt;/div&gt; &lt;div id="dsplit3"&gt;&lt;span class="tdvamseel"&gt;What is scope resolution in C++ and object oriented ?&lt;/span&gt; &lt;/div&gt;&lt;div id="dsplit3"&gt;&lt;span class="label"&gt;Latest Answer: &lt;/span&gt;&lt;span class="tdvamseel"&gt;#include using namespace std;  int amount = 123;  // A global variable int  main()  {  int amount = 456;  // A local variable  cout  ...&lt;/span&gt;&lt;/div&gt;&lt;div id="dsplit3"&gt;&lt;a href="http://www.geekinterview.com/question_details/71595"&gt;Read Answers (1)&lt;/a&gt; | &lt;span class="label"&gt;Asked by : &lt;/span&gt;&lt;a rel="nofollow" href="http://www.geekinterview.com/user-profile/284009"&gt;Usha anbu&lt;/a&gt;&lt;/div&gt;&lt;div id="dsplit3"&gt;&lt;p style="margin: 5px 0pt 0pt; padding: 0pt; text-align: right;"&gt;&lt;a rel="nofollow" href="http://www.geekinterview.com/question_details/71595/reply"&gt;Answer Question&lt;/a&gt;     &lt;a href="http://www.geekinterview.com/login.html?ref=http://www.geekinterview.com/" title="Login to add question to My Questions"&gt;&lt;span style="color:#336633;"&gt;&lt;b&gt;Subscribe&lt;/b&gt;&lt;/span&gt;&lt;/a&gt; &lt;/p&gt;&lt;/div&gt;&lt;div id="dsplit3"&gt;&lt;center&gt;&lt;hr style="margin-top: 5px; margin-bottom: 5px;" color="#b4b4b4" noshade="noshade" size="1" width="98%"&gt;&lt;/center&gt;&lt;/div&gt;&lt;div id="dsplit3q"&gt;&lt;a title="What is prototype based programming? " class="questiona" href="http://www.geekinterview.com/question_details/67821"&gt;&lt;span class="questiona"&gt;What is prototype based programming?&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;  &lt;div id="dsplit3"&gt;&lt;span class="label"&gt;Latest Answer: &lt;/span&gt;&lt;span class="tdvamseel"&gt;In prototype programming we create a prototype based on theÂ client conversationÂ and show it to client and make modification as per its requirement, this process continues till the client get satisfied after that further testing and deployment is done. ...&lt;/span&gt;&lt;/div&gt;&lt;div id="dsplit3"&gt;&lt;a href="http://www.geekinterview.com/question_details/67821"&gt;Read Answers (1)&lt;/a&gt; | &lt;span class="label"&gt;Asked by : &lt;/span&gt;&lt;a rel="nofollow" href="http://www.geekinterview.com/user-profile/227763"&gt;jack_thomas&lt;/a&gt;&lt;/div&gt;&lt;div id="dsplit3"&gt;&lt;p style="margin: 5px 0pt 0pt; padding: 0pt; text-align: right;"&gt;&lt;a rel="nofollow" href="http://www.geekinterview.com/question_details/67821/reply"&gt;Answer Question&lt;/a&gt;     &lt;a href="http://www.geekinterview.com/login.html?ref=http://www.geekinterview.com/" title="Login to add question to My Questions"&gt;&lt;span style="color:#336633;"&gt;&lt;b&gt;Subscribe&lt;/b&gt;&lt;/span&gt;&lt;/a&gt; &lt;/p&gt;&lt;/div&gt;&lt;div id="dsplit3"&gt;&lt;center&gt;&lt;hr style="margin-top: 5px; margin-bottom: 5px;" color="#b4b4b4" noshade="noshade" size="1" width="98%"&gt;&lt;/center&gt;&lt;/div&gt;&lt;div id="dsplit3q"&gt;&lt;a title="What is the Difference between Class and Instance " class="questiona" href="http://www.geekinterview.com/question_details/66673"&gt;&lt;span class="questiona"&gt;What is the Difference between Class and Instance&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;  &lt;div id="dsplit3"&gt;&lt;span class="label"&gt;Latest Answer: &lt;/span&gt;&lt;span class="tdvamseel"&gt;The Class is a blueprint which holds the code, but the instance is the real object inside the memory so we can access its properties and methods in the Run-time. ...&lt;/span&gt;&lt;/div&gt;&lt;div id="dsplit3"&gt;&lt;a href="http://www.geekinterview.com/question_details/66673"&gt;Read Answers (5)&lt;/a&gt; | &lt;span class="label"&gt;Asked by : &lt;/span&gt;&lt;a rel="nofollow" href="http://www.geekinterview.com/user-profile/210673"&gt;pohme_pohme&lt;/a&gt;&lt;/div&gt;&lt;div id="dsplit3"&gt;&lt;p style="margin: 5px 0pt 0pt; padding: 0pt; text-align: right;"&gt;&lt;a rel="nofollow" href="http://www.geekinterview.com/question_details/66673/reply"&gt;Answer Question&lt;/a&gt;     &lt;a href="http://www.geekinterview.com/login.html?ref=http://www.geekinterview.com/" title="Login to add question to My Questions"&gt;&lt;span style="color:#336633;"&gt;&lt;b&gt;Subscribe&lt;/b&gt;&lt;/span&gt;&lt;/a&gt; &lt;/p&gt;&lt;/div&gt;&lt;div id="dsplit3"&gt;&lt;center&gt;&lt;hr style="margin-top: 5px; margin-bottom: 5px;" color="#b4b4b4" noshade="noshade" size="1" width="98%"&gt;&lt;/center&gt;&lt;/div&gt;&lt;div id="dsplit3q"&gt;&lt;a title="Difference between data encapsulation and abstraction? " class="questiona" href="http://www.geekinterview.com/question_details/65967"&gt;&lt;span class="questiona"&gt;Difference between data encapsulation and abstraction?&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;  &lt;div id="dsplit3"&gt;&lt;span class="label"&gt;Latest Answer: &lt;/span&gt;&lt;span class="tdvamseel"&gt;Encapsulation: wraping of data in a single unit.Abstraction: Data hiding ...&lt;/span&gt;&lt;/div&gt;&lt;div id="dsplit3"&gt;&lt;a href="http://www.geekinterview.com/question_details/65967"&gt;Read Answers (4)&lt;/a&gt; | &lt;span class="label"&gt;Asked by : &lt;/span&gt;&lt;a rel="nofollow" href="http://www.geekinterview.com/user-profile/202045"&gt;k_george80&lt;/a&gt;&lt;/div&gt;&lt;div id="dsplit3"&gt;&lt;p style="margin: 5px 0pt 0pt; padding: 0pt; text-align: right;"&gt;&lt;a rel="nofollow" href="http://www.geekinterview.com/question_details/65967/reply"&gt;Answer Question&lt;/a&gt;     &lt;a href="http://www.geekinterview.com/login.html?ref=http://www.geekinterview.com/" title="Login to add question to My Questions"&gt;&lt;span style="color:#336633;"&gt;&lt;b&gt;Subscribe&lt;/b&gt;&lt;/span&gt;&lt;/a&gt; &lt;/p&gt;&lt;/div&gt;&lt;div id="dsplit3"&gt;&lt;center&gt;&lt;hr style="margin-top: 5px; margin-bottom: 5px;" color="#b4b4b4" noshade="noshade" size="1" width="98%"&gt;&lt;/center&gt;&lt;/div&gt;&lt;div id="dsplit3q"&gt;&lt;a title="Difference Between Aggregation and Composition What is the difference between Aggregation and Composition?(Asked in Polaris Interview for Java Experienced People, on April 11, in Chennai)" class="questiona" href="http://www.geekinterview.com/question_details/64461"&gt;&lt;span class="questiona"&gt;Difference Between Aggregation and Composition&lt;/span&gt;&lt;/a&gt;&lt;/div&gt; &lt;div id="dsplit3"&gt;&lt;span class="tdvamseel"&gt;What is the difference between Aggregation and Composition?(Asked in Polaris Interview for Java Experienced People, on April 11, in Chennai)&lt;/span&gt; &lt;/div&gt;&lt;div id="dsplit3"&gt;&lt;span class="label"&gt;Latest Answer: &lt;/span&gt;&lt;span class="tdvamseel"&gt;Aggregation:In aggregation , one object is composed of multiple objects and every object is useless without the relationship. Suppose there is a car object, so car object is useless without the tyre or steering object, and steering object is useless without ...&lt;/span&gt;&lt;/div&gt;&lt;div id="dsplit3"&gt;&lt;a href="http://www.geekinterview.com/question_details/64461"&gt;Read Answers (2)&lt;/a&gt; | &lt;span class="label"&gt;Asked by : &lt;/span&gt;&lt;a rel="nofollow" href="http://www.geekinterview.com/user-profile/132010"&gt;khadarzone&lt;/a&gt;&lt;/div&gt;&lt;div id="dsplit3"&gt;&lt;p style="margin: 5px 0pt 0pt; padding: 0pt; text-align: right;"&gt;&lt;a rel="nofollow" href="http://www.geekinterview.com/question_details/64461/reply"&gt;Answer Question&lt;/a&gt;     &lt;a href="http://www.geekinterview.com/login.html?ref=http://www.geekinterview.com/" title="Login to add question to My Questions"&gt;&lt;span style="color:#336633;"&gt;&lt;b&gt;Subscribe&lt;/b&gt;&lt;/span&gt;&lt;/a&gt; &lt;/p&gt;&lt;/div&gt;&lt;div id="dsplit3"&gt;&lt;center&gt;&lt;hr style="margin-top: 5px; margin-bottom: 5px;" color="#b4b4b4" noshade="noshade" size="1" width="98%"&gt;&lt;/center&gt;&lt;/div&gt;&lt;div id="dsplit3q"&gt;&lt;a title="Component Object Model - COM Explain Component Object Model used in C, C++ and .NET" class="questiona" href="http://www.geekinterview.com/question_details/64396"&gt;&lt;span class="questiona"&gt;Component Object Model - COM&lt;/span&gt;&lt;/a&gt;&lt;/div&gt; &lt;div id="dsplit3"&gt;&lt;span class="tdvamseel"&gt;Explain Component Object Model used in C, C++ and .NET&lt;/span&gt; &lt;/div&gt;&lt;div id="dsplit3"&gt;&lt;span class="label"&gt;Latest Answer: &lt;/span&gt;&lt;span class="tdvamseel"&gt;The Component Object Model (COM) is a component software architecture that allows applications and systems to be built from components supplied by different software vendors. COM is the underlying architecture that forms the foundation for higher-level ...&lt;/span&gt;&lt;/div&gt;&lt;div id="dsplit3"&gt;&lt;a href="http://www.geekinterview.com/question_details/64396"&gt;Read Answers (1)&lt;/a&gt; | &lt;span class="label"&gt;Asked by : &lt;/span&gt;&lt;a rel="nofollow" href="http://www.geekinterview.com/user-profile/119324"&gt;sachinbca2006&lt;/a&gt;&lt;/div&gt;&lt;div id="dsplit3"&gt;&lt;p style="margin: 5px 0pt 0pt; padding: 0pt; text-align: right;"&gt;&lt;a rel="nofollow" href="http://www.geekinterview.com/question_details/64396/reply"&gt;Answer Question&lt;/a&gt;     &lt;a href="http://www.geekinterview.com/login.html?ref=http://www.geekinterview.com/" title="Login to add question to My Questions"&gt;&lt;span style="color:#336633;"&gt;&lt;b&gt;Subscribe&lt;/b&gt;&lt;/span&gt;&lt;/a&gt; &lt;/p&gt;&lt;/div&gt;&lt;div id="dsplit3"&gt;&lt;center&gt;&lt;hr style="margin-top: 5px; margin-bottom: 5px;" color="#b4b4b4" noshade="noshade" size="1" width="98%"&gt;&lt;/center&gt;&lt;/div&gt;&lt;div id="dsplit3q"&gt;&lt;a title="What are the major considerations related to well-written multi-threaded applications? " class="questiona" href="http://www.geekinterview.com/question_details/61567"&gt;&lt;span class="questiona"&gt;What are the major considerations related to well-written multi-threaded applications?&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;  &lt;div id="dsplit3"&gt;&lt;a href="http://www.geekinterview.com/question_details/61567"&gt;View Question&lt;/a&gt; | &lt;span class="label"&gt;Asked by : &lt;/span&gt;&lt;a rel="nofollow" href="http://www.geekinterview.com/user-profile/151423"&gt;ABSMITH&lt;/a&gt;&lt;/div&gt;&lt;div id="dsplit3"&gt;&lt;p style="margin: 5px 0pt 0pt; padding: 0pt; text-align: right;"&gt;&lt;a rel="nofollow" href="http://www.geekinterview.com/question_details/61567/reply"&gt;Answer Question&lt;/a&gt;     &lt;a href="http://www.geekinterview.com/login.html?ref=http://www.geekinterview.com/" title="Login to add question to My Questions"&gt;&lt;span style="color:#336633;"&gt;&lt;b&gt;Subscribe&lt;/b&gt;&lt;/span&gt;&lt;/a&gt; &lt;/p&gt;&lt;/div&gt;&lt;div id="dsplit3"&gt;&lt;center&gt;&lt;hr style="margin-top: 5px; margin-bottom: 5px;" color="#b4b4b4" noshade="noshade" size="1" width="98%"&gt;&lt;/center&gt;&lt;/div&gt;&lt;div id="dsplit3q"&gt;&lt;a title="What is the race condition? Related to multi-threaded applications - what is the race condition?" class="questiona" href="http://www.geekinterview.com/question_details/61566"&gt;&lt;span class="questiona"&gt;What is the race condition?&lt;/span&gt;&lt;/a&gt;&lt;/div&gt; &lt;div id="dsplit3"&gt;&lt;span class="tdvamseel"&gt;Related to multi-threaded applications - what is the race condition?&lt;/span&gt; &lt;/div&gt;&lt;div id="dsplit3"&gt;&lt;span class="label"&gt;Latest Answer: &lt;/span&gt;&lt;span class="tdvamseel"&gt;Race condition is a situation whereby two theads simultaneously  contends for  the same object or datastructure. ...&lt;/span&gt;&lt;/div&gt;&lt;div id="dsplit3"&gt;&lt;a href="http://www.geekinterview.com/question_details/61566"&gt;Read Answers (2)&lt;/a&gt; | &lt;span class="label"&gt;Asked by : &lt;/span&gt;&lt;a rel="nofollow" href="http://www.geekinterview.com/user-profile/151423"&gt;ABSMITH&lt;/a&gt;&lt;/div&gt;&lt;div id="dsplit3"&gt;&lt;p style="margin: 5px 0pt 0pt; padding: 0pt; text-align: right;"&gt;&lt;a rel="nofollow" href="http://www.geekinterview.com/question_details/61566/reply"&gt;Answer Question&lt;/a&gt;     &lt;a href="http://www.geekinterview.com/login.html?ref=http://www.geekinterview.com/" title="Login to add question to My Questions"&gt;&lt;span style="color:#336633;"&gt;&lt;b&gt;Subscribe&lt;/b&gt;&lt;/span&gt;&lt;/a&gt; &lt;/p&gt;&lt;/div&gt;&lt;div id="dsplit3"&gt;&lt;center&gt;&lt;hr style="margin-top: 5px; margin-bottom: 5px;" color="#b4b4b4" noshade="noshade" size="1" width="98%"&gt;&lt;/center&gt;&lt;/div&gt;View page [1] &lt;a href="http://www.geekinterview.com/Interview-Questions/Concepts/OOPS/page1"&gt;2&lt;/a&gt; &lt;a href="http://www.geekinterview.com/Interview-Questions/Concepts/OOPS/page2"&gt;3&lt;/a&gt; &lt;a href="http://www.geekinterview.com/Interview-Questions/Concepts/OOPS/page3"&gt;4&lt;/a&gt; &lt;a href="http://www.geekinterview.com/Interview-Questions/Concepts/OOPS/page4"&gt;5&lt;/a&gt; &lt;a href="http://www.geekinterview.com/Interview-Questions/Concepts/OOPS/page5"&gt;6&lt;/a&gt; &lt;a href="http://www.geekinterview.com/Interview-Questions/Concepts/OOPS/page6"&gt;7&lt;/a&gt; &lt;a href="http://www.geekinterview.com/Interview-Questions/Concepts/OOPS/page1"&gt;Next&lt;/a&gt; &lt;a href="http://www.geekinterview.com/Interview-Questions/Concepts/OOPS/page6"&gt;&gt;&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5699179415075283063-8078997017395272476?l=symfonyhelp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://symfonyhelp.blogspot.com/feeds/8078997017395272476/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://symfonyhelp.blogspot.com/2009/05/blog-post.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5699179415075283063/posts/default/8078997017395272476'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5699179415075283063/posts/default/8078997017395272476'/><link rel='alternate' type='text/html' href='http://symfonyhelp.blogspot.com/2009/05/blog-post.html' title='OOPS Interview Questions'/><author><name>Rajeev</name><uri>http://www.blogger.com/profile/09442025840798063075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_M3AgJ8-TiII/TU0tBZ3wSTI/AAAAAAAAAog/WzvygeezO1c/s220/165649_125059220894331_100001707608385_140654_3449754_n.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5699179415075283063.post-688008142559033830</id><published>2009-05-04T03:19:00.000-07:00</published><updated>2009-05-04T03:22:23.372-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='symfony'/><category scheme='http://www.blogger.com/atom/ns#' term='Jabber'/><category scheme='http://www.blogger.com/atom/ns#' term='plugin'/><category scheme='http://www.blogger.com/atom/ns#' term='JAXL'/><category scheme='http://www.blogger.com/atom/ns#' term='jsjac'/><category scheme='http://www.blogger.com/atom/ns#' term='IM'/><category scheme='http://www.blogger.com/atom/ns#' term='chat'/><category scheme='http://www.blogger.com/atom/ns#' term='XMPP'/><title type='text'>Symfony plugin that allows your application to interact with Jabber based instant messaging services like GoogleTalk.</title><content type='html'>&lt;a href="http://plugins.symfony-project.org/get/sfJabberJaxlPlugin/sfJabberJaxlPlugin-1.0.0.tgz"&gt;Download package&lt;/a&gt;&lt;br /&gt;&lt;p&gt;This plugin enables symfony applications to connect to Jabber servers to send and receive messages to contacts.&lt;/p&gt;  &lt;p&gt;This plugin is based on the JAXL library by Abhinav Singh (http://code.google.com/p/jaxl/)&lt;/p&gt;&lt;a href="http://plugins.symfony-project.org/get/sfJabberJaxlPlugin/sfJabberJaxlPlugin-1.0.0.tgz"&gt;Download package&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5699179415075283063-688008142559033830?l=symfonyhelp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://symfonyhelp.blogspot.com/feeds/688008142559033830/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://symfonyhelp.blogspot.com/2009/05/symfony-plugin-that-allows-your.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5699179415075283063/posts/default/688008142559033830'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5699179415075283063/posts/default/688008142559033830'/><link rel='alternate' type='text/html' href='http://symfonyhelp.blogspot.com/2009/05/symfony-plugin-that-allows-your.html' title='Symfony plugin that allows your application to interact with Jabber based instant messaging services like GoogleTalk.'/><author><name>Rajeev</name><uri>http://www.blogger.com/profile/09442025840798063075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_M3AgJ8-TiII/TU0tBZ3wSTI/AAAAAAAAAog/WzvygeezO1c/s220/165649_125059220894331_100001707608385_140654_3449754_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5699179415075283063.post-7284182493508025844</id><published>2009-05-04T03:14:00.000-07:00</published><updated>2009-05-04T03:17:46.945-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='IE7'/><category scheme='http://www.blogger.com/atom/ns#' term='browser check'/><category scheme='http://www.blogger.com/atom/ns#' term='IE6'/><title type='text'>is it IE6 or IE7</title><content type='html'>This is the Javascript code for checking whether the browser is IE6, or IE7....&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;        var isIE = document.all ? true : false;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt; IE4 = ((document.all) &amp;amp;&amp;amp; (navigator.appVersion.indexOf("MSIE 4.") != -1)) ? true : false;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt; IE5 = ((document.all) &amp;amp;&amp;amp; (navigator.appVersion.indexOf("MSIE 5.") != -1)) ? true : false;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt; IE6 = ((document.all) &amp;amp;&amp;amp; (navigator.appVersion.indexOf("MSIE 6.") != -1)) ? true : false;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt; IE7 = ((document.all) &amp;amp;&amp;amp; (navigator.appVersion.indexOf("MSIE 7.") != -1)) ? true : false;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5699179415075283063-7284182493508025844?l=symfonyhelp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://symfonyhelp.blogspot.com/feeds/7284182493508025844/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://symfonyhelp.blogspot.com/2009/05/is-it-ie6-or-ie7.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5699179415075283063/posts/default/7284182493508025844'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5699179415075283063/posts/default/7284182493508025844'/><link rel='alternate' type='text/html' href='http://symfonyhelp.blogspot.com/2009/05/is-it-ie6-or-ie7.html' title='is it IE6 or IE7'/><author><name>Rajeev</name><uri>http://www.blogger.com/profile/09442025840798063075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_M3AgJ8-TiII/TU0tBZ3wSTI/AAAAAAAAAog/WzvygeezO1c/s220/165649_125059220894331_100001707608385_140654_3449754_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5699179415075283063.post-7083464657253435328</id><published>2009-04-24T03:32:00.001-07:00</published><updated>2009-04-24T03:36:52.972-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wikipedia'/><category scheme='http://www.blogger.com/atom/ns#' term='social networking'/><category scheme='http://www.blogger.com/atom/ns#' term='firefox'/><category scheme='http://www.blogger.com/atom/ns#' term='skype'/><category scheme='http://www.blogger.com/atom/ns#' term='plugin'/><category scheme='http://www.blogger.com/atom/ns#' term='facebook'/><category scheme='http://www.blogger.com/atom/ns#' term='toolbar'/><category scheme='http://www.blogger.com/atom/ns#' term='myspace'/><title type='text'>23 Best Social Networking Toolbars and Plugins for Firefox</title><content type='html'>&lt;p&gt;&lt;img src="http://ec.mashable.com/wp-content/uploads/2007/06/firefox.jpg" alt="firefox toolbars ad extensions" /&gt;&lt;/p&gt; &lt;p&gt;If you want to make your life easier and more socially productive, then these 23 social networking toolbars and plug-ins for the Firefox&lt;a href="http://www.blippr.com/apps/336679-Firefox" target="_blank" rel="http://www.blippr.com/apps/336679-Firefox.whtml" class="blippr-inline-smiley blippr-inline-smiley-07"&gt;&lt;span&gt; (&lt;/span&gt;&lt;img class="wp-smiley" src="http://static1.blippr.com/images/inline-face_07.png?1237798206" alt="Firefox reviews" /&gt;&lt;span&gt;)&lt;/span&gt;&lt;/a&gt; web browser will speed up your interaction with the leading social networks. No need to visit the sites direct; just post information via your browser - bookmarks, blog posts and more.&lt;/p&gt; &lt;p&gt;&lt;img src="http://ec.mashable.com/wp-content/uploads/2007/06/delicious.PNG" height="54" width="168" /&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;a href="http://del.icio.us/help/firefox/extensionnew"&gt;Delicious:&lt;/a&gt;&lt;/strong&gt; If you are a &lt;a href="http://del.icio.us/"&gt;Del.icio.us&lt;/a&gt; user, then this is a plug-in is for you. You can quickly add to &lt;a href="http://del.icio.us/"&gt;Del.icio.us&lt;/a&gt; bookmarks, manage those bookmarks, and have quick access to your most visited and recently visited bookmarks.&lt;/p&gt; &lt;p&gt;&lt;img src="http://ec.mashable.com/wp-content/uploads/2007/06/digg.PNG" height="52" width="90" /&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;a href="http://digg.ourtoolbar.com/"&gt;Digg:&lt;/a&gt;&lt;/strong&gt; Digg&lt;a href="http://www.blippr.com/apps/336668-Digg" target="_blank" rel="http://www.blippr.com/apps/336668-Digg.whtml" class="blippr-inline-smiley blippr-inline-smiley-05"&gt;&lt;span&gt; (&lt;/span&gt;&lt;img class="wp-smiley" src="http://static1.blippr.com/images/inline-face_05.png?1237798206" alt="Digg reviews" /&gt;&lt;span&gt;)&lt;/span&gt;&lt;/a&gt; is one of the most well known sites for user-generated content, and with this Firefox toolbar by Conduit, you can have easy access to the top Digg stories from the toolbar. It even shows you your local weather.&lt;/p&gt; &lt;p&gt;&lt;a href="http://neothoughts.com/2007/04/27/firefox-extension-smart-digg-button/"&gt;&lt;strong&gt;Smart Digg:&lt;/strong&gt;&lt;/a&gt; If the above isn't enough for you, then Smart Digg might be the answer. This one really is smart as it determines if the web page you are on has been submitted to Digg. If the web page has been submitted, it will display the number of Diggs that story currently has on your status bar. If you press the button, and it has not been submitted, it will take you directly to the Digg site to submit it as a new article.&lt;/p&gt; &lt;p&gt;&lt;img src="http://ec.mashable.com/wp-content/uploads/2007/06/fleck.PNG" height="96" width="99" /&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;a href="https://addons.mozilla.org/en-US/firefox/addon/3908"&gt;Fleck:&lt;/a&gt;&lt;/strong&gt; Annotate the web with this plug-in. Fleck gives you the ability to add "sticky notes" to web pages. People who visit that page who also have Fleck installed, will be notified if their are annotations on that page, and they can view them as well.&lt;/p&gt; &lt;p&gt;&lt;img src="http://ec.mashable.com/wp-content/uploads/2007/06/facebooklogofresh.PNG" height="30" width="124" /&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;a href="http://developers.facebook.com/toolbar"&gt;Facebook:&lt;/a&gt;&lt;/strong&gt; You have &lt;a href="http://mashable.com/2006/08/25/facebook-profile/"&gt;Facebook&lt;/a&gt;&lt;a href="http://www.blippr.com/apps/336650-Facebook" target="_blank" rel="http://www.blippr.com/apps/336650-Facebook.whtml" class="blippr-inline-smiley blippr-inline-smiley-05"&gt;&lt;span&gt; (&lt;/span&gt;&lt;img class="wp-smiley" src="http://static1.blippr.com/images/inline-face_05.png?1237798206" alt="Facebook reviews" /&gt;&lt;span&gt;)&lt;/span&gt;&lt;/a&gt; on the web and Facebook on the cell phone. Why not Facebook on your Firefox? This extension gives you the ability to stay up to date with your Facebook friends. Alerts, messages, pokes, and invitations are all notified to you through this useful toolbar. You can also share content quickly with this toolbar.&lt;/p&gt; &lt;p&gt;&lt;img src="http://ec.mashable.com/wp-content/uploads/2007/06/kaboodle.PNG" hspace="10" vspace="10" /&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;a href="https://addons.mozilla.org/en-US/firefox/addon/1577"&gt;Kaboodle:&lt;/a&gt;&lt;/strong&gt; If you like to share things, then look no further. Kaboodle allows you to share almost anything you find on the web (particularly items you want to buy) with other Kaboodlers. Also useful is the fact that it tries its best to automatically take the "thing" you want to share and add the appropriate description, title, image, and anything else with it so you don't have to spend that much time providing input.&lt;/p&gt; &lt;p&gt;&lt;img src="http://ec.mashable.com/wp-content/uploads/2007/06/linkedin.PNG" /&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;a href="http://www.linkedin.com/static?key=browser_toolbar_download"&gt;Linkedin:&lt;/a&gt;&lt;/strong&gt; This LinkedIn FireFox toolbar gives you the ability to utilize the LinkedIn&lt;a href="http://www.blippr.com/apps/337623-LinkedIn" target="_blank" rel="http://www.blippr.com/apps/337623-LinkedIn.whtml" class="blippr-inline-smiley blippr-inline-smiley-05"&gt;&lt;span&gt; (&lt;/span&gt;&lt;img class="wp-smiley" src="http://static1.blippr.com/images/inline-face_05.png?1237798206" alt="LinkedIn reviews" /&gt;&lt;span&gt;)&lt;/span&gt;&lt;/a&gt; services more easily. It allows you to search, save, and find data all related to the LinkedIn services all from within Firefox.&lt;/p&gt; &lt;p&gt;&lt;img src="http://ec.mashable.com/wp-content/uploads/2007/06/livejournal.PNG" height="67" width="226" /&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="https://addons.mozilla.org/en-US/firefox/addon/4536"&gt;&lt;strong&gt;LiveJournal:&lt;/strong&gt;&lt;/a&gt; If you are a LiveJournal user, then the LiveJournal extension for Firefox will give you quick access to important information regarding your LiveJournal account. This includes, tracking friends, birthday reminders, comments, messages, and much more.&lt;/p&gt; &lt;p&gt;&lt;img src="http://ec.mashable.com/wp-content/uploads/2007/06/myspace.PNG" height="60" width="186" /&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;a href="https://addons.mozilla.org/en-US/firefox/addon/2895"&gt;Myspace:&lt;/a&gt;&lt;/strong&gt; For the millions who use MySpace&lt;a href="http://www.blippr.com/apps/336652-MySpace" target="_blank" rel="http://www.blippr.com/apps/336652-MySpace.whtml" class="blippr-inline-smiley blippr-inline-smiley-03"&gt;&lt;span&gt; (&lt;/span&gt;&lt;img class="wp-smiley" src="http://static1.blippr.com/images/inline-face_03.png?1237798206" alt="MySpace reviews" /&gt;&lt;span&gt;)&lt;/span&gt;&lt;/a&gt; constantly, this toolbar makes getting updates from MySpace easy by delivering them to you. Most of the notifications you receive through the MySpace website can now be delivered to you through your Firefox browser.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;a href="https://addons.mozilla.org/en-US/firefox/addon/3229"&gt;MySpace blog editor:&lt;/a&gt;&lt;/strong&gt; If you like to blog on Myspace, then this toolbar gives you the ability to post blogs to your Myspace account directly through this extension. It also supports the drag and drop ability, so if you have content such as images or text on a web page that you would like to blog about, just drag it to the editor without breaking a sweat.&lt;/p&gt; &lt;p&gt;&lt;img src="http://ec.mashable.com/wp-content/uploads/2007/06/newsvine.PNG" height="72" width="227" /&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;a href="http://thevineofhob.newsvine.com/_news/2007/03/12/611169-firevine-031-a-newsvine-toolbar-for-firefox-beta-wfixes"&gt;Newsvine:&lt;/a&gt;&lt;/strong&gt; This toolbar allows quick access to your column and frontpage for your Newsvine.com account. It improves your Newsvine experience and gives you the ability to search the Newsvine site quickly. It also features an automatically updating watchlist, as well as a seed status checker.&lt;/p&gt; &lt;p&gt;&lt;img src="http://ec.mashable.com/wp-content/uploads/2007/06/nowpublic.gif" /&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;a href="https://addons.mozilla.org/en-US/firefox/addon/3511"&gt;Nowpublic:&lt;/a&gt;&lt;/strong&gt; Quickly grabbing information from web pages is now easy. If you feel like being a reporter, then this extension allows you to almost act like one by allowing you to copy content to NowPublic.com and then people can write articles on it.&lt;/p&gt; &lt;p&gt;&lt;img src="http://ec.mashable.com/wp-content/uploads/2007/06/orkut.PNG" height="57" width="165" /&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;a href="https://addons.mozilla.org/en-US/firefox/addon/3916"&gt;Orkut:&lt;/a&gt;&lt;/strong&gt; Orkut Helper provides you with options for interacting with your Orkut account.&lt;/p&gt; &lt;p&gt;&lt;img src="http://ec.mashable.com/wp-content/uploads/2007/06/ratepoint.PNG" alt="ratepoint.PNG" /&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;a href="https://addons.mozilla.org/en-US/firefox/addon/4395"&gt;RatePoint:&lt;/a&gt;&lt;/strong&gt; Rating and connecting with people is now made easier with the RatePoint extension. This toolbar allows you to rate sites and connect you to like-minded people all from within this toolbar. It also allows you to form a discussion. The RatePoint extension is a must have for existing RatePoint users.&lt;/p&gt; &lt;p&gt;&lt;img src="http://ec.mashable.com/wp-content/uploads/2007/06/simpy.png" /&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;a href="https://addons.mozilla.org/en-US/firefox/addon/2465"&gt;Simpy:&lt;/a&gt;&lt;/strong&gt; Simpy is a social bookmarking service. Similar to &lt;a href="http://del.icio.us/"&gt;Del.icio.us&lt;/a&gt;, this toolbar allows you to quickly add bookmarks and content to your Simpy account and share it with the world.&lt;/p&gt; &lt;p&gt;&lt;img src="http://ec.mashable.com/wp-content/uploads/2007/06/squidoo.gif" /&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;a href="https://addons.mozilla.org/en-US/firefox/addon/2229"&gt;Squidoo:&lt;/a&gt;&lt;/strong&gt; The Squidoo extension allows you to search Squidoo content within Firefox easily. Much of the vital functionality of Squidoo can be accessed with this toolbar and if you are a Squidoo user, this toolbar couldn't hurt.&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.stumbleupon.com/"&gt;&lt;img src="http://ec.mashable.com/wp-content/uploads/2007/04/stumbleupon-logo.png" alt="stumbleupon-logo.png" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;a href="https://addons.mozilla.org/en-US/firefox/addon/138"&gt;Stumbleupon:&lt;/a&gt;&lt;/strong&gt; This Firefox toolbar allows you to take StumbleUpon&lt;a href="http://www.blippr.com/apps/336717-StumbleUpon" target="_blank" rel="http://www.blippr.com/apps/336717-StumbleUpon.whtml" class="blippr-inline-smiley blippr-inline-smiley-05"&gt;&lt;span&gt; (&lt;/span&gt;&lt;img class="wp-smiley" src="http://static1.blippr.com/images/inline-face_05.png?1237798206" alt="StumbleUpon reviews" /&gt;&lt;span&gt;)&lt;/span&gt;&lt;/a&gt; to its full potential. It allows you to rate, stumble, and send web pages. It also lets you see your friends and favorites on your StumbleUpon account.&lt;/p&gt; &lt;p&gt;&lt;img src="http://ec.mashable.com/wp-content/uploads/2007/06/twitter.PNG" height="50" width="194" /&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;a href="http://www.twitbin.com/"&gt;Twitbin:&lt;/a&gt;&lt;/strong&gt; Twitbin&lt;a href="http://www.blippr.com/apps/337073-Twitbin" target="_blank" rel="http://www.blippr.com/apps/337073-Twitbin.whtml" class="blippr-inline-smiley blippr-inline-smiley-05"&gt;&lt;span&gt; (&lt;/span&gt;&lt;img class="wp-smiley" src="http://static1.blippr.com/images/inline-face_05.png?1237798206" alt="Twitbin reviews" /&gt;&lt;span&gt;)&lt;/span&gt;&lt;/a&gt; is Twitter&lt;a href="http://www.blippr.com/apps/336651-Twitter" target="_blank" rel="http://www.blippr.com/apps/336651-Twitter.whtml" class="blippr-inline-smiley blippr-inline-smiley-07"&gt;&lt;span&gt; (&lt;/span&gt;&lt;img class="wp-smiley" src="http://static1.blippr.com/images/inline-face_07.png?1237798206" alt="Twitter reviews" /&gt;&lt;span&gt;)&lt;/span&gt;&lt;/a&gt; in Firefox.  It gives you the ability to post and see comments right from within your Firefox browser.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;a href="https://addons.mozilla.org/en-US/firefox/addon/4664"&gt;Twitter:&lt;/a&gt;&lt;/strong&gt; The Twitterbar is another simple extension that allows you to easily post to your Twitter account by simply typing in the address bar, and pressing a button near the bar to post a tweet.&lt;/p&gt; &lt;p&gt;&lt;img src="http://ec.mashable.com/wp-content/uploads/2007/05/technorati_logo.jpg" height="56" width="238" /&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;a href="https://addons.mozilla.org/en-US/firefox/addon/1516"&gt;Technorati:&lt;/a&gt;&lt;/strong&gt; The Techno(rati) Bar provides Technorati information in a sidebar, including blogs linking to the current site. A handy feature for you Technorati users.&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;img src="http://ec.mashable.com/wp-content/uploads/2007/06/skype.PNG" height="64" width="146" /&gt; &lt;strong&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;a href="http://www.skype.com/download/skypewebtoolbar/firefox.html"&gt;Skype:&lt;/a&gt;&lt;/strong&gt; The Skype Web Toolbar will enhance your interaction with Skype&lt;a href="http://www.blippr.com/apps/337627-Skype" target="_blank" rel="http://www.blippr.com/apps/337627-Skype.whtml" class="blippr-inline-smiley blippr-inline-smiley-05"&gt;&lt;span&gt; (&lt;/span&gt;&lt;img class="wp-smiley" src="http://static1.blippr.com/images/inline-face_05.png?1237798206" alt="Skype reviews" /&gt;&lt;span&gt;)&lt;/span&gt;&lt;/a&gt; by allowing you to connect to phone numbers on web pages easily, without even having to type numbers in manually to the Skype application. Handy.&lt;/p&gt; &lt;p&gt;&lt;img src="http://ec.mashable.com/wp-content/uploads/2007/06/youtubenew.PNG" /&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;a href="http://www.topyoutubevideos.com/WatchYouTube%20Toolbar.html"&gt;YouTube:&lt;/a&gt;&lt;/strong&gt; YouTube&lt;a href="http://www.blippr.com/apps/336658-YouTube" target="_blank" rel="http://www.blippr.com/apps/336658-YouTube.whtml" class="blippr-inline-smiley blippr-inline-smiley-05"&gt;&lt;span&gt; (&lt;/span&gt;&lt;img class="wp-smiley" src="http://static1.blippr.com/images/inline-face_05.png?1237798206" alt="YouTube reviews" /&gt;&lt;span&gt;)&lt;/span&gt;&lt;/a&gt;, being one of the most popular sites in the world, deserves a toolbar of its own. The Watch YouTube toolbar lets you watch YouTube videos right in the browser. 15 of the top viewed, top rated, top favorites, recently added and more.&lt;/p&gt; &lt;p&gt;&lt;img src="http://ec.mashable.com/wp-content/uploads/2007/06/wikipedianew.PNG" height="122" width="106" /&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://wikipedia.mozdev.org/"&gt;&lt;strong&gt;Wikipedia:&lt;/strong&gt;&lt;/a&gt;  Editing Wikipedia is now much easier.  It allows a myriad of options for editing and managing Wikipedia&lt;a href="http://www.blippr.com/apps/337045-Wikipedia" target="_blank" rel="http://www.blippr.com/apps/337045-Wikipedia.whtml" class="blippr-inline-smiley blippr-inline-smiley-07"&gt;&lt;span&gt; (&lt;/span&gt;&lt;img class="wp-smiley" src="http://static1.blippr.com/images/inline-face_07.png?1237798206" alt="Wikipedia reviews" /&gt;&lt;span&gt;)&lt;/span&gt;&lt;/a&gt; content right through this toolbar.&lt;/p&gt;  &lt;p&gt;From now on you have no excuse from not being socially connected to the web. So be sure to pimp out your Firefox browser with some of these extremely useful social networking toolbars and plug-ins.&lt;/p&gt;&lt;br /&gt;--&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5699179415075283063-7083464657253435328?l=symfonyhelp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://symfonyhelp.blogspot.com/feeds/7083464657253435328/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://symfonyhelp.blogspot.com/2009/04/23-best-social-networking-toolbars-and.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5699179415075283063/posts/default/7083464657253435328'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5699179415075283063/posts/default/7083464657253435328'/><link rel='alternate' type='text/html' href='http://symfonyhelp.blogspot.com/2009/04/23-best-social-networking-toolbars-and.html' title='23 Best Social Networking Toolbars and Plugins for Firefox'/><author><name>Rajeev</name><uri>http://www.blogger.com/profile/09442025840798063075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_M3AgJ8-TiII/TU0tBZ3wSTI/AAAAAAAAAog/WzvygeezO1c/s220/165649_125059220894331_100001707608385_140654_3449754_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5699179415075283063.post-5104738942922484792</id><published>2009-04-22T07:12:00.001-07:00</published><updated>2009-04-22T07:12:33.531-07:00</updated><title type='text'>Bluetooth 3.0 is here</title><content type='html'>&lt;span class="announcementsPostTimestamp" id="afterPageTitleHideDuringEdit"&gt;                         &lt;/span&gt;     &lt;div id="jot-content0" class="goog-ws-content goog-ws-content-ie goog-ws-pagetype-blurb goog-ws-clear" style=""&gt; &lt;div dir="ltr"&gt;&lt;span style="border-collapse: separate; color: rgb(51, 48, 45); font-size: 12px;"&gt;The &lt;a href="http://www.google.com/url?q=http%3A%2F%2Fwww.bluetooth.com%2F&amp;amp;sa=D&amp;amp;sntz=1&amp;amp;usg=AFrqEzebpRtEhvupPMriKjkvQafbOYytPg" style="margin: 0px; padding: 0px; text-decoration: none; color: rgb(10, 161, 221); background-color: rgb(255, 255, 255);"&gt;Bluetooth Special Interest Group&lt;/a&gt; (SIG)—comprised of companies including IBM and Nokia that sell technology that uses or relies on &lt;a href="http://www.google.com/url?q=http%3A%2F%2Fwww.sciam.com%2Farticle.cfm%3Fid%3Dexperts-how-does-bluetooth-work&amp;amp;sa=D&amp;amp;sntz=1&amp;amp;usg=AFrqEzdqDTkxVVkDW73VIJwPsitQEiphdA" style="margin: 0px; padding: 0px; text-decoration: none; color: rgb(10, 161, 221); background-color: rgb(255, 255, 255);"&gt;Bluetooth short-range radio frequency&lt;/a&gt; (RF) for sending and receiving wireless info—today in Tokyo put  its stamp of approval on a new, more versatile version of the wireless standard that will give Bluetooth-enabled mobile gadgets the oomph needed to for the first time be able to transfer digital picture, video and other large files between cell phones, laptops and other devices.&lt;br style="margin: 0px; padding: 0px;"&gt;&lt;br style="margin: 0px; padding: 0px;"&gt;The new Bluetooth Version 3.0 + High Speed standard and specification will show makers of cell phones, computers and other wireless electronics how to design these devices so that they can send and receive data using either the Bluetooth or &lt;a href="http://www.google.com/url?q=http%3A%2F%2Fen.wikipedia.org%2Fwiki%2F802.11&amp;amp;sa=D&amp;amp;sntz=1&amp;amp;usg=AFrqEzdi8E4isS1hD8uBpFuKE3NO9npDiA" style="margin: 0px; padding: 0px; text-decoration: none; color: rgb(10, 161, 221); background-color: rgb(255, 255, 255);"&gt;802.11 protocols&lt;/a&gt; using an 802.11 protocol adaptation layer. (Many laptops use Wi-Fi radios that use the 802.11 protocol because it can send large amounts of data over long distances, unlike Bluetooth.)&lt;br style="margin: 0px; padding: 0px;"&gt;&lt;br style="margin: 0px; padding: 0px;"&gt;With devices built according to the new Bluetooth SIG-approved standard, a device manufacturer could make their product so that it can send and receive data using either the Bluetooth or 802.11 wireless data transfer protocols (also sometimes known as Wi-Fi), says Peter Cook, Bluetooth SIG&amp;#39;s senior program manager and one of the writers of the 3.0 specification. Although the 802.11 high-speed radio can be more taxing on a battery than the classic Bluetooth radio, the high speed radio is also able to send data faster.  The power optimization benefits of high-speed Bluetooth lets applications using 802.11 for connectivity use just a burst of 802.11 power to send data and then shut off the radio until it is needed again—so it works efficiently and without draining power.  &lt;br style="margin: 0px; padding: 0px;"&gt;&lt;br style="margin: 0px; padding: 0px;"&gt;Bluetooth&amp;#39;s strength, since it was introduced in 1998, has been its ability to synchronize and transfer data (typically music files, calendar and contact info) between devices across short distances—typically less than 30 feet (10 meters) or so—without sapping a lot of battery power. But, since Bluetooth radios and receivers conserve this power in part through the use of slow data transfer speeds—no more than 3 megabits per second—devices using only Bluetooth haven&amp;#39;t been used to transfer the larger video and other multimedia digital in demand today. Bluetooth Version 3.0 + High Speed devices will be able to transfer data at up to 24 megabits per second by making use of 802.11.&lt;br style="margin: 0px; padding: 0px;"&gt;&lt;br style="margin: 0px; padding: 0px;"&gt;Wireless chip manufacturers Atheros Communications, Inc., in Santa Clara, Calif.; Broadcom Corporation in Irvine, Calif.; and Cambridge, U.K.-based CSR (all members of Bellevue, Wash., -based Bluetooth SIG) are planning to offer products that use the new standard within the next year. (Bluetooth SIG estimates there are more than two billion Bluetooth devices in use today.)&lt;/span&gt;&lt;/div&gt; &lt;/div&gt;&lt;br&gt;-- &lt;br&gt;I asked God to give me happiness. God said, No. I give you blessings; Happiness is up to you. &lt;br&gt;&lt;br&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5699179415075283063-5104738942922484792?l=symfonyhelp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://symfonyhelp.blogspot.com/feeds/5104738942922484792/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://symfonyhelp.blogspot.com/2009/04/bluetooth-30-is-here.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5699179415075283063/posts/default/5104738942922484792'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5699179415075283063/posts/default/5104738942922484792'/><link rel='alternate' type='text/html' href='http://symfonyhelp.blogspot.com/2009/04/bluetooth-30-is-here.html' title='Bluetooth 3.0 is here'/><author><name>Rajeev</name><uri>http://www.blogger.com/profile/09442025840798063075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_M3AgJ8-TiII/TU0tBZ3wSTI/AAAAAAAAAog/WzvygeezO1c/s220/165649_125059220894331_100001707608385_140654_3449754_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5699179415075283063.post-8621774542017429441</id><published>2009-04-19T22:57:00.000-07:00</published><updated>2009-04-19T23:00:13.827-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><category scheme='http://www.blogger.com/atom/ns#' term='Design'/><title type='text'>Designing for Flex – Part 1: Overview and introduction to Flex</title><content type='html'>Adobe Flex is a new medium specifically created for designing and developing rich Internet applications, or RIAs. RIAs are a new breed of applications that break out of the constraints of traditional web and desktop environments to provide a more fluid, information-focused user experience. Flex makes it much easier to create these experiences, but it requires application designers and developers to think differently about the application design problem than they did when creating traditional web and desktop applications.&lt;br /&gt;&lt;br /&gt;The Designing for Flex series surveys new possibilities, techniques, and challenges designers and developers will confront when designing Flex rich Internet applications. Specifically, the series covers: planning and structuring Flex applications, special considerations for designing web versus desktop Flex applications, the design of rich content displays, appropriate use of motion in application design, improving an application’s efficiency of use, and ensuring your users feel safe using your application and trust it with their data. We have supplemented the series with an ever-growing set of components and sample code to assist you in applying the theory presented here. In the near future, we also plan to release the official set of "Flex Interface Guidelines" that describe in depth how to apply the Adobe standard for Flex application design to your projects.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.adobe.com/devnet/flex/articles/fig_pt1_print.html"&gt;Click here.........&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5699179415075283063-8621774542017429441?l=symfonyhelp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://symfonyhelp.blogspot.com/feeds/8621774542017429441/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://symfonyhelp.blogspot.com/2009/04/designing-for-flex-part-1-overview-and.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5699179415075283063/posts/default/8621774542017429441'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5699179415075283063/posts/default/8621774542017429441'/><link rel='alternate' type='text/html' href='http://symfonyhelp.blogspot.com/2009/04/designing-for-flex-part-1-overview-and.html' title='Designing for Flex – Part 1: Overview and introduction to Flex'/><author><name>Rajeev</name><uri>http://www.blogger.com/profile/09442025840798063075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_M3AgJ8-TiII/TU0tBZ3wSTI/AAAAAAAAAog/WzvygeezO1c/s220/165649_125059220894331_100001707608385_140654_3449754_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5699179415075283063.post-4493388375505663408</id><published>2009-04-17T01:10:00.001-07:00</published><updated>2009-04-17T01:12:09.728-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><category scheme='http://www.blogger.com/atom/ns#' term='web applications'/><category scheme='http://www.blogger.com/atom/ns#' term='google app engine'/><title type='text'>Google App Engine with JAVA</title><content type='html'>&lt;big&gt;&lt;b&gt;* What is Google App Engine?&lt;br /&gt;&lt;/b&gt;&lt;/big&gt;&lt;br /&gt;Google App Engine, a cloud computing environment that Google has been working on to host Web applications in a way that, in theory, it provides automatic scalability, so sites can handle large audiences without having to plan and invest on servers to handle large loads.&lt;br /&gt;&lt;br /&gt;&lt;tt&gt;&lt;a href="http://www.phpclasses.org/blog/post/77-Google-App-Engine-needs-PHP-support.html" title="http://www.phpclasses.org/blog/post/77-Google-App-Engine-needs-PHP-support.html"&gt;http://www.phpclasses.org/blog/post/77-Google-App-Engine-nee&lt;/a&gt;&lt;/tt&gt; ...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;big&gt;&lt;b&gt;* Google App Engine with Java support&lt;br /&gt;&lt;/b&gt;&lt;/big&gt;&lt;br /&gt;As it is explained in the article above, initially Google only provided support to run Python applications.&lt;br /&gt;&lt;br /&gt;Meanwhile, last week Google announced the support of Java to run applications on Google App Engine.&lt;br /&gt;&lt;br /&gt;&lt;tt&gt;&lt;a href="http://googleappengine.blogspot.com/2009/04/seriously-this-time-new-language-on-app.html" title="http://googleappengine.blogspot.com/2009/04/seriously-this-time-new-language-on-app.html" target="_blank" rel="nofollow"&gt;http://googleappengine.blogspot.com/2009/04/seriously-this-t&lt;/a&gt;&lt;/tt&gt; ...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;big&gt;&lt;b&gt;* Running PHP applications on Google App Engine&lt;br /&gt;&lt;/b&gt;&lt;/big&gt;&lt;br /&gt;As some of you may be aware, thanks to Quercus project, it is possible to run PHP 5 applications on environments that have a running Java Virtual Machine.&lt;br /&gt;&lt;br /&gt;&lt;tt&gt;&lt;a href="http://www.caucho.com/resin-3.0/quercus/" target="_blank" rel="nofollow"&gt;http://www.caucho.com/resin-3.0/quercus/&lt;/a&gt;&lt;/tt&gt;&lt;br /&gt;&lt;br /&gt;A PHP developer named Roshan just reported that he successfully run a PHP application on Google AppEngine using Quercus.&lt;br /&gt;&lt;br /&gt;&lt;tt&gt;&lt;a href="http://www.phpclasses.org/discuss/blog/PHP-Classes-blog/post/77/thread/5/" title="http://www.phpclasses.org/discuss/blog/PHP-Classes-blog/post/77/thread/5/"&gt;http://www.phpclasses.org/discuss/blog/PHP-Classes-blog/post&lt;/a&gt;&lt;/tt&gt; ...&lt;br /&gt;&lt;br /&gt;Here you may learn more details about this experience:&lt;br /&gt;&lt;br /&gt;&lt;tt&gt;&lt;a href="http://www.webdigi.co.uk/blog/2009/run-php-on-the-google-app-engine/" title="http://www.webdigi.co.uk/blog/2009/run-php-on-the-google-app-engine/" target="_blank" rel="nofollow"&gt;http://www.webdigi.co.uk/blog/2009/run-php-on-the-google-app&lt;/a&gt;&lt;/tt&gt; ...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;big&gt;&lt;b&gt;* Share your experiences with PHP on Google AppEngine&lt;br /&gt;&lt;/b&gt;&lt;/big&gt;&lt;br /&gt;This is not an ideal solution because it is not native PHP support, as many of use hoped, but it is indeed some progress.&lt;br /&gt;&lt;br /&gt;It would be interesting if anybody could share your results, specifically what are the limitations and what are the benefits of running PHP on this environment compared to traditional hosting environments.&lt;br /&gt;&lt;br /&gt;As a side comment, PHP applications can also run wherever there is a .NET virtual machine, thanks to the Phalanger project, which by the way is sponsored by Microsoft.&lt;br /&gt;&lt;br /&gt;&lt;tt&gt;&lt;a href="http://www.php-compiler.net/" target="_blank" rel="nofollow"&gt;http://www.php-compiler.net/&lt;/a&gt;&lt;/tt&gt;&lt;br /&gt;&lt;br /&gt;So, in theory it should be possible to run PHP applications in Windows Azure, Microsoft cloud computing environment, as it was explained in this article:&lt;br /&gt;&lt;br /&gt;&lt;tt&gt;&lt;a href="http://www.phpclasses.org/blog/post/85-What-is-Microsoft-up-to-with-PHP.html" title="http://www.phpclasses.org/blog/post/85-What-is-Microsoft-up-to-with-PHP.html"&gt;http://www.phpclasses.org/blog/post/85-What-is-Microsoft-up-&lt;/a&gt;&lt;/tt&gt; ... &lt;br /&gt;--&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5699179415075283063-4493388375505663408?l=symfonyhelp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://symfonyhelp.blogspot.com/feeds/4493388375505663408/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://symfonyhelp.blogspot.com/2009/04/google-app-engine-with-java.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5699179415075283063/posts/default/4493388375505663408'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5699179415075283063/posts/default/4493388375505663408'/><link rel='alternate' type='text/html' href='http://symfonyhelp.blogspot.com/2009/04/google-app-engine-with-java.html' title='Google App Engine with JAVA'/><author><name>Rajeev</name><uri>http://www.blogger.com/profile/09442025840798063075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_M3AgJ8-TiII/TU0tBZ3wSTI/AAAAAAAAAog/WzvygeezO1c/s220/165649_125059220894331_100001707608385_140654_3449754_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5699179415075283063.post-5326758908270515366</id><published>2009-04-06T00:26:00.000-07:00</published><updated>2009-04-06T00:30:46.938-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='symfony'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL Query'/><category scheme='http://www.blogger.com/atom/ns#' term='Criteria'/><category scheme='http://www.blogger.com/atom/ns#' term='update'/><category scheme='http://www.blogger.com/atom/ns#' term='Creole'/><category scheme='http://www.blogger.com/atom/ns#' term='utility'/><title type='text'>Class Criteria</title><content type='html'>This is a utility class for holding criteria information for a query. Check this..Its truly useful.&lt;br /&gt;&lt;a href="http://www.tig12.net/downloads/apidocs/symfony/plugins/sfPropelPlugin/lib/vendor/propel/util/Criteria.class.html"&gt;Please click here...&lt;br /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5699179415075283063-5326758908270515366?l=symfonyhelp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://symfonyhelp.blogspot.com/feeds/5326758908270515366/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://symfonyhelp.blogspot.com/2009/04/class-criteria.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5699179415075283063/posts/default/5326758908270515366'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5699179415075283063/posts/default/5326758908270515366'/><link rel='alternate' type='text/html' href='http://symfonyhelp.blogspot.com/2009/04/class-criteria.html' title='Class Criteria'/><author><name>Rajeev</name><uri>http://www.blogger.com/profile/09442025840798063075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_M3AgJ8-TiII/TU0tBZ3wSTI/AAAAAAAAAog/WzvygeezO1c/s220/165649_125059220894331_100001707608385_140654_3449754_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5699179415075283063.post-6530054056488474894</id><published>2009-04-06T00:20:00.000-07:00</published><updated>2009-04-06T00:25:41.639-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='symfony'/><category scheme='http://www.blogger.com/atom/ns#' term='Action'/><title type='text'>Symfony + Action To Another Action ?</title><content type='html'>&lt;a title="Form Tag Action='/aaa/aa/' Instead Of Action='/aaa/aa.php' ?" class="trelated" href="http://www.bigresource.com/PHP-form-tag-action-aaa-aa-instead-of-action-aaa-aa-php--txHXKwpF.html"&gt;Form Tag Action='/aaa/aa/' Instead Of Action='/aaa/aa.php' ?&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; I am quite new to php so please bear with me if you think the answer is obvious.&lt;br /&gt;Problem/question: I have noticed when some websites process forms the tag contains action='/aaa/aa/' instead of action='/aaa/aa.php'.&lt;br /&gt;&lt;br /&gt;How does this work? This leads to the next part of the question, how to clear the postdata so that the next window if refreshed will not resend and the url will not show '/aaa/aa.php'&lt;br /&gt;&lt;br /&gt;Currently using javascript: I use javascript and php to get round this, but with accessiblity issues for my site, i cannot always rely on javascript. Code:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;hr width="100%"&gt;&lt;br /&gt;&lt;br /&gt; &lt;div class="relcont"&gt;&lt;br /&gt; &lt;a name="xw5T5wxw"&gt;&lt;br /&gt; &lt;/a&gt;&lt;a title="Action= ???" class="trelated" href="http://www.bigresource.com/PHP-Action--xw5T5wxw.html"&gt;Action= ???&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; I can't find the answer!! I want to select a page from a "select" list. Click Submit and go to that page. Below is my code. The "???" is what I can't figure out.&lt;br /&gt;&lt;br /&gt;&amp;lt;form action="???"&amp;gt;&lt;br /&gt;&lt;br /&gt;Select a month&lt;br /&gt;&lt;br /&gt;&amp;lt;select&lt;br /&gt;     name="???" size="1"&amp;gt;&lt;br /&gt;       &amp;lt;option selected value=""&amp;gt;Select Area to Update&amp;lt;/option&amp;gt;&lt;br /&gt;       &amp;lt;option value="&amp;lt;a href=Updatevent.php"&amp;gt;Update Events&amp;lt;/a&amp;gt;&amp;lt;/option&amp;gt;&lt;br /&gt;       &amp;lt;option value="&amp;lt;a href=UpdateCustomer.php"&amp;gt;Update Customer&amp;lt;/a&amp;gt;&amp;lt;/option&amp;gt;&lt;br /&gt;       &amp;lt;option value="&amp;lt;a href=AddCustomer.php"&amp;gt;Add Customer&amp;lt;/a&amp;gt;&amp;lt;/option&amp;gt;&lt;br /&gt;     &amp;lt;/select&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;INPUT TYPE="submit" NAME="Update" VALUE="Submit"&amp;gt;&lt;br /&gt;&amp;lt;/form&amp;gt;&amp;lt;/TABLE&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;hr width="100%"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt; &lt;div class="relcont"&gt;&lt;br /&gt; &lt;a name="1t84gM4g"&gt;&lt;br /&gt; &lt;/a&gt;&lt;a title="?action=action" class="trelated" href="http://www.bigresource.com/PHP--action-action-1t84gM4g.html"&gt;?action=action&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; if someone could tell me the layout of the ?action=action function. I cant seem to get it right. I have a form, the action of this form is ?action=action&lt;br /&gt;&lt;br /&gt;does it go something like:&lt;br /&gt;&lt;br /&gt;&amp;lt;?php&lt;br /&gt;&lt;br /&gt;if action==action {&lt;br /&gt;   submitted form&lt;br /&gt;} else {&lt;br /&gt;   default page&lt;br /&gt;}&lt;br /&gt;?&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;hr width="100%"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt; &lt;div class="relcont"&gt;&lt;br /&gt; &lt;a name="gtgyMXlT"&gt;&lt;br /&gt; &lt;/a&gt;&lt;a title="$var-&amp;gt;ACTION();" class="trelated" href="http://www.bigresource.com/PHP--var-ACTION--gtgyMXlT.html"&gt;$var-&amp;gt;ACTION();&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; What is this called?&lt;br /&gt;&lt;br /&gt;$var-&amp;gt;ACTION();&lt;br /&gt;&lt;br /&gt;I see this a lot, and I'm not sure what it means or if there is a name for what it's doing. I'd like to learn about this.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;hr width="100%"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt; &lt;div class="relcont"&gt;&lt;br /&gt; &lt;a name="Hyria0Eg"&gt;&lt;br /&gt; &lt;/a&gt;&lt;a title="Index.php?action=1 Etc" class="trelated" href="http://www.bigresource.com/PHP-index-php-action-1-etc-Hyria0Eg.html"&gt;Index.php?action=1 Etc&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; just wondering how i could make a php page which has say an output like index.php?action=1 all it has to do is goto another webpage - so if i had URL then the user is taken to  another page and so on for index.php?action=2 / index.php?action=3 / etc&lt;br /&gt;&lt;br /&gt; &lt;hr width="100%"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt; &lt;div class="relcont"&gt;&lt;br /&gt; &lt;a name="K78jmcvX"&gt;&lt;br /&gt; &lt;/a&gt;&lt;a title="Variable Action" class="trelated" href="http://www.bigresource.com/PHP-Variable-action-K78jmcvX.html"&gt;Variable Action&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; I want to call a different php script depending on if the user clicks&lt;br /&gt;the Chart button or the Play button. Is this possible?&lt;br /&gt;&lt;br /&gt; &lt;hr width="100%"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt; &lt;div class="relcont"&gt;&lt;br /&gt;&lt;br /&gt; &lt;a name="XdwvjyKD"&gt;&lt;br /&gt; &lt;/a&gt;&lt;a title="LoadModule Vs. Action" class="trelated" href="http://www.bigresource.com/PHP-LoadModule-vs-action-XdwvjyKD.html"&gt;LoadModule Vs. Action&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; a simple question regarding ways of loading php as a dll or an exe file&lt;br /&gt;in httpd?&lt;br /&gt;What is the difference of loading php as LoadModule php5_module&lt;br /&gt;"C:phpphp5apache2_2.dll" or Action application/x-httpd-php&lt;br /&gt;"/php/php-cgi.exe" or Action application/x-httpd-php "/php/php.exe".&lt;br /&gt;&lt;br /&gt;Either way, what is the most preferable way and why?&lt;br /&gt;&lt;br /&gt; &lt;hr width="100%"&gt;&lt;br /&gt; &lt;/div&gt;&lt;div class="relcont"&gt;&lt;a name="CNyLQy63"&gt;&lt;/a&gt;&lt;a title="Two Action In A Form?" class="trelated" href="http://www.bigresource.com/PHP-two-action-in-a-form--CNyLQy63.html"&gt;Two Action In A Form?&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; can i put two actions in a form so that when i click the "submit" button, the information will be sent to both the database and my email account?&lt;br /&gt;&lt;br /&gt; &lt;hr width="100%"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="relcont"&gt;&lt;a name="q6duAddY"&gt; &lt;/a&gt;&lt;a title="Action And Header" class="trelated" href="http://www.bigresource.com/PHP-Action-and-Header-q6duAddY.html"&gt;Action And Header&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; I have used the action= statement to send the form to a new page which&lt;br /&gt;can get the posted variables.&lt;br /&gt;&lt;br /&gt;I have used the header("Location: foo.php) statement after testing on&lt;br /&gt;the submit with isset.&lt;br /&gt;&lt;br /&gt;What I want to know is if they can be combined.  That is, test first&lt;br /&gt;with the isset, and if no errors go to the action call.  Simply going&lt;br /&gt;with the header call doesn't seem to send the form variables.&lt;br /&gt;&lt;br /&gt; &lt;hr width="100%"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="relcont"&gt;&lt;a name="gCMLctsy"&gt;&lt;/a&gt;&lt;a title="Action Link" class="trelated" href="http://www.bigresource.com/PHP-Action-link-gCMLctsy.html"&gt;Action Link&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Does anyone have a solution for this problem:&lt;br /&gt;&lt;br /&gt;- I would like a PHP script to execute an action before a user clicks&lt;br /&gt;on a link (updating the value of a variable, for instance).&lt;br /&gt;&lt;br /&gt;Is there an easy way to do this?&lt;br /&gt;&lt;br /&gt; &lt;hr width="100%"&gt;&lt;a name="lXdhWfk8"&gt;&lt;/a&gt;&lt;a title="If() Action Within Print()..?" class="trelated" href="http://www.bigresource.com/PHP-If-action-within-print--lXdhWfk8.html"&gt;If() Action Within Print()..?&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; I'm trying to do something like this:&lt;br /&gt;&lt;br /&gt;&amp;lt;?php&lt;br /&gt;foreach($apples as $key =&amp;gt; $value){&lt;br /&gt;&lt;br /&gt;print("&amp;lt;td class=&amp;lt;?php if ($myvar==$key){print (class1);} else {print&lt;br /&gt;(class2);} ?&amp;gt;&amp;gt;$value&amp;lt;/td&amp;gt;");&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;?&amp;gt;&lt;br /&gt;&lt;br /&gt;Hopefully, you can see what I'm trying to do, I've left out all the ' " '&lt;br /&gt;etc. Obviously the syntax isn't right at all, how exactly do I achieve&lt;br /&gt;putting an if() action with a print()? Is it even possible?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;hr width="100%"&gt;&lt;br /&gt;&lt;/div&gt;&lt;a name="s70EceFK"&gt;&lt;/a&gt;&lt;a title="The Power Of ACTION" class="trelated" href="http://www.bigresource.com/PHP-the-power-of-ACTION-s70EceFK.html"&gt;The Power Of ACTION&lt;/a&gt;&lt;br /&gt;&lt;div class="relcont"&gt;&lt;br /&gt;&lt;br /&gt; how much power does &amp;lt;form ACTION= &amp;gt; have?  is it only for sending the form somewere? or can i use that to acess a server? like i have a table of variable items, i check the ones i want and click my submit button, can i use the action sub tag to access mysql database and input them in there?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;hr width="100%"&gt;&lt;a name="Yb2LLYfm"&gt;&lt;/a&gt;&lt;a title="Selected Box Action" class="trelated" href="http://www.bigresource.com/PHP-selected-box-action-Yb2LLYfm.html"&gt;Selected Box Action&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; how to set the respond to action when user choose an option inside a &amp;lt;select&amp;gt;&amp;lt;/select&amp;gt; box? eg. when user select an option in the &amp;lt;select&amp;gt; box then php search for data inside mysql and then display the required data on the &amp;lt;input type=text&amp;gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;hr width="100%"&gt;&lt;a name="e4fwvj7f"&gt;&lt;/a&gt;&lt;a title="Post With No Action" class="trelated" href="http://www.bigresource.com/PHP-post-with-no-action-e4fwvj7f.html"&gt;Post With No Action&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; I want to be able to pull values out of input boxes without having to post. Can I do this? I want to do this in PHP. Javascript Code:&lt;br /&gt;&lt;br /&gt;&amp;lt;script&amp;gt;&lt;br /&gt;myvariable = document.myform.inputname.value&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;br /&gt;I want to try and save the data in a form without having to redirect... similiar to the save now button in gmail.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;hr width="100%"&gt;&lt;a name="4boPJjlN"&gt;&lt;/a&gt;&lt;a title="Form Action" class="trelated" href="http://www.bigresource.com/PHP-Form-action-4boPJjlN.html"&gt;Form Action&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="relcont"&gt;&lt;br /&gt;&lt;br /&gt; I have page called contracts.php form for selecting arrival date and departure date, after selecting those dates I want to pass the date values to a new window/iframe called price.php&lt;br /&gt;&lt;br /&gt;where I can enter total price, balance, numdays..etc in that iframe again when I click on submit/close button in the new window/iframe it has to come back to contracts.php page with those entered values.&lt;br /&gt;&lt;br /&gt; &lt;hr width="100%"&gt;&lt;br /&gt;&lt;/div&gt;&lt;a name="5wgU9GzR"&gt;&lt;/a&gt;&lt;a title="Page With Action" class="trelated" href="http://www.bigresource.com/PHP-page-with-action-5wgU9GzR.html"&gt;Page With Action&lt;/a&gt;&lt;br /&gt;&lt;div class="relcont"&gt;&lt;br /&gt;&lt;br /&gt; a form i want to include the Iframe so the page wont go into another window and on top of that i need to include the action , this is the original code&lt;br /&gt;&lt;br /&gt;&amp;lt;form action="register.php?action=register" method="post"&amp;gt;&lt;br /&gt;&lt;br /&gt;now i tried changing it so it can stay in my regualr .php page so i did this&lt;br /&gt;&lt;br /&gt;&amp;lt;form action="thegold.php?page=user/register" action="register" method="post"&amp;gt;&lt;br /&gt;&lt;br /&gt;heres the code that starts up the register  PHP Code:&lt;br /&gt;&lt;br /&gt;&amp;lt;?php&lt;br /&gt;extract($HTTP_GET_VARS);&lt;br /&gt;extract($HTTP_POST_VARS);&lt;br /&gt;include("config.php");&lt;br /&gt;if($action == "register")&lt;br /&gt;{&lt;br /&gt;and i am doing a user system thing so i need the action to be registed so when the person signs up he actually registers into the thing and i want the person to also be able to be in the same page.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;hr width="100%"&gt;&lt;a name="pCz12tC8"&gt;&lt;/a&gt;&lt;a title="How To Run An Action Script" class="trelated" href="http://www.bigresource.com/PHP-how-to-run-an-action-script-pCz12tC8.html"&gt;How To Run An Action Script&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; how I run a paypal action script and than an sql insert from the same form. The form is basically as follows:&lt;br /&gt;&lt;br /&gt;&amp;lt;?php&lt;br /&gt;&amp;lt;form method="post" action="https://www.sandbox.paypal.com/cgi-bin/webscr" target ="paypal"&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;input type="image" src="http://images.paypal.com/en_US/i/btn/x-click-but22.gif" border="0" name="submit" width="87" height="23" alt="Make payments with PayPal - it's fast, free and secure!"&amp;gt;&lt;br /&gt;?&amp;gt;&lt;br /&gt;&lt;br /&gt;The sql is:&lt;br /&gt;&lt;br /&gt;$query = "INSERT INTO downloads (user_name, item_name, total_downloads) VALUES('$user_name', '$item_name', '$total_downloads')";&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;hr width="100%"&gt;&lt;a name="4quve0TY"&gt;&lt;/a&gt;&lt;a title="Form Action" class="trelated" href="http://www.bigresource.com/PHP-form-action-4quve0TY.html"&gt;Form Action&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="relcont"&gt;&lt;br /&gt;&lt;br /&gt; I have an html form that sends data to a mySQL database. What I would also like is for the data to be e-mailed to me as well as going to the database. Here is my code:&lt;br /&gt;&lt;br /&gt;&amp;lt;form action="../manchester/form.php" method="post"&lt;br /&gt;name="form1" class="frm_addlisting" id="form1"&amp;gt;&lt;br /&gt;&lt;br /&gt;So that gets it to my database ok.&lt;br /&gt;&lt;br /&gt;I want it to go to ../formmail.php as well so it I get an e-mail each time a user posts to the database.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;hr width="100%"&gt;&lt;a name="AqOWjdnw"&gt;&lt;/a&gt;&lt;a title="Form Action?" class="trelated" href="http://www.bigresource.com/PHP-Form-Action--AqOWjdnw.html"&gt;Form Action?&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; Is it possable for an HTML form to have more than 1 action? I need it to forward to another page, and to sent an e-mail with form data.&lt;br /&gt;&lt;br /&gt;&amp;lt;form name="products" enctype="text/plain" method="post" action="mailto:me@mymail.co.za?subject=My Subject? page2.php"&amp;gt;&lt;br /&gt;&lt;br /&gt;This method doesn't work.&lt;br /&gt;&lt;br /&gt; &lt;hr width="100%"&gt;&lt;a name="YPnM1E0h"&gt;&lt;/a&gt;&lt;a title="Place Various PHP Action" class="trelated" href="http://www.bigresource.com/PHP-place-various-PHP-action-YPnM1E0h.html"&gt;Place Various PHP Action&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="relcont"&gt;&lt;br /&gt;&lt;br /&gt; I have this script, it works outside the function, no probs with it BUT I need to place the output of the function in one string in order to return in how do I do it?&lt;br /&gt;&lt;br /&gt;$input = array('apple', 'orange', 'monkey', 'potato', 'cheese', 'badger', 'turnip');&lt;br /&gt;$cols = 2;&lt;br /&gt;&lt;br /&gt;function table_columns($input, $cols) {&lt;br /&gt;[color=red]&lt;br /&gt;$i=0;&lt;br /&gt;echo = '&amp;lt;table border=1&amp;gt;&lt;br /&gt;&amp;lt;tr&amp;gt;';&lt;br /&gt;foreach ($input as $in){&lt;br /&gt;$i++;&lt;br /&gt;echo = '&amp;lt;td&amp;gt;'.$in.'&amp;lt;/td&amp;gt;';&lt;br /&gt;if($i==$cols){&lt;br /&gt;echo = '&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;';&lt;br /&gt;$i=0;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;echo = '&amp;lt;/tr&amp;gt;&amp;lt;table&amp;gt;';[/color]&lt;br /&gt;&lt;br /&gt;the bits in red should be placed in a variable called output&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;hr width="100%"&gt;&lt;br /&gt;&lt;/div&gt;&lt;a name="sN6wdnIb"&gt;&lt;/a&gt;&lt;a title="OnClick Action" class="trelated" href="http://www.bigresource.com/PHP-onClick-action-sN6wdnIb.html"&gt;OnClick Action&lt;/a&gt;&lt;br /&gt;&lt;div class="relcont"&gt;&lt;br /&gt;&lt;br /&gt; Does anyone know if I can run a function when the link is click by writing something similar to that bellow ?&lt;br /&gt;&lt;br /&gt;&amp;lt;a href="" target="_blank" onClick="&amp;lt;?  add_product_category();  ?&amp;gt;" &amp;gt;add&lt;br /&gt;Category&amp;lt;/a&amp;gt;&lt;br /&gt;&lt;br /&gt;This line doesn't do what I want. What I want is to click the link and to open a new window which will have a form to add a Category.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;hr width="100%"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="relcont"&gt; &lt;a name="gfEEI5nF"&gt;&lt;/a&gt;&lt;a title="If ($action==members" class="trelated" href="http://www.bigresource.com/PHP-if-action-members-gfEEI5nF.html"&gt;If ($action==members&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; On my website I have a code like this where if $thispage='test'; then it would echo in the page title "(Ti|test".&lt;br /&gt;&lt;br /&gt;I have this for index.php&lt;br /&gt;$action = $_GET['action'];&lt;br /&gt;if ($action==NULL){&lt;br /&gt;$thispage="Homepage";&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Which works fine.&lt;br /&gt;&lt;br /&gt;but say for&lt;br /&gt;&lt;br /&gt;?action=members&lt;br /&gt;&lt;br /&gt;this should work right?&lt;br /&gt;&lt;br /&gt;$action = $_GET['action'];&lt;br /&gt;if ($action==members){&lt;br /&gt;$thispage="Members";&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;But all it outputs in page title is nothing like this: "(Ti|"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;hr width="100%"&gt;&lt;a name="crMT3oVq"&gt;&lt;/a&gt;&lt;a title="Advanced E-mail Action." class="trelated" href="http://www.bigresource.com/PHP-Advanced-e-mail-action--crMT3oVq.html"&gt;Advanced E-mail Action.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; I want to include a reference number from a table in an e-mail.&lt;br /&gt;Would I just query the database and have this code, PHP Code:&lt;br /&gt;&lt;br /&gt; &lt;hr width="100%"&gt;&lt;a name="wHQGW7fc"&gt;&lt;/a&gt;&lt;a title="Knowing The Form Action" class="trelated" href="http://www.bigresource.com/PHP-Knowing-the-form-action-wHQGW7fc.html"&gt;Knowing The Form Action&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="relcont"&gt;&lt;br /&gt;&lt;br /&gt; Is there a way to know if the page is:&lt;br /&gt;- directly called from the browser&lt;br /&gt;- called by the submit button pressed in POST mode&lt;br /&gt;- called by the submit button pressed in GET mode&lt;br /&gt;&lt;br /&gt; &lt;hr width="100%"&gt;&lt;a name="A9brWZae"&gt;&lt;/a&gt;&lt;a title="Php Variable In The Form Action" class="trelated" href="http://www.bigresource.com/PHP-php-variable-in-the-form-action-A9brWZae.html"&gt;Php Variable In The Form Action&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; i have this in my intro.php form. Code:  &amp;lt;form action="intro2.php" method="post" target="main"&amp;gt;  is there a way i can assign a variable to take the name of the script, and put a two on it....then i can put that variable in place of the intro2.php?&lt;br /&gt;&lt;br /&gt;I have a lot of these files, and when it comes time to replace all those intro2.php's, its gonna be a pain in the neck.&lt;br /&gt;&lt;br /&gt; &lt;hr width="100%"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;a name="V9ikX8pw"&gt;&lt;/a&gt;&lt;a title="PHP Function As The Action Of A Form" class="trelated" href="http://www.bigresource.com/PHP-PHP-function-as-the-action-of-a-form-V9ikX8pw.html"&gt;PHP Function As The Action Of A Form&lt;/a&gt;&lt;br /&gt;&lt;div class="relcont"&gt;&lt;br /&gt;&lt;br /&gt; i was just wondering if there was a way to execute a previously defined function as the action="foo()" of a form.&lt;br /&gt;&lt;br /&gt; &lt;hr width="100%"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="relcont"&gt; &lt;a name="GDSnlZQL"&gt;&lt;br /&gt; &lt;/a&gt;&lt;a title="Action Call Within Script" class="trelated" href="http://www.bigresource.com/PHP-action-call-within-script-GDSnlZQL.html"&gt;Action Call Within Script&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; Any idea on how to call another script or action when original php script has executed?&lt;br /&gt;&lt;br /&gt; &lt;hr width="100%"&gt;&lt;br /&gt; &lt;a name="ssnbmaX2"&gt;&lt;/a&gt;&lt;a title="How Do I Run More Than 1 Action Script From A Form?" class="trelated" href="http://www.bigresource.com/PHP-how-do-i-run-more-than-1-action-script-from-a-form--ssnbmaX2.html"&gt;How Do I Run More Than 1 Action Script From A Form?&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; I need to execute an sql query, then a paypal script from the same form. How do edit the code below to do this?&lt;br /&gt;&lt;br /&gt;&amp;lt;?php&lt;br /&gt;&amp;lt;form method="post" action="https://www.sandbox.paypal.com/cgi-bin/webscr" target ="paypal"&amp;gt;&lt;br /&gt;&amp;lt;/form&amp;gt;&lt;br /&gt;?&amp;gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;hr width="100%"&gt;&lt;br /&gt;&lt;/div&gt;&lt;a name="w8scQleL"&gt;&lt;/a&gt;&lt;a title="Action File Being Downloaded Instead Of Being Processed" class="trelated" href="http://www.bigresource.com/PHP-Action-file-being-downloaded-instead-of-being-processed-w8scQleL.html"&gt;Action File Being Downloaded Instead Of Being Processed&lt;/a&gt;&lt;br /&gt;&lt;div class="relcont"&gt;&lt;br /&gt;&lt;br /&gt; My action file which is a php3 file is being downloaded instead of being processed. I have put in apache.conf file the undermentioned which I think should be ok, but still it does not happen.&lt;br /&gt;&lt;br /&gt; ScriptAlias /cgi-bin/ "C:/apache/Apache/cgi-bin/"&lt;br /&gt;   ScriptAlias /php4/ "c:/php4/"&lt;br /&gt;   ScriptAlias /php/ "c:/php4/"&lt;br /&gt;   ScriptAlias /php3/ "c:/php4/"&lt;br /&gt;   ScriptAlias /rakesh/ "c:/php4/"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;hr width="100%"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt; &lt;div class="relcont"&gt;&lt;a name="Nzi60w7t"&gt;&lt;/a&gt;&lt;a title="Variable Passing On A Php_self Action" class="trelated" href="http://www.bigresource.com/PHP-variable-passing-on-a-php_self-action-Nzi60w7t.html"&gt;Variable Passing On A Php_self Action&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; i need a database id to pass it along on a few ´php pages, but i know how to do that only if the action of the page is directed to that next page (with hidden fields).&lt;br /&gt;&lt;br /&gt;but now i got this php script that executes on the same page (form action is php_self)and in the execution line  it has a header("Location: whateveer.php"); as a redirect after a condition has been met. how do i pass the variable on to that page?&lt;br /&gt;&lt;br /&gt; &lt;hr width="100%"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;a name="tfFHhST4"&gt;&lt;/a&gt;&lt;a title="File Upload Action To Iframe" class="trelated" href="http://www.bigresource.com/PHP-File-upload-action-to-iframe-tfFHhST4.html"&gt;File Upload Action To Iframe&lt;/a&gt;&lt;br /&gt;&lt;div class="relcont"&gt;&lt;br /&gt;&lt;br /&gt; I have tried uploading a file using the code as&lt;br /&gt;&lt;br /&gt;//--------------------------------------------------------&lt;br /&gt;// Main File&lt;br /&gt;&lt;br /&gt;&amp;lt;form action="importaction.php" enctype="multipart/form-data"&lt;br /&gt;method="post" target="targetupload"&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;input type="file" name="fileimpcsv" id="fileimpcsv"&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;input type="submit" name="subfileimpcsv" id="subfileimpcsv"&lt;br /&gt;value="Import"&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/form&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;iframe id='targetupload' name='targetupload' scrolling="auto"&lt;br /&gt;frameborder="0" height="0"&lt;br /&gt;src='ifimportaction.php'&amp;gt;&amp;lt;/iframe&amp;gt;&lt;br /&gt;&lt;br /&gt;//--------------------------------------------------------&lt;br /&gt;&lt;br /&gt;In the file ifimportaction.php, there is the code to get the POST,&lt;br /&gt;FILES vars and upload the file.&lt;br /&gt;&lt;br /&gt;And show the javascript alert after the file is uploaded. (Alert&lt;br /&gt;message at the end of the file ifimportaction.php)&lt;br /&gt;&lt;br /&gt;It's working perfectly for Firefox (tested in v2.0). But for IE (v6),&lt;br /&gt;it's not working.&lt;br /&gt;&lt;br /&gt;After I click the submit button, it's stay there only. If I remove all&lt;br /&gt;the code from the ifimportaction.php and only print time(), (after&lt;br /&gt;changing targetupload height to say 50), there is no change in the&lt;br /&gt;values being displayed i.e., action is not going to that frame.&lt;br /&gt;&lt;br /&gt;How can I upload the file in IE, so that page is not reloaded.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;hr width="100%"&gt;&lt;br /&gt; &lt;/div&gt;&lt;div class="relcont"&gt;&lt;a name="85RXFq1b"&gt;&lt;/a&gt;&lt;a title="Submit Form With Variable For Action?" class="trelated" href="http://www.bigresource.com/PHP-Submit-form-with-variable-for-action--85RXFq1b.html"&gt;Submit Form With Variable For Action?&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; So, i've got a form that is very simple. It hold three elements:&lt;br /&gt;username, password, and domain. The goal here is to have the form&lt;br /&gt;submit the login to an administrative section depending on which domain&lt;br /&gt;someone has chosen.&lt;br /&gt;&lt;br /&gt;For instance, let's say we have three administrative sites, that all&lt;br /&gt;have different URLs, but we want this one form to handle logging into&lt;br /&gt;any of them. So, the form itself needs to have a dynamic action&lt;br /&gt;element.&lt;br /&gt;&lt;br /&gt;Here's an example:&lt;br /&gt;&lt;br /&gt;Code:&lt;br /&gt;&lt;br /&gt;&amp;lt;form action="http://www.mysite.com/admin/index.php" method="post"&lt;br /&gt;name="login" id="login" &amp;gt;&lt;br /&gt;&amp;lt;input name="usrname" type="text"&amp;gt;&lt;br /&gt;&amp;lt;input name="pass" type="password"&amp;gt;&lt;br /&gt;&amp;lt;input name="domain" type="text"&amp;gt;&lt;br /&gt;&amp;lt;input name="submit" type="submit" value="Login"&amp;gt;&lt;br /&gt;&amp;lt;/form&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;hr width="100%"&gt;&lt;br /&gt;&lt;/div&gt;&lt;a name="qFDHyR2q"&gt;&lt;/a&gt;&lt;a title="How Can I Pick All Checked Value In Action Page?" class="trelated" href="http://www.bigresource.com/PHP-How-can-I-pick-all-checked-value-in-action-page--qFDHyR2q.html"&gt;How Can I Pick All Checked Value In Action Page?&lt;/a&gt;&lt;br /&gt;&lt;div class="relcont"&gt;&lt;br /&gt;&lt;br /&gt; I have a dynamic category list, I have printed those list with check box in the form. I have to check those boxes and submit. How can I pick all checked value in action page? Right now only one value passing from several check boxes while several check boxes checked. Code:&lt;br /&gt;&lt;br /&gt; &lt;hr width="100%"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt; &lt;div class="relcont"&gt;&lt;a name="CAegieeH"&gt;&lt;/a&gt;&lt;a title="Performing An Action Upon GET Autochange Dropdown" class="trelated" href="http://www.bigresource.com/PHP-Performing-an-action-upon-GET-autochange-dropdown-CAegieeH.html"&gt;Performing An Action Upon GET Autochange Dropdown&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; Ive got the following drop down menu and I want to perform an action every time someone uses the dropdown. How Can I determine when it has been used? Normally I would pass in a mode but because its GET, I cant and if i change it to POST, it doesnt work how I want it to? Code:&lt;br /&gt;&lt;br /&gt; &lt;hr width="100%"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt; &lt;div class="relcont"&gt;&lt;a name="SilgGZzt"&gt;&lt;/a&gt;&lt;a title="Getting Data From Address Bar Into Form Action." class="trelated" href="http://www.bigresource.com/PHP-getting-data-from-address-bar-into-form-action--SilgGZzt.html"&gt;Getting Data From Address Bar Into Form Action.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; Here is the problem...i have a game where a users id and encrypted password are stored in the address bar on every page of the game.&lt;br /&gt;&lt;br /&gt;e.g. main.php?P=bank&amp;amp;uid=15&amp;amp;password=faspmi9r329m2d324sd&lt;br /&gt;&lt;br /&gt;now i have a problem when trying to link to a page through a form while still keeping these variables in the link&lt;br /&gt;&lt;br /&gt;to be more specific i have a form for a user to deposit gold into their bank&lt;br /&gt;&lt;br /&gt;upon entering a value in the input box and clicking either deposit or withdraw the form is to reload  the same page where the proper if(isset($_POST command will take over and do the correct job.&lt;br /&gt;&lt;br /&gt;The only problem is if i use a $_SERVER['PHP_SELF'] as the action for the form when it reads back on its self again it doesnt include the uid or password...it simply is reloading main.php&lt;br /&gt;&lt;br /&gt;...my question is....&lt;br /&gt;&lt;br /&gt;how do i get these variables sent back through the form button so the page will reload with the users information still there?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;hr width="100%"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="relcont"&gt;&lt;a name="XEUSYuAB"&gt; &lt;/a&gt;&lt;a title="Form Action A Javascript Function" class="trelated" href="http://www.bigresource.com/PHP-form-action-a-javascript-function-XEUSYuAB.html"&gt;Form Action A Javascript Function&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; want my form to perform the same js function which is performed when the calculate button is clicked when the user hits enter instead of clicking on the calculate button. I tried the following but it doesn't work.&lt;br /&gt;&lt;br /&gt;&amp;lt;form name="form1" onSubmit="loader('validate', qty.value,company.value);"&amp;gt;&lt;br /&gt;&amp;lt;label class="left"&amp;gt;Name Of Company : &amp;lt;/label&amp;gt;&lt;br /&gt;&amp;lt;select name="company" onChange = "callAjax(this.value);";&amp;gt;&lt;br /&gt;&amp;lt;option selected&amp;gt;- -Select a company- -&amp;lt;/option&amp;gt;&lt;br /&gt;&amp;lt;? $query="SELECT * FROM listedcomp ORDER BY company";&lt;br /&gt;$result = mysql_query($query);&lt;br /&gt;$num = mysql_numrows($result);&lt;br /&gt;for ($i = 0; $i &amp;lt; $num;) { &lt;br /&gt;$row = mysql_fetch_assoc($result); ...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;hr width="100%"&gt;&lt;a name="LYyNfSsv"&gt;&lt;/a&gt;&lt;a title="Can't Execute Form Action Files !" class="trelated" href="http://www.bigresource.com/PHP-Can-t-execute-form-action-files--LYyNfSsv.html"&gt;Can't Execute Form Action Files !&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; PHP installed: version 5.0.5 My example:&lt;br /&gt;&lt;br /&gt;index.html: &lt;br /&gt;&amp;lt;form action=service.php method=POST&amp;gt;&lt;br /&gt;&amp;lt;INPUT TYPE=Submit VALUE="Send"&amp;gt;&lt;br /&gt;&amp;lt;/form&amp;gt;&lt;br /&gt;&lt;br /&gt;service.php:&lt;br /&gt;&amp;lt;HTML&amp;gt;&lt;br /&gt;&amp;lt;BODY&amp;gt;&lt;br /&gt;HTML Code was executed&lt;br /&gt;&amp;lt;BR /&amp;gt;&lt;br /&gt;&amp;lt;? echo "PHP Code was executed" ?&amp;gt;&lt;br /&gt;&amp;lt;/BODY&amp;gt;&lt;br /&gt;&amp;lt;/HTML&amp;gt;&lt;br /&gt;&lt;br /&gt;Have this problem:&lt;br /&gt;When I run only the service.php, both html/php code is working.&lt;br /&gt;&lt;br /&gt;But when I start with index.html in which the code is calling service.php after submit button click, whole the code in service.php is ignored and only blank page will appear.&lt;br /&gt;Then how can I get inputs from users into my php code?&lt;br /&gt;&lt;br /&gt;Maybe I've installed PHP (5.0.5) badly? But where can I make a mistake, however the installation is trivial, isn't it?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;hr width="100%"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="relcont"&gt;&lt;a name="WSOU4427"&gt; &lt;/a&gt;&lt;a title="Calling A Funtion As A Form Action" class="trelated" href="http://www.bigresource.com/PHP-Calling-a-Funtion-as-a-form-action-WSOU4427.html"&gt;Calling A Funtion As A Form Action&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; Is it possible to call a funtion as form action?&lt;br /&gt;&lt;br /&gt; &lt;hr width="100%"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="relcont"&gt;&lt;a name="vagv4Kar"&gt; &lt;/a&gt;&lt;a title="PHP And Frame Updates From Form Submit Action" class="trelated" href="http://www.bigresource.com/PHP-PHP-and-frame-updates-from-form-submit-action-vagv4Kar.html"&gt;PHP And Frame Updates From Form Submit Action&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; I have created a page with two frames on it. The main frame contains a  simple form that collects a username and password.&lt;br /&gt;&lt;br /&gt;The form code is as shown below :-&lt;br /&gt;&lt;br /&gt;&amp;lt;form method = "post" action = "getname.php"&amp;gt;&lt;br /&gt;    Login Name : &amp;lt;input type="text" name="login_name"   &lt;br /&gt;    size=12&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;   &lt;br /&gt;   Password    : &amp;lt;input type="text" name="passw" size=14&amp;gt;&lt;br /&gt;&lt;br /&gt;   &amp;lt;input type = "submit" name="submit" value = "Login"  &amp;gt;&lt;br /&gt;&amp;lt;/form&amp;gt;&lt;br /&gt;&lt;br /&gt;The php function getname assignes the value of "login_name" to a usable variable for later use.&lt;br /&gt;Here's the problem, After the form's submit button is pressed I want update the contents of the second frame automatically, I also want it to contain the value for the login name entered on the form.&lt;br /&gt;Is there a way of automatically updating the second form so that I can fill it with dynamic contect?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;hr width="100%"&gt;&lt;a name="AJ2xhCRE"&gt;&lt;/a&gt;&lt;a title="Form Action To Same File Opens New Window" class="trelated" href="http://www.bigresource.com/PHP-form-action-to-same-file-opens-new-window-AJ2xhCRE.html"&gt;Form Action To Same File Opens New Window&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; Two questions late at night and going stir crazy. Anybody who takes pity on&lt;br /&gt;me will have my undying gratitude and a virtual bottle of beer.&lt;br /&gt;I've tried to look them both up on the php.net, and elsewhere, but without&lt;br /&gt;success.&lt;br /&gt;&lt;br /&gt;1. Am writing a php program which checks entries in a form on a previous&lt;br /&gt;page. It then asks for any empty fields to be filled, and submits the&lt;br /&gt;resulting form back to itself to check it again.&lt;br /&gt;&lt;br /&gt;In other words the file "checkblank.php" includes this line within the php:&lt;br /&gt;&lt;br /&gt;echo "&amp;lt;form target="checkblank.php" method="post"&amp;gt;";&lt;br /&gt;&lt;br /&gt;When the form is submitted it opens in a new window (in FireFox). In Firefox&lt;br /&gt;it is not a disaster as the variables and arrays are not lost, and the&lt;br /&gt;program works, but popups are not something I like. In IE the whole thing&lt;br /&gt;collapses in a heap as the variables appear not to be passed to the new&lt;br /&gt;window. Needless to say, the vast majority of users will have IE. Is there a&lt;br /&gt;reason I'm unaware of, and can it be stopped easily?&lt;br /&gt;&lt;br /&gt;2. Can anybody suggest a quick and easy way to strip arrays? stip_tags is&lt;br /&gt;fine with variables, but converts arrays to variables. I'd like to use it&lt;br /&gt;for the sake of security though. I don't particularly want to translate the&lt;br /&gt;array into a whole lot of variables, as it's a big array.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;hr width="100%"&gt;&lt;br /&gt; &lt;/div&gt;&lt;div class="relcont"&gt;&lt;a name="a7I81hAl"&gt;&lt;/a&gt;&lt;a title="Proper Action For A Page From A Database That Doesn't Exist." class="trelated" href="http://www.bigresource.com/PHP-Proper-action-for-a-page-from-a-database-that-doesn-t-exist--a7I81hAl.html"&gt;Proper Action For A Page From A Database That Doesn't Exist.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; What is the proper action to take when a user accesses a page from a database that doesn't exist.&lt;br /&gt;&lt;br /&gt;For example:&lt;br /&gt;&lt;br /&gt;User accesses &lt;br /&gt;http://www.example.com/parts/pn12345.html&lt;br /&gt;&lt;br /&gt;which translates to &lt;br /&gt;http://www.example.com/parts/lookup.php?ID=12345&lt;br /&gt;&lt;br /&gt;where part number 12345 is not in the database.&lt;br /&gt;&lt;br /&gt;I would think 404 would be the proper response, but I need to redirect to another page. I have a parts index that I want the user taken to without having to click on anything.&lt;br /&gt;&lt;br /&gt;&lt;hr width="100%"&gt;&lt;br /&gt;&lt;/div&gt;&lt;a title="Passing Credentials In A Form And Perform Action" class="trelated" href="http://www.bigresource.com/PHP-Passing-Credentials-in-a-Form-and-Perform-Action-FlLOG7Bs.html"&gt;Passing Credentials In A Form And Perform Action&lt;/a&gt;&lt;br /&gt;&lt;div class="relcont"&gt;&lt;br /&gt;&lt;br /&gt; All, I want to create a script that performs the following:&lt;br /&gt;&lt;br /&gt;1. Access a page and submits authentication credentials (www.example.com/login.html)&lt;br /&gt;&lt;br /&gt;2. Once authenticated, grab values of a form (www.example.com/logs.html)&lt;br /&gt;&lt;br /&gt;I just need to be stepped through the thought process. Unfortunately, I can't use cURL because the main page doesn't request for authentication. Instead, it's an authentication form/page. Or perhaps I can still use cURL, but not use its auth mechanism of CURLOPT_USERPWD.&lt;br /&gt;&lt;br /&gt;Here's the form parameters that must be submitted:&lt;br /&gt;&lt;br /&gt;&amp;lt;label&amp;gt;Username:&amp;lt;/label&amp;gt;&lt;br /&gt;&amp;lt;input type="text" size="14" name="username" value="User" /&amp;gt;&lt;br /&gt;&amp;lt;label&amp;gt;Password:&amp;lt;/label&amp;gt;&lt;br /&gt;&amp;lt;input type="password" size="14" name="password" value="" /&amp;gt;&lt;br /&gt;&amp;lt;input type="submit" value="Login" /&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;hr width="100%"&gt;&lt;a name="qcMXOcJr"&gt;&lt;/a&gt;&lt;a title="Action Based On Button Pressed In Confirm Box" class="trelated" href="http://www.bigresource.com/PHP-action-based-on-button-pressed-in-confirm-box-qcMXOcJr.html"&gt;Action Based On Button Pressed In Confirm Box&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; I have developed a mysql database for maintaining info abt my machines.I want to give a confirm box if someone presses delete button.If the user presses ok,i proceed to delete the record otherwise I retain the same record.Can anyone help me out with this?Here's my code(sorry if it's long): Code:&lt;br /&gt;&lt;br /&gt; &lt;hr width="100%"&gt;&lt;a name="JZmjRHlz"&gt;&lt;/a&gt;&lt;a title="Stopping &amp;lt;a&amp;gt; From Loading New Page But Still Performing Onclick Action" class="trelated" href="http://www.bigresource.com/PHP-stopping-lt-a-gt-from-loading-new-page-but-still-performing-onclick-action-JZmjRHlz.html"&gt;Stopping &amp;lt;a&amp;gt; From Loading New Page But Still Performing Onclick Action&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I want to use hyperlinks to 'load' content by changing the display of&lt;br /&gt;div tags. the problem i have is that unless i specify a href the anchor&lt;br /&gt;does not change the mouse pointer on hover even if display is set to&lt;br /&gt;block. it only look changes when there is a href there. but if i have a&lt;br /&gt;href there then when i click it will load the page, which i dont want.&lt;br /&gt;&lt;br /&gt;how can i get the anchor to look like a proper link where the users&lt;br /&gt;pointer changes on hover (in firefox) but a page does not get refreshed&lt;br /&gt;onclick only the onclick function gets loaded.&lt;br /&gt;&lt;br /&gt;&lt;hr width="100%"&gt;&lt;a name="vmwLJnAB"&gt;&lt;/a&gt;&lt;a title="Adding Additonal Values From Forms To The Top Of The Action Page" class="trelated" href="http://www.bigresource.com/PHP-Adding-additonal-values-from-forms-to-the-top-of-the-action-page-vmwLJnAB.html"&gt;Adding Additonal Values From Forms To The Top Of The Action Page&lt;/a&gt;&lt;br /&gt;&lt;br /&gt; I have form on multiple pages with one text input and two hidden fields.&lt;br /&gt;&lt;br /&gt;When the user submits the form, they are taken to:&lt;br /&gt;&lt;br /&gt;/actionpage.php?input=x&amp;amp;hidden1=y&amp;amp;hidden2=z&lt;br /&gt;&lt;br /&gt;On the action page there is a third party JavaScript that I can not change that requires the two hidden fields.&lt;br /&gt;&lt;br /&gt;I am wondering if I can setup something at the top of the action page that establishes the two hidden fields, allowing me to take them off from all my pages while still allowing the third party script to work.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;hr width="100%"&gt;&lt;a name="SVbWsG08"&gt;&lt;/a&gt;&lt;a title="Remove Record Id From Static Name In Form Action Script" class="trelated" href="http://www.bigresource.com/PHP-remove-record-id-from-static-name-in-form-action-script-SVbWsG08.html"&gt;Remove Record Id From Static Name In Form Action Script&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="relcont"&gt;&lt;br /&gt;&lt;br /&gt; I am creating a page that has multiple dynamic forms, two of my form elements are using a static name and the record id (this is needed for another reason.) I need to remove the record id, so my post in my update script will be:&lt;br /&gt;&lt;br /&gt;$date_start=$_POST['start'];&lt;br /&gt;$date_finish=$_POST['finish'];&lt;br /&gt;&lt;br /&gt;&amp;lt;input type="text" name="start&amp;lt;?php echo $task_number; ?&amp;gt;" value="&amp;lt;? echo $date_start; ?&amp;gt;"&amp;gt;&lt;br /&gt;&lt;br /&gt;and&lt;br /&gt;&lt;br /&gt;&amp;lt;input type="text" name="finish&amp;lt;?php echo $task_number; ?&amp;gt;" value="&amp;lt;? echo date_finish; ?&amp;gt;"&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;In the update script I can access the input value by using the variable ${'start'.$task_number}&lt;br /&gt;&lt;br /&gt;Is there a way to remove $task_number from it so it posts as 'start' and 'finish'?&lt;br /&gt;&lt;br /&gt;Do I somehow need to provide the form action script a list of task_numbers via an array serialized and urlencoded via a hidden field to decode and unserialize? If so, does anyone know how? If not, does anyone know how I can do this?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;hr width="100%"&gt;&lt;br /&gt; &lt;/div&gt;&lt;div class="relcont"&gt;&lt;a name="nDszZfRp"&gt;&lt;/a&gt;&lt;a title="&amp;amp;lt;form Action=&amp;amp;lt;?$_SERVER['PHP_SELF']&amp;amp;gt;? Name=''&amp;amp;gt; Is This Good Practice" class="trelated" href="http://www.bigresource.com/PHP-lt-form-action-lt-_SERVER-039-PHP_SELF-039-gt-name-039-039-gt-is-this-good-practice-nDszZfRp.html"&gt;&amp;amp;lt;form Action=&amp;amp;lt;?$_SERVER['PHP_SELF']&amp;amp;gt;? Name=''&amp;amp;gt; Is This Good Practice&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; I read on one page in form handling, that its good practice to user &amp;lt;form action=&amp;lt;?$_SERVER['PHP_SELF']?&amp;gt;&amp;gt; and i also read on another page, that this is the easiet way to get hacked.....which one is correct&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;hr width="100%"&gt;&lt;br /&gt;&lt;/div&gt;&lt;a name="2DxxmtZ1"&gt;&lt;/a&gt;&lt;a title="Form Action = &amp;amp;lt;?=$_SERVER['PHP_SELF']?&amp;amp;gt; - Stopped Working" class="trelated" href="http://www.bigresource.com/PHP-form-action-lt-_SERVER-039-PHP_SELF-039-gt-stopped-working-2DxxmtZ1.html"&gt;Form Action = &amp;amp;lt;?=$_SERVER['PHP_SELF']?&amp;amp;gt; - Stopped Working&lt;/a&gt;&lt;br /&gt;&lt;div class="relcont"&gt;&lt;br /&gt;&lt;br /&gt; My form action code to submit values to itself have stopped working using the code&lt;br /&gt;&lt;br /&gt;form action = &amp;lt;?=$_SERVER['PHP_SELF']?&amp;gt;&lt;br /&gt;&lt;br /&gt;This code used to work&lt;br /&gt;&lt;br /&gt;My web host recently told me they enabled phpsuexec option in apache which apparently needs me to CHMOD my PHP page to 750 and the directory to 755. (I don't know what this means but know how to CHMOD files). I have CHMODed the files this but my PHP page doesn't work with those settings, so I set them back.&lt;br /&gt;&lt;br /&gt;&lt;hr width="100%"&gt;&lt;br /&gt; &lt;/div&gt;&lt;div class="relcont"&gt;&lt;a name="DWuX2f42"&gt;&lt;/a&gt;&lt;a title="Bizarre Phantom Bug (Calling A PHP Script From An Apache &amp;quot;Action&amp;quot; Directive)" class="trelated" href="http://www.bigresource.com/PHP-Bizarre-phantom-bug-Calling-a-PHP-script-from-an-Apache-Action-directive--DWuX2f42.html"&gt;Bizarre Phantom Bug (Calling A PHP Script From An Apache "Action" Directive)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; I am using an "Action" directive in my Apache configuration to map a&lt;br /&gt;certain file type (by means of AddType and AddHandler) to a PHP script.&lt;br /&gt;I wasn't sure if this would work, since the Apache docs say the Action&lt;br /&gt;directive is for mapping a handler name to a CGI script in particular.&lt;br /&gt;But it seemed to work at first.&lt;br /&gt;&lt;br /&gt;Then a mysterious bug arose: Sometimes it works perfectly, and other&lt;br /&gt;times the output is a totally blank page. It seems that if I haven't&lt;br /&gt;viewed a page for a while, it chooses to do one of these at random&lt;br /&gt;(though it is blank more often than not), and then it persists in the&lt;br /&gt;same behaviour until I reload it many times. (That is, usually a page&lt;br /&gt;appearing blank will eventually display if I reload it many times;&lt;br /&gt;however, only rarely will a correctly-displayed page regress to&lt;br /&gt;appearing blank after reloads.) Checking with `curl -i', it would&lt;br /&gt;appear to a client program that the request was perfectly successful:&lt;br /&gt;all the headers are there (with the correct content-type), it has an&lt;br /&gt;HTTP/1.1 200 OK line, and so on (and there's nothing unusual in the&lt;br /&gt;server's access or error logs), except Content-length is 0, and there&lt;br /&gt;is indeed no content at all after the two newlines.&lt;br /&gt;&lt;br /&gt;WTF?? Since when do computers behave non-deterministically? I should&lt;br /&gt;hope, if a program is not going to behave correctly, that it at least&lt;br /&gt;do so predictably and consistently. That would make debugging it much&lt;br /&gt;easier. But what am I to make of this Schrodinger's Bug? How do I even&lt;br /&gt;approach the debugging process?&lt;br /&gt;&lt;br /&gt;(Also, if anyone could suggest a workaround, an alternate method of&lt;br /&gt;having a PHP script handle files with a certain extension, then that&lt;br /&gt;would be just as welcome. Though I'd like to stay within mod_php,&lt;br /&gt;avoiding a CGI-based technique, because I'd prefer to not start a&lt;br /&gt;process every time these pages are requested.)&lt;br /&gt;&lt;br /&gt; &lt;hr width="100%"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="relcont"&gt;&lt;a name="aX5VV6ir"&gt; &lt;/a&gt;&lt;a title="Form Processing: Change The &amp;quot;action=&amp;quot; Based On Pull Down Menu" class="trelated" href="http://www.bigresource.com/PHP-Form-processing-change-the-action-based-on-pull-down-menu-aX5VV6ir.html"&gt;Form Processing: Change The "action=" Based On Pull Down Menu&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; I have an html form for that uses username and password to login to a&lt;br /&gt;specific area of the website. The "area" the user wants to go to is&lt;br /&gt;based on a pull down menu. Becasue the user/password info is in&lt;br /&gt;differnet databases, how can I call different validation scripts based&lt;br /&gt;on this input ?&lt;br /&gt;&lt;br /&gt;See below please. Somethinglike this:&lt;br /&gt;&lt;br /&gt;form.html:&lt;br /&gt;&amp;lt;form name="loginform" method="post" action="login.php"&amp;gt;&lt;br /&gt;&amp;lt;select name="loginform"&amp;gt;&lt;br /&gt;&amp;lt;option value="one"&amp;gt;Section 1&amp;lt;/option&amp;gt;&lt;br /&gt;&amp;lt;option value="two"&amp;gt;Section 2&amp;lt;/option&amp;gt;&lt;br /&gt;&amp;lt;/select&amp;gt;&lt;br /&gt;&lt;br /&gt;login.php:&lt;br /&gt;&lt;br /&gt;@extract($_POST);&lt;br /&gt;if($_POST[loginform] == "one") {&lt;br /&gt;&lt;br /&gt;echo "action = /forums/scc/dispatch.cgi/_admin/AVFLogin"&lt;br /&gt;NAME="LoginForm" &amp;gt;&lt;br /&gt;echo "&amp;lt;input type=hidden name="autologin" value="1"&amp;gt;&lt;br /&gt;";&lt;br /&gt;echo "&amp;lt;input type=hidden name="formstyle" value="standard"&amp;gt;&lt;br /&gt;";&lt;br /&gt;echo "&amp;lt;input type=hidden name="returnforum" value="_admin"&amp;gt;&lt;br /&gt;";&lt;br /&gt;echo "&amp;lt;input type=hidden name="returnmsg"&lt;br /&gt;value="acahomepage"&amp;gt;&lt;br /&gt;";&lt;br /&gt;&lt;br /&gt;} else {&lt;br /&gt;&lt;br /&gt;echo "action = /path to different cgi&lt;br /&gt;";&lt;br /&gt;echo :different values for hidden fields".&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;hr width="100%"&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/5699179415075283063-6530054056488474894?l=symfonyhelp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://symfonyhelp.blogspot.com/feeds/6530054056488474894/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://symfonyhelp.blogspot.com/2009/04/symfony-action-to-another-action.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5699179415075283063/posts/default/6530054056488474894'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5699179415075283063/posts/default/6530054056488474894'/><link rel='alternate' type='text/html' href='http://symfonyhelp.blogspot.com/2009/04/symfony-action-to-another-action.html' title='Symfony + Action To Another Action ?'/><author><name>Rajeev</name><uri>http://www.blogger.com/profile/09442025840798063075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_M3AgJ8-TiII/TU0tBZ3wSTI/AAAAAAAAAog/WzvygeezO1c/s220/165649_125059220894331_100001707608385_140654_3449754_n.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5699179415075283063.post-4554803008755623356</id><published>2009-03-17T03:45:00.001-07:00</published><updated>2009-03-17T03:46:36.552-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Search Engine'/><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><title type='text'>Ditch Google For A Day: 10 Amazing Search Engines To Try out</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_dH0q9hvpVHg/Sb5nCtEdM3I/AAAAAAAADRM/OvObU6KFW84/s400/google.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 400px; height: 282px;" src="http://4.bp.blogspot.com/_dH0q9hvpVHg/Sb5nCtEdM3I/AAAAAAAADRM/OvObU6KFW84/s400/google.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I know you can't live without Google. Whether or not you use Google's other products, I am sure you use their search engine almost everyday. And there is no reason you should not. It is by far the best and the fastest search engine and clearly the market leader in almost all countries. In fact the word 'search' is now synonymous with the word google; search it or google it, it's all the same.&lt;br /&gt;&lt;br /&gt;As much as Google has evolved since its inception, the internet too has changed drastically and has spawned upon a huge number of alternative search engines, some of them being really good in what they do.&lt;br /&gt;&lt;br /&gt;This list mentions ten such innovative search engines. So ditch Google for a day and try them out. See if you find any of them really interesting to stick around with. I'd love to know your thoughts.&lt;br /&gt;&lt;br /&gt;    * Kosmix&lt;br /&gt;      Kosmix is a seriously useful search engine which searches your query across different sites like Wikipedia, Google Image Search, Flickr, Youtube, CNN and different categories like audio, video, news, blogs, pictures and displays all the results nicely organized in different boxes on a single page.&lt;br /&gt;&lt;br /&gt;      A great way to do research on the net.&lt;br /&gt;&lt;br /&gt;    * Download Any Stuff&lt;br /&gt;      Download Any Stuff uses Google in the background to pull out free mp3 songs, ebooks, software, torrents, games..almost anything which can be downloaded for free and is listed in Google. You can also narrow down your search results by clicking on different categories it lists on the search page.&lt;br /&gt;&lt;br /&gt;    * VideoSurf&lt;br /&gt;      VideoSurf is an excellent video search engine which displays videos from popular video sharing sites like Youtube and Metacafe on one page. It lets you browse them visually and provides many ways to refine the results and watch the videos.&lt;br /&gt;&lt;br /&gt;      Another cool thing about this site is the face recognition technology which it uses to point out the person the video is all about. Really nice.&lt;br /&gt;&lt;br /&gt;    * Docjax&lt;br /&gt;      Docjax is a comprehensive document search engine which helps you to search documents in doc, pdf, xls and ppt format and uses Google and Yahoo in the background to show the results. You can also preview the document before you decide to download it.&lt;br /&gt;&lt;br /&gt;    * Yahoo Glue&lt;br /&gt;      Yahoo Glue is similar to Kosmix and displays results from various services on one page. Yahoo search users might want to try this out instead of the old Yahoo interface.&lt;br /&gt;&lt;br /&gt;    * Pipl&lt;br /&gt;      Pipl is the best people search engine on the web. If you are searching for someone on the internet then this is the site that could help you the most. It searches deep into the web to unearth every relevant information which mentions the name of that person. Once you try it, I'm sure you'd agree that it is really impressive.&lt;br /&gt;&lt;br /&gt;    * Search.io&lt;br /&gt;      Search.io is a tabbed search interface and can display almost every kind of search engine available in different tabs on the same page. Hence this is another tool which could prove useful if you'd like to widen your search beyond Google and take a look at what other search engines have to offer on the same query.&lt;br /&gt;&lt;br /&gt;    * Freshbargains&lt;br /&gt;      Freshbargains, as the name suggests, lets you hunt for bargains on the web. It aggregates deals from around 15 sites which are known for the great deals they offer. It can also alert you through email when a new deal is available for your desired product.&lt;br /&gt;&lt;br /&gt;    * Dooblet&lt;br /&gt;      Dooblet helps you find alternatives for just about anything. And it's not bad in doing that. I typed iPhone in the search box and the top two results were iPod touch and blackberry. Both are relevant in some or the other way as an alternative to iPhone.&lt;br /&gt;&lt;br /&gt;    * Tagoo&lt;br /&gt;      Tagoo is a media search engine which lets you search and play audio and video content. You can also create playlists and interact with other users of this site.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5699179415075283063-4554803008755623356?l=symfonyhelp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://symfonyhelp.blogspot.com/feeds/4554803008755623356/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://symfonyhelp.blogspot.com/2009/03/ditch-google-for-day-10-amazing-search.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5699179415075283063/posts/default/4554803008755623356'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5699179415075283063/posts/default/4554803008755623356'/><link rel='alternate' type='text/html' href='http://symfonyhelp.blogspot.com/2009/03/ditch-google-for-day-10-amazing-search.html' title='Ditch Google For A Day: 10 Amazing Search Engines To Try out'/><author><name>Rajeev</name><uri>http://www.blogger.com/profile/09442025840798063075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_M3AgJ8-TiII/TU0tBZ3wSTI/AAAAAAAAAog/WzvygeezO1c/s220/165649_125059220894331_100001707608385_140654_3449754_n.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_dH0q9hvpVHg/Sb5nCtEdM3I/AAAAAAAADRM/OvObU6KFW84/s72-c/google.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5699179415075283063.post-8113042370081806821</id><published>2009-03-09T21:05:00.000-07:00</published><updated>2009-03-09T21:11:04.218-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='version control'/><category scheme='http://www.blogger.com/atom/ns#' term='debug'/><category scheme='http://www.blogger.com/atom/ns#' term='ajax.phpedit'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><title type='text'>50 Extremely Useful PHP Tools</title><content type='html'>&lt;strong&gt;PHP&lt;/strong&gt; is one of the most widely used open-source server-side scripting languages that exist today. With over 20 million indexed domains using PHP, including major websites like Facebook, Digg and WordPress, there are good reasons why many Web developers prefer it to other server-side scripting languages, such as Python and Ruby.&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://shootout.alioth.debian.org/gp4/benchmark.php?test=all&amp;amp;lang=php&amp;amp;lang2=ruby"&gt;PHP is faster&lt;/a&gt; (&lt;em&gt;updated&lt;/em&gt;), and it is &lt;a href="http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html"&gt;the most used scripting language&lt;/a&gt; in practice; it has detailed documentation, a huge community, numerous ready-to-use scripts and well-supported frameworks; and most importantly, it’s much easier to get started with PHP than with other scripting languages (Python, for example). That’s why it makes perfect sense to provide the huge community of PHP developers with an overview of useful tools and resources that can make their development process easier and more effective.&lt;/p&gt;This post presents &lt;strong&gt;50 useful PHP tools that can significantly improve your programming workflow&lt;/strong&gt;. Among other things, you’ll find a plethora of libraries and classes that aid in debugging, testing, profiling and code-authoring in PHP.&lt;br /&gt;&lt;p&gt;You may also want to take a look at the following related posts:&lt;br /&gt;&lt;/p&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.smashingmagazine.com/2008/12/09/50-really-useful-css-tools/"&gt;50 Extremely Useful And Powerful CSS Tools&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.smashingmagazine.com/2008/11/18/15-helpful-in-browser-web-development-tools/"&gt;15 Helpful In-Browser Web-Development Tools&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;Debugging Tools&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://code.google.com/p/webgrind/"&gt;Webgrind&lt;/a&gt;&lt;br /&gt;Webgrind is an &lt;a href="http://www.xdebug.org/"&gt;Xdebug&lt;/a&gt; profiling Web front end in PHP 5. It implements a subset of the features of &lt;a href="http://kcachegrind.sourceforge.net/cgi-bin/show.cgi"&gt;kcachegrind&lt;/a&gt;, installs in seconds and works on all platforms. For quick ‘n’ dirty optimizations, it does the job.&lt;br /&gt;&lt;p&gt;&lt;a href="http://code.google.com/p/webgrind/"&gt;&lt;img src="http://88.198.60.17/images/powerful-php-tools/webgrind.jpg" alt="Webgrind" height="413" width="500" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://xdebug.org/index.php"&gt;Xdebug&lt;/a&gt;&lt;br /&gt;Xdebug is one of the most popular debugging PHP extensions. It provides a ton of useful data to help you quickly find bugs in your source code. Xdebug plugs right into many of the most popular PHP applications, such as PHPEclipse and phpDesigner.&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://gubed.mccabe.nu/"&gt;Gubed PHP Debugger&lt;/a&gt;&lt;br /&gt;As the name implies, Gubed PHP Debugger is a PHP debugging tool for hunting down logic errors.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.php-debugger.com/dbg/"&gt;DBG&lt;/a&gt;&lt;br /&gt;DBG is a robust and popular PHP debugger for use in local and remote PHP debugging. It plugs into numerous PHP IDE’s and can easily be used with the command line.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.php-debug.com/www/"&gt;PHP_Debug&lt;/a&gt;&lt;br /&gt;PHP_Debug is an open-source project that gives you useful information about your PHP code that can be used for debugging. It can output processing times of your PHP and SQL, check the performance of particular code blocks and get variable dumps in graphical form, which is great if you need a more visual output than the one given to you by print_r() or var_dump().&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://sourceforge.net/projects/php-dyn/"&gt;PHP_Dyn&lt;/a&gt;&lt;br /&gt;PHP_Dyn is another excellent PHP debugging tool that’s open-source. You can trace execution and get an output of the argument and return values of your functions.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.bluestatic.org/software/macgdbp/"&gt;MacGDBp&lt;/a&gt;&lt;br /&gt;MacGDBp is a live PHP debugger application for the Mac OS. It has all the features you’d expect from a fully featured debugger, such as the ability to step through your code and set breakpoints.&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;Testing and Optimization Tools&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.phpunit.de/"&gt;PHPUnit&lt;/a&gt;&lt;br /&gt;PHPUnit is a complete port of the popular &lt;a href="http://www.junit.org/"&gt;JUnit&lt;/a&gt; unit testing suite to PHP 5. It’s a tool that helps you test your Web application’s stability and scalability. Writing test cases within the PHPUnit framework is easy; here’s &lt;a href="http://www.phpunit.de/manual/current/en/writing-tests-for-phpunit.html"&gt;how to do it&lt;/a&gt;.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.simpletest.org/"&gt;SimpleTest&lt;/a&gt;&lt;br /&gt;SimpleTest is a straightforward unit-testing platform for PHP applications. To get up and running with SimpleTest quickly, read through this pragmatic &lt;a href="http://www.simpletest.org/en/first_test_tutorial.html"&gt;tutorial&lt;/a&gt; that shows you how to create a new test case.&lt;br /&gt;&lt;p&gt;&lt;a href="http://www.simpletest.org/"&gt;&lt;img src="http://78.46.108.98/images/powerful-php-tools/simpletest.gif" alt="Simpletest" height="152" width="349" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://selenium-rc.openqa.org/"&gt;Selenium&lt;/a&gt;&lt;br /&gt;Selenium Remote Control (RC) is a test tool that allows you to write automated Web application UI tests in any programming language against any HTTP website using any mainstream JavaScript-enabled browser. It  can be used in conjunction with PHPUnit to create and run automated tests within a Web browser.&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://matrix.squiz.net/developer/tools/php_cs"&gt;PHP_CodeSniffer&lt;/a&gt;&lt;br /&gt;PHP_CodeSniffer is a PHP 5 script for detecting conformance to a predefined PHP coding standard. It’s a helpful tool for maintaining uniform coding styles for large projects and teams.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://dbug.ospinto.com/"&gt;dBug&lt;/a&gt;&lt;br /&gt;dBug is ColdFusion’s &lt;a href="http://livedocs.adobe.com/coldfusion/6.1/htmldocs/tags-p21.htm"&gt;cfDump&lt;/a&gt; for PHP. It’s a simple tool for outputting data tables that contain information about arrays, classes and objects, database resources and XML resources, making it very useful for debugging purposes.&lt;br /&gt;&lt;p&gt;&lt;a href="http://dbug.ospinto.com/"&gt;&lt;img src="http://88.198.60.17/images/powerful-php-tools/11_dbug.jpg" alt="dBug - Screenshot" height="363" width="306" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.coderholic.com/php-profile-class/"&gt;PHP Profile Class&lt;/a&gt;&lt;br /&gt;PHP Profile Class is an excellent PHP profiling tool for your Web applications. Using this class will help you quickly and easily gain insight into which parts of your app could use some refactoring and optimization.&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;h3&gt;Documentation Tools&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://phpdoc.org/"&gt;phpDocumentor&lt;/a&gt;&lt;br /&gt;phpDocumentor (also known as phpdoc and phpdocu) is a documentation tool for your PHP source code. It has an innumerable amount of features, including the ability to output in HTML, PDF, CHM and XML DocBook formats, and has both a Web-based and command-line interface as well as source-code highlighting. To learn more about phpDocumentor, check out the &lt;a href="http://www.phpdoc.org/manual.php"&gt;online manual&lt;/a&gt;.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://phpdox.net/"&gt;PHP DOX&lt;/a&gt;&lt;br /&gt;An AJAX-powered PHP documentation search engine that enables you to search titles from all PHP documentation pages.&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;Security Tools&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.phpcaptcha.org/"&gt;Securimage&lt;/a&gt;&lt;br /&gt;Securimage is a free, open-source PHP CAPTCHA script for generating complex images and CAPTCHA codes to protect forms from spam and abuse.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="https://trac.anl.gov/scavenger/wiki/WikiStart"&gt;Scavenger&lt;/a&gt;&lt;br /&gt;Scavenger is an open-source, real-time vulnerability management tool. It helps system administrators respond to vulnerability findings, track vulnerability findings and review accepted and false-positive answered vulnerabilities, without “nagging” them with old vulnerabilities.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://php-ids.org/"&gt;PHP-IDS&lt;/a&gt;&lt;br /&gt;PHP-IDS (PHP-Intrusion Detection System) is a simple-to-use, well-structured, fast and state-of-the-art security layer for your PHP-based Web application.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://blog.evaria.com/2007/pixy-the-php-security-scanner/"&gt;Pixy: PHP Security Scanner&lt;/a&gt;&lt;br /&gt;Pixy is a Java program that performs automatic scans of PHP 4 source code, aimed to detect XSS and SQL injection vulnerabilities. Pixy takes a PHP program as input and creates a report that lists possible vulnerable points in the program, along with additional information for understanding the vulnerability.&lt;/li&gt;&lt;/ul&gt;Image Manipulation and Graphs&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.maani.us/charts4/"&gt;PHP/SWF Charts&lt;/a&gt;&lt;br /&gt;PHP/SWF Charts is a powerful PHP tool that enables you to create attractive Web charts and graphs from dynamic data. You can use PHP scripts to generate and gather data from databases, then pass it to this tool to generate Flash (SWF) charts and graphs.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://pchart.sourceforge.net/index.php"&gt;pChart - a chart-drawing PHP library&lt;/a&gt;&lt;br /&gt;pChart is a PHP class-oriented framework designed to create aliased charts. Most of today’s chart libraries have a cost; this one is free. Data can be retrieved from SQL queries or CSV files or can be manually provided.&lt;br /&gt;&lt;p&gt;&lt;a href="http://simplepie.org/"&gt;&lt;img src="http://78.46.108.98/images/powerful-php-tools/chart.gif" alt="Chart - Screenshot" height="234" width="496" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://wideimage.sourceforge.net/wiki/MainPage"&gt;WideImage&lt;/a&gt;&lt;br /&gt;WideImage is a PHP library for dynamic image manipulation and processing for PHP 5. To be able to use the library, you should have the &lt;a href="http://us2.php.net/gd"&gt;GD PHP extension&lt;/a&gt; installed on your Web server.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.magickwand.org/"&gt;MagickWand For PHP&lt;/a&gt;&lt;br /&gt;MagickWand For PHP is a PHP module suite for working with the &lt;a href="http://www.imagemagick.org/script/index.php"&gt;ImageMagick&lt;/a&gt; API, which lets you create, compose and edit bitmap images. It’s a useful tool for quickly incorporating image-editing features in your PHP applications&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;PHP Code Beautifier&lt;br /&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://pear.php.net/package/PHP_Beautifier"&gt;PHP_Beautifier&lt;/a&gt;&lt;br /&gt;PHP Beautifier is a PEAR package for automatically formatting and “beautifying” PHP 4 and PHP 5 source code.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.waterproof.fr/products/phpCodeBeautifier/"&gt;PHPCodeBeautifier&lt;/a&gt;&lt;br /&gt;PHPCodeBeautifier is a tool that saves you from hours of reformatting code to suit your own way of presenting it. A GUI version allows you to process files visually; a command-line version can be batched or integrated with other tools (like CVS, SubVersion, IDE, etc.); and there is also an integrated tool of PHPEdit.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://qbnz.com/highlighter/"&gt;GeSHi - Generic Syntax Highlighter&lt;/a&gt;&lt;br /&gt;GeSHi is designed to be a simple but powerful highlighting class, with the goal of supporting a wide range of popular languages. Developers can easily add new languages for highlighting and define easily customizable output formats.&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;Version-Control Systems&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://phing.info/trac/"&gt;Phing&lt;/a&gt;&lt;br /&gt;Phing is a popular project version-control system for PHP. It is a useful tool for organizing and maintaining different builds of your project.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://code.google.com/p/xinc/"&gt;xinc&lt;/a&gt;&lt;br /&gt;xinc is a &lt;a href="http://www.martinfowler.com/articles/continuousIntegration.html#EveryCommitShouldBuildTheMainlineOnAnIntegrationMachine"&gt;continuous integration server&lt;/a&gt; version-control system written in PHP 5 (i.e. continuous builds instead of nightly builds). It works great with other systems such as &lt;a href="http://subversion.tigris.org/"&gt;Subversion&lt;/a&gt; and &lt;a href="http://phing.info/"&gt;Phing&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;Useful Extensions, Utilities and Classes&lt;br /&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://simplepie.org/"&gt;SimplePie&lt;/a&gt;&lt;br /&gt;SimplePie is a PHP class that helps you work with RSS feeds. Check out the online &lt;a href="http://simplepie.org/demo/"&gt;RSS and Atom feed reader&lt;/a&gt;, which demonstrates a simple Web application that uses SimplePie.&lt;br /&gt;&lt;p&gt;&lt;a href="http://simplepie.org/"&gt;&lt;img src="http://88.198.60.17/images/powerful-php-tools/spie.jpg" alt="SimplePie - Screenshot" height="392" width="480" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://htmlpurifier.org/"&gt;HTML Purifier&lt;/a&gt;&lt;br /&gt;HTML Purifier is a standards-compliant HTML filter library written in PHP. HTML Purifier not only removes all malicious code (better known as XSS) with a thoroughly audited, secure yet permissive white list, it also makes sure your documents are standards-compliant. Open source and highly customizable.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.tecnick.com/public/code/cp_dpage.php?aiocp_dp=tcpdf"&gt;TCPDF&lt;/a&gt;&lt;br /&gt;TCPDF is an open-source PHP class for generating PDF documents.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.jonasjohn.de/lab/htmlsql.htm"&gt;htmlSQL&lt;/a&gt;&lt;br /&gt;htmlSQL is a unique tool. It is a PHP class for querying HTML values in an SQL-like syntax. Check out the &lt;a href="http://www.jonasjohn.de/lab/htmlsql/"&gt;live demonstration of how htmlSQL works&lt;/a&gt;.&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://searchlightdigital.com/the-greatest-php-snippet-file-ever-using-quicktext-for-notepad"&gt;The Greatest PHP Snippet File Ever (Using Quicktext for Notepad++)&lt;/a&gt;&lt;br /&gt;“A little something for all coders: a snippets file that I use for PHP coding. This is designed to be used with Quicktext for Notepad++, but feel free to adapt it to whatever text editor you prefer.”&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://creole.phpdb.org/trac/"&gt;Creole&lt;/a&gt;&lt;br /&gt;Creole is a database abstraction layer for PHP5. It abstracts PHP’s native database-specific API to create more portable code while also providing developers with a clean, fully object-oriented interface based loosely on the API for Java’s JDBC.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/PHPLinq"&gt;PHPLinq&lt;/a&gt;&lt;br /&gt;LINQ is a component that adds native data querying capabilities to PHP using a syntax reminiscent of SQL. It defines a set of query operators that can be used to query, project and filter data in arrays, enumerable classes, XML, relational databases and third-party data sources. [&lt;a href="http://phpimpact.wordpress.com/2008/05/29/30-useful-php-classes-and-components/"&gt;via&lt;/a&gt;]&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.xm1math.net/phpmathpublisher/"&gt;PHPMathPublisher&lt;/a&gt;&lt;br /&gt;With PhpMathPublisher, you can publish mathematical documents on the Web using only a PHP script (no LaTeX programs on the server and no MathML).&lt;br /&gt;&lt;p&gt;&lt;a href="http://www.xm1math.net/phpmathpublisher/"&gt;&lt;img src="http://78.46.108.98/images/powerful-php-tools/math.gif" alt="Math - Screenshot" height="81" width="302" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.phpmyadmin.net/home_page/index.php"&gt;phpMyAdmin&lt;/a&gt;&lt;br /&gt;If you’re working with PHP, there’s a big chance you’re set up in a LAMP configuration. phpMyAdmin is Web-based tool for managing, building, importing, exporting and exploring MySQL databases.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/PHPExcel"&gt;PHPExcel&lt;/a&gt;&lt;br /&gt;PHPExcel is a set of useful PHP classes for working with Microsoft Excel files. PHPExcel allows you to read Excel files and write to them. This is useful for dynamically generating Excel spreadsheets for downloading.&lt;/li&gt;&lt;li&gt;&lt;a href="http://p.horm.org/er/"&gt;Phormer&lt;/a&gt;&lt;br /&gt;Phormer is a PHP-based photo gallery management application that helps you to store, categorize and trim your photos online.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.xajaxproject.org/"&gt;xajax PHP Class Library&lt;/a&gt;&lt;br /&gt;xajax is a PHP class for easily working with PHP AJAX applications. It gives you an easy-to-use API for quickly managing AJAX-related tasks. Check out the &lt;a href="http://www.xajaxproject.org/examples/multiply/multiply.php"&gt;xajax Multiplier demo&lt;/a&gt; and the &lt;a href="http://www.xajaxproject.org/examples/thewall/thewall.php"&gt;Graffiti Wall demo&lt;/a&gt; to see the xajax PHP class in action.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://phpuserclass.com/"&gt;PHP User Class&lt;/a&gt;&lt;br /&gt;PHP User Class is an excellent script that helps you create a system for user authentication (i.e. registration, log in, account profile, etc.). It’s a useful utility to have around if you require user registration for your Web applications.&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://gtk.php.net/"&gt;PHP-GTK&lt;/a&gt;&lt;br /&gt;PHP-GTK is a PHP extension for the &lt;a href="http://www.gtk.org/"&gt;GTK+&lt;/a&gt; toolkit (a robust toolkit for developing GUIs). It is a suite of useful OOP functions and classes to help you rapidly build cross-platform, client-side GUI’s for your application.&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;h3&gt;PHP Online Tools and Resources&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://code.google.com/p/minify/"&gt;Minify!&lt;/a&gt;&lt;br /&gt;Minify is a PHP 5 app that can combine multiple CSS or JavaScript files, compress their content (i.e. remove unnecessary white space and comments) and serve the results with HTTP encoding (via Gzip/deflate) and headers that allow optimal client-side caching. This will help you follow several of Yahoo!’s &lt;a rel="nofollow" href="http://developer.yahoo.com/performance/index.html#rules"&gt;Rules for High Performance Websites&lt;/a&gt;.&lt;br /&gt;&lt;p&gt;&lt;a href="http://code.google.com/p/minify/"&gt;&lt;img src="http://88.198.60.17/images/powerful-php-tools/minify.gif" alt="minify - Screenshot" height="221" width="550" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://en.dklab.ru/lib/HTTP_StaticMerger/"&gt;HTTP_StaticMerger: Automatic “merging” of CSS and JavaScript files&lt;/a&gt;&lt;br /&gt;This library automatically merges sets of static files (CSS or JavaScript) and speeds up page loading (by lowering the number of HTTP queries). It is recommended to use this together with caching reverse-proxy to minimize the response time.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.phpobjectgenerator.com/"&gt;PHP Object Generator&lt;/a&gt;&lt;br /&gt;PHP Object Generator is an open-source Web-based tool that helps you quickly construct PHP objects and leverage object-oriented programming (OOP) principles in your code.&lt;br /&gt;&lt;p&gt;&lt;a href="http://www.phpobjectgenerator.com/"&gt;&lt;img src="http://78.46.108.98/images/powerful-php-tools/03_object_generator.jpg" alt="Php Object Generator - Screenshot" height="481" width="407" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.gotapi.com/php"&gt;gotAPI/PHP&lt;/a&gt;&lt;br /&gt;gotAPI is a useful online tool for quickly looking up PHP functions and classes. Also check out the &lt;a href="http://www.gotapi.com/widgets/compiled/c1_module_php.html"&gt;Quick PHP look-up&lt;/a&gt; widget example in case you’d like to include this awesome look-up feature on your website.&lt;br /&gt;&lt;p&gt;&lt;a href="http://www.gotapi.com/php"&gt;&lt;img src="http://88.198.60.17/images/powerful-php-tools/04_gotapi.jpg" alt="gotAPI/PHP - Screenshot" height="312" width="500" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.koders.com/"&gt;koders&lt;/a&gt;&lt;br /&gt;koders is a search engine for open-source and downloadable code. It currently has over a billion lines of code indexed and isn’t limited to just PHP.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://pecl.php.net/"&gt;PECL&lt;/a&gt;&lt;br /&gt;PECL is a directory of all known PHP extensions and a hosting facility for downloading and developing PHP extensions.&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;In-Browser Tools (Firefox Add-Ons)&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.firephp.org/"&gt;FirePHP&lt;/a&gt;&lt;br /&gt;FirePHP is a Firefox extension that allows you to log data in &lt;a href="http://getfirebug.com/"&gt;Firebug&lt;/a&gt;. It has a variety of useful logging features, such as the ability to change your error and exception handling on the fly and to log errors directly to the Firebug console. To learn more about what FirePHP can do, check out the FirePHP guide on &lt;a href="http://www.firephp.org/HQ/Use.htm"&gt;how to use FirePHP&lt;/a&gt;. For developers using the &lt;a href="http://framework.zend.com/"&gt;Zend PHP framework&lt;/a&gt;, you might find this guide on &lt;a href="http://www.christophdorn.com/Blog/2008/09/02/firephp-and-zend-framework-16/"&gt;using  FirePHP with Zend&lt;/a&gt; useful.&lt;br /&gt;&lt;p&gt;&lt;a href="http://www.firephp.org/"&gt;&lt;img src="http://78.46.108.98/images/powerful-php-tools/01_firephp.jpg" alt="FirePHP - Screenshot" height="271" width="435" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://phplangeditor.mozdev.org/"&gt;phpLangEditor&lt;/a&gt;&lt;br /&gt;phpLangEditor is a very handy Firefox add-on for translating language files and variables in your script.&lt;br /&gt;&lt;p&gt;&lt;a href="http://phplangeditor.mozdev.org/"&gt;&lt;img src="http://88.198.60.17/images/powerful-php-tools/02_phplangeditor.jpg" alt="phpLangEditor - Screenshot" height="287" width="499" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="https://addons.mozilla.org/en-US/firefox/addon/3505"&gt;PHP Lookup&lt;/a&gt;&lt;br /&gt;PHP Lookup is a built-in search bar to help you quickly look up references to PHP syntax.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="https://addons.mozilla.org/en-US/firefox/addon/8984"&gt;PHP Manual Search&lt;/a&gt;&lt;br /&gt;PHP Manual Search is a handy search bar that searches &lt;a href="http://www.php.net/docs.php"&gt;official PHP documentation&lt;/a&gt; from within your Web browser.&lt;/li&gt;&lt;/ul&gt;Frameworks for PHP&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://dwoo.org/"&gt;Dwoo&lt;/a&gt;&lt;br /&gt;Dwoo is a PHP 5 template engine positioned as an alternative to Smarty. It is (nearly) fully compatible with its templates and plug-ins, but it is being written from scratch and is aimed to go one step further with a cleaner code base.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://codeigniter.com/"&gt;CodeIgniter&lt;/a&gt;&lt;br /&gt;CodeIgniter is a powerful, high-performance, open-source PHP framework that helps you author PHP applications rapidly. CodeIgniter is known for having a light footprint, thereby reducing your server’s work. You can get up and running with CodeIgniter in a jiffy: it has an awesome &lt;a href="http://codeigniter.com/user_guide/"&gt;online manual&lt;/a&gt;, a couple of helpful &lt;a href="http://codeigniter.com/tutorials/"&gt;video tutorials&lt;/a&gt; and an active &lt;a href="http://codeigniter.com/forums/"&gt;user forum&lt;/a&gt;.&lt;br /&gt;&lt;p&gt;&lt;a href="http://codeigniter.com/"&gt;&lt;img src="http://78.46.108.98/images/powerful-php-tools/codeigniter.jpg" alt="CodeIgniter - Screenshot" height="251" width="448" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.yiiframework.com/"&gt;YII Framework&lt;/a&gt;&lt;br /&gt;Here is a high-performance component-based PHP framework that is supposed to be more efficient than CodeIgniter, CakePHP, ZF and Symfony. An optimal solution for developing large-scale Web applications. Yii supports MVC, DAO/ActiveRecord, I18N/L10N, caching, jQuery-based AJAX support, authentication and role-based access control, scaffolding, input validation, widgets, events, theming and Web services.&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.netbeans.org/features/php/index.html"&gt;NetBeans&lt;/a&gt;&lt;br /&gt;A dedicated PHP coding environment and complete integration with web standards. The NetBeans PHP editor is dynamically integrated with NetBeans HTML, JavaScript and CSS editing features such as syntax highlighting and the JavaScript debugger. NetBeans IDE 6.5 fully supports iterative development, so testing PHP projects follows the classic patterns familiar to web developers.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.solarphp.com/"&gt;Solar&lt;/a&gt;&lt;br /&gt;Solar is a PHP 5 development framework for Web applications derived from the &lt;a href="http://phpsavant.com/"&gt;Savant&lt;/a&gt; templating engine. Solar uses the MVC architectural pattern and has a host of classes and functions for securing your Web app against SQL injection, cross-website scripting (XSS) and other common exploits.&lt;br /&gt;&lt;p&gt;&lt;a href="http://www.solarphp.com/"&gt;&lt;img src="http://88.198.60.17/images/powerful-php-tools/solar.jpg" alt="Solar - Screenshot" height="198" width="450" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.symfony-project.org/"&gt;symfony&lt;/a&gt;&lt;br /&gt;symfony is an open-source PHP 5 Web application framework that is well known for its modularity and useful library of classes. To get up and running as fast as possible, you should check out the pragmatic symfony online tutorial called “&lt;a href="http://www.jobeet.org/"&gt;The symfony 1.2 advent calendar tutorial&lt;/a&gt;,” which takes you through a step-by-step example of building your own symfony-based Web application.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://pear.php.net/"&gt;PEAR - PHP Extension and Application Repository&lt;/a&gt;&lt;br /&gt;PEAR is a popular framework and distribution system for reusable PHP components. The purpose of the framework is to provide a structured library of open-source code for PHP users, a system for code distribution and package maintenance and a standard style for PHP code.&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://propel.phpdb.org/trac/"&gt;Propel&lt;/a&gt;&lt;br /&gt;Propel is an Object-Relational Mapping (ORM) framework for PHP 5. It allows you to access your database using a set of objects, providing a simple API for storing and retrieving data.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://wiki.limb-project.com/doku.php?id=limb3:en:packages:macro"&gt;{{macro}} template engine&lt;/a&gt;&lt;br /&gt;{{macro}} compiles initial templates into executable PHP scripts with very clean syntax (much cleaner than WACT and Smarty) and executes them very fast. The engine doesn’t use an XML-like syntax; there are only two data scopes, global and local, and no more data sources (all data is displayed with regular PHP variables); and the system supports all WACT features such as templates wrapping and including.&lt;img src="http://78.46.108.98/images/powerful-php-tools/macro.gif" alt="minify - Screenshot" height="183" width="450" /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://framework.zend.com/"&gt;Zend Framework&lt;/a&gt;&lt;br /&gt;The Zend Framework by &lt;a href="http://www.zend.com/en/company/"&gt;Zend Technologies&lt;/a&gt; (the creators of PHP’s scripting engine) is a popular PHP Web application framework that embraces the principles of PHP OOP; it’s very extensible and has built-in utilities for working with free Web service APIs, such as those of &lt;a href="http://code.google.com/apis/gdata/"&gt;Google&lt;/a&gt;, &lt;a href="http://flickr.com/services/"&gt;Flickr&lt;/a&gt; and &lt;a href="http://aws.amazon.com/"&gt;Amazon&lt;/a&gt;.&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.qcodo.com/"&gt;Qcodo&lt;/a&gt;&lt;br /&gt;Qcodo is an excellent open-source PHP Web application framework. It’s subdivided into two parts: (1) Code Generator, and (2) Qforms. Code Generator handles the creation of object code and PHP and HTML front-end code from your data model. Qforms is an intuitive system for handling and creating complex PHP-driven HTML Web forms. Check out &lt;a href="http://www.qcodo.com/demos/"&gt;demos of applications that use Qcodo and presentational material that covers Qcodo&lt;/a&gt;.&lt;br /&gt;&lt;p&gt;&lt;a href="http://www.qcodo.com/"&gt;&lt;img src="http://88.198.60.17/images/powerful-php-tools/qc.gif" alt="Qcodo - Screenshot" height="249" width="528" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.modernmethod.com/sajax/"&gt;SAJAX&lt;/a&gt;&lt;br /&gt;SAJAX is a JavaScript and AJAX application framework that works well with PHP (as well as several other server-side scripting languages). See SAJAX at work by going to &lt;a href="http://www.modernmethod.com/sajax/sajax-0.12/php/example_wall.php"&gt;Wall live demonstration&lt;/a&gt;.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.smarty.net/"&gt;Smarty&lt;/a&gt;&lt;br /&gt;Smarty is a popular PHP templating system to help you separate PHP logic and front-end code (HTML, CSS, JavaScript). It will keep your projects modular and easier to maintain.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://cakephp.org/"&gt;CakePHP&lt;/a&gt;&lt;br /&gt;CakePHP is one of the leading PHP frameworks for creating robust, fully-featured Web applications. CakePHP has an extensive and well-organized &lt;a href="http://book.cakephp.org/"&gt;online manual&lt;/a&gt;. If you want to learn via video tutorials, check out the &lt;a href="http://live.cakephp.org/"&gt;CakePHP screencasts&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://cakephp.org/"&gt;&lt;img src="http://78.46.108.98/images/powerful-php-tools/cake.jpg" alt="CakePHP - Screenshot" height="180" width="417" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://phpsavant.com/yawiki/"&gt;Savant2&lt;/a&gt;&lt;br /&gt;Savant2 is another popular object-oriented PHP templating system. Instead of a special syntax unique to Savant2, you use PHP syntax to develop your project’s template.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.phpspec.org/"&gt;PHPSpec&lt;/a&gt;&lt;br /&gt;PHPSpec is a simple and intuitive PHP framework. It follows the Behavior-Driven Development principle and therefore allows you to write behavior-oriented code, oftentimes in plain English.&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;PHP IDEs and Editors&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.phpeclipse.com/"&gt;PHPEclipse&lt;/a&gt;&lt;br /&gt;PHPEclipse is a popular PHP source-code editor that is open source and runs on all the major operating systems, such as Windows, Linux and Mac OS. It has all the features you’d expect from a PHP source-code editor, such as code-folding, syntax highlighting, hover-over tool tips and support for XDebug and DBG.&lt;br /&gt;&lt;p&gt;&lt;a href="http://www.phpeclipse.com/"&gt;&lt;img src="http://88.198.60.17/images/powerful-php-tools/07_php_eclipse.jpg" alt="PHPEclipse - Screenshot" height="424" width="445" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.nusphere.com/products/phped.htm"&gt;PhpED&lt;/a&gt;&lt;br /&gt;PhpED is an excellent IDE for Windows users. It is one of the most robust and feature-packed IDEs currently out on the market and has useful features such as a built-in &lt;a href="http://www.nusphere.com/products/php_profiler.htm"&gt;source-code profiler&lt;/a&gt; to find bottlenecks in your PHP source code and excellent integration with third-party apps and services just as front-end code validation.&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://www.nusphere.com/products/phped.htm"&gt;&lt;img src="http://78.46.108.98/images/powerful-php-tools/08_phped.jpg" alt="PhpED - Screenshot" height="339" width="500" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.mpsoftware.dk/phpdesigner.php"&gt;phpDesigner&lt;/a&gt;&lt;br /&gt;phpDesigner is a lightweight PHP editor/IDE that also handles front-end code and markup remarkably well. Check out the phpDesigner &lt;a href="http://www.mpsoftware.dk/tutorials.php"&gt;online tutorials&lt;/a&gt;, as well as &lt;a href="http://www.mpsoftware.dk/phpdesigner_screencasts.php"&gt;screencasts on phpDesigner&lt;/a&gt; to help you learn more about the IDE.&lt;br /&gt;&lt;p&gt;&lt;a href="http://www.mpsoftware.dk/phpdesigner.php"&gt;&lt;img src="http://88.198.60.17/images/powerful-php-tools/09_phpdesigner.jpg" alt="phpDesigner - Screenshot" height="300" width="350" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.zend.com/en/products/studio/"&gt;Zend Studio&lt;/a&gt;&lt;br /&gt;Zend Studio is an excellent PHP IDE for Eclipse. It’ll help you develop, deploy and manage Rich Internet Applications (RIAs) in an intuitive interface.&lt;br /&gt;&lt;p&gt;&lt;a href="http://www.zend.com/en/products/studio/"&gt;&lt;img src="http://78.46.108.98/images/powerful-php-tools/10_zend_studio.jpg" alt="Zend Studio - Screenshot" height="333" width="485" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.aptana.com/php"&gt;Aptana PHP&lt;/a&gt;&lt;br /&gt;Aptana PHP is an open-source IDE extension/plug-in to be used in conjunction with Aptana Studio. To learn more, be sure to check out the &lt;a href="http://www.aptana.com/docs/index.php/PHP"&gt;online documentation about Aptana PHP&lt;/a&gt;.&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.eclipse.org/pdt/"&gt;PDT&lt;/a&gt;&lt;br /&gt;PDT is a PHP Development Tools framework that’s part of the Eclipse project. PDT includes all the necessary tools for you to create PHP-based Web applications.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.jcxsoftware.com/vs.php"&gt;VS.Php&lt;/a&gt;&lt;br /&gt;VS.Php is a PHP IDE for MS Visual Studio, making it a great IDE for recently converted ASP developers who have used MS VS to develop Web applications. To get you up and running ASAP with VS.Php, check out Jcx.Software’s &lt;a href="http://www.jcxsoftware.com/tutorials.php"&gt;online tutorials&lt;/a&gt; as well as its &lt;a href="http://www.jcxsoftware.com/jcx/vsphp/docs"&gt;online documentation&lt;/a&gt;.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.phpedit.com/"&gt;PHPEdit&lt;/a&gt;&lt;br /&gt;PHPEdit is an excellent PHP editor/IDE with a ton of useful features and a very intuitive user interface. To learn more about why PHPEdit is a good IDE, read the &lt;a href="http://www.phpedit.com/Features/10-reasons-to-use-PHPEdit"&gt;10 reasons to use PHPEdit&lt;/a&gt; and view the &lt;a href="http://www.phpedit.com/Features/Screencasts/PHPEdit-3.0-Overview"&gt;introductory screencast about PHPEdit&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5699179415075283063-8113042370081806821?l=symfonyhelp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://symfonyhelp.blogspot.com/feeds/8113042370081806821/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://symfonyhelp.blogspot.com/2009/03/50-extremely-useful-php-tools.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5699179415075283063/posts/default/8113042370081806821'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5699179415075283063/posts/default/8113042370081806821'/><link rel='alternate' type='text/html' href='http://symfonyhelp.blogspot.com/2009/03/50-extremely-useful-php-tools.html' title='50 Extremely Useful PHP Tools'/><author><name>Rajeev</name><uri>http://www.blogger.com/profile/09442025840798063075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_M3AgJ8-TiII/TU0tBZ3wSTI/AAAAAAAAAog/WzvygeezO1c/s220/165649_125059220894331_100001707608385_140654_3449754_n.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5699179415075283063.post-2546555348680583925</id><published>2009-03-08T21:12:00.000-07:00</published><updated>2009-03-08T21:14:01.672-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='frameworks'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><title type='text'>20 Great PHP frameworks for developers</title><content type='html'>A good PHP framework can help you develope a PHP application quickly, with more simplicity and with a vision "best-practices-oriented".&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Take a look at this list with 20 great PHP frameworks and suggest that you prefer or a new link to a framework not included into this list.&lt;br /&gt;1. CodeIgniter&lt;br /&gt;CodeIgniter is a powerful PHP framework with a very small footprint, built for PHP coders who need a simple and elegant toolkit to create full-featured web applications.&lt;br /&gt;Read more...&lt;br /&gt;&lt;br /&gt;2. CakePHP&lt;br /&gt;CakePHP is a rapid development framework for PHP that provides an extensible architecture for developing, maintaining, and deploying applications.&lt;br /&gt;Read more...&lt;br /&gt;&lt;br /&gt;3. Symfony&lt;br /&gt;Symfony is a full-stack framework, a library of cohesive classes written in PHP5. It provides an architecture, components and tools for developers to build complex web applications faster. Choosing symfony allows you to release your applications earlier, host and scale them without problem, and maintain them over time with no surprise.&lt;br /&gt;Read more...&lt;br /&gt;&lt;br /&gt;4. Prado&lt;br /&gt;PRADOTM is a component-based and event-driven programming framework for developing Web applications in PHP 5. PRADO stands for PHP Rapid Application Development Object-oriented.&lt;br /&gt;Read more...&lt;br /&gt;&lt;br /&gt;5. Qcodo&lt;br /&gt;It is a completely object-oriented framework that takes the best of PHP and provides a truly rapid application development platform. Initial prototypes roll out in minutes instead of hours. Iterations come around in hours instead of days (or even weeks). As projects iterate into more cohesive solutions, the framework allows developers to take prototypes to the next level by providing the capability of bringing the application maturity.&lt;br /&gt;Read more...&lt;br /&gt;&lt;br /&gt;6. Zend Framework&lt;br /&gt;Zend Framework is focused on building more secure, reliable, and modern Web 2.0 applications &amp; web services, and consuming widely available APIs from leading vendors like Google, Amazon, Yahoo!, Flickr, as well as API providers and cataloguers like StrikeIron and ProgrammableWeb.&lt;br /&gt;Read more...&lt;br /&gt;&lt;br /&gt;7. Akelos&lt;br /&gt;The Akelos PHP Framework is a web application development platform based on the MVC (Model View Controller) design pattern. Based on good practices, it allows you to:&lt;br /&gt;Write views using Ajax easily, Control requests and responses through a controller, Manage internationalized applications, Communicate models and the database using simple conventions.&lt;br /&gt;Read more...&lt;br /&gt;&lt;br /&gt;8. Maintainable&lt;br /&gt;The Maintainable PHP Framework was originally built only for our own projects, then released to open source at the request of our customers. Like any framework, it's certainly not appropriate for every application. It's designed primarily for use with small- to mid- sized applications.&lt;br /&gt;Read more...&lt;br /&gt;&lt;br /&gt;9. evoCore&lt;br /&gt;evoCore is the framework at the heart of the b2evolution blogging application. It is freely available for anyone to use. It is dual licensed so you can choose to use it either under the GNU GPL or the Mozilla MPL license. (b2evo for example is using it under the GPL).&lt;br /&gt;Read more...&lt;br /&gt;&lt;br /&gt;10. Stratos&lt;br /&gt;The Stratos Framework is an open-source, object-oriented web application framework that facilitates the rapid development of well-organized, secure, and maintainable PHP web applications. Stratos frees you from working on tedious, routine tasks, and allows you to focus on specific software requirements.&lt;br /&gt;Read more...&lt;br /&gt;&lt;br /&gt;11. Seagull&lt;br /&gt;Seagull is a mature OOP framework for building web, command line and GUI applications. Licensed under BSD, the project allows PHP developers to easily integrate and manage code resources, and build complex applications quickly.&lt;br /&gt;Read more...&lt;br /&gt;&lt;br /&gt;12. Zoop&lt;br /&gt;The Zoop Framework is inclusive, cooperating with and containing components integrated from some existing projects including Smarty, the Prototype JS Framework, and a number of Pear Modules.&lt;br /&gt;Read more...&lt;br /&gt;&lt;br /&gt;13. php.MVC&lt;br /&gt;php.MVC implements the Model-View-Controller (MVC) design pattern, and encourages application design based on the Model 2 paradigm. This design model allows the Web page or other contents (View) to be mostly separated from the internal application code (Controller/Model), making it easier for designers and programmers to focus on their respective areas of expertise.&lt;br /&gt;Read more...&lt;br /&gt;&lt;br /&gt;14. AjaxAC&lt;br /&gt;AjaxAC is an open-source framework written in PHP, used to develop/create/generate AJAX applications. The fundamental idea behind AJAX (Asynchronous JavaScript And XML) is to use the XMLHttpRequest object to change a web page state using background HTTP sub-requests without reloading the entire page. It is released under the terms of the Apache License v2.0.&lt;br /&gt;Read More...&lt;br /&gt;&lt;br /&gt;15. xAjax&lt;br /&gt;xAjax is an open source PHP class library that allows to create quickly Ajax applications using HTML, CSS, JavaScript, and PHP.&lt;br /&gt;Read more...&lt;br /&gt;&lt;br /&gt;16. PHOCOA&lt;br /&gt;PHOCOA (pronounced faux-ko) is PHP framework for developing web applications. PHOCOA's primary intent is to make web application development in PHP easier, faster, and higher-quality.&lt;br /&gt;Read more...&lt;br /&gt;&lt;br /&gt;17. Kohana&lt;br /&gt;Kohana is a PHP 5 framework that uses the model view controller architectural pattern. It aims to be secure, lightweight, and easy to use.&lt;br /&gt;Read more...&lt;br /&gt;&lt;br /&gt;18. Limb&lt;br /&gt;Limb is an OpenSource(LGPL) PHP framework mostly aimed for rapid web application prototyping and development. The current actively developed branch of framework is Limb3(there is also Limb2 but it's not maintained anymore).&lt;br /&gt;Read more...&lt;br /&gt;&lt;br /&gt;19. Solar&lt;br /&gt;Solar is a PHP 5 framework for rapid application development. It is fully name-spaced and uses enterprise application design patterns, with built-in support for localization and configuration at all levels.&lt;br /&gt;Read more...&lt;br /&gt;&lt;br /&gt;20. BlueShoes&lt;br /&gt;BlueShoes is a comprehensive application framework and content management system. It is written in the widely used web-scripting language PHP. BlueShoes offers excellent support for the popular MySQL database as well as support for Oracle and MSSQL.&lt;br /&gt;Read more...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5699179415075283063-2546555348680583925?l=symfonyhelp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://symfonyhelp.blogspot.com/feeds/2546555348680583925/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://symfonyhelp.blogspot.com/2009/03/20-great-php-frameworks-for-developers.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5699179415075283063/posts/default/2546555348680583925'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5699179415075283063/posts/default/2546555348680583925'/><link rel='alternate' type='text/html' href='http://symfonyhelp.blogspot.com/2009/03/20-great-php-frameworks-for-developers.html' title='20 Great PHP frameworks for developers'/><author><name>Rajeev</name><uri>http://www.blogger.com/profile/09442025840798063075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_M3AgJ8-TiII/TU0tBZ3wSTI/AAAAAAAAAog/WzvygeezO1c/s220/165649_125059220894331_100001707608385_140654_3449754_n.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5699179415075283063.post-2254675682645660234</id><published>2009-03-01T20:55:00.000-08:00</published><updated>2009-03-01T20:57:23.529-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sql'/><category scheme='http://www.blogger.com/atom/ns#' term='raw'/><category scheme='http://www.blogger.com/atom/ns#' term='pager'/><category scheme='http://www.blogger.com/atom/ns#' term='custom'/><category scheme='http://www.blogger.com/atom/ns#' term='query'/><category scheme='http://www.blogger.com/atom/ns#' term='Propel'/><category scheme='http://www.blogger.com/atom/ns#' term='pagination'/><title type='text'>How to get a propel pager working with a custom SQL query</title><content type='html'>The problem&lt;br /&gt;&lt;br /&gt;Let us take the example of snipeet! :-) The function that selects snippets by tags is a custom SQL query. When filtering by tags there is no pager anymore.&lt;br /&gt;&lt;br /&gt;Why is that? The problem is that sfPropelPaginate only works with a Criteria object, not with a raw query. As a result you cannot have pagination with raw SQL query which is a rather severe limitation.&lt;br /&gt;The solution&lt;br /&gt;&lt;br /&gt;The solution is to first encode the parameter of the query in the criteria (that's the tricky bit) and then to set up a custom peer method.&lt;br /&gt;&lt;br /&gt;As i said earlier we will take a simplified version of snipeet as an example. We assume that we have a function that creates a sql statement from a list of tags.&lt;br /&gt;&lt;br /&gt;Here we go about setting the dummy criteria that encodes an array of tags:&lt;br /&gt;&lt;br /&gt;getCriteriaFromTags($tags)&lt;br /&gt;{&lt;br /&gt;  $c = new Criteria();&lt;br /&gt;  for ($i = 1; $i &lt;= count($tags); ++$i)&lt;br /&gt;  {&lt;br /&gt;    $prefix = 't'.$i;&lt;br /&gt;    // note that that SnippetTagPeer::TABLE_NAME  SnippetTagPeer::NAME are in fact arbitrary&lt;br /&gt;    // any other table and table.column combination would work as well&lt;br /&gt;    $c-&gt;addAlias($prefix.SnippetTagPeer::TABLE_NAME, SnippetTagPeer::TABLE_NAME);&lt;br /&gt;    $c-&gt;add($prefix.SnippetTagPeer::NAME, $tags[$i-1]);&lt;br /&gt;  }&lt;br /&gt;  return $c;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Now you can initialise a sfPropelPaginate object as usual with that Criteria object. When that is done you tell it to use your custom peer method:&lt;br /&gt;&lt;br /&gt;$pager-&gt;setPeerMethod('doSelectByTags');&lt;br /&gt;&lt;br /&gt;Next you code the doSelectByTags method that performs the actual selection from a criteria object:&lt;br /&gt;&lt;br /&gt;function doSelectByTags($c)&lt;br /&gt;{&lt;br /&gt;  // first you fetch the tags from the query&lt;br /&gt;  $tags = array();&lt;br /&gt;  foreach($c-&gt;keys() as $key)&lt;br /&gt;    $tags[] = $c-&gt;get($key);&lt;br /&gt; &lt;br /&gt;  // here comes your custom sql query &lt;br /&gt;  // it basically creates a $statement variable from the $tags array&lt;br /&gt;  // .....&lt;br /&gt; &lt;br /&gt;  // now you have to add the limit and offset:&lt;br /&gt; $statement-&gt;setLimit($c-&gt;getLimit());&lt;br /&gt; $statement-&gt;setOffset($c-&gt;getOffset());&lt;br /&gt; // and the rest of the code is as usual&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5699179415075283063-2254675682645660234?l=symfonyhelp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://symfonyhelp.blogspot.com/feeds/2254675682645660234/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://symfonyhelp.blogspot.com/2009/03/how-to-get-propel-pager-working-with.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5699179415075283063/posts/default/2254675682645660234'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5699179415075283063/posts/default/2254675682645660234'/><link rel='alternate' type='text/html' href='http://symfonyhelp.blogspot.com/2009/03/how-to-get-propel-pager-working-with.html' title='How to get a propel pager working with a custom SQL query'/><author><name>Rajeev</name><uri>http://www.blogger.com/profile/09442025840798063075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_M3AgJ8-TiII/TU0tBZ3wSTI/AAAAAAAAAog/WzvygeezO1c/s220/165649_125059220894331_100001707608385_140654_3449754_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5699179415075283063.post-1701576976600699549</id><published>2009-03-01T20:53:00.000-08:00</published><updated>2009-03-01T20:55:40.500-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='symfony'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL Query'/><category scheme='http://www.blogger.com/atom/ns#' term='Criteria'/><category scheme='http://www.blogger.com/atom/ns#' term='Propel'/><category scheme='http://www.blogger.com/atom/ns#' term='OR'/><title type='text'>Symfony: How to query using Criteria OR</title><content type='html'>I’m looking for way to do a simple query using criteria OR in symfony framework. The official documentation does not covers the sql query criteria for OR statement. After googling for while, there is some reference from the Propel Guide&lt;br /&gt;&lt;br /&gt;To perform a simple SQL query with OR criteria is a bit complicated in symfony or i can say in Propel. Here’s the example of how to perform the SQL query for:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;SELECT * FROM table_a WHERE (column_a = 1 OR column_a = 3) AND column_c = ‘xxx’&lt;br /&gt;&lt;br /&gt;    $c = new Criteria;&lt;br /&gt;    $c1 = $c-&gt;getNewCriterion(TableAPeer::COLUMN_A, 1);&lt;br /&gt;    $c2 = $c-&gt;getNewCriterion(TableAPeer::COLUMN_A, 2);&lt;br /&gt;    $c1-&gt;addOr($c2);&lt;br /&gt;    $c-&gt;add(TableAPeer::COLUMN_B, ‘xxx’);&lt;br /&gt;    $c-&gt;add($c1); &lt;br /&gt;&lt;br /&gt;So, now you can perform your query using criteria OR in symfony.&lt;br /&gt;Yes, no doubt it’s complicated but it works!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5699179415075283063-1701576976600699549?l=symfonyhelp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://symfonyhelp.blogspot.com/feeds/1701576976600699549/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://symfonyhelp.blogspot.com/2009/03/symfony-how-to-query-using-criteria-or.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5699179415075283063/posts/default/1701576976600699549'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5699179415075283063/posts/default/1701576976600699549'/><link rel='alternate' type='text/html' href='http://symfonyhelp.blogspot.com/2009/03/symfony-how-to-query-using-criteria-or.html' title='Symfony: How to query using Criteria OR'/><author><name>Rajeev</name><uri>http://www.blogger.com/profile/09442025840798063075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_M3AgJ8-TiII/TU0tBZ3wSTI/AAAAAAAAAog/WzvygeezO1c/s220/165649_125059220894331_100001707608385_140654_3449754_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5699179415075283063.post-5352541000542459409</id><published>2009-03-01T20:52:00.000-08:00</published><updated>2009-03-01T20:53:26.721-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='symfony'/><category scheme='http://www.blogger.com/atom/ns#' term='primary key'/><category scheme='http://www.blogger.com/atom/ns#' term='Propel'/><category scheme='http://www.blogger.com/atom/ns#' term='update'/><title type='text'>update according to the primary key using propel</title><content type='html'>If you want to make an update according to the primary key you just need to use one criteria:&lt;br /&gt;&lt;br /&gt;$c = new Criteria();&lt;br /&gt; &lt;br /&gt;$c-&gt;add(MyObjectPeer::ID,123);&lt;br /&gt; &lt;br /&gt;$c-&gt;add(MyObjectPeer::NAME,'ola');&lt;br /&gt;$c-&gt;add(MyObjectPeer::CITY,'pepito');&lt;br /&gt; &lt;br /&gt;MyObjectPeer::doUpdate($c);&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;and the query is:&lt;br /&gt;&lt;br /&gt;UPDATE my_object SET NAME = 'ola',CITY = 'pepito' WHERE my_object.ID=123&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5699179415075283063-5352541000542459409?l=symfonyhelp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://symfonyhelp.blogspot.com/feeds/5352541000542459409/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://symfonyhelp.blogspot.com/2009/03/update-according-to-primary-key-using.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5699179415075283063/posts/default/5352541000542459409'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5699179415075283063/posts/default/5352541000542459409'/><link rel='alternate' type='text/html' href='http://symfonyhelp.blogspot.com/2009/03/update-according-to-primary-key-using.html' title='update according to the primary key using propel'/><author><name>Rajeev</name><uri>http://www.blogger.com/profile/09442025840798063075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_M3AgJ8-TiII/TU0tBZ3wSTI/AAAAAAAAAog/WzvygeezO1c/s220/165649_125059220894331_100001707608385_140654_3449754_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5699179415075283063.post-3335792568567083805</id><published>2009-03-01T20:48:00.000-08:00</published><updated>2009-03-01T20:50:53.731-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='symfony'/><category scheme='http://www.blogger.com/atom/ns#' term='Criteria'/><category scheme='http://www.blogger.com/atom/ns#' term='subqueries'/><title type='text'>subqueries with criteria</title><content type='html'>&lt;a href="/snippet/269"&gt;subqueries with criteria&lt;/a&gt;&lt;br /&gt;  &lt;br /&gt;&lt;br /&gt;  &lt;p&gt;I haven't found a way to use subqueries as alias with criteria in the book.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Here is a small piece of code that works very well:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;the subquery is in an alias defined by Criteria::addAsColumn($alias, $expr)&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;it can be used to order the result, or in case you have to deal with foreign keys, etc.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="php"&gt;&lt;span class="re0"&gt;$c&lt;/span&gt; = &lt;span class="kw2"&gt;new&lt;/span&gt; Criteria&lt;span class="br0"&gt;(&lt;/span&gt;&lt;span class="br0"&gt;)&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span class="re0"&gt;$c&lt;/span&gt;-&amp;gt;&lt;span class="me1"&gt;addAsColumn&lt;/span&gt;&lt;span class="br0"&gt;(&lt;/span&gt;&lt;span class="st0"&gt;'brandname'&lt;/span&gt;, &lt;span class="st0"&gt;'(SELECT brand.name FROM brand WHERE brand.id=brand_id)'&lt;/span&gt;&lt;span class="br0"&gt;)&lt;/span&gt;;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span class="re0"&gt;$c&lt;/span&gt;-&amp;gt;&lt;span class="me1"&gt;addAscendingOrderByColumn&lt;/span&gt;&lt;span class="br0"&gt;(&lt;/span&gt;&lt;span class="re0"&gt;$c&lt;/span&gt;-&amp;gt;&lt;span class="me1"&gt;getColumnForAs&lt;/span&gt;&lt;span class="br0"&gt;(&lt;/span&gt;&lt;span class="st0"&gt;'brandname'&lt;/span&gt;&lt;span class="br0"&gt;)&lt;/span&gt;&lt;span class="br0"&gt;)&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span class="re0"&gt;$this&lt;/span&gt;-&amp;gt;&lt;span class="me1"&gt;products&lt;/span&gt; = ProductPeer::&lt;span class="me2"&gt;doSelect&lt;/span&gt;&lt;span class="br0"&gt;(&lt;/span&gt;&lt;span class="re0"&gt;$c&lt;/span&gt;&lt;span class="br0"&gt;)&lt;/span&gt;;&lt;br /&gt;&amp;nbsp;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Product has a brand_id that references the id key of the brand table that contains the 'name' field which is used to order the result.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5699179415075283063-3335792568567083805?l=symfonyhelp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://symfonyhelp.blogspot.com/feeds/3335792568567083805/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://symfonyhelp.blogspot.com/2009/03/subqueries-with-criteria.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5699179415075283063/posts/default/3335792568567083805'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5699179415075283063/posts/default/3335792568567083805'/><link rel='alternate' type='text/html' href='http://symfonyhelp.blogspot.com/2009/03/subqueries-with-criteria.html' title='subqueries with criteria'/><author><name>Rajeev</name><uri>http://www.blogger.com/profile/09442025840798063075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_M3AgJ8-TiII/TU0tBZ3wSTI/AAAAAAAAAog/WzvygeezO1c/s220/165649_125059220894331_100001707608385_140654_3449754_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5699179415075283063.post-5000918450617543989</id><published>2009-02-27T03:15:00.000-08:00</published><updated>2009-02-27T03:20:11.701-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Wordpress'/><category scheme='http://www.blogger.com/atom/ns#' term='Link'/><category scheme='http://www.blogger.com/atom/ns#' term='Twitter'/><title type='text'>Tutorial: How to add Twitter Link to Wordpress Comments</title><content type='html'>&lt;p&gt;This video is designed to help you add a twitter id field to your comments section, and to have the visitors twitter ID show up as a reply link in their comment.&lt;/p&gt; &lt;p&gt;The link to the original tutorial is below. I made this video if you are too retarded to follow his excellent instructions and screw it up like I did. I’ll show you where the screw up point are, and what to do when you do screw up.&lt;/p&gt; &lt;p&gt;&lt;object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" height="361" width="545"&gt;&lt;param name="id" value="viddler_22380a71"&gt;&lt;param name="wmode" value="transparent"&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="src" value="http://www.viddler.com/simple/22380a71/"&gt;&lt;embed id="viddler_22380a71" type="application/x-shockwave-flash" src="http://www.viddler.com/simple/22380a71/" allowscriptaccess="always" allowfullscreen="true" wmode="transparent" height="361" width="545"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/p&gt; &lt;p&gt;&lt;span id="more-843"&gt;&lt;/span&gt;&lt;br /&gt;Thanks goes to Darren Rowse at ProBlogger.net for the &lt;a href="http://www.problogger.net/archives/2008/11/22/how-i-added-the-twitter-id-field-to-comments-on-twitipcom/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.problogger.net');"&gt;original tutorial&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;1. You will need to download and install the Extra Comment Fields plugin &lt;a href="http://www.ideashower.com/our_solutions/wordpress-plugin-extra-comment-fields/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.ideashower.com');"&gt;available here&lt;/a&gt;. Thanks to the folks at the Idea Shower for that one.&lt;/p&gt; &lt;p&gt;2. Install and setup the plugin.&lt;/p&gt; &lt;p&gt;3. Insert this snippet into your comments.php file. This is the snippet that adds the Twitter ID field to your comment form. Location of form is probably towards the bottom of your comments.php file somewhere. Look for the &lt;strong&gt;comment_author_url &lt;/strong&gt;statement, and that will give you an idea where to put it.&lt;/p&gt; &lt;p&gt;Here is the code to insert:&lt;/p&gt; &lt;div class="codesnip-container"&gt; &lt;div class="codesnip"&gt; &lt;input id="span" class="st0"&gt;““twitter”” name=&lt;span class="st0"&gt;““twitter””&lt;/span&gt; size=&lt;span class="st0"&gt;““22″”&lt;/span&gt; type=&lt;span class="st0"&gt;““text””&lt;/span&gt; tabindex=&lt;span class="st0"&gt;““4″”&lt;/span&gt; /&gt; &lt;label class="kw1"&gt;for=&lt;span class="st0"&gt;““twitter””&lt;/span&gt;&gt;&lt;small&gt;Twitter ID&lt;/small&gt;&lt;/label&gt;&lt;/div&gt; &lt;/div&gt; &lt;p&gt;3. Insert this snippet also into your comments.php file. This is the snippet that shows the visitors Twitter ID in their comment and links it for a reply. This will probably be towards the top of the comments.php file. You will want it before the &lt;strong&gt;comment_text()&lt;/strong&gt; argument.&lt;/p&gt; &lt;div class="codesnip-container"&gt; &lt;div class="codesnip"&gt;&lt;span class="kw2"&gt; &lt;span class="kw1"&gt;if&lt;/span&gt; &lt;span class="br0"&gt;(&lt;/span&gt;&lt;span class="re0"&gt;$comment&lt;/span&gt;-&gt;&lt;span class="me1"&gt;extra_twitter&lt;/span&gt;&lt;span class="br0"&gt;)&lt;/span&gt; &lt;span class="br0"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span class="co1"&gt;// Strip out the @ if they put it there because we’re going to need to get rid of it for the url anyway&lt;/span&gt;&lt;br /&gt;&lt;span class="re0"&gt;$extra_twitter&lt;/span&gt; = &lt;a href="http://www.php.net/preg_replace" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.php.net');"&gt;&lt;span class="kw3"&gt;preg_replace&lt;/span&gt;&lt;/a&gt;&lt;span class="br0"&gt;(&lt;/span&gt;&lt;span class="st0"&gt;“/^@/”&lt;/span&gt;, &lt;span class="st0"&gt;“”&lt;/span&gt;, &lt;span class="re0"&gt;$comment&lt;/span&gt;-&gt;&lt;span class="me1"&gt;extra_twitter&lt;/span&gt;&lt;span class="br0"&gt;)&lt;/span&gt;;&lt;br /&gt;&lt;span class="re0"&gt;$extra_twitter&lt;/span&gt; = &lt;a href="http://www.php.net/htmlentities" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.php.net');"&gt;&lt;span class="kw3"&gt;htmlentities&lt;/span&gt;&lt;/a&gt;&lt;span class="br0"&gt;(&lt;/span&gt;&lt;span class="re0"&gt;$extra_twitter&lt;/span&gt;&lt;span class="br0"&gt;)&lt;/span&gt;; &lt;span class="kw2"&gt;?&gt;&lt;/span&gt;&lt;br /&gt;My Twitter&lt;a href="http://www.blogger.com/%3Cspan" class="st0"&gt;“http://twitter.com/”&lt;/a&gt;&lt;/span&gt;&lt;a href="http://www.blogger.com/%3Cspan" class="st0"&gt;&gt;@&lt;span class="kw2"&gt;=&lt;span class="re0"&gt;$extra_twitter&lt;/span&gt;?&gt;&lt;/span&gt;&lt;/a&gt; &lt;p&gt;&lt;span class="kw2"&gt; &lt;span class="br0"&gt;}&lt;/span&gt; &lt;span class="co1"&gt;// extra_twitter ?&gt; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&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/5699179415075283063-5000918450617543989?l=symfonyhelp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://symfonyhelp.blogspot.com/feeds/5000918450617543989/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://symfonyhelp.blogspot.com/2009/02/tutorial-how-to-add-twitter-link-to.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5699179415075283063/posts/default/5000918450617543989'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5699179415075283063/posts/default/5000918450617543989'/><link rel='alternate' type='text/html' href='http://symfonyhelp.blogspot.com/2009/02/tutorial-how-to-add-twitter-link-to.html' title='Tutorial: How to add Twitter Link to Wordpress Comments'/><author><name>Rajeev</name><uri>http://www.blogger.com/profile/09442025840798063075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_M3AgJ8-TiII/TU0tBZ3wSTI/AAAAAAAAAog/WzvygeezO1c/s220/165649_125059220894331_100001707608385_140654_3449754_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5699179415075283063.post-2882823774884878284</id><published>2009-02-26T06:51:00.000-08:00</published><updated>2009-02-26T06:53:50.543-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Google Query'/><title type='text'>Single Google Query uses 1000 Machines in 0.2 seconds</title><content type='html'>Google is normally quite secretive about their search infrastructure but, in a break from tradition, they have revealed that a single search query on Google can consume the processing power of 1000 machines.&lt;br /&gt;&lt;br /&gt;Google Fellow Jeff Dean, in a keynote talk at WSDM 2009, shared some numbers about Google’s impressive growth run from 1999 to 2009. According to Dean, while both search queries and processing power have gone up by a factor of 1000, latency has gone down from around 1000ms to 200ms. Crawler updates now take minutes compared to months in 1999.&lt;br /&gt;&lt;br /&gt;Another significant change was the switch to holding the complete search index in memory, resulting in the use of 1000 machines to handle a single query compared to just 12 previously.&lt;br /&gt;&lt;br /&gt;This revelation may be a bit embarrassing for Google, which has defended its ecological record in the past, claiming that a single Google query takes just 0.0003KWh of energy and that the Google datacenters are "the world’s most efficient."&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5699179415075283063-2882823774884878284?l=symfonyhelp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://symfonyhelp.blogspot.com/feeds/2882823774884878284/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://symfonyhelp.blogspot.com/2009/02/single-google-query-uses-1000-machines.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5699179415075283063/posts/default/2882823774884878284'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5699179415075283063/posts/default/2882823774884878284'/><link rel='alternate' type='text/html' href='http://symfonyhelp.blogspot.com/2009/02/single-google-query-uses-1000-machines.html' title='Single Google Query uses 1000 Machines in 0.2 seconds'/><author><name>Rajeev</name><uri>http://www.blogger.com/profile/09442025840798063075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_M3AgJ8-TiII/TU0tBZ3wSTI/AAAAAAAAAog/WzvygeezO1c/s220/165649_125059220894331_100001707608385_140654_3449754_n.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5699179415075283063.post-8919206190677562024</id><published>2009-02-26T06:48:00.000-08:00</published><updated>2009-02-26T06:54:50.883-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='multiple itms'/><category scheme='http://www.blogger.com/atom/ns#' term='checkbox items'/><category scheme='http://www.blogger.com/atom/ns#' term='dropdown list'/><title type='text'>MultiSelect Dropdown Control</title><content type='html'>&lt;h2&gt;&lt;br /&gt;Introduction   &lt;/h2&gt;&lt;p&gt;It’s&lt;br /&gt;an internet era where everything is coming to internet. Now a days, Users seem to be more diverted&lt;br /&gt;towards online purchasing than ever before. Day by day, It’s getting harder for the&lt;br /&gt;companies to make their online users happy because of the tough competition.&lt;br /&gt;One thing which is common across all of websites on the internet in terms&lt;br /&gt;getting more and more hits and to make their internet shop successful, is their&lt;br /&gt;use of state of the art web tools and controls and the way they are presented&lt;br /&gt;on the web page along with other information.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;If we specifically talk about web controls, Visual Studio .NET comes with a wide&lt;br /&gt;range of web server controls. These controls possess DHTML characteristics (e.g. Autopostback&lt;br /&gt;and EnableSessionState) and at the same time are easy to use. They also require less space to&lt;br /&gt;present a bunch of information on the web page. Two of these controls are DropdownList and CheckboxList.&lt;br /&gt;Both of the controls are powerful and rich in functionality in a sense that they&lt;br /&gt;provide with efficient ways to add and delete individual items, exhibit&lt;br /&gt;multi-select functionality and also have a DataSource property which makes them qualify&lt;br /&gt;for data bound controls. One limitation which is common in both the controls is&lt;br /&gt;the way they display information on the page. In comparison to other controls,&lt;br /&gt;they take relatively more space to render information. But, now we have got to a stage where companies are tying&lt;br /&gt;up with other companies and trying to get involved in more than one businesses.&lt;br /&gt;They like to see as much content on their site as possible. They can't afford controls&lt;br /&gt;which take huge amount of space just to display once type of information.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;When I got into the same situation where I had to create a search page having&lt;br /&gt;15 to 20 search filters and each with more than 25 items, I decided not to occupy&lt;br /&gt;the whole page with ListBoxes or CheckboxLists but, to develop a user control&lt;br /&gt;that would not only display a full list checkbox items but will also be a&lt;br /&gt;dropdown in nature&lt;br /&gt;&lt;/p&gt;&lt;h2&gt;About User Control  &lt;/h2&gt;&lt;p&gt;It’s an easy to use and light weight control. The code is also fairly simple to understand. I have developed it using .Net C# as server side and JavaScript as client side scripting. Although it’s not a full blown web server control but, it does provide with some useful features that help users in displaying and managing the information on the page easily. Following is a small list of those features:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;h4&gt;Autopostback &lt;/h4&gt;A property, by which the page will be posted back to the server automatically on firing of OnSelectedItem event, which will happen only when the value of this property is set to true and toggle on/off button is pressed.&lt;br /&gt;&lt;br /&gt; &lt;/li&gt;&lt;li&gt;&lt;h4&gt;EnableViewState &lt;/h4&gt;A property, that says whether the current value of the control must be saved in the __VIEWSTATE hidden field and restored during a page postback. For this control, to display the list of selected options, I have used ASP.NET default textbox control that will take care of view state thing for our control.&lt;h4&gt;&lt;br /&gt;&lt;/h4&gt;&lt;/li&gt;&lt;li&gt;&lt;h4&gt;DataSource&lt;br /&gt;&lt;/h4&gt;Through this property the control gets or sets the data source of type DataTable. It makes the control a true data bound control. Other than this property, the control also supports DataTextField and DataValueField, Similar to that of a standard dropdownlist control, for text content of the list items and value of each list item respectively.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;h4&gt;Z-Index:&lt;br /&gt;&lt;/h4&gt;This property sets the stack order of our user control. It is very useful when on the same page, more than one instances of control are going to be used. Since the control expands in the downward direction,  the instance with greater stack order is always in front of instance with lower stack order.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;h4&gt;Expand/Collapse&lt;br /&gt;&lt;/h4&gt;Just like a normal dropdown list control,  this user control can be collapsed automatically by clicking anywhere on the page or on the control itself except, on the region which displays the selection list. It is because of the fact that user might want to select more than one items.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;h4&gt;Selected Options&lt;br /&gt; &lt;/h4&gt;On postback, control will pass its current state to the server in the form a comma separated list where it can be used for further processing.&lt;br /&gt;. &lt;/li&gt;&lt;/ul&gt;&lt;h2&gt; Using the code &lt;/h2&gt;&lt;p&gt;Using this control in your ASP.NET project is fairly simple as it gets or sets everything through properties it exposes. On the page It first needs to be registered which can be done by pasting the following line on top of your aspx page: &lt;/p&gt;&lt;div class="SmallText" id="premain0" style="width: 100%; cursor: pointer;"&gt;&lt;img preid="0" src="http://www.codeproject.com/images/minus.gif" id="preimg0" height="9" width="9" /&gt;&lt;span preid="0" style="margin-bottom: 0pt;" id="precollapse0"&gt; Collapse&lt;/span&gt;&lt;/div&gt;&lt;pre style="margin-top: 0pt;" id="pre0" lang="aspnet"&gt; &lt;span class="code-pagedirective"&gt;&amp;lt;%@&lt;/span&gt;&lt;span class="code-leadattribute"&gt; Register TagPrefix&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;DDMS"&lt;/span&gt;&lt;span class="code-attribute"&gt; TagName&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;MultiSelectDropDown"&lt;/span&gt;&lt;span class="code-attribute"&gt; Src&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;MultiSelectDropDown.ascx"&lt;/span&gt;&lt;span class="code-attribute"&gt; &lt;/span&gt;&lt;span class="code-pagedirective"&gt;%&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;p&gt;After the registration is done, the control can be initialized by pasting the following code anywhere on the page but within HTML body. It’s important to note that in the attached demo project, I have encapsulated the control inside &amp;lt;DIV&amp;gt; tags  which is not required of course but, as I mentioned above, to avoid z-index problems it’s better to enclose it with &amp;lt;DIV&amp;gt;  and give it a z-index value based on the order of appearance on the page.&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt; &lt;/p&gt;&lt;div class="SmallText" id="premain1" style="width: 100%; cursor: pointer;"&gt;&lt;img preid="1" src="http://www.codeproject.com/images/minus.gif" id="preimg1" height="9" width="9" /&gt;&lt;span preid="1" style="margin-bottom: 0pt;" id="precollapse1"&gt; Collapse&lt;/span&gt;&lt;/div&gt;&lt;pre style="margin-top: 0pt;" id="pre1" lang="aspnet"&gt;&lt;span class="code-keyword"&gt;&amp;lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;div&lt;/span&gt; &lt;span class="code-attribute"&gt;id&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;divMultiSelectDropDown1"&lt;/span&gt; &lt;span class="code-attribute"&gt;style&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;Z-INDEX: 101; LEFT: 20px; POSITION: absolute; TOP: 20px"&lt;/span&gt;&lt;span class="code-keyword"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;   &lt;span class="code-keyword"&gt;&amp;lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;ddms:multiselectdropdown&lt;/span&gt; &lt;span class="code-attribute"&gt;id&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;MultiSelectDropDown1"&lt;/span&gt; &lt;span class="code-attribute"&gt;runat&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;server"&lt;/span&gt;&lt;span class="code-keyword"&gt;&amp;gt;&lt;/span&gt;&lt;span class="code-keyword"&gt;&amp;lt;&lt;/span&gt;&lt;span class="code-keyword"&gt;/&lt;/span&gt;&lt;span class="code-leadattribute"&gt;ddms:multiselectdropdown&lt;/span&gt;&lt;span class="code-keyword"&gt;&amp;gt;&lt;/span&gt;&lt;span class="code-keyword"&gt;&amp;lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;br&lt;/span&gt;&lt;span class="code-keyword"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;   &lt;span class="code-keyword"&gt;&amp;lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;br&lt;/span&gt;&lt;span class="code-keyword"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="code-keyword"&gt;&amp;lt;&lt;/span&gt;&lt;span class="code-keyword"&gt;/&lt;/span&gt;&lt;span class="code-leadattribute"&gt;div&lt;/span&gt;&lt;span class="code-keyword"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="code-keyword"&gt;&amp;lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;div&lt;/span&gt; &lt;span class="code-attribute"&gt;id&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;divMultiSelectDropDown2"&lt;/span&gt; &lt;span class="code-attribute"&gt;style&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;Z-INDEX: 100; LEFT: 20px; POSITION: absolute; TOP: 60px"&lt;/span&gt;&lt;span class="code-keyword"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;   &lt;span class="code-keyword"&gt;&amp;lt;&lt;/span&gt;&lt;span class="code-leadattribute"&gt;ddms:multiselectdropdown&lt;/span&gt; &lt;span class="code-attribute"&gt;id&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;Multiselectdropdown2"&lt;/span&gt; &lt;span class="code-attribute"&gt;runat&lt;/span&gt;&lt;span class="code-keyword"&gt;="&lt;/span&gt;&lt;span class="code-keyword"&gt;server"&lt;/span&gt;&lt;span class="code-keyword"&gt;&amp;gt;&lt;/span&gt;&lt;span class="code-keyword"&gt;&amp;lt;&lt;/span&gt;&lt;span class="code-keyword"&gt;/&lt;/span&gt;&lt;span class="code-leadattribute"&gt;ddms:multiselectdropdown&lt;/span&gt;&lt;span class="code-keyword"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="code-keyword"&gt;&amp;lt;&lt;/span&gt;&lt;span class="code-keyword"&gt;/&lt;/span&gt;&lt;span class="code-leadattribute"&gt;div&lt;/span&gt;&lt;span class="code-keyword"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;p&gt;That’s all from the aspx side. It’s time to write a bit of server side code. To load and configure the control, following lines of code can be pasted in Page_OnLoad event. Two separate instances of the control MultiSelectDropDown1 and MultiSelectDropDown2 are being used in the below code. CallingPage is a property exposed by the control that will supply a reference of the host page to the control. By using this reference, user control will emit necessary code for __doPostBack method.&lt;/p&gt;&lt;div class="SmallText" id="premain2" style="width: 100%; cursor: pointer;"&gt;&lt;img preid="2" src="http://www.codeproject.com/images/minus.gif" id="preimg2" height="9" width="9" /&gt;&lt;span preid="2" style="margin-bottom: 0pt;" id="precollapse2"&gt; Collapse&lt;/span&gt;&lt;/div&gt;&lt;pre style="margin-top: 0pt;" id="pre2" lang="cs"&gt;&lt;span class="code-keyword"&gt;protected&lt;/span&gt; &lt;span class="code-keyword"&gt;void&lt;/span&gt; Page_Load(&lt;span class="code-keyword"&gt;object&lt;/span&gt; sender, System.EventArgs e)&lt;br /&gt;{&lt;br /&gt;   &lt;span class="code-keyword"&gt;if&lt;/span&gt;(!this.IsPostBack)&lt;br /&gt;   {&lt;br /&gt;       &lt;span class="code-keyword"&gt;this&lt;/span&gt;.MultiSelectDropDown1.DataSource = GetCurrencyDataSource();&lt;br /&gt;       &lt;span class="code-keyword"&gt;this&lt;/span&gt;.MultiSelectDropDown1.DataTextField = &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;Description"&lt;/span&gt;;           &lt;br /&gt;       &lt;span class="code-keyword"&gt;this&lt;/span&gt;.MultiSelectDropDown1.DataValueField = &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;CurrencyID"&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;       &lt;span class="code-keyword"&gt;this&lt;/span&gt;.MultiSelectDropDown1.AutoPostBack = &lt;span class="code-keyword"&gt;true&lt;/span&gt;;&lt;br /&gt;       &lt;span class="code-keyword"&gt;this&lt;/span&gt;.MultiSelectDropDown1.DataBind();                           &lt;br /&gt;&lt;br /&gt;       &lt;span class="code-keyword"&gt;this&lt;/span&gt;.Multiselectdropdown2.DataSource = GetEmployeeDataSource();&lt;br /&gt;       &lt;span class="code-keyword"&gt;this&lt;/span&gt;.Multiselectdropdown2.DataTextField = &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;EmpName"&lt;/span&gt;;&lt;br /&gt;       &lt;span class="code-keyword"&gt;this&lt;/span&gt;.Multiselectdropdown2.DataValueField = &lt;span class="code-string"&gt;"&lt;/span&gt;&lt;span class="code-string"&gt;EmpID"&lt;/span&gt;;&lt;br /&gt;              &lt;br /&gt;       &lt;span class="code-keyword"&gt;this&lt;/span&gt;.Multiselectdropdown2.AutoPostBack = &lt;span class="code-keyword"&gt;false&lt;/span&gt;;&lt;br /&gt;       &lt;span class="code-keyword"&gt;this&lt;/span&gt;.Multiselectdropdown2.DataBind();   &lt;br /&gt;   }&lt;br /&gt;  &lt;br /&gt;   &lt;span class="code-keyword"&gt;this&lt;/span&gt;.MultiSelectDropDown1.CallingPage = &lt;span class="code-keyword"&gt;this&lt;/span&gt;;&lt;br /&gt;   &lt;span class="code-keyword"&gt;this&lt;/span&gt;.Multiselectdropdown2.CallingPage = &lt;span class="code-keyword"&gt;this&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;   &lt;span class="code-keyword"&gt;this&lt;/span&gt;.MultiSelectDropDown1.OnItemsSelected +=new MultiSelectDropDownDelegate(MultiSelectDropDown1_OnItemsSelected);&lt;br /&gt;}      &lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;p&gt;One last thing, is to register OnSelectedItem event and to provide its event handler. For event arguments I have created a separate class with the name  &lt;code&gt;MultiSelectDropDownItemSelectedEventArgs&lt;/code&gt;.&lt;br /&gt;That will wrap the arguments (__EVENTARGUEMNT) and pass them to event handler. The demo project will give you the output shown below.  &lt;/p&gt;&lt;div class="SmallText" id="premain3" style="width: 100%; cursor: pointer;"&gt;&lt;img preid="3" src="http://www.codeproject.com/images/minus.gif" id="preimg3" height="9" width="9" /&gt;&lt;span preid="3" style="margin-bottom: 0pt;" id="precollapse3"&gt; Collapse&lt;/span&gt;&lt;/div&gt;&lt;pre style="margin-top: 0pt;" id="pre3" lang="cs"&gt;&lt;span class="code-keyword"&gt;private&lt;/span&gt; &lt;span class="code-keyword"&gt;void&lt;/span&gt; MultiSelectDropDown1_OnItemsSelected(&lt;span class="code-keyword"&gt;object&lt;/span&gt; sender, MultiSelectDropDownItemSelectedEventArgs args)&lt;br /&gt;{&lt;br /&gt;   &lt;span class="code-keyword"&gt;this&lt;/span&gt;.tbSelectedFullText.Text = &lt;span class="code-keyword"&gt;string&lt;/span&gt;.Empty;&lt;br /&gt;   &lt;span class="code-keyword"&gt;this&lt;/span&gt;.tbSelectedOptionsValue.Text = &lt;span class="code-keyword"&gt;string&lt;/span&gt;.Empty;&lt;br /&gt;   &lt;span class="code-keyword"&gt;this&lt;/span&gt;.lbSelectedItemList.Items.Clear();&lt;br /&gt;&lt;br /&gt;   &lt;span class="code-keyword"&gt;this&lt;/span&gt;.tbSelectedOptionsValue.Text = args.SelectedOptionValueText;&lt;br /&gt;   &lt;span class="code-keyword"&gt;this&lt;/span&gt;.tbSelectedFullText.Text = args.SelectedOptionText;&lt;br /&gt;   &lt;span class="code-keyword"&gt;foreach&lt;/span&gt;(&lt;span class="code-keyword"&gt;string&lt;/span&gt; selectedOption &lt;span class="code-keyword"&gt;in&lt;/span&gt; args.SelectedOptionList)&lt;br /&gt;       &lt;span class="code-keyword"&gt;this&lt;/span&gt;.lbSelectedItemList.Items.Add(selectedOption);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;h2&gt;Scope &lt;br /&gt;&lt;br /&gt;&lt;/h2&gt;&lt;br /&gt;&lt;p&gt;Before I actually started working on the control, like most of the other obedient developers, I tried to find the control with the similar look and functionality same on the internet just to support code re-usability (you know what I mean ;). After failing to do so, I decided to take on this endeavor for myself and for those who might be interested in using it in their projects.&lt;br /&gt;&lt;br /&gt;As far as the scope of control is concerned, It can be extended to both version of .NET (1.1 and 2.0). Note that, not only a web page but also other user control can host this user control.&lt;br /&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/5699179415075283063-8919206190677562024?l=symfonyhelp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://symfonyhelp.blogspot.com/feeds/8919206190677562024/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://symfonyhelp.blogspot.com/2009/02/multiselect-dropdown-control.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5699179415075283063/posts/default/8919206190677562024'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5699179415075283063/posts/default/8919206190677562024'/><link rel='alternate' type='text/html' href='http://symfonyhelp.blogspot.com/2009/02/multiselect-dropdown-control.html' title='MultiSelect Dropdown Control'/><author><name>Rajeev</name><uri>http://www.blogger.com/profile/09442025840798063075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_M3AgJ8-TiII/TU0tBZ3wSTI/AAAAAAAAAog/WzvygeezO1c/s220/165649_125059220894331_100001707608385_140654_3449754_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5699179415075283063.post-4437366556721783634</id><published>2009-02-25T22:46:00.000-08:00</published><updated>2009-02-25T22:50:26.114-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='ajax scripts'/><category scheme='http://www.blogger.com/atom/ns#' term='web applications'/><title type='text'>80 AJAX solutions that are excellent and usefull</title><content type='html'>&lt;div id="columns"&gt;&lt;div class="col1"&gt;&lt;!-- START MAIN CONTENT COLUMNS --&gt;&lt;!--/archivebox--&gt;&lt;a rel="bookmark" href="http://delimitdesign.com/ajax/80-ajax-solutions-that-are-usefull-and-innovative/" title="Permanent Link to 80 AJAX solutions that are excellent and usefull"&gt;80 AJAX solutions that are excellent and usefull&lt;/a&gt;&lt;br /&gt;     &lt;div id="post-28" class="post-alt blog"&gt;&lt;div class="entry"&gt;&lt;noscript&gt;&lt;/noscript&gt;&lt;p&gt;AJAX Solutions can be used by web developers to create amazing applications. Dozens of projects, even &lt;a target="_blank" href="http://www.gmail.com/"&gt;Gmail&lt;/a&gt;, made with AJAX provide new interactivity for applications that can have enhanced user functionality. Using AJAX,&lt;strong&gt; better, faster, more flexible web solutions are available&lt;/strong&gt;. AJAX is the first step toward web applications of the future.&lt;/p&gt;What exactly is AJAX? AJAX is an acronym for Asynchronous JavaScript and XML, and though some think it’s a new programming language, it’s really not. AJAX is basically XHTML, DOM, CSS, XML, XMLHttpRequest used together to do one thing, which is to improve the user-server interaction.&lt;br /&gt;&lt;p&gt;•    To better understand AJAX, check out some articles about it.&lt;br /&gt;•    To learn the AJAX basics, look up some tutorials.&lt;br /&gt;&lt;br /&gt;•    To learn about CSS, look up some articles and tutorials.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Remember: Google is your friend!&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Contained in this article are 80+ AJAX scripts and resources you should have at your side while designing your own applications. Auto-completion, instant field editing, menus, calendars, interactive elements, visual effects, animation, basic Javascript, as well as an extensive developer’s suite are contained here for a useful toolbox, so that you don’t have to go through a huge list of bookmarks.&lt;/p&gt;&lt;strong&gt;Auto Complete Scripts&lt;/strong&gt;&lt;br /&gt;&lt;p&gt;1. &lt;a target="_blank" href="http://www.brandspankingnew.net/archive/2006/08/ajax_auto-suggest_auto-complete.html"&gt;AJAX AutoSuggest&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.brandspankingnew.net/archive/2006/08/ajax_auto-suggest_auto-complete.html"&gt;&lt;img alt="" src="http://delimitdesign.com/wp-content/uploads/2009/02/ajax-autosuggest1.png" title="ajax-autosuggest1" class="alignnone size-full wp-image-38" height="260" width="400" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;2. &lt;a target="_blank" href="http://demo.script.aculo.us/ajax/autocompleter_customized"&gt;AJAX Autocompleter / script.aculo.us library&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://demo.script.aculo.us/ajax/autocompleter_customized"&gt;&lt;img alt="" src="http://delimitdesign.com/wp-content/uploads/2009/02/ajax-autocompleter-scriptaculous-library.png" title="ajax-autocompleter-scriptaculous-library" class="size-full wp-image-37 alignnone" height="260" width="400" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;3. &lt;a target="_blank" href="http://digitarald.de/playground/auto2.html"&gt;AJAX AutoCompleter&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://digitarald.de/playground/auto2.html"&gt;&lt;img alt="" src="http://delimitdesign.com/wp-content/uploads/2009/02/ajax-autocompleter.png" title="ajax-autocompleter" class="size-full wp-image-39 alignnone" height="140" width="400" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;4. &lt;a target="_blank" href="http://www.roscripts.com/Ajax_autosuggest_autocomplete_from_database-154.html"&gt;Ajax autosuggest/autocomplete from database&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.roscripts.com/Ajax_autosuggest_autocomplete_from_database-154.html"&gt;&lt;img alt="" src="http://delimitdesign.com/wp-content/uploads/2009/02/ajax-autosuggest-autocomplete-from-database.png" title="ajax-autosuggest-autocomplete-from-database" class="size-full wp-image-40 alignnone" height="140" width="400" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;5. &lt;a target="_blank" href="http://www.dhtmlgoodies.com/index.html?whichScript=ajax-dynamic-list"&gt;Ajax dynamic list&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dhtmlgoodies.com/index.html?whichScript=ajax-dynamic-list"&gt;&lt;img alt="" src="http://delimitdesign.com/wp-content/uploads/2009/02/ajax-dynamic-list.png" title="ajax-dynamic-list" class="size-full wp-image-41 alignnone" height="260" width="401" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;&lt;strong&gt;Instant Editor Scripts&lt;/strong&gt;&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;6. &lt;a target="_blank" href="http://www.yvoschaap.com/index.php/weblog/ajax_inline_instant_update_text_20/"&gt;AJAX inline text edit 2.0&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.yvoschaap.com/index.php/weblog/ajax_inline_instant_update_text_20/"&gt;&lt;img alt="" src="http://delimitdesign.com/wp-content/uploads/2009/02/ajax-inline-text-edit-20.png" title="ajax-inline-text-edit-20" class="size-full wp-image-42 alignnone" height="260" width="400" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;7. &lt;a target="_blank" href="http://dbachrach.com/blog/2007/01/07/create-flickr-like-editing-fields-using-ajax-css/"&gt;AJAX &amp;amp; CSS Flickr-like Editing Fields&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://dbachrach.com/blog/2007/01/07/create-flickr-like-editing-fields-using-ajax-css/"&gt;&lt;img alt="" src="http://delimitdesign.com/wp-content/uploads/2009/02/ajax-css-flickr-like-editing-fields1.png" title="ajax-css-flickr-like-editing-fields1" class="alignnone size-full wp-image-139" height="260" width="400" /&gt;&lt;/a&gt;&lt;a href="http://delimitdesign.com/wp-content/uploads/2009/02/ajax-css-flickr-like-editing-fields.png"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;8. &lt;a target="_blank" href="http://www.ideasfreelance.com/lab/instant_edit/"&gt;AJAX Instant Edit&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ideasfreelance.com/lab/instant_edit/"&gt;&lt;img alt="" src="http://delimitdesign.com/wp-content/uploads/2009/02/ajax-instant-edit.png" title="ajax-instant-edit" class="size-full wp-image-44 alignnone" height="260" width="400" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;&lt;strong&gt;Tab and Menu Scripts&lt;/strong&gt;&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;9. &lt;a target="_blank" href="http://www.smashingmagazine.com/2007/04/18/14-tab-based-inferface-techniques/"&gt;14 Tab-Based Interface Techniques&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.smashingmagazine.com/2007/04/18/14-tab-based-inferface-techniques/"&gt;&lt;img alt="" src="http://delimitdesign.com/wp-content/uploads/2009/02/14-tab-based-interface-techniques.png" title="14-tab-based-interface-techniques" class="size-full wp-image-45 alignnone" height="260" width="400" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;10. &lt;a target="_blank" href="http://demos.mootools.net/Accordion"&gt;AJAX Accordion Navigation&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://demos.mootools.net/Accordion"&gt;&lt;img alt="" src="http://delimitdesign.com/wp-content/uploads/2009/02/ajax-accordion-navigation1.png" title="ajax-accordion-navigation1" class="size-full wp-image-47 alignnone" height="260" width="400" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;11. &lt;a target="_blank" href="http://extjs.com/deploy/ext/docs/"&gt;AJAX Dialogs, Menus, Grids, Trees and Views&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://extjs.com/deploy/ext/docs/"&gt;&lt;img alt="" src="http://delimitdesign.com/wp-content/uploads/2009/02/ajax-dialogs-menus-grids-trees-and-views.png" title="ajax-dialogs-menus-grids-trees-and-views" class="alignnone size-full wp-image-54" height="260" width="400" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;12. &lt;a target="_blank" href="http://www.nodetraveller.com/sandbox/moduleTabs/closeable.php"&gt;AJAX Tab Module - Closeable Implementation&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.nodetraveller.com/sandbox/moduleTabs/closeable.php"&gt;&lt;img alt="" src="http://delimitdesign.com/wp-content/uploads/2009/02/ajax-tab-module-closeable-implementation.png" title="ajax-tab-module-closeable-implementation" class="alignnone size-full wp-image-55" height="197" width="400" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;13. &lt;a target="_blank" href="http://www.dynamicdrive.com/dynamicindex17/ajaxtabscontent/"&gt;Ajax Tabs Content&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dynamicdrive.com/dynamicindex17/ajaxtabscontent/"&gt;&lt;img alt="" src="http://delimitdesign.com/wp-content/uploads/2009/02/ajax-tabs-content.png" title="ajax-tabs-content" class="alignnone size-full wp-image-56" height="206" width="400" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;14. &lt;a target="_blank" href="http://www.silverscripting.com/mootabs/"&gt;MooTabs - Tiny tab class for MooTools&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.silverscripting.com/mootabs/"&gt;&lt;img alt="" src="http://delimitdesign.com/wp-content/uploads/2009/02/mootabs-tiny-tab-class-for-mootools.png" title="mootabs-tiny-tab-class-for-mootools" class="alignnone size-full wp-image-57" height="237" width="400" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;15. &lt;a target="_blank" href="http://www.dhtmlgoodies.com/index.html?whichScript=ajax_dynamicArticles"&gt;Dynamically loaded articles&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dhtmlgoodies.com/index.html?whichScript=ajax_dynamicArticles"&gt;&lt;img alt="" src="http://delimitdesign.com/wp-content/uploads/2009/02/dynamically-loaded-articles.png" title="dynamically-loaded-articles" class="alignnone size-full wp-image-58" height="260" width="400" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;&lt;strong&gt;Calendar/Datetime Scripts&lt;/strong&gt;&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;16. &lt;a target="_blank" href="http://datetime.toolbocks.com/"&gt;AJAX Datetime Toolbocks - Intuitive Date Input Selection&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://datetime.toolbocks.com/"&gt;&lt;img alt="" src="http://delimitdesign.com/wp-content/uploads/2009/02/ajax-datetime-toolbocks-intuitive-date-input-selection.jpg" title="ajax-datetime-toolbocks-intuitive-date-input-selection" class="alignnone size-full wp-image-59" height="140" width="400" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;17. &lt;a target="_blank" href="http://www.ribosomatic.com/articulos/10-calendarios-con-php-css-y-javascript/"&gt;AJAX Calendars&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ribosomatic.com/articulos/10-calendarios-con-php-css-y-javascript/"&gt;&lt;img alt="" src="http://delimitdesign.com/wp-content/uploads/2009/02/ajax-calendars.jpg" title="ajax-calendars" class="alignnone size-full wp-image-60" height="261" width="400" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;&lt;strong&gt;Interactive Elements Scripts&lt;/strong&gt;&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;18. &lt;a target="_blank" href="http://prototype-window.xilinus.com/"&gt;AJAX Floating Windows&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://prototype-window.xilinus.com/"&gt;&lt;img alt="" src="http://delimitdesign.com/wp-content/uploads/2009/02/ajax-floating-windows.png" title="ajax-floating-windows" class="alignnone size-full wp-image-61" height="260" width="400" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;19. &lt;a target="_blank" href="http://prototype-window.xilinus.com/"&gt;AJAX Star Rating Bar&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://delimitdesign.com/wp-content/uploads/2009/02/ajax-star-rating-bar.png"&gt;&lt;img alt="" src="http://delimitdesign.com/wp-content/uploads/2009/02/ajax-star-rating-bar.png" title="ajax-star-rating-bar" class="alignnone size-full wp-image-62" height="260" width="400" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;20. &lt;a target="_blank" href="http://www.dhtmlgoodies.com/index.html?whichScript=ajax-poller"&gt;Ajax poller&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dhtmlgoodies.com/index.html?whichScript=ajax-poller"&gt;&lt;img alt="" src="http://delimitdesign.com/wp-content/uploads/2009/02/ajax-poller1.png" title="ajax-poller1" class="alignnone size-full wp-image-140" height="260" width="400" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;a href="http://delimitdesign.com/wp-content/uploads/2009/02/ajax-poller.png"&gt;&lt;br /&gt;&lt;/a&gt;&lt;h3&gt;&lt;a href="http://delimitdesign.com/wp-content/uploads/2009/02/ajax-poller.png"&gt;&lt;strong&gt;Developer’s Suite Scripts&lt;/strong&gt;&lt;/a&gt;&lt;/h3&gt;&lt;a href="http://delimitdesign.com/wp-content/uploads/2009/02/ajax-poller.png"&gt;&lt;br /&gt;&lt;/a&gt;&lt;p&gt;&lt;a href="http://delimitdesign.com/wp-content/uploads/2009/02/ajax-poller.png"&gt;21. &lt;/a&gt;&lt;a target="_blank" href="http://digitarald.de/project/historymanager/"&gt;AJAX HistoryManager, Pagination&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://digitarald.de/project/historymanager/"&gt;&lt;img alt="" src="http://delimitdesign.com/wp-content/uploads/2009/02/ajax-historymanager-pagination.png" title="ajax-historymanager-pagination" class="alignnone size-full wp-image-64" height="204" width="400" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;22. &lt;a target="_blank" href="http://www.jamesdam.com/ajax_login/login.html"&gt;AJAX Login System Demo&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.jamesdam.com/ajax_login/login.html"&gt;&lt;img alt="" src="http://delimitdesign.com/wp-content/uploads/2009/02/ajax-login-system-demo.png" title="ajax-login-system-demo" class="alignnone size-full wp-image-65" height="260" width="400" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;23. &lt;a target="_blank" href="http://www.roscripts.com/Javascript_image_preloader-111.html"&gt;AJAX image preloader&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.roscripts.com/Javascript_image_preloader-111.html"&gt;&lt;img alt="" src="http://delimitdesign.com/wp-content/uploads/2009/02/ajax-image-preloader1.png" title="ajax-image-preloader" class="alignnone size-full wp-image-141" height="130" width="400" /&gt;&lt;/a&gt;&lt;a href="http://delimitdesign.com/wp-content/uploads/2009/02/ajax-image-preloader.png"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;24. &lt;a target="_blank" href="http://www.1976design.com/blog/archive/2003/11/21/nice-titles/"&gt;AJAX Tooltips: Nice Titles revised | Blog | 1976design.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.1976design.com/blog/archive/2003/11/21/nice-titles/"&gt;&lt;img alt="" src="http://delimitdesign.com/wp-content/uploads/2009/02/ajax-tooltips-nice-titles-revised-blog-1976design1.gif" title="ajax-tooltips-nice-titles-revised-blog-1976design" class="alignnone size-full wp-image-142" height="157" width="400" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;a href="http://delimitdesign.com/wp-content/uploads/2009/02/ajax-tooltips-nice-titles-revised-blog-1976design.gif"&gt;&lt;br /&gt;&lt;/a&gt;&lt;p&gt;&lt;a href="http://delimitdesign.com/wp-content/uploads/2009/02/ajax-tooltips-nice-titles-revised-blog-1976design.gif"&gt;25. &lt;/a&gt;&lt;a target="_blank" href="http://www.1976design.com/blog/archive/2003/11/21/nice-titles/"&gt;40+ Tooltips Scripts With AJAX, JavaScript &amp;amp; CSS | Smashing Magazine&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://delimitdesign.com/wp-content/uploads/2009/02/40-tooltips-scripts-with-ajax-javascript-css-smashing-magazine.png"&gt;&lt;img alt="" src="http://delimitdesign.com/wp-content/uploads/2009/02/40-tooltips-scripts-with-ajax-javascript-css-smashing-magazine.png" title="40-tooltips-scripts-with-ajax-javascript-css-smashing-magazine" class="alignnone size-full wp-image-70" height="260" width="400" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;26. &lt;a target="_blank" href="http://www.mathertel.de/AJAXEngine/S03_AJAXControls/ConnectionsTestPage.aspx"&gt;AJAX Web Controls&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.mathertel.de/AJAXEngine/S03_AJAXControls/ConnectionsTestPage.aspx"&gt;&lt;img alt="" src="http://delimitdesign.com/wp-content/uploads/2009/02/ajax-web-controls.png" title="ajax-web-controls" class="alignnone size-full wp-image-71" height="260" width="400" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;27. &lt;a target="_blank" href="http://code.google.com/p/syntaxhighlighter/"&gt;AJAX syntaxhighlighter&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://code.google.com/p/syntaxhighlighter/"&gt;&lt;img alt="" src="http://delimitdesign.com/wp-content/uploads/2009/02/ajax-syntaxhighlighter.png" title="ajax-syntaxhighlighter" class="alignnone size-full wp-image-72" height="260" width="400" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;28. &lt;a target="_blank" href="http://transparent-message.xilinus.com/"&gt;Transparent Message&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://transparent-message.xilinus.com/"&gt;&lt;img alt="" src="http://delimitdesign.com/wp-content/uploads/2009/02/transparent-message.png" title="transparent-message" class="alignnone size-full wp-image-74" height="222" width="400" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;29. &lt;a target="_blank" href="http://wildbit.com/demos/modalbox/"&gt;ModalBox — An easy way to create popups and wizards&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://wildbit.com/demos/modalbox/"&gt;&lt;img alt="" src="http://delimitdesign.com/wp-content/uploads/2009/02/modalbox-e28094-an-easy-way-to-create-popups-and-wizards.png" title="modalbox-e28094-an-easy-way-to-create-popups-and-wizards" class="alignnone size-full wp-image-75" height="260" width="399" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;30. &lt;a target="_blank" href="http://www.dhtmlgoodies.com/index.html?whichScript=ajax_chained_select"&gt;Chained select boxes&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dhtmlgoodies.com/index.html?whichScript=ajax_chained_select"&gt;&lt;img alt="" src="http://delimitdesign.com/wp-content/uploads/2009/02/chained-select-boxes.png" title="chained-select-boxes" class="alignnone size-full wp-image-76" height="194" width="400" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;31. &lt;a target="_blank" href="http://www.dhtmlgoodies.com/index.html?whichScript=fly-to-basket"&gt;Fly to basket&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dhtmlgoodies.com/index.html?whichScript=fly-to-basket"&gt;&lt;img alt="" src="http://delimitdesign.com/wp-content/uploads/2009/02/fly-to-basket.png" title="fly-to-basket" class="alignnone size-full wp-image-77" height="260" width="400" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;32. &lt;a target="_blank" href="http://www.mochikit.com/examples/key_events/index.html"&gt;AJAX Key Events Signal&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.mochikit.com/examples/key_events/index.html"&gt;&lt;img alt="" src="http://delimitdesign.com/wp-content/uploads/2009/02/ajax-key-events-signal.png" title="ajax-key-events-signal" class="alignnone size-full wp-image-81" height="217" width="400" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;33. &lt;a target="_blank" href="http://www.arraystudio.com/as-workshop/disable-form-submit-on-enter-keypress.html"&gt;Disable form submit on enter keypress&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.arraystudio.com/as-workshop/disable-form-submit-on-enter-keypress.html"&gt;&lt;img alt="" src="http://delimitdesign.com/wp-content/uploads/2009/02/disable-form-submit-on-enter-keypress.png" title="disable-form-submit-on-enter-keypress" class="alignnone size-full wp-image-82" height="260" width="400" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;&lt;strong&gt;Enhanced Solutions&lt;/strong&gt;&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;34. &lt;a target="_blank" href="http://www.openrico.org/demos/complex_ajax"&gt;AJAX Instant Completion&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.openrico.org/demos/complex_ajax"&gt;&lt;img alt="" src="http://delimitdesign.com/wp-content/uploads/2009/02/ajax-instant-completion.png" title="ajax-instant-completion" class="alignnone size-full wp-image-83" height="260" width="400" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;35. &lt;a target="_blank" href="http://novemberborn.net/javascript/event-cache"&gt;Novemberborn: Event Cache&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://novemberborn.net/javascript/event-cache"&gt;&lt;img alt="" src="http://delimitdesign.com/wp-content/uploads/2009/02/novemberborn-event-cache.png" title="novemberborn-event-cache" class="alignnone size-full wp-image-84" height="260" width="400" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;36. &lt;a target="_blank" href="http://www.shawnolson.net/a/503/altering-css-class-attributes-with-javascript.html"&gt;Altering CSS Class Attributes with JavaScript&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.shawnolson.net/a/503/altering-css-class-attributes-with-javascript.htm"&gt;&lt;img alt="" src="http://delimitdesign.com/wp-content/uploads/2009/02/altering-css-class-attributes-with-javascript.png" title="altering-css-class-attributes-with-javascript" class="alignnone size-full wp-image-85" height="136" width="400" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;37. &lt;a target="_blank" href="http://www.shawnolson.net/a/1302/select-some-checkboxes-javascript-function.html"&gt;Select Some Checkboxes JavaScript Function&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.shawnolson.net/a/1302/select-some-checkboxes-javascript-function.html"&gt;&lt;img alt="" src="http://delimitdesign.com/wp-content/uploads/2009/02/select-some-checkboxes-javascript-function.png" title="select-some-checkboxes-javascript-function" class="alignnone size-full wp-image-86" height="214" width="400" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;38. &lt;a target="_blank" href="http://www.ejschart.com/index.php"&gt;AJAX Emprise Charts&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ejschart.com/index.php"&gt;&lt;img alt="" src="http://delimitdesign.com/wp-content/uploads/2009/02/ajax-emprise-charts.png" title="ajax-emprise-charts" class="alignnone size-full wp-image-87" height="262" width="401" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;39. &lt;a target="_blank" href="http://www.amcharts.com/pie/"&gt;amCharts: customizable flash Pie &amp;amp; Donut chart&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.amcharts.com/pie/"&gt;&lt;img alt="" src="http://delimitdesign.com/wp-content/uploads/2009/02/amcharts-customizable-flash-pie-donut-chart.png" title="amcharts-customizable-flash-pie-donut-chart" class="alignnone size-full wp-image-88" height="264" width="404" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;40. &lt;a target="_blank" href="http://www.pjhyett.com/posts/190-the-lightbox-effect-without-lightbox"&gt;PJ Hyett : The Lightbox Effect without Lightbox&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.pjhyett.com/posts/190-the-lightbox-effect-without-lightbox"&gt;&lt;img alt="" src="http://delimitdesign.com/wp-content/uploads/2009/02/pj-hyett-the-lightbox-effect-without-lightbox.jpg" title="pj-hyett-the-lightbox-effect-without-lightbox" class="alignnone size-full wp-image-89" height="260" width="402" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;&lt;strong&gt;Forms&lt;/strong&gt;&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;41. &lt;a target="_blank" href="http://digitarald.de/playground/uplooad.html"&gt;AJAX Upload Form&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://digitarald.de/playground/uplooad.html"&gt;&lt;img alt="" src="http://delimitdesign.com/wp-content/uploads/2009/02/ajax-upload-form.png" title="ajax-upload-form" class="alignnone size-full wp-image-90" height="260" width="399" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;42. &lt;a target="_blank" href="http://www.dustindiaz.com/ajax-contact-form/"&gt;An AJAX contact form&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dustindiaz.com/ajax-contact-form/"&gt;&lt;img alt="" src="http://delimitdesign.com/wp-content/uploads/2009/02/an-ajax-contact-form1.png" title="an-ajax-contact-form1" class="alignnone size-full wp-image-137" height="189" width="400" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;a href="http://delimitdesign.com/wp-content/uploads/2009/02/an-ajax-contact-form.png"&gt;&lt;br /&gt;&lt;/a&gt;&lt;p&gt;&lt;a href="http://delimitdesign.com/wp-content/uploads/2009/02/an-ajax-contact-form.png"&gt;43. &lt;/a&gt;&lt;a target="_blank" href="http://www.roscripts.com/AJAX_contact_form-144.html"&gt;AJAX contact form&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://delimitdesign.com/wp-content/uploads/2009/02/ajax-contact-form.png"&gt;&lt;img alt="" src="http://delimitdesign.com/wp-content/uploads/2009/02/ajax-contact-form.png" title="ajax-contact-form" class="alignnone size-full wp-image-92" height="241" width="400" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;44. &lt;a target="_blank" href="http://www.roscripts.com/AJAX_contact_form-144.html"&gt;Ajax.Form&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://delimitdesign.com/wp-content/uploads/2009/02/ajaxform.png"&gt;&lt;img alt="" src="http://delimitdesign.com/wp-content/uploads/2009/02/ajaxform.png" title="ajaxform" class="alignnone size-full wp-image-93" height="189" width="399" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;45. &lt;a target="_blank" href="http://www.roscripts.com/Ajax_form_validation-152.html"&gt;Ajax form validation&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.roscripts.com/Ajax_form_validation-152.htm"&gt;&lt;img alt="" src="http://delimitdesign.com/wp-content/uploads/2009/02/ajax-form-validation.png" title="ajax-form-validation" class="alignnone size-full wp-image-96" height="214" width="400" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;46. &lt;a target="_blank" href="http://tetlaw.id.au/view/javascript/really-easy-field-validation"&gt;Really easy field validation&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://tetlaw.id.au/view/javascript/really-easy-field-validation"&gt;&lt;img alt="" src="http://delimitdesign.com/wp-content/uploads/2009/02/really-easy-field-validation.png" title="really-easy-field-validation" class="alignnone size-full wp-image-97" height="260" width="400" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;47. &lt;a target="_blank" href="http://www.phil-taylor.com/fvalidate/"&gt;AJAX fValidate&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.phil-taylor.com/fvalidate/"&gt;&lt;img alt="" src="http://delimitdesign.com/wp-content/uploads/2009/02/ajax-fvalidate.png" title="ajax-fvalidate" class="alignnone size-full wp-image-98" height="119" width="400" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;48. &lt;a target="_blank" href="http://www.roscripts.com/Ajax_newsletter_form-146.html"&gt;Ajax newsletter form&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.roscripts.com/Ajax_newsletter_form-146.html"&gt;&lt;img alt="" src="http://delimitdesign.com/wp-content/uploads/2009/02/ajax-newsletter-form.png" title="ajax-newsletter-form" class="alignnone size-full wp-image-99" height="91" width="400" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;49. &lt;a target="_blank" href="http://www.formassembly.com/wForms/"&gt;wForms&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.formassembly.com/wForms/"&gt;&lt;img alt="" src="http://delimitdesign.com/wp-content/uploads/2009/02/wforms.png" title="wforms" class="alignnone size-full wp-image-100" height="145" width="400" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;&lt;strong&gt;Tables and Grids&lt;/strong&gt;&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;50. &lt;a target="_blank" href="http://www.smashingmagazine.com/2007/05/30/tables-and-data-grids-with-ajax-dhtml-javascript/"&gt;Data Grids with AJAX, DHTML and JavaScript | Smashing Magazine&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.smashingmagazine.com/2007/05/30/tables-and-data-grids-with-ajax-dhtml-javascript/"&gt;&lt;img alt="" src="http://delimitdesign.com/wp-content/uploads/2009/02/data-grids-with-ajax-dhtml-and-javascript-smashing-magazine.png" title="data-grids-with-ajax-dhtml-and-javascript-smashing-magazine" class="alignnone size-full wp-image-101" height="260" width="400" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;51. &lt;a target="_blank" href="http://extjs.com/playpen/ext-2.0/examples/grid/grid3.html"&gt;Grid3 Example&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://extjs.com/playpen/ext-2.0/examples/grid/grid3.html"&gt;&lt;img alt="" src="http://delimitdesign.com/wp-content/uploads/2009/02/grid3-example.png" title="grid3-example" class="alignnone size-full wp-image-102" height="260" width="400" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;52. &lt;a target="_blank" href="http://www.frequency-decoder.com/2006/09/16/unobtrusive-table-sort-script-revisited"&gt;AJAX Table Sort Script (revisited)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.frequency-decoder.com/2006/09/16/unobtrusive-table-sort-script-revisited"&gt;&lt;img alt="" src="http://delimitdesign.com/wp-content/uploads/2009/02/ajax-table-sort-script-revisited.png" title="ajax-table-sort-script-revisited" class="alignnone size-full wp-image-103" height="150" width="400" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;53. &lt;a target="_blank" href="http://www.mochikit.com/examples/ajax_tables/index.html"&gt;AJAX Sortable Tables&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.mochikit.com/examples/ajax_tables/index.html"&gt;&lt;img alt="" src="http://delimitdesign.com/wp-content/uploads/2009/02/ajax-sortable-tables.png" title="ajax-sortable-tables" class="alignnone size-full wp-image-104" height="174" width="400" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;54. &lt;a target="_blank" href="http://www.millstream.com.au/view/code/tablekit/"&gt;AJAX TableKit&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.millstream.com.au/view/code/tablekit/"&gt;&lt;img alt="" src="http://delimitdesign.com/wp-content/uploads/2009/02/ajax-tablekit.png" title="ajax-tablekit" class="alignnone size-full wp-image-105" height="260" width="400" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;&lt;strong&gt;Showcases, Galleries, and Lightbox Scripts&lt;/strong&gt;&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;55. &lt;a target="_blank" href="http://www.smashingmagazine.com/2007/05/18/30-best-solutions-for-image-galleries-slideshows-lightboxes/"&gt;30 Scripts For Galleries, Slideshows and Lightboxes | Smashing Magazine&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.smashingmagazine.com/2007/05/18/30-best-solutions-for-image-galleries-slideshows-lightboxes/"&gt;&lt;img alt="" src="http://delimitdesign.com/wp-content/uploads/2009/02/30-scripts-for-galleries-slideshows-and-lightboxes-smashing-magazine1.png" title="30-scripts-for-galleries-slideshows-and-lightboxes-smashing-magazine1" class="alignnone size-full wp-image-107" height="260" width="400" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;56. &lt;a target="_blank" href="http://www.nofunc.com/Sexy_Box/"&gt;AJAX LightBox, Sexy Box, Thick Box&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.nofunc.com/Sexy_Box/"&gt;&lt;img alt="" src="http://delimitdesign.com/wp-content/uploads/2009/02/ajax-lightbox-sexy-box-thick-box.png" title="ajax-lightbox-sexy-box-thick-box" class="alignnone size-full wp-image-108" height="158" width="400" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;57. &lt;a target="_blank" href="http://www.huddletogether.com/projects/lightbox/"&gt;AJAX Lightbox JS&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.huddletogether.com/projects/lightbox"&gt;&lt;img alt="" src="http://delimitdesign.com/wp-content/uploads/2009/02/ajax-lightbox-js.png" title="ajax-lightbox-js" class="alignnone size-full wp-image-109" height="260" width="400" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;58. &lt;a target="_blank" href="http://orangoo.com/labs/GreyBox/"&gt;AJAX Unobtrusive Popup - GreyBox&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://orangoo.com/labs/GreyBox/"&gt;&lt;img alt="" src="http://delimitdesign.com/wp-content/uploads/2009/02/ajax-unobtrusive-popup-greybox.png" title="ajax-unobtrusive-popup-greybox" class="alignnone size-full wp-image-110" height="260" width="400" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;59. &lt;a target="_blank" href="http://smoothgallery.jondesign.net/showcase/gallery/"&gt;SmoothGallery: Mootools Mojo for Images | Full gallery&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://smoothgallery.jondesign.net/showcase/gallery/"&gt;&lt;img alt="" src="http://delimitdesign.com/wp-content/uploads/2009/02/smoothgallery-mootools-mojo-for-images-full-gallery.png" title="smoothgallery-mootools-mojo-for-images-full-gallery" class="alignnone size-full wp-image-111" height="267" width="400" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;60. &lt;a target="_blank" href="http://www.smashingmagazine.com/2006/11/15/ajax-dhtml-and-javascript-libraries/"&gt;AJAX Libraries and Frameworks&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.smashingmagazine.com/2006/11/15/ajax-dhtml-and-javascript-libraries/"&gt;&lt;img alt="" src="http://delimitdesign.com/wp-content/uploads/2009/02/ajax-libraries-and-frameworks.png" title="ajax-libraries-and-frameworks" class="alignnone size-full wp-image-112" height="260" width="400" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;&lt;strong&gt;Animation and Visual Effects Scripts&lt;/strong&gt;&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;61. &lt;a target="_blank" href="http://firblitz.com/2007/3/6/re-how-to-create-digg-comment-style-sliding-divs-with-javascript-and-css"&gt;How to Create Digg Comment Style Sliding DIVs with Javascript and CSS&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://firblitz.com/2007/3/6/re-how-to-create-digg-comment-style-sliding-divs-with-javascript-and-css"&gt;&lt;img alt="" src="http://delimitdesign.com/wp-content/uploads/2009/02/how-to-create-digg-comment-style-sliding-divs-with-javascript-and-css1.gif" title="how-to-create-digg-comment-style-sliding-divs-with-javascript-and-css1" class="alignnone size-full wp-image-138" height="135" width="400" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;62. &lt;a target="_blank" href="http://www.harrymaugans.com/2007/03/05/how-to-create-a-collapsible-div-with-javascript-and-css/"&gt;How to Create a Collapsible DIV with Javascript and CSS&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.harrymaugans.com/2007/03/05/how-to-create-a-collapsible-div-with-javascript-and-css/"&gt;&lt;img alt="" src="http://delimitdesign.com/wp-content/uploads/2009/02/how-to-create-a-collapsible-div-with-javascript-and-css1.png" title="how-to-create-a-collapsible-div-with-javascript-and-css1" class="alignnone size-full wp-image-117" height="96" width="400" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;63. &lt;a target="_blank" href="http://www.harrymaugans.com/2007/03/06/how-to-create-an-animated-sliding-collapsible-div-with-javascript-and-css/"&gt;How to Create an Animated, Sliding, Collapsible DIV with Javascript and CSS&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.harrymaugans.com/2007/03/06/how-to-create-an-animated-sliding-collapsible-div-with-javascript-and-css/"&gt;&lt;img alt="" src="http://delimitdesign.com/wp-content/uploads/2009/02/how-to-create-an-animated-sliding-collapsible-div-with-javascript-and-css.png" title="how-to-create-an-animated-sliding-collapsible-div-with-javascript-and-css" class="alignnone size-full wp-image-116" height="124" width="400" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;64. &lt;a target="_blank" href="http://demo.script.aculo.us/shop"&gt;&lt;span lang="FR"&gt;AJAX Shopcart&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://demo.script.aculo.us/shop"&gt;&lt;img alt="" src="http://delimitdesign.com/wp-content/uploads/2009/02/ajax-shopcart.png" title="ajax-shopcart" class="alignnone size-full wp-image-118" height="260" width="400" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;65. &lt;a target="_blank" href="http://www.dhtmlgoodies.com/index.html?showDownload=true&amp;amp;whichScript=dragable-content"&gt;&lt;span lang="FR"&gt;Draggable content&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dhtmlgoodies.com/index.html?showDownload=true&amp;amp;whichScript=dragable-content"&gt;&lt;img alt="" src="http://delimitdesign.com/wp-content/uploads/2009/02/draggable-content.png" title="draggable-content" class="alignnone size-full wp-image-119" height="260" width="400" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;66. &lt;a target="_blank" href="http://www.dhtmlgoodies.com/index.html?whichScript=dragable-boxes"&gt;&lt;span lang="FR"&gt;Dragable RSS boxes&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dhtmlgoodies.com/index.html?whichScript=dragable-boxes"&gt;&lt;img alt="" src="http://delimitdesign.com/wp-content/uploads/2009/02/dragable-rss-boxes.png" title="dragable-rss-boxes" class="alignnone size-full wp-image-120" height="260" width="400" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;67. &lt;a target="_blank" href="http://www.openrico.org/demos?demo=pull_down"&gt;AJAX Pull Down Effect&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.openrico.org/demos?demo=pull_down"&gt;&lt;img alt="" src="http://delimitdesign.com/wp-content/uploads/2009/02/ajax-pull-down-effect.png" title="ajax-pull-down-effect" class="alignnone size-full wp-image-121" height="151" width="400" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;68. &lt;a target="_blank" href="http://www.openrico.org/demos?demo=effect_animation"&gt;AJAX Animation Effects&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.openrico.org/demos?demo=effect_animation"&gt;&lt;img alt="" src="http://delimitdesign.com/wp-content/uploads/2009/02/ajax-animation-effects.png" title="ajax-animation-effects" class="alignnone size-full wp-image-122" height="175" width="400" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;69. &lt;a target="_blank" href="http://wiki.script.aculo.us/scriptaculous/show/CombinationEffects"&gt;Combination Effects in scriptaculous wiki&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://wiki.script.aculo.us/scriptaculous/show/CombinationEffects"&gt;&lt;img alt="" src="http://delimitdesign.com/wp-content/uploads/2009/02/combination-effects-in-scriptaculous-wiki.png" title="combination-effects-in-scriptaculous-wiki" class="alignnone size-full wp-image-123" height="260" width="400" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;70. &lt;a target="_blank" href="http://demos.mootools.net/Fx.Morph"&gt;AJAX Motion Transition&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://demos.mootools.net/Fx.Morph"&gt;&lt;img alt="" src="http://delimitdesign.com/wp-content/uploads/2009/02/ajax-motion-transition.png" title="ajax-motion-transition" class="alignnone size-full wp-image-124" height="253" width="400" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;&lt;strong&gt;Useful Javascript Scripts&lt;/strong&gt;&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;71. &lt;a target="_blank" href="http://www.codecoffee.com/articles/9tips.html"&gt;9 Javascript(s) you better not miss!&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.codecoffee.com/articles/9tips.html"&gt;&lt;img alt="" src="http://delimitdesign.com/wp-content/uploads/2009/02/9-javascripts-you-better-not-miss.png" title="9-javascripts-you-better-not-miss" class="alignnone size-full wp-image-125" height="260" width="400" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;72. &lt;a target="_blank" href="http://www.dustindiaz.com/top-ten-javascript/"&gt;Top 10 custom JavaScript functions of all time&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dustindiaz.com/top-ten-javascript/"&gt;&lt;img alt="" src="http://delimitdesign.com/wp-content/uploads/2009/02/top-10-custom-javascript-functions-of-all-time1.png" title="top-10-custom-javascript-functions-of-all-time1" class="alignnone size-full wp-image-127" height="260" width="400" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;73. &lt;a target="_blank" href="http://hyperdisc.unitec.ac.nz/materials/javascript/top10/breadcrumbs.htm"&gt;Hyperdisc Materials: JavaScript: Top 10: Automatic Breadcrumb Trail&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://hyperdisc.unitec.ac.nz/materials/javascript/top10/breadcrumbs.htm"&gt;&lt;img alt="" src="http://delimitdesign.com/wp-content/uploads/2009/02/hyperdisc-materials-javascript-top-10-automatic-breadcrumb-trail.png" title="hyperdisc-materials-javascript-top-10-automatic-breadcrumb-trail" class="alignnone size-full wp-image-128" height="260" width="400" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;74. &lt;a target="_blank" href="http://hyperdisc.unitec.ac.nz/materials/javascript/top10/"&gt;JavaScript: Top 10 Most Useful JavaScripts&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://hyperdisc.unitec.ac.nz/materials/javascript/top10/"&gt;&lt;img alt="" src="http://delimitdesign.com/wp-content/uploads/2009/02/javascript-top-10-most-useful-javascripts.png" title="javascript-top-10-most-useful-javascripts" class="alignnone size-full wp-image-129" height="214" width="400" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;75. &lt;a target="_blank" href="http://www.blakems.com/archives/000087.html?_required=first_name%2CFirst+Name%7Clast_name%2CLast+Name%7Cemailer%2CEmail&amp;amp;first_name=asdad&amp;amp;last_name=dasdad&amp;amp;emailer=dasdad"&gt;My Favorite Javascripts for Designers: Blakems.com ?&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.blakems.com/archives/000087.html?_required=first_name%2CFirst+Name%7Clast_name%2CLast+Name%7Cemailer%2CEmail&amp;amp;first_name=asdad&amp;amp;last_name=dasdad&amp;amp;emailer=dasdad"&gt;&lt;img alt="" src="http://delimitdesign.com/wp-content/uploads/2009/02/my-favorite-javascripts-for-designers-blakems-com.png" title="my-favorite-javascripts-for-designers-blakems-com" class="alignnone size-full wp-image-130" height="260" width="400" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;&lt;strong&gt;More Resources and Galleries&lt;/strong&gt;&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;76. &lt;a target="_blank" href="http://www.maxkiesler.com/index.php/mhub/category/"&gt;Max Kiesler - mHub : Ajax and rails examples &amp;amp; how-to’s&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.maxkiesler.com/index.php/mhub/category/"&gt;&lt;img alt="" src="http://delimitdesign.com/wp-content/uploads/2009/02/max-kiesler-mhub-ajax-and-rails-examples-how-toe28099s.png" title="max-kiesler-mhub-ajax-and-rails-examples-how-toe28099s" class="alignnone size-full wp-image-133" height="260" width="400" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;77. &lt;a target="_blank" href="http://ajax.solutoire.com/"&gt;Ajax Resources&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://ajax.solutoire.com/"&gt;&lt;img alt="" src="http://delimitdesign.com/wp-content/uploads/2009/02/ajax-resources.png" title="ajax-resources" class="alignnone size-full wp-image-134" height="260" width="400" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;78. &lt;a target="_blank" href="http://snippets.dzone.com/"&gt;DZone Snippets: Store, sort and share source code, with tag goodness&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://snippets.dzone.com/"&gt;&lt;img alt="" src="http://delimitdesign.com/wp-content/uploads/2009/02/dzone-snippets-store-sort-and-share-source-code-with-tag-goodness.png" title="dzone-snippets-store-sort-and-share-source-code-with-tag-goodness" class="alignnone size-full wp-image-135" height="144" width="400" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;     &lt;/div&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/5699179415075283063-4437366556721783634?l=symfonyhelp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://symfonyhelp.blogspot.com/feeds/4437366556721783634/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://symfonyhelp.blogspot.com/2009/02/80-ajax-solutions-that-are-excellent.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5699179415075283063/posts/default/4437366556721783634'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5699179415075283063/posts/default/4437366556721783634'/><link rel='alternate' type='text/html' href='http://symfonyhelp.blogspot.com/2009/02/80-ajax-solutions-that-are-excellent.html' title='80 AJAX solutions that are excellent and usefull'/><author><name>Rajeev</name><uri>http://www.blogger.com/profile/09442025840798063075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_M3AgJ8-TiII/TU0tBZ3wSTI/AAAAAAAAAog/WzvygeezO1c/s220/165649_125059220894331_100001707608385_140654_3449754_n.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5699179415075283063.post-6386599121075529945</id><published>2009-02-25T22:32:00.000-08:00</published><updated>2009-02-25T22:38:04.911-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='html'/><category scheme='http://www.blogger.com/atom/ns#' term='css'/><title type='text'>5 Ways to Instantly Write Better CSS</title><content type='html'>&lt;h1&gt;5 Ways to Instantly Write Better CSS&lt;/h1&gt;Sure, anyone can write CSS. Even programs are doing it for you now. But is the CSS any good? Here are 5 tips to start improving yours.        &lt;div class="clear"&gt;&lt;/div&gt;   &lt;div id="about_author" class="clearfix"&gt; 1. Reset&lt;br /&gt;&lt;/div&gt;&lt;div class="tutorial_image"&gt;&lt;br /&gt;&lt;img src="http://nettuts.s3.amazonaws.com/207_betterCss/images/reset.jpg" alt="Reset" height="450" width="600" /&gt;&lt;br /&gt;&lt;br /&gt;Seriously, &lt;strong&gt;always use a reset of some sort&lt;/strong&gt;. Whether you are using the &lt;a href="http://meyerweb.com/eric/tools/css/reset/index.html"&gt;Eric Meyer Reset&lt;/a&gt;, the &lt;a href="http://developer.yahoo.com/yui/reset/"&gt;YUI Reset&lt;/a&gt;, or your own custom reset, just use something.&lt;br /&gt;&lt;/div&gt;It can be as simple as removing the margin and padding from all elements:&lt;br /&gt;&lt;div class="tools"&gt;&lt;a href="http://www.blogger.com/post-create.g?blogID=5699179415075283063#" onclick="dp.sh.Toolbar.Command('ViewSource',this);return false;"&gt;view plain&lt;/a&gt;&lt;a href="http://www.blogger.com/post-create.g?blogID=5699179415075283063#" onclick="dp.sh.Toolbar.Command('CopyToClipboard',this);return false;"&gt;copy to clipboard&lt;/a&gt;&lt;a href="http://www.blogger.com/post-create.g?blogID=5699179415075283063#" onclick="dp.sh.Toolbar.Command('PrintSource',this);return false;"&gt;print&lt;/a&gt;&lt;a href="http://www.blogger.com/post-create.g?blogID=5699179415075283063#" onclick="dp.sh.Toolbar.Command('About',this);return false;"&gt;?&lt;/a&gt;&lt;/div&gt;&lt;div class="dp-highlighter"&gt;&lt;ol class="dp-css" start="1"&gt;&lt;li class="alt"&gt;&lt;span&gt;&lt;span&gt;html, body, div, h1, h2, h3, h4, h5, h6, ul, ol, dl, li, dt, dd, p, blockquote,  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;&lt;span class="string"&gt;pre&lt;/span&gt;&lt;span&gt;, form, fieldset, table, th, td { &lt;/span&gt;&lt;span class="keyword"&gt;margin&lt;/span&gt;&lt;span&gt;: 0; &lt;/span&gt;&lt;span class="keyword"&gt;padding&lt;/span&gt;&lt;span&gt;: 0; }  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;pre style="display: none;" name="code" class="css"&gt;html, body, div, h1, h2, h3, h4, h5, h6, ul, ol, dl, li, dt, dd, p, blockquote,&lt;br /&gt;pre, form, fieldset, table, th, td { margin: 0; padding: 0; }&lt;/pre&gt;The Eric Meyer and YUI Resets are awesome, but to me, they just go too far. I feel like you end up resetting everything, and then redefining a lot of properties on the elements. This is why Eric Meyer recommends that you should not just take his reset stylesheet and drop it in your projects if there is a more effective way of using it. Tweak it. Build on it. Make it your own.&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Oh and please, stop this:&lt;/p&gt;&lt;div class="tools"&gt;&lt;a href="http://www.blogger.com/post-create.g?blogID=5699179415075283063#" onclick="dp.sh.Toolbar.Command('ViewSource',this);return false;"&gt;view plain&lt;/a&gt;&lt;a href="http://www.blogger.com/post-create.g?blogID=5699179415075283063#" onclick="dp.sh.Toolbar.Command('CopyToClipboard',this);return false;"&gt;copy to clipboard&lt;/a&gt;&lt;a href="http://www.blogger.com/post-create.g?blogID=5699179415075283063#" onclick="dp.sh.Toolbar.Command('PrintSource',this);return false;"&gt;print&lt;/a&gt;&lt;a href="http://www.blogger.com/post-create.g?blogID=5699179415075283063#" onclick="dp.sh.Toolbar.Command('About',this);return false;"&gt;?&lt;/a&gt;&lt;/div&gt;&lt;div class="dp-highlighter"&gt;&lt;ol class="dp-css" start="1"&gt;&lt;li class="alt"&gt;&lt;span&gt;&lt;span&gt;* { &lt;/span&gt;&lt;span class="keyword"&gt;margin&lt;/span&gt;&lt;span&gt;: 0; &lt;/span&gt;&lt;span class="keyword"&gt;padding&lt;/span&gt;&lt;span&gt;: 0; }  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;pre style="display: none;" name="code" class="css"&gt;* { margin: 0; padding: 0; }&lt;/pre&gt;It takes more time to process, and what do you think should happen to a radio button when you remove the padding? Form elements can sometimes do some funky things, so it may be best to just leave some of them alone.&lt;br /&gt;&lt;br /&gt;2. Alphabetize&lt;br /&gt;&lt;div class="tutorial_image"&gt;&lt;br /&gt;&lt;img src="http://nettuts.s3.amazonaws.com/207_betterCss/images/alphabetize.jpg" alt="Alphabetize" height="600" width="600" /&gt;&lt;br /&gt;&lt;br /&gt;A Little Quiz&lt;br /&gt;&lt;/div&gt;&lt;p&gt;Which example would you think is faster to &lt;strong&gt;find the margin-right property&lt;/strong&gt;?&lt;/p&gt;Example 1&lt;br /&gt;&lt;div class="dp-highlighter"&gt;&lt;div class="bar"&gt;&lt;div class="tools"&gt;&lt;a href="http://www.blogger.com/post-create.g?blogID=5699179415075283063#" onclick="dp.sh.Toolbar.Command('ViewSource',this);return false;"&gt;view plain&lt;/a&gt;&lt;a href="http://www.blogger.com/post-create.g?blogID=5699179415075283063#" onclick="dp.sh.Toolbar.Command('CopyToClipboard',this);return false;"&gt;copy to clipboard&lt;/a&gt;&lt;a href="http://www.blogger.com/post-create.g?blogID=5699179415075283063#" onclick="dp.sh.Toolbar.Command('PrintSource',this);return false;"&gt;print&lt;/a&gt;&lt;a href="http://www.blogger.com/post-create.g?blogID=5699179415075283063#" onclick="dp.sh.Toolbar.Command('About',this);return false;"&gt;?&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;ol class="dp-css" start="1"&gt;&lt;li class="alt"&gt;&lt;span&gt;&lt;span&gt;div&lt;/span&gt;&lt;span class="colors"&gt;#header&lt;/span&gt;&lt;span&gt; h1 {  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;    &lt;span class="keyword"&gt;z-index&lt;/span&gt;&lt;span&gt;: 101;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;    &lt;span class="keyword"&gt;color&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span class="colors"&gt;#000&lt;/span&gt;&lt;span&gt;;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;    &lt;span class="keyword"&gt;position&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span class="string"&gt;relative&lt;/span&gt;&lt;span&gt;;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;    &lt;span class="keyword"&gt;line-height&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span class="string"&gt;24px&lt;/span&gt;&lt;span&gt;;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;    &lt;span class="keyword"&gt;margin-right&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span class="string"&gt;48px&lt;/span&gt;&lt;span&gt;;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;    &lt;span class="keyword"&gt;border-bottom&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span class="string"&gt;1px&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span class="string"&gt;solid&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span class="colors"&gt;#dedede&lt;/span&gt;&lt;span&gt;;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;    &lt;span class="keyword"&gt;font-size&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span class="string"&gt;18px&lt;/span&gt;&lt;span&gt;;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;}  &lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;pre style="display: none;" name="code" class="css"&gt;div#header h1 {&lt;br /&gt; z-index: 101;&lt;br /&gt; color: #000;&lt;br /&gt; position: relative;&lt;br /&gt; line-height: 24px;&lt;br /&gt; margin-right: 48px;&lt;br /&gt; border-bottom: 1px solid #dedede;&lt;br /&gt; font-size: 18px;&lt;br /&gt;}&lt;/pre&gt;Example 2&lt;br /&gt;&lt;div class="dp-highlighter"&gt;&lt;div class="bar"&gt;&lt;div class="tools"&gt;&lt;a href="http://www.blogger.com/post-create.g?blogID=5699179415075283063#" onclick="dp.sh.Toolbar.Command('ViewSource',this);return false;"&gt;view plain&lt;/a&gt;&lt;a href="http://www.blogger.com/post-create.g?blogID=5699179415075283063#" onclick="dp.sh.Toolbar.Command('CopyToClipboard',this);return false;"&gt;copy to clipboard&lt;/a&gt;&lt;a href="http://www.blogger.com/post-create.g?blogID=5699179415075283063#" onclick="dp.sh.Toolbar.Command('PrintSource',this);return false;"&gt;print&lt;/a&gt;&lt;a href="http://www.blogger.com/post-create.g?blogID=5699179415075283063#" onclick="dp.sh.Toolbar.Command('About',this);return false;"&gt;?&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;ol class="dp-css" start="1"&gt;&lt;li class="alt"&gt;&lt;span&gt;&lt;span&gt;div&lt;/span&gt;&lt;span class="colors"&gt;#header&lt;/span&gt;&lt;span&gt; h1 {  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;    &lt;span class="keyword"&gt;border-bottom&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span class="string"&gt;1px&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span class="string"&gt;solid&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span class="colors"&gt;#dedede&lt;/span&gt;&lt;span&gt;;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;    &lt;span class="keyword"&gt;color&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span class="colors"&gt;#000&lt;/span&gt;&lt;span&gt;;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;    &lt;span class="keyword"&gt;font-size&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span class="string"&gt;18px&lt;/span&gt;&lt;span&gt;;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;    &lt;span class="keyword"&gt;line-height&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span class="string"&gt;24px&lt;/span&gt;&lt;span&gt;;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;    &lt;span class="keyword"&gt;margin-right&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span class="string"&gt;48px&lt;/span&gt;&lt;span&gt;;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;    &lt;span class="keyword"&gt;position&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span class="string"&gt;relative&lt;/span&gt;&lt;span&gt;;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;    &lt;span class="keyword"&gt;z-index&lt;/span&gt;&lt;span&gt;: 101;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;}  &lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;pre style="display: none;" name="code" class="css"&gt;div#header h1 {&lt;br /&gt; border-bottom: 1px solid #dedede;&lt;br /&gt; color: #000;&lt;br /&gt; font-size: 18px;&lt;br /&gt; line-height: 24px;&lt;br /&gt; margin-right: 48px;&lt;br /&gt; position: relative;&lt;br /&gt; z-index: 101;&lt;br /&gt;}&lt;/pre&gt;You can’t tell me that Example 2 isn’t faster. By alphabetizing your properties, you are creating this consistency that will help you reduce the time you spend searching for a specific property.&lt;br /&gt;I know some people who organize one way and others who organize another, but at my company, we made a consensus decision to all organize alphabetically. It has definitely helped when working with other people’s code. I cringe every time I go into a stylesheet where the properties are not sorted alphabetically.&lt;br /&gt;&lt;br /&gt;3. Organization&lt;br /&gt;&lt;div class="tutorial_image"&gt;&lt;br /&gt;&lt;img src="http://nettuts.s3.amazonaws.com/207_betterCss/images/organize.jpg" alt="Organize" height="397" width="600" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;You should organize your stylesheet so that it is easy to find things and related items are close together. Use comments effectively. For example, this is how I structure my stylesheets:&lt;br /&gt;&lt;br /&gt;&lt;div class="dp-highlighter"&gt;&lt;div class="bar"&gt;&lt;div class="tools"&gt;&lt;a href="http://www.blogger.com/post-create.g?blogID=5699179415075283063#" onclick="dp.sh.Toolbar.Command('ViewSource',this);return false;"&gt;view plain&lt;/a&gt;&lt;a href="http://www.blogger.com/post-create.g?blogID=5699179415075283063#" onclick="dp.sh.Toolbar.Command('CopyToClipboard',this);return false;"&gt;copy to clipboard&lt;/a&gt;&lt;a href="http://www.blogger.com/post-create.g?blogID=5699179415075283063#" onclick="dp.sh.Toolbar.Command('PrintSource',this);return false;"&gt;print&lt;/a&gt;&lt;a href="http://www.blogger.com/post-create.g?blogID=5699179415075283063#" onclick="dp.sh.Toolbar.Command('About',this);return false;"&gt;?&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;ol class="dp-css" start="1"&gt;&lt;li class="alt"&gt;&lt;span&gt;&lt;span class="comment"&gt;/*****Reset*****/&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;Remove &lt;span class="keyword"&gt;margin&lt;/span&gt;&lt;span&gt; and &lt;/span&gt;&lt;span class="keyword"&gt;padding&lt;/span&gt;&lt;span&gt; from elements  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;  &lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;&lt;span class="comment"&gt;/*****Basic Elements*****/&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;Define styles for basic elements: body, h1-h6, ul, ol, a, p, etc.  &lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;  &lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;&lt;span class="comment"&gt;/*****Generic Classes*****/&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;Define styles for simple things like floating to the sides, removing a &lt;span class="string"&gt;bottom&lt;/span&gt;&lt;span class="keyword"&gt;bottom&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span class="keyword"&gt;margin&lt;/span&gt;&lt;span&gt; on elements, etc  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;Yes, these may not be as semantic as we would &lt;span class="string"&gt;all&lt;/span&gt;&lt;span&gt; like, but they are necessary for coding efficiently   &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;  &lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;&lt;span class="comment"&gt;/*****Basic Layout*****/&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;Define the basic template: header, footer, etc. Elements that &lt;span class="string"&gt;help&lt;/span&gt;&lt;span&gt; to define the basic layout of the site  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;  &lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;&lt;span class="comment"&gt;/*****Header*****/&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;Define &lt;span class="string"&gt;all&lt;/span&gt;&lt;span&gt; elements in the header  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;  &lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;&lt;span class="comment"&gt;/*****Content*****/&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;Define &lt;span class="string"&gt;all&lt;/span&gt;&lt;span&gt; elements in the &lt;/span&gt;&lt;span class="keyword"&gt;content&lt;/span&gt;&lt;span&gt; area  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;  &lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;&lt;span class="comment"&gt;/*****Footer*****/&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;Define &lt;span class="string"&gt;all&lt;/span&gt;&lt;span&gt; elements in the footer  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;  &lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;&lt;span class="comment"&gt;/*****Etc*****/&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;Continue to define the other sections one by one  &lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;pre style="display: none;" name="code" class="css"&gt;/*****Reset*****/&lt;br /&gt;Remove margin and padding from elements&lt;br /&gt;&lt;br /&gt;/*****Basic Elements*****/&lt;br /&gt;Define styles for basic elements: body, h1-h6, ul, ol, a, p, etc.&lt;br /&gt;&lt;br /&gt;/*****Generic Classes*****/&lt;br /&gt;Define styles for simple things like floating to the sides, removing a bottom margin on elements, etc&lt;br /&gt;Yes, these may not be as semantic as we would all like, but they are necessary for coding efficiently&lt;br /&gt;&lt;br /&gt;/*****Basic Layout*****/&lt;br /&gt;Define the basic template: header, footer, etc. Elements that help to define the basic layout of the site&lt;br /&gt;&lt;br /&gt;/*****Header*****/&lt;br /&gt;Define all elements in the header&lt;br /&gt;&lt;br /&gt;/*****Content*****/&lt;br /&gt;Define all elements in the content area&lt;br /&gt;&lt;br /&gt;/*****Footer*****/&lt;br /&gt;Define all elements in the footer&lt;br /&gt;&lt;br /&gt;/*****Etc*****/&lt;br /&gt;Continue to define the other sections one by one&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;By using comments and grouping similar elements, it becomes much quicker to find what you are looking for.&lt;/p&gt;4. Consistency&lt;br /&gt;&lt;div class="tutorial_image"&gt;&lt;br /&gt;&lt;img src="http://nettuts.s3.amazonaws.com/207_betterCss/images/consistency.jpg" alt="Consistency" height="450" width="600" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;Whatever way you decide to code, stick with it. I am sick and tired of the whole 1 line vs. multiple lines for your CSS debate. There is no debate! Everyone has their own opinion, so pick what works for you and stick with it throughout the stylesheet.&lt;br /&gt;Personally, I use a combination of both. If a selector is going to have more than 3 properties, I break it to multiple lines:&lt;br /&gt;&lt;div class="tools"&gt;&lt;a href="http://www.blogger.com/post-create.g?blogID=5699179415075283063#" onclick="dp.sh.Toolbar.Command('ViewSource',this);return false;"&gt;view plain&lt;/a&gt;&lt;a href="http://www.blogger.com/post-create.g?blogID=5699179415075283063#" onclick="dp.sh.Toolbar.Command('CopyToClipboard',this);return false;"&gt;copy to clipboard&lt;/a&gt;&lt;a href="http://www.blogger.com/post-create.g?blogID=5699179415075283063#" onclick="dp.sh.Toolbar.Command('PrintSource',this);return false;"&gt;print&lt;/a&gt;&lt;a href="http://www.blogger.com/post-create.g?blogID=5699179415075283063#" onclick="dp.sh.Toolbar.Command('About',this);return false;"&gt;?&lt;/a&gt;&lt;/div&gt;&lt;div class="dp-highlighter"&gt;&lt;ol class="dp-css" start="1"&gt;&lt;li class="alt"&gt;&lt;span&gt;&lt;span&gt;div&lt;/span&gt;&lt;span class="colors"&gt;#header&lt;/span&gt;&lt;span&gt; { &lt;/span&gt;&lt;span class="keyword"&gt;float&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span class="string"&gt;left&lt;/span&gt;&lt;span&gt;; &lt;/span&gt;&lt;span class="keyword"&gt;width&lt;/span&gt;&lt;span&gt;: 100%; }  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;div&lt;span class="colors"&gt;#header&lt;/span&gt;&lt;span&gt; div.column {  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;    &lt;span class="keyword"&gt;border-right&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span class="string"&gt;1px&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span class="string"&gt;solid&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span class="colors"&gt;#ccc&lt;/span&gt;&lt;span&gt;;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;    &lt;span class="keyword"&gt;float&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span class="keyword"&gt;right&lt;/span&gt;&lt;span class="string"&gt;right&lt;/span&gt;&lt;span&gt;;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;    &lt;span class="keyword"&gt;margin-right&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span class="string"&gt;50px&lt;/span&gt;&lt;span&gt;;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;    &lt;span class="keyword"&gt;padding&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span class="string"&gt;10px&lt;/span&gt;&lt;span&gt;;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;    &lt;span class="keyword"&gt;width&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span class="string"&gt;300px&lt;/span&gt;&lt;span&gt;;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;}  &lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;div&lt;span class="colors"&gt;#header&lt;/span&gt;&lt;span&gt; h1 { &lt;/span&gt;&lt;span class="keyword"&gt;float&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span class="string"&gt;left&lt;/span&gt;&lt;span&gt;; &lt;/span&gt;&lt;span class="keyword"&gt;position&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span class="string"&gt;relative&lt;/span&gt;&lt;span&gt;; &lt;/span&gt;&lt;span class="keyword"&gt;width&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span class="string"&gt;250px&lt;/span&gt;&lt;span&gt;; }  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;pre style="display: none;" name="code" class="css"&gt;div#header { float: left; width: 100%; }&lt;br /&gt;div#header div.column {&lt;br /&gt; border-right: 1px solid #ccc;&lt;br /&gt; float: right;&lt;br /&gt; margin-right: 50px;&lt;br /&gt; padding: 10px;&lt;br /&gt; width: 300px;&lt;br /&gt;}&lt;br /&gt;div#header h1 { float: left; position: relative; width: 250px; }&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;It works for me because 3 properties is about what fits on 1 line in my text editor before wrapping to another line. So just figure out what works for you and be consistent.&lt;/p&gt;5. Start in the right place&lt;br /&gt;&lt;div class="tutorial_image"&gt;&lt;br /&gt;&lt;img src="http://nettuts.s3.amazonaws.com/207_betterCss/images/right-place.jpg" alt="Start in the right place" height="401" width="600" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Don’t you dare touch your stylesheet until you have written your markup!&lt;/strong&gt;&lt;br /&gt;&lt;/div&gt;When I am preparing to slice a site, I go through and mark-up the entire document from the opening body tag to the closing body tag before even creating a CSS file. I don’t add any superfluous divs, ids, or classes. I will add some generic divs like header, content, footer because I know these things are going to exist.&lt;br /&gt;By marking up the document first, you won’t run into such diseases as divitis and classitis, which can sometimes be fatal! You only need to add in that stuff once you have begun to write the CSS and realize that you are going to need another hook to accomplish what you are trying to achieve.&lt;br /&gt;Utilize CSS’s descendant selectors to target children elements; don’t just automatically add a class or id to the element. Just remember, &lt;strong&gt;CSS is worthless without a well formatted document&lt;/strong&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Conclusion&lt;br /&gt;&lt;p&gt;These are just some of the tips that help me to write better code. This is by no means the end of the list. As I come up with others, I’ll share.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5699179415075283063-6386599121075529945?l=symfonyhelp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://symfonyhelp.blogspot.com/feeds/6386599121075529945/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://symfonyhelp.blogspot.com/2009/02/5-ways-to-instantly-write-better-css.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5699179415075283063/posts/default/6386599121075529945'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5699179415075283063/posts/default/6386599121075529945'/><link rel='alternate' type='text/html' href='http://symfonyhelp.blogspot.com/2009/02/5-ways-to-instantly-write-better-css.html' title='5 Ways to Instantly Write Better CSS'/><author><name>Rajeev</name><uri>http://www.blogger.com/profile/09442025840798063075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_M3AgJ8-TiII/TU0tBZ3wSTI/AAAAAAAAAog/WzvygeezO1c/s220/165649_125059220894331_100001707608385_140654_3449754_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5699179415075283063.post-5351621335085048524</id><published>2009-02-20T01:10:00.000-08:00</published><updated>2009-02-20T01:22:57.847-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='js'/><category scheme='http://www.blogger.com/atom/ns#' term='Date'/><category scheme='http://www.blogger.com/atom/ns#' term='Picker'/><category scheme='http://www.blogger.com/atom/ns#' term='calander'/><category scheme='http://www.blogger.com/atom/ns#' term='Time'/><title type='text'>Date Time Picker</title><content type='html'>Date Time Picker 1.9&lt;br /&gt;&lt;br /&gt;Here is one free javascript based date time picker out there,&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.rainforestnet.com/download/mydatetimepicker/sample_onchange.zip"&gt;CLICK here&lt;/a&gt; to download the sample.                                                                                                                Guide&lt;br /&gt;&lt;br /&gt;  1. I would suggest you download the sample above then you'll have the javascript file(DateTimePicker.js) to try on.&lt;br /&gt;  2. Place DateTimePicker.js file in your page directory or subdirectory.&lt;br /&gt;  3. Make a reference to DateTimePicker.js in your HTML page header. Assume that DateTimePicker.js is in the same diretory with your html file.&lt;br /&gt;     Example: &lt;script language="javascript" type="text/javascript" src="datetimepicker.js"&gt;&lt;/script&gt;&lt;br /&gt;  4. Create a textbox for user to enter date/time value. Make sure you assign an unique id to your textbox.&lt;br /&gt;&lt;br /&gt;  5. Create a hyperlink, image with hyperlink or a button to run javascript. In this case I will create a hyperlink with a tiny calendar icon to call my DateTime Picker.&lt;br /&gt;&lt;br /&gt;    &lt;br /&gt;     Specify appropriate parameters for NewCal function.&lt;br /&gt;     NewCal([textbox id],[date format],[show time in calendar?],[time mode (12,24)?],[Year Scroller Type])&lt;br /&gt;     [Year Scroller Type] can be either 'Arrow' or 'DropDown'. The default Year scroller type will be in Drop Down List form if you don't specify any argument.&lt;br /&gt;     important:&lt;br /&gt;     a. You must enclose textbox id and date format with single quote(').&lt;br /&gt;     b. Don't insert date separator in between of date format such as dd-MM-yyyy.&lt;br /&gt;  6. Parameters for "NewCal" function.&lt;br /&gt;         * Textbox id (Mandatory)&lt;br /&gt;         * Date format (optional) - If you don't specify date format, the default date format will be "dd-MM-yyyy". Other valid date formats for My Date Time Picker are: ddMMyyyy,MMddyyyy,ddMMMyyyy,MMMddyyyy,yyyyMMdd and yyyyMMMdd.&lt;br /&gt;         * Show time in calendar? (optional) [true or false] - Specify "true" if you would like to let user to pick a time. Default value is "false".&lt;br /&gt;         * Time Mode (optional) [12 or 24] - Time shown in 12-hour or 24-hour format. Default is 24-hour format.&lt;br /&gt;         * Month-Year Scroller Type (optional) ['arrow' or 'dropdown']&lt;br /&gt;         * Hide Seconds? - (optional) [true or false] - Do you want to hide seconds in your "time"? If 'true', seconds will be hidden.&lt;br /&gt;  7. In version 1.7, you are free to set if Monday or Sunday to be the first day of a week. To make Monday as first of a week, make sure the "MondayFirstDay" flag under configurable parameters section of javascript file is set to "true". The default value of "MondayFirstDay" flag is "false" (First day of a week is Sunday).&lt;br /&gt;&lt;br /&gt;Supported Date Time format&lt;br /&gt;Date Formats&lt;br /&gt;Date Separator is configurable.&lt;br /&gt;&lt;br /&gt;  1. dd/MM/yyyy&lt;br /&gt;  2. dd/MMM/yyyy&lt;br /&gt;  3. MMM/dd/yyyy&lt;br /&gt;  4. MM/dd/yyyy&lt;br /&gt;  5. yyyy/MM/dd&lt;br /&gt;  6. yyyy/MMM/dd&lt;br /&gt;&lt;br /&gt;Time Formats&lt;br /&gt;Supports with and without seconds(s) in time for version 1.8 and above.&lt;br /&gt;&lt;br /&gt;  1. hh:MM:ss (AM/PM) - 12 Hour Mode&lt;br /&gt;  2. HH:MM:ss - 24 Hour Mode&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5699179415075283063-5351621335085048524?l=symfonyhelp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://symfonyhelp.blogspot.com/feeds/5351621335085048524/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://symfonyhelp.blogspot.com/2009/02/date-time-picker.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5699179415075283063/posts/default/5351621335085048524'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5699179415075283063/posts/default/5351621335085048524'/><link rel='alternate' type='text/html' href='http://symfonyhelp.blogspot.com/2009/02/date-time-picker.html' title='Date Time Picker'/><author><name>Rajeev</name><uri>http://www.blogger.com/profile/09442025840798063075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_M3AgJ8-TiII/TU0tBZ3wSTI/AAAAAAAAAog/WzvygeezO1c/s220/165649_125059220894331_100001707608385_140654_3449754_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5699179415075283063.post-369496267501012310</id><published>2009-02-17T02:53:00.000-08:00</published><updated>2009-02-17T02:56:39.743-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='symfony'/><category scheme='http://www.blogger.com/atom/ns#' term='phpBB2'/><category scheme='http://www.blogger.com/atom/ns#' term='integrate'/><title type='text'>How can I integrate phpBB2 in an application using symfony</title><content type='html'>&lt;span class="MsgBodyText"&gt;&lt;span style="font-weight: bold;"&gt;Hi&lt;/span&gt;&lt;br /&gt;I ve an application in symfony,Now I ve to set up a forum support  for tht application using phpBB2,&lt;br /&gt;how can I do it in symfony?&lt;br /&gt;I there any forum support plugins in symfony?&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Answer:&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="MsgBodyText"&gt;check if its feature set fits your needs:&lt;br /&gt;&lt;a href="http://trac.symfony-project.com/wiki/sfSimpleForumPlugin" target="_blank"&gt;http://trac.symfony-project.com/wiki/sfSimpleForumPlugin&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="MsgBodyText"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5699179415075283063-369496267501012310?l=symfonyhelp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://symfonyhelp.blogspot.com/feeds/369496267501012310/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://symfonyhelp.blogspot.com/2009/02/how-can-i-integrate-phpbb2-in.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5699179415075283063/posts/default/369496267501012310'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5699179415075283063/posts/default/369496267501012310'/><link rel='alternate' type='text/html' href='http://symfonyhelp.blogspot.com/2009/02/how-can-i-integrate-phpbb2-in.html' title='How can I integrate phpBB2 in an application using symfony'/><author><name>Rajeev</name><uri>http://www.blogger.com/profile/09442025840798063075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_M3AgJ8-TiII/TU0tBZ3wSTI/AAAAAAAAAog/WzvygeezO1c/s220/165649_125059220894331_100001707608385_140654_3449754_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5699179415075283063.post-8904319917951972064</id><published>2009-02-16T04:27:00.000-08:00</published><updated>2009-02-17T01:49:20.458-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='symfony'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL Query'/><category scheme='http://www.blogger.com/atom/ns#' term='Criteria'/><category scheme='http://www.blogger.com/atom/ns#' term='Retrieving'/><category scheme='http://www.blogger.com/atom/ns#' term='Records'/><category scheme='http://www.blogger.com/atom/ns#' term='Propel'/><category scheme='http://www.blogger.com/atom/ns#' term='Creole'/><title type='text'>Retrieving Records with Criteria</title><content type='html'>&lt;a name="chapter_08_sub_retrieving_records_with_criteria"&gt;Retrieving Records with Criteria&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;When you want to retrieve more than one record, you need to call the &lt;code&gt;doSelect()&lt;/code&gt; method of the peer class corresponding to the objects you want to retrieve. For instance, to retrieve objects of class &lt;code&gt;Article&lt;/code&gt;, call &lt;code&gt;ArticlePeer::doSelect()&lt;/code&gt;.&lt;/p&gt;The first parameter of the &lt;code&gt;doSelect()&lt;/code&gt; method is an object of class &lt;code&gt;Criteria&lt;/code&gt;, which is a simple query definition class defined without SQL for the sake of database abstraction.&lt;br /&gt;&lt;br /&gt;&lt;p&gt;An empty &lt;code&gt;Criteria&lt;/code&gt; returns all the objects of the class. For instance, the code shown in Listing 8-12 retrieves all the articles.&lt;/p&gt;Listing 8-12 - Retrieving Records by Criteria with &lt;code&gt;doSelect()&lt;/code&gt;--Empty Criteria&lt;br /&gt;&lt;br /&gt;&lt;pre class="php"&gt;&lt;span class="re0"&gt;$c&lt;/span&gt; = &lt;span class="kw2"&gt;new&lt;/span&gt; Criteria&lt;span class="br0"&gt;(&lt;/span&gt;&lt;span class="br0"&gt;)&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;&lt;span class="re0"&gt;$articles&lt;/span&gt; = ArticlePeer::&lt;span class="me2"&gt;doSelect&lt;/span&gt;&lt;span class="br0"&gt;(&lt;/span&gt;&lt;span class="re0"&gt;$c&lt;/span&gt;&lt;span class="br0"&gt;)&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;&lt;span class="co1"&gt;// Will result in the following SQL query&lt;/span&gt;&lt;br /&gt;SELECT blog_article.ID, blog_article.TITLE, blog_article.CONTENT,&lt;br /&gt;blog_article.CREATED_AT&lt;br /&gt;FROM   blog_article;&lt;/pre&gt;Hydrating&lt;blockquote class="sidebar"&gt;The call to &lt;code&gt;::doSelect()&lt;/code&gt; is actually much more powerful than a simple SQL query. First, the SQL is optimized for the DBMS you choose. Second, any value passed to the &lt;code&gt;Criteria&lt;/code&gt; is escaped before being integrated into the SQL code, which prevents SQL injection risks. Third, the method returns an array of objects, rather than a result set. The ORM automatically creates and populates objects based on the database result set. This process is called hydrating.&lt;br /&gt;For a more complex object selection, you need an equivalent of the WHERE, ORDER BY, GROUP BY, and other SQL statements. The &lt;code&gt;Criteria&lt;/code&gt; object has methods and parameters for all these conditions. For example, to get all comments written by Steve, ordered by date, build a &lt;code&gt;Criteria&lt;/code&gt; as shown in Listing 8-13.&lt;br /&gt;&lt;/blockquote&gt;Listing 8-13 - Retrieving Records by Criteria with &lt;code&gt;doSelect()&lt;/code&gt;--Criteria with Conditions&lt;br /&gt;&lt;br /&gt;&lt;pre class="php"&gt;&lt;span class="re0"&gt;$c&lt;/span&gt; = &lt;span class="kw2"&gt;new&lt;/span&gt; Criteria&lt;span class="br0"&gt;(&lt;/span&gt;&lt;span class="br0"&gt;)&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;&lt;span class="re0"&gt;$c&lt;/span&gt;-&amp;gt;&lt;span class="me1"&gt;add&lt;/span&gt;&lt;span class="br0"&gt;(&lt;/span&gt;CommentPeer::&lt;span class="me2"&gt;AUTHOR&lt;/span&gt;, &lt;span class="st0"&gt;'Steve'&lt;/span&gt;&lt;span class="br0"&gt;)&lt;/span&gt;;&lt;br /&gt;&lt;span class="re0"&gt;$c&lt;/span&gt;-&amp;gt;&lt;span class="me1"&gt;addAscendingOrderByColumn&lt;/span&gt;&lt;span class="br0"&gt;(&lt;/span&gt;CommentPeer::&lt;span class="me2"&gt;CREATED_AT&lt;/span&gt;&lt;span class="br0"&gt;)&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;&lt;span class="re0"&gt;$comments&lt;/span&gt; = CommentPeer::&lt;span class="me2"&gt;doSelect&lt;/span&gt;&lt;span class="br0"&gt;(&lt;/span&gt;&lt;span class="re0"&gt;$c&lt;/span&gt;&lt;span class="br0"&gt;)&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;&lt;span class="co1"&gt;// Will result in the following SQL query&lt;/span&gt;&lt;br /&gt;SELECT blog_comment.ARTICLE_ID, blog_comment.AUTHOR, blog_comment.CONTENT,&lt;br /&gt;blog_comment.CREATED_AT&lt;br /&gt;FROM   blog_comment&lt;br /&gt;WHERE  blog_comment.author = &lt;span class="st0"&gt;'Steve'&lt;/span&gt;&lt;br /&gt;ORDER BY blog_comment.CREATED_AT ASC;&lt;/pre&gt;The class constants passed as parameters to the add() methods refer to the property names. They are named after the capitalized version of the column names. For instance, to address the &lt;code&gt;content&lt;/code&gt; column of the &lt;code&gt;blog_article&lt;/code&gt; table, use the &lt;code&gt;ArticlePeer::CONTENT&lt;/code&gt; class constant.&lt;br /&gt;&lt;br /&gt;Why use &lt;code&gt;CommentPeer::AUTHOR&lt;/code&gt; instead of &lt;code&gt;blog_comment.AUTHOR&lt;/code&gt;, which is the way it will be output in the SQL query anyway? Suppose that you need to change the name of the author field to &lt;code&gt;contributor&lt;/code&gt; in the database. If you used &lt;code&gt;blog_comment.AUTHOR&lt;/code&gt;, you would have to change it in every call to the model. On the other hand, by using &lt;code&gt;CommentPeer::AUTHOR&lt;/code&gt;, you simply need to change the column name in the &lt;code&gt;schema.yml&lt;/code&gt; file, keep &lt;code&gt;phpName&lt;/code&gt; as &lt;code&gt;AUTHOR&lt;/code&gt;, and rebuild the model.&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Table 8-1 compares the SQL syntax with the &lt;code&gt;Criteria&lt;/code&gt; object syntax.&lt;/p&gt;&lt;br /&gt;The best way to discover and understand which methods are available in generated classes is to look at the &lt;code&gt;Base&lt;/code&gt; files in the &lt;code&gt;lib/model/om/&lt;/code&gt; folder after generation. The method names are pretty explicit, but if you need more comments on them, set the &lt;code&gt;propel.builder.addComments&lt;/code&gt; parameter to &lt;code&gt;true&lt;/code&gt; in the &lt;code&gt;config/propel.ini&lt;/code&gt; file and rebuild the model.&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Listing 8-14 shows another example of &lt;code&gt;Criteria&lt;/code&gt; with multiple conditions. It retrieves all the comments by Steve on articles containing the word "enjoy," ordered by date.&lt;/p&gt;Listing 8-14 - Another Example of Retrieving Records by Criteria with &lt;code&gt;doSelect()&lt;/code&gt;--Criteria with Conditions&lt;br /&gt;&lt;br /&gt;&lt;pre class="php"&gt;&lt;span class="re0"&gt;$c&lt;/span&gt; = &lt;span class="kw2"&gt;new&lt;/span&gt; Criteria&lt;span class="br0"&gt;(&lt;/span&gt;&lt;span class="br0"&gt;)&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;&lt;span class="re0"&gt;$c&lt;/span&gt;-&amp;gt;&lt;span class="me1"&gt;add&lt;/span&gt;&lt;span class="br0"&gt;(&lt;/span&gt;CommentPeer::&lt;span class="me2"&gt;AUTHOR&lt;/span&gt;, &lt;span class="st0"&gt;'Steve'&lt;/span&gt;&lt;span class="br0"&gt;)&lt;/span&gt;;&lt;br /&gt;&lt;span class="re0"&gt;$c&lt;/span&gt;-&amp;gt;&lt;span class="me1"&gt;addJoin&lt;/span&gt;&lt;span class="br0"&gt;(&lt;/span&gt;CommentPeer::&lt;span class="me2"&gt;ARTICLE_ID&lt;/span&gt;, ArticlePeer::&lt;span class="me2"&gt;ID&lt;/span&gt;&lt;span class="br0"&gt;)&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;&lt;span class="re0"&gt;$c&lt;/span&gt;-&amp;gt;&lt;span class="me1"&gt;add&lt;/span&gt;&lt;span class="br0"&gt;(&lt;/span&gt;ArticlePeer::&lt;span class="me2"&gt;CONTENT&lt;/span&gt;, &lt;span class="st0"&gt;'%enjoy%'&lt;/span&gt;, Criteria::&lt;span class="me2"&gt;LIKE&lt;/span&gt;&lt;span class="br0"&gt;)&lt;/span&gt;;&lt;br /&gt;&lt;span class="re0"&gt;$c&lt;/span&gt;-&amp;gt;&lt;span class="me1"&gt;addAscendingOrderByColumn&lt;/span&gt;&lt;span class="br0"&gt;(&lt;/span&gt;CommentPeer::&lt;span class="me2"&gt;CREATED_AT&lt;/span&gt;&lt;span class="br0"&gt;)&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;&lt;span class="re0"&gt;$comments&lt;/span&gt; = CommentPeer::&lt;span class="me2"&gt;doSelect&lt;/span&gt;&lt;span class="br0"&gt;(&lt;/span&gt;&lt;span class="re0"&gt;$c&lt;/span&gt;&lt;span class="br0"&gt;)&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;&lt;span class="co1"&gt;// Will result in the following SQL query&lt;/span&gt;&lt;br /&gt;SELECT blog_comment.ID, blog_comment.ARTICLE_ID, blog_comment.AUTHOR,&lt;br /&gt;blog_comment.CONTENT, blog_comment.CREATED_AT&lt;br /&gt;FROM   blog_comment, blog_article&lt;br /&gt;WHERE  blog_comment.AUTHOR = &lt;span class="st0"&gt;'Steve'&lt;/span&gt;&lt;br /&gt;AND blog_article.CONTENT LIKE &lt;span class="st0"&gt;'%enjoy%'&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;AND blog_comment.ARTICLE_ID = blog_article.ID&lt;br /&gt;ORDER BY blog_comment.CREATED_AT ASC&lt;/pre&gt;Just as SQL is a simple language that allows you to build very complex queries, the Criteria object can handle conditions with any level of complexity. But since many developers think first in SQL before translating a condition into object-oriented logic, the &lt;code&gt;Criteria&lt;/code&gt; object may be difficult to comprehend at first. The best way to understand it is to learn from examples and sample applications. The symfony project website, for instance, is full of &lt;code&gt;Criteria&lt;/code&gt; building examples that will enlighten you in many ways.&lt;br /&gt;&lt;br /&gt;&lt;p&gt;In addition to the &lt;code&gt;doSelect()&lt;/code&gt; method, every peer class has a &lt;code&gt;doCount()&lt;/code&gt; method, which simply counts the number of records satisfying the criteria passed as a parameter and returns the count as an integer. As there is no object to return, the hydrating process doesn't occur in this case, and the &lt;code&gt;doCount()&lt;/code&gt; method is faster than &lt;code&gt;doSelect()&lt;/code&gt;.&lt;/p&gt;The peer classes also provide &lt;code&gt;doDelete()&lt;/code&gt;, &lt;code&gt;doInsert()&lt;/code&gt;, and &lt;code&gt;doUpdate()&lt;/code&gt; methods, which all expect a &lt;code&gt;Criteria&lt;/code&gt; as a parameter. These methods allow you to issue &lt;code&gt;DELETE&lt;/code&gt;, &lt;code&gt;INSERT&lt;/code&gt;, and &lt;code&gt;UPDATE&lt;/code&gt; queries to your database. Check the generated peer classes in your model for more details on these Propel methods.&lt;br /&gt;Finally, if you just want the first object returned, replace &lt;code&gt;doSelect()&lt;/code&gt; with a &lt;code&gt;doSelectOne()&lt;/code&gt; call. This may be the case when you know that a &lt;code&gt;Criteria&lt;/code&gt; will return only one result, and the advantage is that this method returns an object rather than an array of objects.&lt;br /&gt;&lt;br /&gt;When a &lt;code&gt;doSelect()&lt;/code&gt; query returns a large number of results, you might want to display only a subset of it in your response. Symfony provides a pager class called sfPropelPager, which automates the pagination of results. Check the pager documentation at &lt;a href="http://www.symfony-project.org/cookbook/1_0/en/pager"&gt;http://www.symfony-project.org/cookbook/1_0/en/pager&lt;/a&gt; for more information and usage examples.&lt;a name="chapter_08_sub_using_raw_sql_queries"&gt;&lt;br /&gt;&lt;br /&gt;Using Raw SQL Queries&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Sometimes, you don't want to retrieve objects, but want to get only synthetic results calculated by the database. For instance, to get the latest creation date of all articles, it doesn't make sense to retrieve all the articles and to loop on the array. You will prefer to ask the database to return only the result, because it will skip the object hydrating process.&lt;br /&gt;&lt;br /&gt;&lt;p&gt;On the other hand, you don't want to call the PHP commands for database management directly, because then you would lose the benefit of database abstraction. This means that you need to bypass the ORM (Propel) but not the database abstraction (Creole).&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Querying the database with Creole requires that you do the following:&lt;br /&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Get a database connection.&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Build a query string.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Create a statement out of it.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Iterate on the result set that results from the statement execution.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;If this looks like gibberish to you, the code in Listing 8-15 will probably be more explicit.&lt;br /&gt;&lt;/p&gt;&lt;p class="figure"&gt;Listing 8-15 - Custom SQL Query with Creole&lt;br /&gt;&lt;/p&gt;&lt;pre class="php"&gt;&lt;span class="re0"&gt;$connection&lt;/span&gt; = Propel::&lt;span class="me2"&gt;getConnection&lt;/span&gt;&lt;span class="br0"&gt;(&lt;/span&gt;&lt;span class="br0"&gt;)&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;&lt;span class="re0"&gt;$query&lt;/span&gt; = &lt;span class="st0"&gt;'SELECT MAX(%s) AS max FROM %s'&lt;/span&gt;;&lt;br /&gt;&lt;span class="re0"&gt;$query&lt;/span&gt; = &lt;span class="kw3"&gt;sprintf&lt;/span&gt;&lt;span class="br0"&gt;(&lt;/span&gt;&lt;span class="re0"&gt;$query&lt;/span&gt;, ArticlePeer::&lt;span class="me2"&gt;CREATED_AT&lt;/span&gt;, ArticlePeer::&lt;span class="me2"&gt;TABLE_NAME&lt;/span&gt;&lt;span class="br0"&gt;)&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;&lt;span class="re0"&gt;$statement&lt;/span&gt; = &lt;span class="re0"&gt;$connection&lt;/span&gt;-&amp;gt;&lt;span class="me1"&gt;prepareStatement&lt;/span&gt;&lt;span class="br0"&gt;(&lt;/span&gt;&lt;span class="re0"&gt;$query&lt;/span&gt;&lt;span class="br0"&gt;)&lt;/span&gt;;&lt;br /&gt;&lt;span class="re0"&gt;$resultset&lt;/span&gt; = &lt;span class="re0"&gt;$statement&lt;/span&gt;-&amp;gt;&lt;span class="me1"&gt;executeQuery&lt;/span&gt;&lt;span class="br0"&gt;(&lt;/span&gt;&lt;span class="br0"&gt;)&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;&lt;span class="re0"&gt;$resultset&lt;/span&gt;-&amp;gt;&lt;span class="me1"&gt;next&lt;/span&gt;&lt;span class="br0"&gt;(&lt;/span&gt;&lt;span class="br0"&gt;)&lt;/span&gt;;&lt;br /&gt;&lt;span class="re0"&gt;$max&lt;/span&gt; = &lt;span class="re0"&gt;$resultset&lt;/span&gt;-&amp;gt;&lt;span class="me1"&gt;getInt&lt;/span&gt;&lt;span class="br0"&gt;(&lt;/span&gt;&lt;span class="st0"&gt;'max'&lt;/span&gt;&lt;span class="br0"&gt;)&lt;/span&gt;;&lt;/pre&gt;Retrieving Records with Criteria&lt;br /&gt;&lt;p&gt;Just like Propel selections, Creole queries are tricky when you first start using them. Once again, examples from existing applications and tutorials will show you the right way.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5699179415075283063-8904319917951972064?l=symfonyhelp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://symfonyhelp.blogspot.com/feeds/8904319917951972064/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://symfonyhelp.blogspot.com/2009/02/retrieving-records-with-criteria.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5699179415075283063/posts/default/8904319917951972064'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5699179415075283063/posts/default/8904319917951972064'/><link rel='alternate' type='text/html' href='http://symfonyhelp.blogspot.com/2009/02/retrieving-records-with-criteria.html' title='Retrieving Records with Criteria'/><author><name>Rajeev</name><uri>http://www.blogger.com/profile/09442025840798063075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://1.bp.blogspot.com/_M3AgJ8-TiII/TU0tBZ3wSTI/AAAAAAAAAog/WzvygeezO1c/s220/165649_125059220894331_100001707608385_140654_3449754_n.jpg'/></author><thr:total>1</thr:total></entry></feed>
