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

<channel>
	<title>All1 Source technologies &#187; Purely Technical</title>
	<atom:link href="http://www.all1sourcetech.com/category/purely-technical/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.all1sourcetech.com</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Wed, 23 Nov 2011 12:26:21 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=abc</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Top Mistakes That Turn Website Design Worthless</title>
		<link>http://www.all1sourcetech.com/top-mistakes-turn-website-design-worthless/</link>
		<comments>http://www.all1sourcetech.com/top-mistakes-turn-website-design-worthless/#comments</comments>
		<pubDate>Tue, 03 Aug 2010 09:23:58 +0000</pubDate>
		<dc:creator>Suzanne</dc:creator>
				<category><![CDATA[Company Activity]]></category>
		<category><![CDATA[Purely Technical]]></category>
		<category><![CDATA[web design]]></category>
		<category><![CDATA[web developer]]></category>
		<category><![CDATA[web development]]></category>
		<category><![CDATA[web development company]]></category>
		<category><![CDATA[web hosting]]></category>
		<category><![CDATA[website design]]></category>

		<guid isPermaLink="false">http://www.all1sourcetech.com/?p=1137</guid>
		<description><![CDATA[A website design means to attract and involve online users and finally give them good reasons to purchase the products and services available on the websites. A badly designed websites fails to achieve the above-mentioned goals for a business website.
Reason behind the bad web design is the selection of an inexperienced website design company. A [...]]]></description>
			<content:encoded><![CDATA[<p>A <strong>website design</strong> means to attract and involve online users and finally give them good reasons to purchase the products and services available on the websites. A badly designed websites fails to achieve the above-mentioned goals for a business website.</p>
<p>Reason behind the bad web design is the selection of an inexperienced website design company. A good web design and <a href="http://get-a-designer.com/" target="_blank">website development company</a> takes care of things that turn a website design bad. Some of the common mistakes that lead to useless website design, but taken care of by an expert website design.</p>
<p><strong>Distracting Backgrounds-</strong><br />
Backgrounds are meant the professional backdrop to a website that can attract the online users and involve them. A bad <a href="http://www.all1martpro.com" target="_blank">website design</a> has background that distracts or displeases the visitors and makes the text difficult to read. Moreover, the images used a backgrounds make the websites difficult to load.</p>
<p><strong>Inappropriate Text Style-</strong><br />
For the visitors, the information displayed on a website is the best medium to know about it. A badly designed website has font too small or too big to read out. Underlines and bolded paragraphs and use of italics too frequently too make the website design bad.</p>
<p><strong>Use of Animations-</strong><br />
Animations are not meant to be used excessively in a website design. These blinking text and animations often steal the efficacy of a website. And an expert web design company makes less use of such features so that a website has professional look and feel.</p>
<p><strong>Interrupting Music-</strong><br />
Most disastrous aspects of a website design is the ‘Background Music’. The automatic music played in loops and on every web page is definitely a part of the bad web design. It reduces the interest of online users in your website.</p>
<p><strong>No HTML Validation-</strong><br />
HTML validation is an important thing to do with a website design. It needs proper validation as without it, your website has fewer chances to get indexed in the search engine results. Moreover, such websites have slow loading pages.</p>
<p><strong>Opening New Windows</strong></p>
<p><strong>Non-Alignment of Different Elements</strong></p>
<p><a href="http://get-a-designer.com/" target="_blank">http://get-a-designer.com</a></p>
<p><a href="http://www.all1sourcetech.com" target="_blank">http://www.all1sourcetech.com</a></pre>
]]></content:encoded>
			<wfw:commentRss>http://www.all1sourcetech.com/top-mistakes-turn-website-design-worthless/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Release: MVC 2 Editor Template for Radio Buttons</title>
		<link>http://www.all1sourcetech.com/release-mvc-2-editor-template-radio-buttons/</link>
		<comments>http://www.all1sourcetech.com/release-mvc-2-editor-template-radio-buttons/#comments</comments>
		<pubDate>Tue, 08 Jun 2010 12:22:08 +0000</pubDate>
		<dc:creator>Suzanne</dc:creator>
				<category><![CDATA[Editorial]]></category>
		<category><![CDATA[Purely Technical]]></category>
		<category><![CDATA[Editor Template]]></category>
		<category><![CDATA[html helper]]></category>
		<category><![CDATA[MVC2 Editor]]></category>
		<category><![CDATA[radio buttons]]></category>

		<guid isPermaLink="false">http://www.all1sourcetech.com/?p=1113</guid>
		<description><![CDATA[How to create an HTML helper to produce a radio button list? Here, the HTML helper was “wrapping” the FluentHtml library from MvcContrib to produce the following html output (given an IEnumerable list containing the items “Foo” and “Bar”):
   1:  &#60;div&#62;
   2:      &#60;input id="Name_Foo" name="Name" type="radio" value="Foo" /&#62;&#60;label for="Name
_Foo" id="Name_Foo_Label"&#62;Foo&#60;/label&#62;
   3:      &#60;input id="Name_Bar" name="Name" type="radio" [...]]]></description>
			<content:encoded><![CDATA[<p>How to create an HTML helper to produce a radio button list? Here, the HTML helper was “wrapping” the <a href="http://www.all1sourcetech.com" target="_blank">FluentHtml library</a> from MvcContrib to produce the following html output (given an IEnumerable list containing the items “Foo” and “Bar”):</p>
<pre>   1:  &lt;div&gt;</pre>
<pre>   2:      &lt;input id="Name_Foo" name="Name" type="radio" value="Foo" /&gt;&lt;label for="Name
_Foo" id="Name_Foo_Label"&gt;Foo&lt;/label&gt;</pre>
<pre>   3:      &lt;input id="Name_Bar" name="Name" type="radio" value="Bar" /&gt;&lt;label for="Name
_Bar" id="Name_Bar_Label"&gt;Bar&lt;/label&gt;</pre>
<pre>   4:  &lt;/div&gt;</pre>
<p>MVC 2 has released, providing an editor template that can be used as it rely on metadata, which allow us to customize the views appropriately.  For example, for the radio buttons above, we want the “id” attribute to be differentiated and unique and we want the “name” attribute to be the <span style="text-decoration: underline;">same</span> across radio buttons so the buttons will be grouped together and so model binding will work appropriately. We also want the “for” attribute in the &lt;label&gt; element being set to correctly point to the id of the corresponding radio button.</p>
<p>The default behavior of the RadioButtonFor() method that comes OOTB with MVC produces the same value for the “id” and “name” attributes so this isn’t exactly what I want out the box if I’m trying to produce the HTML mark up above.</p>
<p>If we use an <a href="http://www.all1sourcetech.com" target="_blank">EditorTemplate</a>, the first gotcha that we run into is that, by default, the templates just work on your view model’s property. But in this case, we *also* was the list of items to populate all the radio buttons. It turns out that the EditorFor() methods do give you a way to pass in additional data. There is an overload of the EditorFor() method where the last parameter allows you to pass an anonymous object for “extra” data that you can use in your view – it gets put on the view data dictionary:</p>
<pre>   1:  <span style="color: #000000;">&lt;%</span>: Html.EditorFor(m =&gt; m.Name, "RadioButtonList", new { selectList = new SelectList(new[]
{ "Foo", "Bar" }) })%&gt;</pre>
<p><strong>Now we can create a file called RadioButtonList.ascx that looks like this</strong>:</p>
<pre>   1:  &lt;%@ Control Inherits="System.Web.Mvc.ViewUserControl" %&gt;</pre>
<pre>   2:  &lt;%</pre>
<pre>   3:      var list = this.ViewData["selectList"] as SelectList;</pre>
<pre>   4:  %&gt;</pre>
<pre>   5:  &lt;div&gt;</pre>
<pre>   6:      &lt;% foreach (var item in list) {</pre>
<pre>   7:             var radioId = ViewData.TemplateInfo.GetFullHtmlFieldId(item.Value);</pre>
<pre>   8:             var checkedAttr = item.Selected ? "checked=\"checked\"" : string.Empty;</pre>
<pre>   9:      %&gt;</pre>
<pre>  10:          &lt;input type="radio" id="&lt;%: radioId %&gt;" name="&lt;%: ViewData.TemplateInfo.HtmlFieldPrefix
%&gt;" value="&lt;%: item.Value %&gt;" &lt;%: checkedAttr %&gt;/&gt;</pre>
<pre>  11:          &lt;label for="&lt;%: radioId %&gt;"&gt;&lt;%: item.Text %&gt;&lt;/label&gt;</pre>
<pre>  12:      &lt;% } %&gt;</pre>
<pre>  13:  &lt;/div&gt;</pre>
<p>IN the above code, there are several things that to be noted. First, you can see in line #3, it’s getting the SelectList out of the view data dictionary. Then on line #7 it uses the GetFullHtmlFieldId() method from the TemplateInfo class to ensure to get unique IDs. We pass the Value to this method so that it will produce IDs like “Name_Foo” and “Name_Bar” rather than just “Name” which is our property name. However, for the “name” attribute (on line #10) we can just use the normal HtmlFieldPrefix property so that we ensure all <a href="http://www.all1press.com" target="_blank">radio buttons</a> have the same name which corresponds to the view model’s property name. We also get to leverage the fact the a SelectListItem has a Boolean Selected property so we can set the checkedAttr variable on line #8 and use it on line #10. Finally, it’s trivial to set the correct “for” attribute for the &lt;label&gt; on line #11 since we already produced that value.</p>
<p>Because the TemplateInfo class provides all the metadata for our view, we’re able to produce this view that is widely re-usable across our application. In fact, we can create a couple HTML helpers to better encapsulate this call and make it more user friendly:</p>
<pre>   1:  public static MvcHtmlString RadioButtonList&lt;TModel, TProperty&gt;(this HtmlHelper&lt;TModel&gt;
htmlHelper, Expression&lt;Func&lt;TModel, TProperty&gt;&gt; expression, params string[] items)</pre>
<pre>   2:  {</pre>
<pre>   3:      return htmlHelper.RadioButtonList(expression, new SelectList(items));</pre>
<pre>   4:  }</pre>
<pre>   5:</pre>
<pre>   6:  public static MvcHtmlString RadioButtonList&lt;TModel, TProperty&gt;(this HtmlHelper&lt;TModel&gt;
htmlHelper, Expression&lt;Func&lt;TModel, TProperty&gt;&gt; expression, IEnumerable&lt;SelectListItem&gt; items)</pre>
<pre>   7:  {</pre>
<pre>   8:      var func = expression.Compile();</pre>
<pre>   9:      var result = func(htmlHelper.ViewData.Model);</pre>
<pre>  10:      var list = new SelectList(items, "Value", "Text", result);</pre>
<pre>  11:      return htmlHelper.EditorFor(expression, "RadioButtonList", new { selectList = list });</pre>
<pre>  12:  }</pre>
<p>This allows us to simply the call like this:</p>
<pre>   1:  &lt;%: Html.RadioButtonList(m =&gt; m.Name, "Foo", "Bar" ) %&gt;</pre>
<p>In that example, the values for the radio button are hard-coded and being passed in directly. But if you had a view model that contained a property for the collection of items you could call the second overload like this:</p>
<pre>   1:  &lt;%: Html.RadioButtonList(m =&gt; m.Name, Model.FooBarList ) %&gt;</pre>
<p>The Editor templates introduced in MVC 2 definitely allow for much more flexible views/editors than previously available.</p>
<p><strong>Source</strong>: http://geekswithblogs.net/</p>
<p><a href="http://get-a-designer.com/" target="_blank">http://get-a-designer.com</a></p>
<p><a href="http://www.all1sourcetech.com" target="_blank">http://www.all1sourcetech.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.all1sourcetech.com/release-mvc-2-editor-template-radio-buttons/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CHKDSK/F Fails to Fix File System Problems</title>
		<link>http://www.all1sourcetech.com/chkdskf-fails-fix-file-system-problems/</link>
		<comments>http://www.all1sourcetech.com/chkdskf-fails-fix-file-system-problems/#comments</comments>
		<pubDate>Mon, 31 May 2010 10:44:05 +0000</pubDate>
		<dc:creator>Naggie</dc:creator>
				<category><![CDATA[Database]]></category>
		<category><![CDATA[Purely Technical]]></category>
		<category><![CDATA[commercial window]]></category>
		<category><![CDATA[Data Recovery]]></category>
		<category><![CDATA[file system]]></category>
		<category><![CDATA[operating system]]></category>
		<category><![CDATA[Window XP]]></category>
		<category><![CDATA[window xp system]]></category>

		<guid isPermaLink="false">http://www.all1sourcetech.com/?p=1108</guid>
		<description><![CDATA[One of the most common reasons for unbootability of the computer system is the file system corruption in Windows XP. And for damage in file system, the reasons responsible for that are unexpected system shutdown (due to power outage or human mistakes), virus infection, MFT (Master File Table) damage, and more. 
In order to get [...]]]></description>
			<content:encoded><![CDATA[<p>One of the most common reasons for unbootability of the computer system is the file system corruption in Windows XP. And for damage in file system, the reasons responsible for that are unexpected system shutdown (due to power outage or human mistakes), virus infection, MFT (Master File Table) damage, and more. </p>
<p>In order to get past the corruption issues in a <a href="http://www.all1tunes.com" target="_blank">Windows XP system</a> is by <strong>executing CHKDSK/F command</strong>. This command checks the physical and logical integrity of the file system and repairs it in case of any damage.</p>
<p>Though the command, in most of the situations, is a life-saver, but do not guarantee 100% success in every life system corruption issue. In such cases, when the CHKDSK command fails to repair, an ideal alternative is to reinstall Windows XP and restore data from an updated backup. However, in case no backup is available, the user can easily recover data using a <a href="http://www.all1martpro.com" target="_blank">commercial Windows</a> Recovery application.</p>
<p>Let’s consider a practical scenario that explains the above situation. You encounter the below <strong>error message</strong> at the startup of Windows XP operating system:</p>
<p><strong>“C:\$MFT is corrupt and unreadable. Please run the chkdsk utility.”</strong></p>
<p>After the above boot error message pops up, your system becomes unbootable and its data gets inaccessible. As suggested in the error message, when you run CHKDSK utility, you encounter another error message:</p>
<p>In the master file table (MFT) bitmap, CHKDSK discovered free space marked as allocated. CHKDSK discovered free space marked as allocated in the volume bitmap. Windows found problems with the file system. Run CHKDSK with the /F (fix) option to correct these.</p>
<p>As error message suggest, when you execute CHKDSK utility with ‘/F’ parameter, it shows the same error message. Since the system could not be started, the data saved in the Windows based hard drive remains inaccessible.</p>
<p><strong>Resolution</strong>: In order to overcome the CHKDSK/F failure error message, follow the step mention below:</p>
<p>1. Reinstall Windows XP on your system.<br />
2. Restore the data from an updated backup. In case no backup is available, use a commercial Windows Data Recovery utility. </p>
<p>Such windows data recovery tools use effective recovery techniques to perform complete recovery of all formatted files and folders.</p>
<p>Source: <strong>www.programmersheaven.com</strong></p>
<p><a href="http://get-a-designer.com/" target="_blank">http://get-a-designer.com</a></p>
<p><a href="http://www.all1sourcetech.com" target="_blank">http://www.all1sourcetech.com</a></pre>
]]></content:encoded>
			<wfw:commentRss>http://www.all1sourcetech.com/chkdskf-fails-fix-file-system-problems/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Know- how to resolve &#8216;IN_PAGE_ERROR&#8217; running Microsoft Office Setup</title>
		<link>http://www.all1sourcetech.com/resolve-inpageerror-running-microsoft-office-setup/</link>
		<comments>http://www.all1sourcetech.com/resolve-inpageerror-running-microsoft-office-setup/#comments</comments>
		<pubDate>Mon, 24 May 2010 10:17:06 +0000</pubDate>
		<dc:creator>Naggie</dc:creator>
				<category><![CDATA[Microsoft Technology]]></category>
		<category><![CDATA[Purely Technical]]></category>
		<category><![CDATA[file system]]></category>
		<category><![CDATA[hard disk drive]]></category>
		<category><![CDATA[microsoft outlook]]></category>
		<category><![CDATA[page error]]></category>
		<category><![CDATA[system setup]]></category>

		<guid isPermaLink="false">http://www.all1sourcetech.com/?p=1099</guid>
		<description><![CDATA[File system and hard disk issues can be due to a variety of problems, which includes power outages, improper system maintenance, virus infection, human errors, hardware problems, etc. When this type of problems occurs, then the consequences are directly reflected in operations like installing a new application, accessing an existing file or folder, repairing the [...]]]></description>
			<content:encoded><![CDATA[<p>File system and hard disk issues can be due to a variety of problems, which includes power outages, improper system maintenance, <a href="http://www.all1sourcetech.com" target="_blank">virus infection</a>, human errors, hardware problems, etc. When this type of problems occurs, then the consequences are directly reflected in operations like installing a new application, accessing an existing file or folder, repairing the existing installations, and many more. Thus, one can easily analyze the file system corruption. And In worst cases, you might need to reformat the entire hard drive partitions and seek the help of Partition <a href="http://www.all1tunes.com" target="_blank"><a href="http://www.all1tunes.com" target="_blank">http://www.all1tunes.com</a></a>Recovery tools, especially when no data backup is available. </p>
<p>Let’s check out the problem, which can occur when trying to set up or repair Microsoft Office on a Windows hard disk. Specifically, when you attempt to repair or install Microsoft Office 2002 (XP), Microsoft Office 2003 or Microsoft Office 2007, the setup may exit silently without notifying or displaying any error message on screen. For say, when you try to install or repair Office, it prompts you to specify the Product Identification key, but exits unexpectedly. </p>
<p>For typical Office setup failure, you can examine the associated log file, which is created by Office Setup in \Temp folder in <a href="http://www.all1martpro.com" target="_blank">.txt format</a>. This file might contain one of the below or similar log entries with different module and function: </p>
<p><strong>Exception code</strong>: C0000006 IN_PAGE_ERROR Module: C:\WINDOWS\System32\msi.dll Function: 0&#215;7642452f</p>
<p>Or</p>
<p><strong>Exception code</strong>: C0000006 IN_PAGE_ERROR Module: C:\WINDOWS\system32\IMAGEHLP.dll Function: 0&#215;76c94afa</p>
<p>The depicted problem, as mentioned, is generally the result of file system damage or hard disk problems. Thus, to resolve the problem, consider implementing the solutions mentioned underneath:</p>
<p>&#8216;Analyze&#8217; and then &#8216;Defragment&#8217; the hard disk using Disk Defragmenter tool. To do so, you must have administrative rights to access the partition/volume.</p>
<p>Repair the disk using Autochk.exe, Chkdsk.exe,, and Chkntfs.exe tools. If the problem persists, reformat the hard disk and restore the deleted data from backup. Use a Partition Recovery Software than any kind of backup issues.</p>
<p>Use of a Partition Recovery utility allows to scan the logically crashed hard disk and restore the lost/deleted partitions in just few simple steps.</p>
<p><a href="http://get-a-designer.com/" target="_blank">http://get-a-designer.com</a></p>
<p><a href="http://www.all1sourcetech.com" target="_blank">http://www.all1sourcetech.com</a></pre>
]]></content:encoded>
			<wfw:commentRss>http://www.all1sourcetech.com/resolve-inpageerror-running-microsoft-office-setup/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Creating Complex, Secure Web Forms with PHP and HTML_QuickForm2</title>
		<link>http://www.all1sourcetech.com/creating-complex-secure-web-forms-php-htmlquickform2/</link>
		<comments>http://www.all1sourcetech.com/creating-complex-secure-web-forms-php-htmlquickform2/#comments</comments>
		<pubDate>Sat, 22 May 2010 11:24:01 +0000</pubDate>
		<dc:creator>Naggie</dc:creator>
				<category><![CDATA[Purely Technical]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[html code]]></category>
		<category><![CDATA[php developers]]></category>
		<category><![CDATA[php form]]></category>

		<guid isPermaLink="false">http://www.all1sourcetech.com/?p=1091</guid>
		<description><![CDATA[For PHP developers, HTML_QuickForm2 PEAR package provides a programmatic interface for rigorously defining form controls, value requirements, and user notifications. Using HTML_QuickForm2 helps these developers create usable and secure Web forms without sacrificing visual appeal. This solution takes much of the guesswork out of secure forms development, allowing you to create robust forms with minimal [...]]]></description>
			<content:encoded><![CDATA[<p>For <a href="http://www.all1tunes.com" target="_blank">PHP developers</a>, HTML_QuickForm2 PEAR package provides a programmatic interface for rigorously defining form controls, value requirements, and user notifications. Using HTML_QuickForm2 helps these developers create usable and secure Web forms without sacrificing visual appeal. This solution takes much of the guesswork out of secure forms development, allowing you to create robust forms with minimal time investment.</p>
<p>It will show you how to take advantage of HTML_QuickForm2 to streamline the creation and validation of complex HTML forms.</p>
<p><strong>Installing HTML_QuickForm2</strong></p>
<p>HTML_QuickForm 2 is a <a href="http://www.all1martpro.com" target="_blank">PEAR package</a>, meaning you can install it using the PEAR package installer. Presuming you&#8217;re using the original installer, execute the following command to install HTML_QuickForm2:</p>
<p><span style="color: #008000;">%&gt;pear install &#8211;onlyreqdeps HTML_QuickForm2-alpha</span></p>
<p>When installed, you can begin programmatically creating your forms.</p>
<p><strong>Creating a Form with HTML_QuickForm2</strong></p>
<p>HTML_QuickForm2 is the second incarnation of the aptly-named HTML_QuickForm, rewritten from the ground up to take advantage of the object-oriented (OO) features in PHP 5. Therefore, if you&#8217;re not familiar with the OO development approach, it will take some time to get acquainted with the <a href="http://www.all1sourcetech.com" target="_blank">syntax</a> because forms are created using a rigorous class structure.</p>
<p>Let’s see these examples that hopefully will help elucidate how you can use HTML_QuickForm2 is to create increasingly complex forms.</p>
<p>Figure-1:<br />
<img class="alignnone" src="http://www.developer.com/img/2010/05/html_quickform2_fig1.png" alt="html quickform2 fig1 Creating Complex, Secure Web Forms with PHP and HTML QuickForm2" width="268" height="234" title="Creating Complex, Secure Web Forms with PHP and HTML QuickForm2" /><br />
Figure 1. Creating a Simple Form with HTML_QuickForm2</p>
<p>The form in Figure 1 can be created using approximately 25 lines of code, as shown below.</p>
<pre><span style="color: #008000;">&lt;?php</span>
<span style="color: #008000;"> require_once "HTML/QuickForm2.php";</span>
<span style="color: #008000;"> require_once 'HTML/QuickForm2/Renderer.php';</span>
<span style="color: #008000;"> $format = array(</span>
<span style="color: #008000;"> ''     =&gt; 'Newsletter Format:',</span>
<span style="color: #008000;"> 'text' =&gt; 'Text',</span>
<span style="color: #008000;"> 'html' =&gt; 'HTML'</span>
<span style="color: #008000;"> );</span>
<span style="color: #008000;"> $form = new HTML_QuickForm2('newsletter');</span>
<span style="color: #008000;"> $name = $form-&gt;addText('name')-&gt;setLabel('Your Name:');</span>
<span style="color: #008000;"> $email = $form-&gt;addText('email')-&gt;setLabel('Your E-mail Address:');</span>
<span style="color: #008000;"> $newsletter = $form-&gt;addSelect('format', null, array('options' =&gt; $format));</span>
<span style="color: #008000;"> $newsletter-&gt;setLabel('Preferred Newsletter Format:');</span>
<span style="color: #008000;"> $form-&gt;addElement('submit', null, 'Submit!');</span>
<span style="color: #008000;"> $renderer = HTML_QuickForm2_Renderer::factory('default');</span>
<span style="color: #008000;"> echo $form-&gt;render($renderer);</span>
<span style="color: #008000;">?&gt;</span></pre>
<p>HTML_QuickForm2 offers a series of methods, which are responsible for creating form controls such as text fields (addText())and select boxes (addSelect()). Each of these controls is accompanied by control labels that can be added using the setLabel() method. Finally, HTML_QuickForm2 gives you the flexibility to render forms using a wide variety of approaches, including using the Smarty templating engine and an HTML_QuickForm2_Renderer object.</p>
<p>You can just use the default renderer as demonstrated here, passing that object to the render() method in order to output the form.  Next, let&#8217;s consider the slightly more complex example depicted in Figure 2.</p>
<p><img class="alignnone" src="http://www.developer.com/img/2010/05/html_quickform2_fig2.png" alt="html quickform2 fig2 Creating Complex, Secure Web Forms with PHP and HTML QuickForm2" width="384" height="283" title="Creating Complex, Secure Web Forms with PHP and HTML QuickForm2" /></p>
<p>Figure 2. Creating a More Complex Form Variation</p>
<p>This time, the fieldset tag has been used to create a slightly more organized form structure. Because the form elements appear inside the fieldset boundary, you need to create these elements using the methods exposed through the fieldset object! Neglecting to do so will cause form elements to be rendered outside of the boundary. The following listing creates the form presented in Figure 2.</p>
<p><span style="color: #008000;">&lt;?php</span><br />
<span style="color: #008000;"> require_once &#8220;HTML/QuickForm2.php&#8221;;</span><br />
<span style="color: #008000;"> require_once &#8216;HTML/QuickForm2/Renderer.php&#8217;;</span><br />
<span style="color: #008000;"> $format = array(</span><br />
<span style="color: #008000;"> &#8221; =&gt; &#8216;Newsletter Format:&#8217;,</span><br />
<span style="color: #008000;"> &#8216;text&#8217; =&gt; &#8216;Text&#8217;,</span><br />
<span style="color: #008000;"> &#8216;html&#8217; =&gt; &#8216;HTML&#8217;</span><br />
<span style="color: #008000;"> );</span><br />
<span style="color: #008000;"> $form = new HTML_QuickForm2(&#8217;newsletter&#8217;);</span><br />
<span style="color: #008000;"> $fieldSet = $form-&gt;addFieldset()-&gt;setLabel(&#8217;Subscribe to the Newsletter!&#8217;);</span><br />
<span style="color: #008000;"> $name = $fieldSet-&gt;addText(&#8217;name&#8217;)-&gt;setLabel(&#8217;Your Name:&#8217;);</span><br />
<span style="color: #008000;"> $email = $fieldSet-&gt;addText(&#8217;email&#8217;)-&gt;setLabel(&#8217;Your E-mail Address:&#8217;);</span><br />
<span style="color: #008000;"> $newsletter = $fieldSet-&gt;addSelect(&#8217;format&#8217;, null, array(&#8217;options&#8217; =&gt; $format));</span><br />
<span style="color: #008000;"> $newsletter-&gt;setLabel(&#8217;Preferred Newsletter Format:&#8217;);</span><br />
<span style="color: #008000;"> </span></p>
<p><span style="color: #008000;"> $fieldSet-&gt;addElement(&#8217;submit&#8217;, null, &#8216;Submit!&#8217;);</span><br />
<span style="color: #008000;"> $renderer = HTML_QuickForm2_Renderer::factory(&#8217;default&#8217;);</span><br />
<span style="color: #008000;"> echo $form-&gt;render($renderer);</span><br />
<span style="color: #008000;">?&gt;</span></p>
<p>Try experimenting with creating form controls using the HTML_QuickForm2 object instead of the FieldSet object in order to observe the effects of control location placement.</p>
<p><strong>Validating the Form</strong></p>
<p>The previous two examples demonstrated how easy it is to create and render forms using HTML_QuickForm2, but they did nothing to inspect and validate user input &#8212; not to mention informing users when the form wasn&#8217;t successfully completed. You can configure control-specific validation requirements using theaddRule() method, as shown here:  $name = $form-&gt;addText(&#8217;name&#8217;)-&gt;setLabel(&#8217;Your Name:&#8217;); $name-&gt;addRule(&#8217;required&#8217;, &#8216;Please provide your name.&#8217;);  After having added similar requirements to the other form controls, HTML_QuickForm2 will automatically adjust the rendered form to inform the user of the required fields, as depicted in Figure 3.</p>
<p><img class="alignnone" src="http://www.developer.com/img/2010/05/html_quickform2_fig3.png" alt="html quickform2 fig3 Creating Complex, Secure Web Forms with PHP and HTML QuickForm2" width="390" height="323" title="Creating Complex, Secure Web Forms with PHP and HTML QuickForm2" /></p>
<p>Figure 3. Adding Field Requirements</p>
<p>The required rule is just one of several supported by HTML_QuickForm2. Among others, you can control input lengths, compare the input with some predefined value, and even create your own custom rules using a callback. Consult the HTML_QuickForm2 documentation for the complete details.  Even with the rules added, HTML_QuickForm2 will not actually validate the input until you explicitly call the HTML_QuickForm2 object&#8217;svalidate() method. Therefore, you&#8217;ll need to add the following code somewhere before the form is rendered:</p>
<pre><span style="color: #008000;">if ($form-&gt;validate()) {</span>
<span style="color: #008000;"> echo "&lt;p&gt;SUCCESS!&lt;/p&gt;";</span>
<span style="color: #008000;">}</span></pre>
<p>Of course, in a real-world situation you&#8217;ll want to carry out more than just a simple notification; you likely will add the subscriber&#8217;s information to a database. However, if the user&#8217;s input does not meet the validation requirements, HTML_QuickForm2 will notify the user of the problem, as depicted in Figure 4.</p>
<p><img class="alignnone" src="http://www.developer.com/img/2010/05/html_quickform2_fig4.png" alt="html quickform2 fig4 Creating Complex, Secure Web Forms with PHP and HTML QuickForm2" width="388" height="380" title="Creating Complex, Secure Web Forms with PHP and HTML QuickForm2" /></p>
<p>Figure 4. Displaying Error Messages</p>
<p>You can easily add CSS to the form, thereby making the error messages quite evident.</p>
<p>HTML_QuickForm2 provides developers with the means for rigorously creating and validating forms in a manner that greatly reduces the likelihood of invalid or harmful input while simultaneously reducing the amount of time and effort needed to develop complex form layouts.</p>
<p><a href="http://get-a-designer.com/" target="_blank">http://get-a-designer.com</a></p>
<p><a href="http://www.all1sourcetech.com" target="_blank">http://www.all1sourcetech.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.all1sourcetech.com/creating-complex-secure-web-forms-php-htmlquickform2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to resolve the error 2537 in SQL Server 2000?</title>
		<link>http://www.all1sourcetech.com/resolve-error-2537-sql-server-2000/</link>
		<comments>http://www.all1sourcetech.com/resolve-error-2537-sql-server-2000/#comments</comments>
		<pubDate>Wed, 19 May 2010 12:12:23 +0000</pubDate>
		<dc:creator>Suzanne</dc:creator>
				<category><![CDATA[Database]]></category>
		<category><![CDATA[Purely Technical]]></category>
		<category><![CDATA[database SQL]]></category>
		<category><![CDATA[SQL Database Services]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[SQL Server 2000]]></category>

		<guid isPermaLink="false">http://www.all1sourcetech.com/?p=1084</guid>
		<description><![CDATA[While mounting the database, it could be frustrating to view an error message, which not only results in unmountability of the database, but also in inaccessibility of database records. Such error messages can be caused due to database corruption. Some of the few main reasons responsible for database corruption are metadata structure damage, network issues, [...]]]></description>
			<content:encoded><![CDATA[<p>While mounting the database, it could be frustrating to view an error message, which not only results in unmountability of the <a href="http://www.all1tunes.com" target="_blank">database</a>, but also in inaccessibility of database records. Such error messages can be caused due to database corruption. Some of the few main reasons responsible for database corruption are metadata structure damage, network issues, hardware malfunction, improper system shutdown, and virus infections.</p>
<p>In order to overcome such error messages, the database administrator needs to run an inbuilt repair utility named &#8216;DBCC CHECKDB&#8217;. While this command is competent enough to repair a damaged <a href="http://www.all1social.com" target="_blank">SQL Server 2000</a> database, it might also result in loss of data from the database. To prevent any such data loss situation from occurring, you will need to repair the database by using a powerful MDF Database Repair application.</p>
<p>Lets consider a real-time scenario where you encounter a severity level 16 error message while trying to mount your <a href="http://www.all1martpro.com" target="_blank">SQL Server 2000 database</a>:</p>
<p>“Table error: Object ID O_ID, index ID I_ID, page P_ID, row ROW_ID. Record check (CHECK_TEXT) failed. Values are VALUE1 and VALUE2.”</p>
<p>Once the above error message flashes on the screen, the database records become inaccessible.</p>
<p><strong>Reason</strong>:</p>
<p>Two main reasons liable for the occurrence of 2537 error message are discussed underneath:</p>
<ul>
<li>A condition specified in the CHECK_TEXT statement could not be fulfilled.</li>
<li>The database table is logically or physically damaged.</li>
</ul>
<p><strong>Tips to Resolve</strong>:</p>
<p>To get past the above error message, an easy way is to restore the database from an updated backup. However, if in case backup is not available, and then repair the database using following steps:</p>
<ul>
<li>In case the SQL Server 2000 database table is physically damaged, and then replace the physically damaged component with a new component. To determine the component that is physically damaged, check the system logs.</li>
<li> In case the SQL Server 2000 database table is logically corrupted, then run DBCC CHECKDB command with a suitable repair clause. While doing so, the logical corruption can be resolved, but it might also result in loss of data. To ignore such data loss situations, it is advisable to repair the database using a commercial MDF Repair application. Such MDF File Repair tools are totally non-destructive and keep the original file untouched while repairing.</li>
</ul>
<p><a href="http://get-a-designer.com/" target="_blank">http://get-a-designer.com</a></p>
<p><a href="http://www.all1sourcetech.com" target="_blank">http://www.all1sourcetech.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.all1sourcetech.com/resolve-error-2537-sql-server-2000/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Recovering Linux System after Using Fsck on a Mounted System</title>
		<link>http://www.all1sourcetech.com/recovering-linux-system-fsck-mounted-system/</link>
		<comments>http://www.all1sourcetech.com/recovering-linux-system-fsck-mounted-system/#comments</comments>
		<pubDate>Tue, 18 May 2010 10:19:07 +0000</pubDate>
		<dc:creator>Naggie</dc:creator>
				<category><![CDATA[Linux Technology]]></category>
		<category><![CDATA[Purely Technical]]></category>
		<category><![CDATA[Data Recovery]]></category>
		<category><![CDATA[Linux OS]]></category>
		<category><![CDATA[Linux recovery]]></category>
		<category><![CDATA[Linux System]]></category>
		<category><![CDATA[operating system]]></category>
		<category><![CDATA[Recover Linux Data]]></category>

		<guid isPermaLink="false">http://www.all1sourcetech.com/?p=1081</guid>
		<description><![CDATA[Is there any difficulty that you found while mounting your Linux system disk? The problem could be due to corruption in the file system. In order to address such issues, Linux OS provides fsck utility. It is a command-line utility, which checks integrity and consistency of the Linux file system. In addition it finds errors [...]]]></description>
			<content:encoded><![CDATA[<p>Is there any difficulty that you found while mounting your <a href="http://www.all1tunes.com" target="_blank">Linux system</a> disk? The problem could be due to corruption in the file system. In order to address such issues, <a href="http://www.all1social.com" target="_blank">Linux OS</a> provides fsck utility. It is a command-line utility, which checks integrity and consistency of the Linux file system. In addition it finds errors and fixes them, if possible. However, if you run this utility on a mounted file system, then you may not be able to access the data at all. In such cases, you should use third-party Linux data recovery software to perform <a href="http://www.all1martpro.com" target="_blank">data recovery</a> Linux system.</p>
<p>Consider, you have accidentally run fsck on a mounted Linux OS. The inode root gets damaged and all inodes start calling similar blocks. When you try to mount the volume after fsck, the following error message is discovered:</p>
<p>&#8220;<strong>Mount</strong>: wrong fs type, bad option, bad superblock on /dev/hda1, missing codepage or helper program, or other error. In some cases useful info is found in syslog &#8211; try dmesg | tail or so&#8221;</p>
<p>When you run \dmesg\, as suggested in the error message, another error message may be displayed, that is:</p>
<p>&#8220;ext3-fs: corrupt root inode, run e2fsck&#8221;</p>
<p>And when you run e2fsck, yet another error message is displayed, that is:</p>
<p>&#8220;Root inode is not a directory. Clear?&#8221;</p>
<p>Once you press &#8216;Y&#8217; and proceed with the process, the parent entry of each inode from the root directory will be deleted. The root inode will attempt to recover but if it fails, another error message will be displayed, that is:</p>
<p>&#8220;Cannot Allocate Root Inode&#8221;</p>
<p>After this error message, you will not be able to access your system.</p>
<p><strong>Reason</strong>: This behavior is caused due to corruption of the file system, superblock, root inode, or any other Linux data structure. Because of this, the OS cannot locate the hard disk volumes.</p>
<p><strong>Solution</strong>: </p>
<p>In order to sort out this problem and perform Linux data recovery, you should reformat the hard disk and reinstall the <a href="http://www.all1press.com" target="_blank">Linux operating system</a>. However, that would invariably mean that your valuable data will be lost.</p>
<p>In such cases, you should use a third-party Linux recovery to recover lost data. Such tools are able to Recover Linux data safely by using fast yet sophisticated scanning algorithms.</p>
<p><a href="http://get-a-designer.com/" target="_blank">http://get-a-designer.com</a></p>
<p><a href="http://www.all1sourcetech.com" target="_blank">http://www.all1sourcetech.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.all1sourcetech.com/recovering-linux-system-fsck-mounted-system/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Joomla 1.6 Alpha 2 Released</title>
		<link>http://www.all1sourcetech.com/joomla-16-alpha-2-released/</link>
		<comments>http://www.all1sourcetech.com/joomla-16-alpha-2-released/#comments</comments>
		<pubDate>Wed, 05 May 2010 12:36:32 +0000</pubDate>
		<dc:creator>Naggie</dc:creator>
				<category><![CDATA[Purely Technical]]></category>
		<category><![CDATA[developer]]></category>
		<category><![CDATA[joomla 1.6]]></category>
		<category><![CDATA[Joomla 1.6 Alpha 2]]></category>
		<category><![CDATA[Mootools 1.2]]></category>

		<guid isPermaLink="false">http://www.all1sourcetech.com/?p=1079</guid>
		<description><![CDATA[The Joomla project has released Joomla 1.6 alpha 2, which contains many new features requested by the community; most notably, ACL. Other features are listed below as well as what you can expect in the future for Joomla 1.6.
This is an alpha release. It is intended to be a developer/hobbyist preview and is not intended [...]]]></description>
			<content:encoded><![CDATA[<p>The <strong>Joomla project</strong> has released <a href="http://www.all1tunes.com" target="_blank"><strong>Joomla 1.6</strong></a><strong> alpha 2</strong>, which contains many new features requested by the community; most notably, ACL. Other features are listed below as well as what you can expect in the future for Joomla 1.6.</p>
<p>This is an alpha release. It is intended to be a <a href="http://www.all1press.com" target="_blank">developer</a>/hobbyist preview and is not intended to be used on a production web site.</p>
<p>New improvements/features since alpha 1 include:</p>
<ul>
<li>ACL: access management for global permissions as well as content item specific permissions, variable user groups, users member of more than one usergroup, permissions are inherited, really fast</li>
<li>Extendable user profile, profile view in frontend, extendable user parameters</li>
<li>Tableless com_content layouts</li>
<li>Improved com_content modules (mod_articles_archive, mod_articles_latest, mod_articles_popular)</li>
<li>Article linker <a href="http://www.all1social.com" target="_blank">plugin</a> for editors</li>
<li>New frontend template (atomic)</li>
<li>New backend template (bluestork)</li>
<li>New uploader for media manager</li>
</ul>
<p>Other Joomla 1.6 improvements that existed in alpha 1:</p>
<ul>
<li>Mootools 1.2</li>
<li>Refactored backend</li>
<li>JForm</li>
<li>Nested Categories and category parameters</li>
<li>New views in frontend: categories, category</li>
<li>Lots of small code improvements, almost cut the code size in half while adding to the functionality</li>
<li>PHP 5.2 required, huge performance improvements, partially eaten up by new features =&gt; 1.6 will be faster than 1.5.</li>
</ul>
<p><a href="http://get-a-designer.com/" target="_blank">http://get-a-designer.com</a></p>
<p><a href="http://www.all1sourcetech.com" target="_blank">http://www.all1sourcetech.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.all1sourcetech.com/joomla-16-alpha-2-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to recover a corrupt MS SQL Sever database</title>
		<link>http://www.all1sourcetech.com/recover-corrupt-ms-sql-sever-database/</link>
		<comments>http://www.all1sourcetech.com/recover-corrupt-ms-sql-sever-database/#comments</comments>
		<pubDate>Mon, 03 May 2010 11:05:32 +0000</pubDate>
		<dc:creator>Naggie</dc:creator>
				<category><![CDATA[Expert's Opinions]]></category>
		<category><![CDATA[Purely Technical]]></category>
		<category><![CDATA[database MS SQL]]></category>
		<category><![CDATA[MS SQL]]></category>
		<category><![CDATA[MS SQL Server]]></category>
		<category><![CDATA[MS SQL Server 2000]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[SQL database]]></category>

		<guid isPermaLink="false">http://www.all1sourcetech.com/?p=1077</guid>
		<description><![CDATA[MS SQL Server is a relational database management system (RDBMS), which is specifically developed to be used in the enterprise environment. It provides increased productivity, efficiency, availability, and administrative ease to your organization. 
It’s the case with most of the applications it too can face some errors that may lead to data corruption. The data [...]]]></description>
			<content:encoded><![CDATA[<p>MS SQL Server is a relational <a href="http://www.all1social.com" target="_blank">database management system</a> (RDBMS), which is specifically developed to be used in the enterprise environment. It provides increased productivity, efficiency, availability, and administrative ease to your organization. </p>
<p>It’s the case with most of the applications it too can face some errors that may lead to data corruption. The data corruption cases may arise because of various issues such as power surges, virus infections, human errors, abrupt shutdown when the database is open, etc. In such cases, you should replace the database with an updated backup. And if the backup is not updated and you need the data urgently, then you should use an SQL MDF repair tool that will help you to repair SQL database.</p>
<p>Let’s consider a scenario wherein you have got MS SQL Server installed on your system, and one day when you open the SQL Server database, it fails to open. An error message is displayed.</p>
<p>“Server can&#8217;t find the requested database table.”</p>
<p>Once you encounter this error message, you are unable to access the database.</p>
<p>Cause: Here the error is that the <a href="http://www.all1press.com" target="_blank">SQL database</a> is corrupt and, thus, inaccessible. It may have got corrupt because of various reasons such as virus infections, human errors, power surges, abrupt system shutdown when the <a href="http://www.all1tunes.com" target="_blank">database</a> is open, etc.</p>
<p>Resolution: If the SQL database is not a complex one and there isn&#8217;t huge amount of data, then you should try and rebuild the database. However, if the database is complex and contains huge amount of data, then you should consider using a third-party sql server repair application for mdf repair. Such tools are read-only in nature and do not overwrite the data while scanning the databases using fast yet sophisticated algorithms. Also, these tools have rich interface and enable you to repair the database yourself without the intervention of an expert.</p>
<p>SQL Recovery software is an <a href="http://www.all1martpro.com" target="_blank">MS SQL repair tool</a> that is able to repair SQL databases created in MS SQL Server 2000, 2005, 2008. It can recover all kinds of database components such as tables, defaults, stored procedures, triggers, views and rules. </p>
<p>In addition, it can recover database constraints such as primary key, foreign key, unique key, and check. In addition to all this, it can repair a database even if it is not repairable by the DBCC CHECKDB command. This tool is compatible with Windows 7, Vista, 2003 Server, XP, 2000, and NT.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.all1sourcetech.com/recover-corrupt-ms-sql-sever-database/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to overcome DBF Corruption-</title>
		<link>http://www.all1sourcetech.com/detect-fix-table-corruption-oracle/</link>
		<comments>http://www.all1sourcetech.com/detect-fix-table-corruption-oracle/#comments</comments>
		<pubDate>Mon, 26 Apr 2010 12:29:40 +0000</pubDate>
		<dc:creator>Shweta</dc:creator>
				<category><![CDATA[Opensource]]></category>
		<category><![CDATA[Purely Technical]]></category>
		<category><![CDATA[database corruption]]></category>
		<category><![CDATA[database management]]></category>
		<category><![CDATA[database recovery]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Oracle database]]></category>
		<category><![CDATA[recovery software]]></category>

		<guid isPermaLink="false">http://www.all1sourcetech.com/?p=1070</guid>
		<description><![CDATA[Database computing- major presence of Oracle, Oracle is an RDBMS (Relational Database Management System), developed and marketed by Oracle Corporation. It stores all your valuable data in the DBF file. The DBF file contains all Oracle database objects, such as tables, reports, forms, macros, views, constraints, triggers, stored procedures, and more. 
If any of these [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Database computing- major presence of Oracle</strong>, Oracle is an <a href="http://www.all1sourcetech.com" target="_blank">RDBMS</a> (Relational Database Management System), developed and marketed by Oracle Corporation. It stores all your valuable data in the DBF file. The DBF file contains all Oracle database objects, such as tables, reports, forms, macros, views, constraints, triggers, stored procedures, and more. </p>
<p>If any of these database objects or the entire database gets damaged, you can not access your valuable data from it. In such circumstances, Oracle <a href="http://www.all1press.com" target="_blank">Database Recovery</a> software is required to extract data from the database.</p>
<p>In order to overcome DBF corruption, Oracle offers a number of methods to detect and repair data files. These options include:</p>
<p>DBVerify- It is an external <a href="http://www.all1social.com" target="_blank">command-line utility</a>, which enables you to validate offline data files of Oracle database. In addition to the offline data files, you can also use this utility for checking validity of the backup data files.</p>
<p>ANALYZE &#8230; VALIDATE STRUCTURE- It is used to verify every single data block in the analyzed object. If this tool finds any corruption, rows are added to INVALID_ROWS table.</p>
<p>DB_BLOCK_CHECKING- If DB_BLOCK_CHECKING argument is set as TRUE, Oracle carries out a walk-through of the data in database block for checking whether it&#8217;s self-consistent or not. This block checking process may add 1 to 10% overhead to server. This setting is recommended only if you can accept the overhead.</p>
<p>DBMS_REPAIR- It enables you to find and fix database corruption. This process needs two administration Oracle database tables for holding the list of damaged blocks and the index keys which point to those damaged blocks.</p>
<p>Source: programmersheaven.com</p>
<p><a href="http://www.all1tunes.com" target="_blank">http://www.all1tunes.com</a></p>
<p><a href="http://www.all1martpro.com" target="_blank">http://www.all1martpro.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.all1sourcetech.com/detect-fix-table-corruption-oracle/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DBCC CHECKDB unable to resolve SQL Database corruption</title>
		<link>http://www.all1sourcetech.com/dbcc-checkdb-unable-resolve-sql-database-corruption/</link>
		<comments>http://www.all1sourcetech.com/dbcc-checkdb-unable-resolve-sql-database-corruption/#comments</comments>
		<pubDate>Thu, 22 Apr 2010 11:42:21 +0000</pubDate>
		<dc:creator>Naggie</dc:creator>
				<category><![CDATA[Purely Technical]]></category>
		<category><![CDATA[database recovery]]></category>
		<category><![CDATA[DBCC CHECKDB Command]]></category>
		<category><![CDATA[MySQL database]]></category>
		<category><![CDATA[SQL database]]></category>
		<category><![CDATA[SQL Database Services]]></category>
		<category><![CDATA[sql recovery]]></category>
		<category><![CDATA[SQL Server]]></category>

		<guid isPermaLink="false">http://www.all1sourcetech.com/?p=1068</guid>
		<description><![CDATA[The logical and physical integrity of all SQL Server database tables is performed by DBCC CHECKDB command. The command performs and divides its operations in three different phases. 
The first phase checks the consistency of the allocation structures in disk space, the second phase checks the integrity of all pages and their structures, and the [...]]]></description>
			<content:encoded><![CDATA[<p>The logical and physical integrity of all SQL Server <a href="http://www.all1press.com" target="_blank">database</a> tables is performed by DBCC CHECKDB command. The command performs and divides its operations in three different phases. </p>
<p>The first phase checks the consistency of the allocation structures in disk space, the second phase checks the integrity of all pages and their structures, and the last phase checks the catalog consistency. </p>
<p>If critical errors are found in any of the phases, the <a href="http://www.all1tunes.com" target="_blank">DBCC CHECKDB command</a> terminates immediately. This happens when the SQL Server database is badly corrupted, and is beyond the repairing capabilities of DBCC CHECKDB command. In such cases, if you need to access the database records, then you will need to restore the database records from a valid backup. But, if no backup is available or backup falls short to restore the required amount of data, then you will need to repair the database by using advanced MS SQL Server <a href="http://www.all1social.com" target="_blank">Recovery application</a>.</p>
<p>Let’s consider a practical scenario, where you receive the below error message when you attempt to access one of your table records-</p>
<p><strong>Table error</strong>: Object ID O_ID1, index ID I_ID1 cross-object chain linkage. Page P_ID1 points to P_ID2 in object IDO_ID2, index ID I_ID2.</p>
<p>The above error message primarily results in inaccessibility of all the table records. Additionally, the error message pops up every time you attempt to access the table records.</p>
<p><strong>Cause: Reason of error</strong></p>
<p>The above table error message occurs when the next page pointer of P_ID1 page points to different object. This can happen either due to logical corruption factors or physical crash of a system component.</p>
<p><strong>Resolution: Steps to be used to resolve the above error message</strong></p>
<p>Database table corruption, if caused due to physical damage, can be resolved by changing the damaged system component. For logical table corruption reasons, run DBCC CHECKDB command with appropriate repair clause.</p>
<p>While the physical corruption issues can be resolved easily changing the system component, the probability of logical corruption problems being resolved by DBCC CHECKDB command is slightly less. In such cases, you will need to use advanced Recovery application to repair the database table. A SQL Repair <a href="http://www.all1martpro.com" target="_blank">software</a> can be easily downloaded from Internet.</p>
<p>Source: www.programmersheaven.com</p>
<p><a href="http://get-a-designer.com/" target="_blank">http://get-a-designer.com</a></p>
<p><a href="http://www.all1sourcetech.com" target="_blank">http://www.all1sourcetech.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.all1sourcetech.com/dbcc-checkdb-unable-resolve-sql-database-corruption/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP Development on the Facebook Platform- Build Your App</title>
		<link>http://www.all1sourcetech.com/php-development-facebook-platform-build-app/</link>
		<comments>http://www.all1sourcetech.com/php-development-facebook-platform-build-app/#comments</comments>
		<pubDate>Wed, 21 Apr 2010 10:48:40 +0000</pubDate>
		<dc:creator>Naggie</dc:creator>
				<category><![CDATA[Opensource]]></category>
		<category><![CDATA[Purely Technical]]></category>
		<category><![CDATA[Developer application]]></category>
		<category><![CDATA[FBML tags]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[PHP client library]]></category>
		<category><![CDATA[PHP development]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://www.all1sourcetech.com/?p=1062</guid>
		<description><![CDATA[Facebook API is very powerful and it allows you to create your own Facebook applications, which you, your friends or everyone else can then consume. You can use the Facebook applications you build on profile pages, canvas pages, and so on. You can even make money by developing practical applications. So, let&#8217;s get started with [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Facebook API is very powerful and it allows you to create your own Facebook applications,</strong> which you, your friends or everyone else can then consume. You can use the Facebook applications you build on profile pages, canvas pages, and so on. You can even make money by developing practical applications. So, let&#8217;s get started with creating your own <a href="http://www.all1social.com" target="_blank">Facebook application</a>.</p>
<p><strong>What You Need-</strong></p>
<p>To create your own Facebook application, you should know how to program in one of the supported languages, such as PHP, Ruby on Rails, or Python. With that knowledge, all you need to do to get started is:<br />
<strong> 1. Add Facebook Developer Application to your Facebook account</strong>.<br />
Go to the Facebook Developers page and click &#8220;Add developer.&#8221; This is the central location for all your applications on Facebook. You can request as many as 100 API keys from the applications page, as well as manage and change the settings for all your applications. Now that you have added Facebook Developer Application to your account, let&#8217;s move on to adding your very first application.</p>
<p><strong>2. Add your first Facebook application.</strong><br />
Go back to the Facebook Developers page and click the Set Up New Application button. This will take you to the &#8220;Create Application&#8221; page, where you are required to provide the name of your application and, as a rule, agree to certain terms and conditions.<br />
After saving changes to this page, you will be taken to your application&#8217;s homepage, which serves as your application&#8217;s edit page. You can change all the settings related to your application here, such as its name, description, icon, logo and much more. You can add more developers if you are going to develop the application in a team.<br />
On the same page, Facebook provides you with an API Key and a Secret Key, which are the passports for your application to interact with</p>
<p>Facebook core applications and the outside world. Do not share you secret key with anyone.</p>
<p><strong>Pre-development Changes</strong></p>
<p>To start developing your application, you need to make important changes to the following settings:</p>
<ul>
<li><strong>API Key</strong> – This unique key helps <a href="http://www.all1press.com" target="_blank">Facebook</a> identify whatever request(s) you make. Enclose this API key along with all your requests.</li>
<li><strong>Secret Key </strong>– As mentioned previously, you should keep this key safe and share it with no one, because it is responsible for authenticating your request.</li>
</ul>
<p>Now, click on the Authentication tab, where you need to specify:</p>
<ul>
<li><strong>Post-Authorize Callback URL </strong>– When a user authorizes your application and adds it to a Facebook account, then Facebook pings this URL. So, this URL needs to be your site&#8217;s URL where you application is hosted. This cannot be a URL from Facebook.</li>
<li><strong>Post-Authorize Remove URL</strong> – When your application is removed by a user, this URL will be pinged along with a post request, which will contain the User_id. This process allows you to log which user has removed your application.</li>
</ul>
<p>Now click on the canvas tab, where you need to specify:</p>
<ul>
<li><strong>Canvas Page URL </strong>– Choose a canvas page URL for Facebook, such as http://apps.facebook.com/your-app-name.</li>
<li><strong>Canvas Callback URL</strong> – This is the muscle of your application. Facebook pulls the content from this URL and displays it on the application&#8217;s canvas page. The URL can be where you have your application hosted.</li>
<li><strong>Render Method </strong>– You need to selected this option according to your code. If your code is going to have FBML tags, then you should select &#8220;FBML&#8221; in this option. Otherwise, leave it default as &#8220;iframe&#8221; (for this example, you can choose either).</li>
</ul>
<p>These settings should be enough to get you started with your first Facebook application. Undoubtedly, you can make many other changes to suit your needs in due course.</p>
<p>Now that you have set up the application, let&#8217;s have a look-see at how to put some muscle on your bare-bones application. In this example, you need to use Facebook&#8217;s PHP client library, which is a compressed file. After downloading the client library, extract the files. You will get two folders namely, footprints and php.</p>
<p>Footprints is a sample application provided to help you understand how the Facebook API works. However, because the API functions keep changing, this code might have some deprecated functions. The <a href="http://www.all1tunes.com" target="_blank">php folder</a> contains the library files that you will use to talk back to the Facebook API.</p>
<p><strong>Create a file called index.php and copy the following code into it:</strong></p>
<pre><span style="color: #008000;">&lt;?php</span></pre>
<pre><span style="color: #008000;"> require_once 'php/facebook.php';</span></pre>
<pre><span style="color: #008000;"> $appapikey = 'INPUT YOUR APP KEY HERE';</span></pre>
<pre><span style="color: #008000;">$appsecret = 'INPUT YOUR APP SECRET KEY HERE';</span></pre>
<pre><span style="color: #008000;"> //create the object</span></pre>
<pre><span style="color: #008000;">$facebook = new Facebook($appapikey, $appsecret);</span></pre>
<pre><span style="color: #008000;"> /**</span></pre>
<pre><span style="color: #008000;"> * Check if we have an already logged in user ?</span></pre>
<pre><span style="color: #008000;"> * Yes - Skip the require_login</span></pre>
<pre><span style="color: #008000;"> * No - User is redirected to facebook login page</span></pre>
<pre><span style="color: #008000;"> */</span></pre>
<pre><span style="color: #008000;">if(!is_numeric($facebook-&gt;get_loggedin_user()) || !$facebook-&gt;api_client-&gt;users_hasAppPermission("publish_stream"))</span></pre>
<pre><span style="color: #008000;">  $facebook-&gt;require_login($required_permissions = 'publish_stream');</span></pre>
<pre><span style="color: #008000;"> /**</span></pre>
<pre><span style="color: #008000;"> * In case user reaches here and our application doesn't have proper permissions to publish,</span></pre>
<pre><span style="color: #008000;"> * then display this error message</span></pre>
<pre><span style="color: #008000;"> */</span></pre>
<pre><span style="color: #008000;"> if(!$facebook-&gt;api_client-&gt;users_hasAppPermission("publish_stream"))</span></pre>
<pre><span style="color: #008000;">{</span></pre>
<pre><span style="color: #008000;">  echo 'Darn !! Something just broke !!' ;</span></pre>
<pre><span style="color: #008000;">}</span></pre>
<pre><span style="color: #008000;"> /**</span></pre>
<pre><span style="color: #008000;"> * Check if we have Post data and a status to update</span></pre>
<pre><span style="color: #008000;"> */</span></pre>
<pre><span style="color: #008000;">if($_POST['update_me'] == 1)</span></pre>
<pre><span style="color: #008000;">{</span></pre>
<pre><span style="color: #008000;">    $res=$facebook-&gt;api_client-&gt;stream_publish($_POST['st'],'');</span></pre>
<pre><span style="color: #008000;">  $uid = $facebook-&gt;get_loggedin_user();</span></pre>
<pre><span style="color: #008000;">   $tmp = explode ("_",$res);</span></pre>
<pre><span style="color: #008000;">  if($uid == $tmp[0])</span></pre>
<pre><span style="color: #008000;">  {</span></pre>
<pre><span style="color: #008000;">    echo "Timeline updated successfully, &lt;a href='http://www.facebook.com/?id=$uid'&gt; Go back to your profile page&lt;/a&gt;";</span></pre>
<pre><span style="color: #008000;">  }</span></pre>
<pre><span style="color: #008000;">  else</span></pre>
<pre><span style="color: #008000;">  {</span></pre>
<pre><span style="color: #008000;">    echo "Couldn't update your status, Please try again";</span></pre>
<pre><span style="color: #008000;">  }</span></pre>
<pre><span style="color: #008000;">}</span></pre>
<pre><span style="color: #008000;">/**</span></pre>
<pre><span style="color: #008000;"> * Display the form to update status</span></pre>
<pre><span style="color: #008000;"> */</span></pre>
<pre><span style="color: #008000;">else</span></pre>
<pre><span style="color: #008000;">{</span></pre>
<pre><span style="color: #008000;">  ?&gt;</span></pre>
<pre><span style="color: #008000;"> </span></pre>
<pre><span style="color: #008000;">&lt;form method="POST" action="http://www.your_domain.com/index.php" &gt;</span></pre>
<pre><span style="color: #008000;">  &lt;input value="1"/&gt;</span></pre>
<pre><span style="color: #008000;">  &lt;textarea&gt;&lt;/textarea&gt; &lt;br&gt;</span></pre>
<pre><span style="color: #008000;">  &lt;input value="Update status" /&gt;</span></pre>
<pre><span style="color: #008000;"> &lt;/form&gt;</span></pre>
<pre><span style="color: #008000;">  &lt;?php</span></pre>
<pre><span style="color: #008000;">}</span></pre>
<pre><span style="color: #008000;">?&gt;</span></pre>
<form action="http://www.your_domain.com/index.php" method="POST">
<input type="hidden" name="phpMyAdmin" value="IRV7Xa3MPvAoZ-AWDkV3jRY6ow3" />
<div style="text-align: left;"><strong>Important Tasks to Remember</strong></div>
</form>
<p style="text-align: left;">Make sure you complete the following tasks to properly build your application:</p>
<ol>
<li>Include the library file (facebook.php) and change the path in require_once to match your folder hierarchy.</li>
<li>Copy/paste the API key and secret key before trying to use your application. It won&#8217;t work without these anyhow.</li>
<li>Input the canvas page URL right to the path of the script on your server/domain.</li>
</ol>
<p>When you execute the above script, it will look for logged in users, if any. If a user is not logged in, then it redirects the user to the Facebook login page. This is also handled by the require_login function, but the problem with require_login is that it redirects so often that any post data to your page is lost. So, you have put a check before calling the require_login function. In the same line, you also check whether or not your application has permission to post updates onto a user&#8217;s stream. If you do not have permission, the user is prompted to allow your application.</p>
<p>When you have permissions and post data, the status is updated to the user. When a status is successfully posted, a response of the typeuserid_postid is returned. If it fails, then different error codes are returned. Find a list of error codes on Facebook&#8217;s wiki page.</p>
<p>You can extend the above code to suit your requirements. If you feel confident, you can move on to write some advanced programs using FBJS and XFBML. Other than that, you should keep abreast of any functions that Facebook deprecates &#8212; particularly those that your code might be using. Otherwise, your application might crash all of a sudden.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.all1sourcetech.com/php-development-facebook-platform-build-app/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to Avert and Resolve Oracle Database Corruption</title>
		<link>http://www.all1sourcetech.com/avert-resolve-oracle-database-corruption/</link>
		<comments>http://www.all1sourcetech.com/avert-resolve-oracle-database-corruption/#comments</comments>
		<pubDate>Fri, 16 Apr 2010 11:35:02 +0000</pubDate>
		<dc:creator>Shweta</dc:creator>
				<category><![CDATA[Editorial]]></category>
		<category><![CDATA[Purely Technical]]></category>
		<category><![CDATA[administrator]]></category>
		<category><![CDATA[Database]]></category>
		<category><![CDATA[database record]]></category>
		<category><![CDATA[database recovery]]></category>
		<category><![CDATA[Oracle database]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Window XP]]></category>

		<guid isPermaLink="false">http://www.all1sourcetech.com/?p=1059</guid>
		<description><![CDATA[A database administrator needs to perform various operations like performing incremental backups, identifying and resolving network issues, viewing archive log destination, error generation in alert log, etc. in order to ensure that the database always remains in a running state. However, the possibility of database corruption exists due to human mistakes, virus attacks, and hardware [...]]]></description>
			<content:encoded><![CDATA[<p>A <strong>database administrator needs to perform</strong> various operations like performing incremental backups, identifying and resolving network issues, viewing archive log destination, error generation in alert log, etc. in order to ensure that the database always remains in a running state. However, the possibility of database corruption exists due to human mistakes, virus attacks, and hardware corruption. </p>
<p>Database remains unmountable in most cases after it is corrupted, further rendering to inaccessibility of all its records. In such situations, if the administrator wants to access the <a href="http://www.all1social.com" target="_blank">Oracle database records</a>, then he/she will need to use a cold backup to restore the database. However, if the administrator has not created any backup or the backup is not sufficient to meet all his/her requirements, then he/she needs to use an advanced third-party Oracle <a href="http://www.all1martpro.com" target="_blank">Recovery utility</a> to repair the database.</p>
<p><strong>Let’s consider a practical case, where you, as a database administrator, perform below steps: </strong></p>
<p>1.You copy your database file when your database is alive.<br />
2. Then you update the table stored in the data file.<br />
3. After this, you shutdown the database using &#8217;shutdown immediate&#8217; command and change the datafile with its &#8216;alive&#8217; copy.</p>
<p>After this, when you <strong>try to mount your Oracle database</strong>, it does not mount. The <strong>reason </strong>is-</p>
<p>The <strong>fundamental reason for unmountability of the database</strong> is corruption in datafile. To prevent the <a href="http://www.all1press.com" target="_blank">corruption of datafile</a>, you should never follow the above steps sequentially. </p>
<p><strong>Resolution</strong>: </p>
<p>It is advisable to restore the database from a standby database in order to resolve datafile corruption and to mount your Oracle database. However, if no such database exists, then you will <a href="http://www.all1tunes.com" target="_blank">need to repair</a> the database. To effectively do so, you will need to search for a commercial dbf recovery application that can repair your corrupted database.</p>
<p>A <strong>repair tool to recover Oracle database</strong> and to bring it back to a reusable state can be easily downloaded from the Internet. Such tools can Recover Oracle Database after any logical corruption scenario using powerful recovery algorithms. Moreover, these tools do not make any change in the original database, making them completely non-destructive in nature.</p>
<p>For most of the Oracle database administrators, Oracle Recovery Software is a utility that they use to recover Oracle database after all kinds of logical crashes. The tool supports recovery of Oracle 9i databases. Designed for Windows XP and 2003, the read only software leaves the original database untouched and unmodified.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.all1sourcetech.com/avert-resolve-oracle-database-corruption/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Remove unprintable or invisible characters from string in VB.net</title>
		<link>http://www.all1sourcetech.com/remove-unprintable-invisible-characters-string-vbnetremove-unprintable-invisible-characters-string-vbnet/</link>
		<comments>http://www.all1sourcetech.com/remove-unprintable-invisible-characters-string-vbnetremove-unprintable-invisible-characters-string-vbnet/#comments</comments>
		<pubDate>Mon, 12 Apr 2010 11:08:55 +0000</pubDate>
		<dc:creator>Naggie</dc:creator>
				<category><![CDATA[Purely Technical]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[all1sourcetech]]></category>
		<category><![CDATA[unprintable character]]></category>
		<category><![CDATA[vb.net]]></category>
		<category><![CDATA[vb.net string]]></category>

		<guid isPermaLink="false">http://www.all1sourcetech.com/?p=1050</guid>
		<description><![CDATA[This function will help to remove all invisible characters in vb.net string
Public Function Remove(ByVal str As String) As String
        Remove = str
        Dim x As Long
        ' remove all non-printable characters
    [...]]]></description>
			<content:encoded><![CDATA[<p>This function will help to remove all <a href="http://www.all1martpro.com" target="_blank">invisible characters</a> in <a href="http://www.all1tunes.com" target="_blank">vb.net</a> string</p>
<pre><span style="color: #0000ff;">Public Function</span> Remove(ByVal str <span style="color: #0000ff;">As</span> String) <span style="color: #0000ff;">As String</span>
        Remove = str
        <span style="color: #0000ff;">Dim</span> x <span style="color: #0000ff;">As Long</span>
       <span style="color: #008000;"> ' remove all non-printable characters</span>
        <span style="color: #0000ff;">While</span> InStr(Remove, vbCrLf) &gt; 0
            Remove = Replace(Remove, vbCrLf, String.Empty)
        <span style="color: #0000ff;">End While</span>

        <span style="color: #0000ff;">While</span> InStr(Remove, vbTab) &gt; 0
            Remove = Replace(Remove, vbTab, String.Empty)
        <span style="color: #0000ff;">End While</span>

        <span style="color: #0000ff;">For</span> x = 0 <span style="color: #0000ff;">To</span> 31
            <span style="color: #0000ff;">While</span> InStr(Remove, Chr(x)) &gt; 0
                Remove = Replace(Remove, Chr(x), String.Empty)
            <span style="color: #0000ff;">End While</span>
        <span style="color: #0000ff;">Next x</span>

        <span style="color: #0000ff;">For</span> x = 127 <span style="color: #0000ff;">To</span> 255
            <span style="color: #0000ff;">While</span> InStr(Remove, Chr(x)) &gt; 0
                Remove = Replace(Remove, Chr(x), String.Empty)
            <span style="color: #0000ff;">End While</span>
       <span style="color: #0000ff;"> Next x</span>

        <span style="color: #008000;">'Dim s = New String(" ", 2)
        'While InStr(Remove, s) &gt; 0
        '    Remove = Replace(Remove, s, " ")
        'End While</span>
    <span style="color: #0000ff;">End Function</span></pre>
<p><a href="http://www.all1social.com" target="_blank">http://www.all1social.com</a></p>
<p><a href="http://get-a-designer.com/" target="_blank">http://get-a-designer.com</a></p>
<p><a href="http://www.all1sourcetech.com" target="_blank">http://www.all1sourcetech.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.all1sourcetech.com/remove-unprintable-invisible-characters-string-vbnetremove-unprintable-invisible-characters-string-vbnet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to generate readable/remeberable random password?</title>
		<link>http://www.all1sourcetech.com/generate-readableremeberable-random-password/</link>
		<comments>http://www.all1sourcetech.com/generate-readableremeberable-random-password/#comments</comments>
		<pubDate>Sat, 27 Mar 2010 10:33:42 +0000</pubDate>
		<dc:creator>Naggie</dc:creator>
				<category><![CDATA[Purely Technical]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[array]]></category>
		<category><![CDATA[developers design]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.all1sourcetech.com/?p=1048</guid>
		<description><![CDATA[&#60;?php
$randPwd = generatePassword(12);
?&#62;
Fast, simple, and easy way to generate readable/remeberable random password
 
&#60;?php
//Generates readable/rememberable random password.
function generatePassword($length = 6) {
$chars = array(&#8221;a&#8221;, &#8220;b&#8221;, &#8220;c&#8221;, &#8220;d&#8221;, &#8220;e&#8221;, &#8220;f&#8221;, &#8220;g&#8221;, &#8220;h&#8221;, &#8220;i&#8221;, &#8220;j&#8221;, &#8220;k&#8221;, &#8220;l&#8221;, &#8220;m&#8221;, &#8220;o&#8221;, &#8220;p&#8221;, &#8220;r&#8221;, &#8220;s&#8221;, &#8220;t&#8221;, &#8220;u&#8221;, &#8220;v&#8221;, &#8220;x&#8221;,&#8221;y&#8221;, &#8220;z&#8221;);
$vocals = array(&#8221;a&#8221;, &#8220;e&#8221;, &#8220;i&#8221;, &#8220;o&#8221;, &#8220;u&#8221;);
$password = &#8220;&#8221;;
mt_srand ((double) microtime() * 1000000);
for ($i = [...]]]></description>
			<content:encoded><![CDATA[<p><span style="color: #008000;">&lt;?php<br />
$randPwd = generatePassword(12);<br />
?&gt;</span></p>
<p>Fast, simple, and easy way to generate readable/remeberable random password<br />
<strong> </strong></p>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 100px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;?php</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 100px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">//Generates readable/rememberable random password.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 100px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">function generatePassword($length = 6) {</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 100px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">$chars = array(&#8221;a&#8221;, &#8220;b&#8221;, &#8220;c&#8221;, &#8220;d&#8221;, &#8220;e&#8221;, &#8220;f&#8221;, &#8220;g&#8221;, &#8220;h&#8221;, &#8220;i&#8221;, &#8220;j&#8221;, &#8220;k&#8221;, &#8220;l&#8221;, &#8220;m&#8221;, &#8220;o&#8221;, &#8220;p&#8221;, &#8220;r&#8221;, &#8220;s&#8221;, &#8220;t&#8221;, &#8220;u&#8221;, &#8220;v&#8221;, &#8220;x&#8221;,&#8221;y&#8221;, &#8220;z&#8221;);</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 100px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">$vocals = array(&#8221;a&#8221;, &#8220;e&#8221;, &#8220;i&#8221;, &#8220;o&#8221;, &#8220;u&#8221;);</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 100px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">$password = &#8220;&#8221;;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 100px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">mt_srand ((double) microtime() * 1000000);</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 100px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">for ($i = 1; $i &lt;= $length; $i++)</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 100px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">$password .= ($i % 2 == 0)?$chars[mt_rand(0, count($chars) - 1)]:$vocals[mt_rand(0,count($vocals) - 1)];</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 100px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">return $password;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 100px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">}</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 100px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">?&gt;</div>
<pre><span style="color: #008000;"><span style="color: #008000;">&lt;?php</span><span style="color: #008000;">

</span></span><span style="color: #008000;"><span style="color: #008000;">//</span><span style="color: #008000;">Generates readable/rememberable random password</span><span style="color: #008000;">.</span></span><span style="color: #008000;"><span style="color: #008000;">
function </span><span style="color: #008000;">generatePassword($length = 6) {</span><span style="color: #008000;">
       </span><span style="color: #008000;">$chars =</span><span style="color: #008000;"> </span></span></pre>
<pre><span style="color: #008000;"><span style="color: #008000;">        array(</span><span style="color: #008000;"><span style="color: #008000;">"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "o", "p", "r", "s", "t", "u", "v", "x","y", "z");
       </span><span style="color: #008000;">$vocals</span><span style="color: #008000;"> = array("a", "e", "i", "o", "u"</span></span><span style="color: #008000;">)</span><span style="color: #008000;">;
       </span><span style="color: #008000;">$password </span><span style="color: #008000;">= "";
       </span><span style="color: #008000;">mt_srand ((double) microtime() * 1000000)</span><span style="color: #008000;">;
       for ($i = 1; $i &lt;= $length; $i++)
           $password .= ($i % 2 == 0)?$chars[mt_rand(0, count($chars) - 1)]:$vocals[mt_rand(0,count($vocals) - 1)];
return $password;
}
?&gt;</span></span></pre>
<p><a href="http://get-a-designer.com/" target="_blank">http://get-a-designer.com</a></p>
<p><a href="http://www.all1sourcetech.com" target="_blank">http://www.all1sourcetech.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.all1sourcetech.com/generate-readableremeberable-random-password/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Inside JSF 2.0&#8217;s Ajax and HTTP GET Support</title>
		<link>http://www.all1sourcetech.com/jsf-20s-ajax-http-support/</link>
		<comments>http://www.all1sourcetech.com/jsf-20s-ajax-http-support/#comments</comments>
		<pubDate>Wed, 17 Mar 2010 11:46:31 +0000</pubDate>
		<dc:creator>Naggie</dc:creator>
				<category><![CDATA[Expert's Opinions]]></category>
		<category><![CDATA[Purely Technical]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[http support]]></category>
		<category><![CDATA[Java Web framework]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[JSF 2.0's Ajax]]></category>
		<category><![CDATA[onlinequiz]]></category>

		<guid isPermaLink="false">http://www.all1sourcetech.com/?p=1043</guid>
		<description><![CDATA[With support for these techniques, this newest version of the Java component UI framework enables developers to build truly dynamic web pages simply and easily.
At the highest level, JSF technology provides an API for creating, managing, and handling UI components and a tag library for using components within a web page. The JSF 2.0 release [...]]]></description>
			<content:encoded><![CDATA[<p>With support for these techniques, this newest version of the Java component UI framework enables developers to build truly dynamic web pages simply and easily.</p>
<p>At the highest level, <a href="http://www.all1martpro.com" target="_blank">JSF technology</a> provides an API for creating, managing, and handling UI components and a tag library for using components within a web page. The JSF 2.0 release simplifies the web developer&#8217;s life by providing the following:</p>
<ul>
<li>Reusable UI components for easy authoring of web pages</li>
<li>Well defined and simple transfer of application data to and from the UI</li>
<li>Easy state management across server requests</li>
<li>Simplified event handling model</li>
<li>Easy creation of custom UI components</li>
</ul>
<p>For GET requests and Ajax integration, we need to drill down into JSF 2.0’s support, as well as the productive features that this support makes possible. The demo application is an online quiz that allows a registered user to answer five simple questions that test his or her general knowledge. Towards the end of the quiz, the application displays the score.</p>
<p><strong>Using GET Requests in JSF 2.0</strong></p>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 247px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">To support GET requests, JSF 2.0 introduced the concept of View Parameters. View Parameters provide a way to attach query parameters to URLs. You use the tag &lt;f:viewParam&gt; to specify the query parameters.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 247px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Take this code for example:</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 247px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;f:metadata&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 247px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;f:viewParam name=&#8221;previousScore&#8221; value=&#8221;#{recordBean.oldScore}&#8221; /&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 247px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;/f:metadata&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 247px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">In this example, the value of the parameter previousScore will be automatically picked up and pushed into the property oldScore of the recordBean. So, when a request like this comes for a URL:</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 247px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">displayData.jspx?previousScore=10</div>
<p>To support GET requests, JSF 2.0 introduced the concept of View Parameters. View Parameters provide a way to attach query parameters to URLs. You use the tag <strong>&lt;f:viewParam&gt;</strong> to specify the query parameters.</p>
<p><strong>Take this code for example:</strong></p>
<p><span style="color: #008000;">&lt;f:metadata&gt;</span></p>
<p><span style="color: #008000;">&lt;f:viewParam name=&#8221;previousScore&#8221; value=&#8221;#{recordBean.oldScore}&#8221; /&gt;</span></p>
<p><span style="color: #008000;">&lt;/f:metadata&gt;</span></p>
<p>In this example, the value of the parameter previousScore will be automatically picked up and pushed into the property oldScore of the recordBean. So, when a request like this comes for a URL:</p>
<p><strong>displayData.jspx?previousScore=10</strong></p>
<p>The value of the bean property oldScore will be set to 10 when the request is processed, which avoids manually setting the value or using a listener. Another interesting point to notice is that like any other component the  tag <strong>&lt;f:viewParam&gt;</strong> supports conversion and validation. Hence, there is no need for separate conversion/validation logic.</p>
<p><strong>The new tags in JSF 2.0 related to support for the GETrequest.</strong></p>
<p><strong>h:button</strong> :- Renders a button that generates a GET request without any handcoding of URLs</p>
<p><strong>h:link</strong> :- Renders a link that generates a GET request without any handcoding of URLs</p>
<p><strong>h:outputStylesheet</strong> :- Refers to a CSS resource</p>
<p><strong>h:outputScript</strong> :- Refers to a JavaScript resource</p>
<p><strong>f:event</strong> :- Registers a specification-defined or a user-defined event</p>
<p><strong>f:ajax</strong> :- Enables associated component(s) to make Ajax calls</p>
<p><strong>f:metadata</strong> :- Declares the metadata facet for this view</p>
<p><strong>f:viewParam</strong> :- Used in  to define a view parameter that associates a request parameter to a model property</p>
<p><strong>f:validateBean</strong> :- Delegates the validation of the local value to the Bean Validation API</p>
<p><strong>f:validateRegex</strong> :- Uses the pattern attribute to validate the wrapping component</p>
<p><strong>f:validateRequired</strong> :- Ensures the presence of a value</p>
<p><strong>Bookmarking Support</strong></p>
<p>Because all <a href="http://www.all1social.com" target="_blank">JSF 1.x interactions</a> with the server use only HTTP POST requests, those JSF versions don&#8217;t support bookmarking pages in a web application. Even though some tags supported the construction of URLs, it was a manual process with no support for dynamic URL generation. JSF 2.0&#8217;s support for HTTP GET requests provides the bookmarking capability with the help of new renderer kits.</p>
<p>A new UI component UIOutcomeTarget provides properties that you can use to produce a hyperlink at render time. The component allows bookmarking pages for a button or a link.</p>
<p>The two HTML tags that support bookmarking are h:link and h:button. Both generate URLs based on the outcome property of the component, so that the author of the page no longer has to hard code the destination URL. These components use the JSF navigation model to decide the appropriate destination.</p>
<p><strong>Take the following code for example:</strong></p>
<p><span style="color: #008000;">&lt;h:link outcome=&#8221;login&#8221; value=&#8221;LoginPage&#8221; &gt;</span></p>
<p><span style="color: #008000;">&lt;f:param name=&#8221;Login&#8221; value=&#8221;#{loginBean.uname }&#8221; /&gt;</span></p>
<p><span style="color: #008000;">&lt;/h:link&gt;</span></p>
<p>This bookmarking feature provides an option for pre-emptive navigation (i.e., the navigation is decided at the render response time before the user has activated the component). This pre-emptive navigation is used to convert the logical outcome of the tag into a physical destination. At render time, the <a href="http://www.all1tunes.com" target="_blank">navigation system</a> is consulted to map the outcome to a target view ID, which is then transparently converted into the destination URL. This frees the page author from having to worry about manual URL construction.</p>
<p><strong>Support for Ajax</strong></p>
<p>The default implementation provides a single <a href="http://www.all1press.com" target="_blank">JavaScript resource</a> that has the resource identifier jsf.js. This resource is required for Ajax, and it must be available under the javax.faces library. The annotation@ResourceDependency is used to specify the Ajax resource for the components, the JavaScript function <strong>jsf.ajax.request</strong> is used to send information to the server in an asynchronous way, and the JavaScript function <strong>jsf.ajax.response</strong> is used for sending the information back from the server to the client.</p>
<p>On the client side, the API <strong>jsf.ajax.request</strong> is used to issue an Ajax request. When the response has to be rendered back to the client, the callback previously provided by jsf.ajax.request is invoked. This automatically updates the client-side DOM to reflect the newly rendered markup.</p>
<p><strong>The two ways to send an Ajax request by registering an event callback function are:</strong></p>
<ul>
<li>Use the JavaScript function jsf.ajax.request</li>
<li>Use the <strong>&lt;f:ajax&gt;</strong> tag</li>
</ul>
<p><strong>JavaScript Function jsf.ajax.request</strong></p>
<p>The function <strong>jsf.ajax.request</strong>(source, event, options) is used to send an asynchronous Ajax request to the server. The code snippet below shows how you can use this function:</p>
<p><span style="color: #008000;">&lt;commandButton id=&#8221;newButton&#8221; value=&#8221;submit&#8221;</span></p>
<p><span style="color: #008000;">onclick=&#8221;jsf.ajax.request(this,event,</span></p>
<p><span style="color: #008000;">{execute:&#8217;newButton&#8217;,render:&#8217;status&#8217;,onevent: handleEvent,onerror: handleError});return false;&#8221;/&gt;</span></p>
<p><span style="color: #008000;">&lt;/commandButton/&gt;</span></p>
<p>The first argument in the function represents the DOM element that made an Ajax call, while the second argument (which is optional) corresponds to the DOM event that triggered this request. The third argument is composed of a set of parameters, which is sent mainly to control the client/server processing. The available options are execute, render, onevent, onerror, and params.</p>
<p><strong>&lt;f:ajax&gt; Tag</strong></p>
<p><strong>JSF 2.0</strong> enables page authoring with <strong>&lt;f:ajax&gt;</strong>, which is a declarative approach for making Ajax requests. You can use this tag instead of manually coding the JavaScript for Ajax request calls. This tag serves two roles, depending on the placement. You can nest it within any <strong>HTML component or custom component</strong>. If you nest it with a single component, it will associate an Ajax action with that component.</p>
<p>The <strong>&lt;f:ajax&gt;</strong> <strong>tag </strong>has four important attributes:</p>
<ul>
<li><strong>render </strong>– ID or a space-delimited list of component identifiers that will be updated as a result of the Ajax call</li>
<li><strong>execute </strong>– ID or a space-delimited list of component identifiers that should be executed on the server</li>
<li><strong>event </strong>– The type of event the Ajax action will apply to (refers to a JavaScript event without the on prefix)</li>
<li><strong>onevent </strong>– The JavaScript function to handle the event</li>
</ul>
<p>Consider the following code from the login page of the online quiz application. The code validates the input of the email field by sending an Ajax call for every keystroke. The validation is done by a managed bean method that acts as a value change listener.</p>
<p><span style="color: #008000;">&lt;h:inputText label=&#8221;eMail ID&#8221;   id=&#8221;emailId&#8221; value=&#8221;#{userBean.email}&#8221; size=&#8221;20&#8243;</span></p>
<p><span style="color: #008000;">required=&#8221;true&#8221; valueChangeListener=&#8221;#{userBean.validateEmail}&#8221;&gt;</span></p>
<p><span style="color: #008000;">&lt;f:ajax event=&#8221;keyup&#8221; render=&#8221;emailResult&#8221;/&gt;</span></p>
<p><span style="color: #008000;">&lt;/h:inputText&gt;</span></p>
<p><span style="color: #008000;">&#8230;</span></p>
<p><span style="color: #008000;">&lt;h:outputText id=&#8221; emailResult&#8221; value=&#8221;#{userBean.emailPrompt}&#8221; /&gt;</span></p>
<p style="text-align: center;"><img class="aligncenter" src="http://www.developer.com/img/2010/03/OnlineQuizAjax_Fig1.JPG" alt=" Inside JSF 2.0s Ajax and HTTP GET Support" width="715" height="302" title="Inside JSF 2.0s Ajax and HTTP GET Support" /></p>
<p>Using Ajax to Validate the Input: The online quiz application validates email field input by sending an Ajax call for every keystroke.</p>
<p>Here, <strong>&lt;f:ajax&gt;</strong> is nested within the emailId inputText component. For every keyup event that is generated, an Ajax call is sent to the server, which invokes the valueChangeListener. By default, the component in which the tag is nested is executed on the server. So, the execute attribute is not specified. Also, for an input component, the default event is valueChange, so the event attribute is also not used. The render attribute indicates that the outputText component emailResult should be updated after the Ajax call.</p>
<p>If you place this tag around a group of components, it will associate an Ajax action with all the components that support the events attribute.</p>
<p><span style="color: #008000;">&lt;f:ajax event=&#8221;mouseover&#8221;&gt;</span></p>
<p><span style="color: #008000;">&lt;h:inputText id=&#8221;input1&#8243; &#8230;/&gt;</span></p>
<p><span style="color: #008000;">&lt;h:commandLink id=&#8221;link1&#8243; &#8230;/&gt;</span></p>
<p><span style="color: #008000;">&lt;/f:ajax&gt;</span></p>
<p><strong>In this example, input1 and link1 will exhibit Ajax behavior on a mouseover event.</strong></p>
<p><span style="color: #008000;">&lt;f:ajax event=&#8221;mouseover&#8221;&gt;</span></p>
<p><span style="color: #008000;">&lt;h:inputText id=&#8221;input1&#8243; &#8230;&gt;</span></p>
<p><span style="color: #008000;">&lt;f:ajax event=&#8221;keyup&#8221;/&gt;</span></p>
<p><span style="color: #008000;">&lt;/h:inputText&gt;</span></p>
<p><span style="color: #008000;">&lt;h:commandLink id=&#8221;link1&#8243; &#8230;/&gt;</span></p>
<p><span style="color: #008000;">&lt;/f:ajax&gt;</span></p>
<p>In this example, input1 and link1 exhibit Ajax behavior on keyup and mouseover events, respectively.</p>
<p>Using the Ajax tag enhances the markup of the associated component to include a script that triggers the Ajax request. This the page author to issue Ajax requests without having to write any JavaScript code.</p>
<p>These new features enable developers to build truly dynamic web pages simply and easily.</p>
<p><a href="http://www.developer.com/" target="_blank">http://www.developer.com</a></p>
<p><a href="http://www.all1sourcetech.com" target="_blank">http://www.all1sourcetech.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.all1sourcetech.com/jsf-20s-ajax-http-support/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Use JavaMail to Automate Email Distribution</title>
		<link>http://www.all1sourcetech.com/javamail-automate-email-distribution/</link>
		<comments>http://www.all1sourcetech.com/javamail-automate-email-distribution/#comments</comments>
		<pubDate>Sat, 06 Mar 2010 10:33:52 +0000</pubDate>
		<dc:creator>Suzanne</dc:creator>
				<category><![CDATA[Editorial]]></category>
		<category><![CDATA[Purely Technical]]></category>
		<category><![CDATA[code list]]></category>
		<category><![CDATA[email distribution]]></category>
		<category><![CDATA[Internet Protocol]]></category>
		<category><![CDATA[java code]]></category>
		<category><![CDATA[javamail]]></category>
		<category><![CDATA[javamail API]]></category>
		<category><![CDATA[MimeMultipart]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.all1sourcetech.com/?p=1023</guid>
		<description><![CDATA[Every action can possibly be automated with software, then why not automate the email distribution to end-users/customers. In this case, the JavaMail API, currently in version 1.4.3, can support this development in a protocol-independent manner and remain platform independent as always.
Here&#8217;s the JavaMail code for sending the email:
import javax.mail.*;
import javax.mail.internet.*;
import java.util.*;
import java.io.*;
class EmailClient
{
   [...]]]></description>
			<content:encoded><![CDATA[<p>Every action can possibly be automated with software, then why not automate the email distribution to end-users/customers. In this case, the JavaMail API, currently in <a href="http://www.all1martpro.com" target="_blank">version 1.4.3</a>, can support this development in a protocol-independent manner and remain platform independent as always.</p>
<p>Here&#8217;s the <strong>JavaMail code for sending the email</strong>:</p>
<p><strong>import javax.mail.*;<br />
import javax.mail.internet.*;<br />
import java.util.*;<br />
import java.io.*;</strong></p>
<pre><span style="color: #008000;">class EmailClient
{
    final String emailInfo = "EmailInfo.properties";
    Properties properties = new Properties();

    public static void main(String args[])
    {
        EmailClient emailClient = new EmailClient ();
        emailClient.sendEmail();
    }

    private void sendEmail()
    {
       try{
            //This is required to load all the properties
           FileInputStream fileInputStream = new FileInputStream(emailInfo);
           properties.load(fileInputStream);
           fileInputStream.close();
        }catch(IOException ioe)
       {
            //throw IOException of your choice.
            //can end here
       }
        System.out.println("Email properties read successfully.");

       String smtpAddress = properties.getProperty("smtpAddress");
       String fromAddress = properties.getProperty("fromAddress");
       String toAddress = properties.getProperty("toAddress");
       String emailSubject = properties.getProperty("emailSubject");
       String emailBody = properties.getProperty("emailBody");

       Properties props = new Properties();
        props.put("mail.smtp.host", smtpAddress);
        props.put("mail.from", fromAddress);
       Session session = Session.getInstance(props, null);

       try
       {
           MimeMessage mimeMessage = new MimeMessage(session);
           mimeMessage.setRecipients(Message.RecipientType.TO,toAddress);
           mimeMessage.setSentDate(new Date());
           mimeMessage.setSubject(emailSubject);
           mimeMessage.setText(emailBody);
           System.out.println("Sending e-mail...");
           Transport.send(mimeMessage);
           System.out.println("e-mail sent.");
       }
        catch(MessagingException me)
       {
           System.out.println("e-mail send failed.");
           me.getMessage();
       }
    }
}</span></pre>
<p>The code is fairly simple to understand:</p>
<ul>
<li>The properties have been loaded for the email to be sent from a properties file. This could come from any other source, such as hardcoded values, a database, a user interface, etc.</li>
<li>The processed information is updated to the <a href="http://www.all1tunes.com" target="_blank">MimeMessage object</a>, which is the actual email object. (The MIME, or Multipurpose Internet Mail Extensions, is an Internet standard that specifies how messages must be formatted for interoperability.)</li>
<li>MimeMessage takes a session argument, which can either be created or refer to the <a href="http://www.all1social.com" target="_blank">default session</a>.</li>
<li>The session—important in any context and used here for the email—is established using the properties mail.smtp.host and mail.from.</li>
<li>Other details such as the date, subject, and the body of the email, which will be used when the email is sent, are being set out.</li>
<li>Finally, the email is dispatched using the send() method of the Transport class.</li>
<li>The entire email information is made available in a properties file. Here are the contents of the properties file for this application:</li>
</ul>
<p><strong>smtpAddress=smtp.server.address<br />
fromAddress=myself@me.com<br />
toAddress=someone@you.com<br />
emailSubject=First email<br />
emailBody=My first email</strong></p>
<p>It’s stated previously that the source of the required information can vary, so we can modify the entries at will without <a href="http://www.all1social.com" target="_blank">recompiling the code</a> to experiment. By the way, holding configurable information in properties files is a standard programming practice.</p>
<p>It seems to be simple right, and now let’s add more advanced features to the application. Don’t you think, you need attachments with email? The following code creates that-</p>
<p><strong>import javax.mail.*;<br />
import javax.mail.internet.*;<br />
import javax.activation.*;<br />
import java.util.*;<br />
import java.io.*;</strong></p>
<pre><span style="color: #008000;">class SendAdvancedEmail
{
    final String emailInfo = "EmailInfo.properties";
    Properties properties = new Properties();

    public static void main(String args[])
    {
        SendAdvancedEmail sendAdvancedEmail = new SendAdvancedEmail ();
        sendAdvancedEmail.sendEmail();
    }

    private void sendEmail()
    {
       try{
            //This is required to load all the properties
           FileInputStream fileInputStream = new FileInputStream(emailInfo);
           properties.load(fileInputStream);
           fileInputStream.close();
        }catch(IOException ioe)
       {
            //throw IOException of your choice.
            //can end here
       }
        System.out.println("Email properties read successfully.");

       String smtpAddress = properties.getProperty("smtpAddress");
       String fromAddress = properties.getProperty("fromAddress");
       String toAddress = properties.getProperty("toAddress");
       String emailSubject = properties.getProperty("emailSubject");
       String emailBody = properties.getProperty("emailBody");

       Properties props = new Properties();
        props.put("mail.smtp.host", smtpAddress);
        props.put("mail.from", fromAddress);
       Session session = Session.getInstance(props, null);

       try
       {
           MimeMessage mimeMessage = new MimeMessage(session);
           mimeMessage.setRecipients(Message.RecipientType.TO,toAddress);
           mimeMessage.setSentDate(new Date());
           mimeMessage.setSubject(emailSubject);
            //The following is required to add attachments
           MimeMultipart multipart = new MimeMultipart();
           //Creating the text part of the email message
           BodyPart bodyPart = new MimeBodyPart();
            //The type is set to "text/plain"
           bodyPart.setText(emailBody);
           //Creating the attachment part of the email message
           BodyPart attachment = new MimeBodyPart();
           DataSource source = new FileDataSource(emailInfo);
           attachment.setDataHandler(new DataHandler(source));
           attachment.setFileName(emailInfo);
           //attachment.setContent(properties, "text/html");
            //Now combining the email message and the attachment
           multipart.addBodyPart(bodyPart);
           multipart.addBodyPart(attachment);
           //Setting the message with the multipart just created
           mimeMessage.setContent(multipart);

           System.out.println("Sending e-mail...");
           Transport.send(mimeMessage);
           System.out.println("e-mail sent.");
       }
        catch(MessagingException me)
       {
           System.out.println("e-mail send failed."+me);
           me.getMessage();
       }
    }
}</span></pre>
<p>The important difference between this code listing and the one for sending email in the previous section is the <a href="http://www.all1press.com" target="_blank">process of building</a> the message body, which is now capable of adding a file as an attachment. The Multipart class is actually split into two sections, the message part and the attachment. The properties are actually the same as for the previous code listing.</p>
<p>You could use Multipart instead of MimeMultipart, but be aware that Multipart is an abstract class and hence requires you to create an instance of MimeMultipart. It&#8217;s a similar case with MimeMessage. You can use Message, which also is an abstract class. Understanding all the classes used here will help you familiarize yourself with the mail package.</p>
<p>The article has provided enough information for you to experiment with sending and receiving emails. But you need to know-</p>
<ul>
<li>The details in the properties file must be accurate to achieve the desired results.</li>
<li>Ensure that you have mail.jar and activation.jar in your classpath.</li>
</ul>
<p><a href="http://www.all1martpro.com" target="_blank">http://www.all1martpro.com</a><br />
<a href="http://www.all1sourcetech.com" target="_blank">http://www.all1sourcetech.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.all1sourcetech.com/javamail-automate-email-distribution/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQL Profiler Plugin for WordPress</title>
		<link>http://www.all1sourcetech.com/mysql-profiler-plugin-wordpress/</link>
		<comments>http://www.all1sourcetech.com/mysql-profiler-plugin-wordpress/#comments</comments>
		<pubDate>Sat, 06 Mar 2010 10:05:55 +0000</pubDate>
		<dc:creator>Naggie</dc:creator>
				<category><![CDATA[New Product Release]]></category>
		<category><![CDATA[Purely Technical]]></category>
		<category><![CDATA[code profiling]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[mysql profiler]]></category>
		<category><![CDATA[mysql query]]></category>
		<category><![CDATA[wordpress-plugin]]></category>

		<guid isPermaLink="false">http://www.all1sourcetech.com/?p=1019</guid>
		<description><![CDATA[WordPress is so flexible that it has not only made it a major hit but also made non-developers to customize it with ease. Most of the Wordpress functions are optimized for acceptable performance, incorrect usage can cause undesirable speed loss.
Code Profiling
A (code) profiler is a performance analysis tool that measures only the frequency and duration [...]]]></description>
			<content:encoded><![CDATA[<p><strong>WordPress </strong>is so flexible that it has not only made it a major hit but also made non-developers to customize it with ease. Most of the <a href="http://www.all1martpro.com" target="_blank">Wordpress</a> functions are optimized for acceptable performance, incorrect usage can cause undesirable speed loss.</p>
<p><strong>Code Profiling</strong></p>
<p>A (code) <a href="http://www.all1tunes.com" target="_blank">profiler</a> is a performance analysis tool that measures only the frequency and duration of function calls, but there are other specific types of profilers in addition to more comprehensive profilers, capable of gathering extensive performance data.</p>
<p>You may not notice any performance issues unless you use code profiling to assist you. For general PHP profiling, programmers often use xdebug with all sort of PHP applications including wordpress. But, if you’re a wordpress theme developer, usually all you need is a <a href="http://www.all1press.com" target="_blank">MySQL profiler</a>.</p>
<p><strong>WP MySQL Profiler</strong></p>
<p>This simple plugin will assist both theme and plugin developers in MySQL Profiling. Once installed, MySQL statistics will be available at page footer.</p>
<p><strong>Installation</strong></p>
<ul>
<li>Download WP MySQL Profiler and extract the archive.</li>
<li>Rename your wp-db.php file in wp-includes directory to wp-db-backup.php.</li>
<li>Upload wp-db.php included in the archive to your wp-includes directory.</li>
<li>Upload wpSqlProfiler.php to wp-content/plugins/ directory.</li>
<li>Edit your wp-config.php. Find define (‘WPLANG’, ”); and add below:               <span style="color: #000080;"> <strong>define(&#8217;SAVEQUERIES&#8217;, true)</strong></span><strong>;</strong></li>
<li>Enable “WP MySQL Profiler” plugin from the admin CP.</li>
</ul>
<p><strong>Usage</strong></p>
<p>You will see MySQL query details at page footer, when you will log in as an admin. Keep an eye on both total queries and time. Each time you add code to your templates, use the profiling information to check if an optimized function or code snippet has been used.</p>
<p>If you notice high total queries or time, examine the queries and check the backtrace (below) to find where the query originated from. And then remove or replace the unoptimized function/code.</p>
<p><strong>The Backtrace</strong></p>
<p><img class="aligncenter" src="http://wpsplash.com/wp-content/uploads/2010/03/screenshot_031.png" alt="screenshot 031 MySQL Profiler Plugin for WordPress" width="383" height="170" title="MySQL Profiler Plugin for WordPress" /></p>
<p>In the profiler, third column will give you the most important information. It started at <strong>themes/default/single.php on line 7</strong> with the function <strong>get_header()</strong> which called function <strong>wp_head(), kubrick_header_display() </strong>and finally <strong>get_option()</strong> in the file functions.php on line 83.</p>
<p>Note that there’s a link “Show Full Trace”. For simplicity, the profiler doesn’t show all the function calls by default. Instead, it tries to determine function calls from plugins and themes. Since you are going to use it when coding plugins and themes, it makes sense to assume that you’re concerned with function calls originating therein.</p>
<p><strong>Final Steps</strong></p>
<p>And if you want to use the same wordpress copy on a live site, make sure to:</p>
<ul>
<li>delete the wp-db.php and rename wp-db-backup.php to wp-db.php. (optional)</li>
<li>remove <strong><span style="color: #993300;">define(‘SAVEQUERIES’, true)</span></strong>; from wp-config.php.</li>
</ul>
<p>Similarly, disable the <a href="http://www.all1social.com" target="_blank">WP MySQL Profiler</a> plugin.</p>
<p><a href="http://get-a-designer.com/" target="_blank">http://get-a-designer.com</a></p>
<p><a href="http://www.all1sourcetech.com" target="_blank">http://www.all1sourcetech.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.all1sourcetech.com/mysql-profiler-plugin-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to Integrate Google Buzz to your WordPress Theme</title>
		<link>http://www.all1sourcetech.com/integrate-google-buzz-wordpress-theme/</link>
		<comments>http://www.all1sourcetech.com/integrate-google-buzz-wordpress-theme/#comments</comments>
		<pubDate>Sat, 06 Mar 2010 09:53:54 +0000</pubDate>
		<dc:creator>Naggie</dc:creator>
				<category><![CDATA[New Product Release]]></category>
		<category><![CDATA[Purely Technical]]></category>
		<category><![CDATA[blogs]]></category>
		<category><![CDATA[Buzz icon]]></category>
		<category><![CDATA[Google Buzz]]></category>
		<category><![CDATA[share blogs]]></category>
		<category><![CDATA[social media]]></category>
		<category><![CDATA[theme]]></category>
		<category><![CDATA[url]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.all1sourcetech.com/?p=1017</guid>
		<description><![CDATA[ Google Buzz is a new social media service introduced by Google to share real-time updates. It is integrated directly with your gmail account. It can be integrated just like Twitter in your blog to let your readers share your blogs posts with their followers.
To generate a “Share to Google Buzz” link, you just need [...]]]></description>
			<content:encoded><![CDATA[<p><strong> Google Buzz</strong> is a <a href="http://www.all1social.com" target="_blank">new social media service</a> introduced by Google to share real-time updates. It is integrated directly with your gmail account. It can be integrated just like Twitter in your blog to let your readers <a href="http://www.all1press.com" target="_blank">share your blogs</a> posts with their followers.</p>
<p>To generate a “<a href="http://www.all1martpro.com" target="_blank">Share to Google Buzz</a>” link, you just need to add the following code in between your WordPress Posts Loop.</p>
<p><strong>&lt;a href=&#8217;http://www.google.com/reader/link?url=&lt;?php the_permalink(); ?&gt;&amp;title=&lt;?php the_title(); ?&gt;&amp;snippet=&lt;?php the_title(); ?&gt;&amp;srcURL=&lt;?php bloginfo(&#8217;wpurl&#8217;); ?&gt;&amp;srcTitle=&lt;?php bloginfo(&#8217;name&#8217;); ?&gt;&#8217;&gt;Share to Google Buzz&lt;/a&gt;</strong></p>
<p><strong>The link contains 4 parameters:</strong></p>
<p><strong>url</strong>: link to blog post<br />
<strong> title</strong>: blog post title<br />
<strong> srcURL</strong>: source url like your blog url<br />
<strong> srcTitle</strong>: your blog name or title</p>
<p>It’s a simplest and plugin free way to add Google Buzz to your blog posts. If you want, you can add a Google Buzz icon instead of text link in the above code.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.all1sourcetech.com/integrate-google-buzz-wordpress-theme/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to build a PHP Link Scraper with cURL?</title>
		<link>http://www.all1sourcetech.com/build-php-link-scraper-curl/</link>
		<comments>http://www.all1sourcetech.com/build-php-link-scraper-curl/#comments</comments>
		<pubDate>Thu, 04 Mar 2010 11:59:29 +0000</pubDate>
		<dc:creator>Naggie</dc:creator>
				<category><![CDATA[Editorial]]></category>
		<category><![CDATA[Expert's Opinions]]></category>
		<category><![CDATA[Purely Technical]]></category>
		<category><![CDATA[Database]]></category>
		<category><![CDATA[Internet Protocol]]></category>
		<category><![CDATA[link scraper]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[url syntax]]></category>

		<guid isPermaLink="false">http://www.all1sourcetech.com/?p=1008</guid>
		<description><![CDATA[Let’s build a robot, which scrapes links from web pages and dumps them in a database, and then it read those links from the database and follows them, scraping up the links on those pages, and so on ad infinitum.
To begin, let&#8217;s have a look at the groundwork.
The cURL Component-
cURL (or &#8220;client for URLS&#8221;) is [...]]]></description>
			<content:encoded><![CDATA[<p>Let’s build a robot, which scrapes links from web pages and dumps them in a database, and then it read those links from the database and follows them, scraping up the links on those pages, and so on ad infinitum.</p>
<p>To begin, let&#8217;s have a look at the groundwork.</p>
<p><strong>The cURL Component-</strong></p>
<p><strong>cURL</strong> (or &#8220;client for URLS&#8221;) is a command-line tool for getting or sending files using <a href="http://www.all1martpro.com" target="_blank">URL syntax</a>. It was first used in 2007 by Daniel Stenberg as a way to transfer files via protocols such as HTTP, FTP, Gopher, and many others, via a command-line interface. Since then, many more contributors has participated in further developing cURL, and the tool is used widely today.</p>
<p><strong>Using cURL with PHP-</strong></p>
<p><strong>PHP </strong>is one of the languages that provide full support for cURL. (Find a listing of all the <a href="http://www.all1tunes.com" target="_blank">PHP functions</a> you can use for cURL.) Luckily, PHP also enables you to use cURL without invoking the command line, making it much easier to use cURL while the <a href="http://www.all1press.com" target="_blank">server</a> is executing. The example below demonstrates how to retrieve a page called example.com using cURL and PHP.</p>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 300px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;?php</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 300px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">$ch = curl_init(&#8221;http://www.example.com/&#8221;);</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 300px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">$fp = fopen(&#8221;example_homepage.txt&#8221;, &#8220;w&#8221;);</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 300px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">curl_setopt($ch, cURLOPT_FILE, $fp);</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 300px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">curl_setopt($ch, cURLOPT_HEADER, 0);</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 300px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">curl_exec($ch);</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 300px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">curl_close($ch);</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 300px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">fclose($fp);</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 300px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">?&gt;</div>
<p><span style="color: #339966;"><span style="color: #008000;">&lt;?php</span></span><br />
<span style="color: #339966;"><span style="color: #008000;"><br />
</span></span><br />
<span style="color: #339966;"><span style="color: #008000;">$ch = curl_init(&#8221;http://www.example.com/&#8221;);</span></span><br />
<span style="color: #339966;"><span style="color: #008000;">$fp = fopen(&#8221;example_homepage.txt&#8221;, &#8220;w&#8221;);</span></span><br />
<span style="color: #339966;"><span style="color: #008000;"><br />
</span></span><br />
<span style="color: #339966;"><span style="color: #008000;">curl_setopt($ch, cURLOPT_FILE, $fp);</span></span><br />
<span style="color: #339966;"><span style="color: #008000;">curl_setopt($ch, cURLOPT_HEADER, 0);</span></span><br />
<span style="color: #339966;"><span style="color: #008000;"><br />
</span></span><br />
<span style="color: #339966;"><span style="color: #008000;">curl_exec($ch);</span></span><br />
<span style="color: #339966;"><span style="color: #008000;">curl_close($ch);</span></span><br />
<span style="color: #339966;"><span style="color: #008000;">fclose($fp);</span></span><br />
<span style="color: #339966;"><span style="color: #008000;">?&gt;</span></span></p>
<p><strong>The Link Scraper-</strong></p>
<p>For the link scraper, you will use cURL to get the content of the page you are looking for, and then you will use some DOM to grab the links and insert them into your database. You can build the <a href="http://www.all1social.com" target="_blank">database</a> from the information below; it is really simple stuff.</p>
<p><span style="color: #008000;">$query = mysql_query(&#8221;select URL from links where visited != 1);<br />
if($query)<br />
{</span></p>
<pre><span style="color: #008000;"> 	while($query = mysql_fetch_array($result))</span></pre>
<pre><span style="color: #008000;"> 	{</span></pre>
<p><span style="color: #008000;">$target_url = $query['url'];<br />
$userAgent = &#8216;ScraperBot&#8217;;</span></p>
<p>Next, grab the URL from the database table inside a simple while loop.</p>
<p><span style="color: #008000;">$ch = curl_init();<br />
curl_setopt($ch, cURLOPT_USERAGENT, $userAgent);<br />
curl_setopt($ch, cURLOPT_URL,$target_url);</span></p>
<p>After instantiating cURL, you use curl_setopt() to set the USER AGENT in the HTTP_REQUEST, and then tell cURL which page you are hoping to retrieve.</p>
<p><span style="color: #008000;">curl_setopt($qw, cURLOPT_FAILONERROR, true);<br />
curl_setopt($qw, cURLOPT_FOLLOWLOCATION, true);<br />
curl_setopt($qw, cURLOPT_AUTOREFERER, true);<br />
curl_setopt($qw, cURLOPT_RETURNTRANSFER,true);<br />
curl_setopt($qw, cURLOPT_TIMEOUT, 20);</span></p>
<p>You&#8217;ve set a few more HEADERS with curl_setopt(). This time, you made sure that when an error occurs the script will return a failed result, and you set the timeout of each page followed to 20 seconds. Usually, a standard server will time-out at 30 seconds, but if you run this from your localhost you should be able to set up a no-timeout server.</p>
<p><span style="color: #008000;">$html= curl_exec($qw);<br />
if (!$html)<br />
{</span></p>
<pre><span style="color: #008000;"> 	echo "ERROR NUMBER: ".curl_errno($ch);</span></pre>
<pre><span style="color: #008000;"> 	echo "ERROR: ".curl_error($ch);</span></pre>
<pre><span style="color: #008000;"> 	exit;</span></pre>
<p><span style="color: #008000;">}</span></p>
<p>Grab the actual page by sending the HEADERS along while executing the cURL request using curl_exec(). If an error occurs, it will be reported to PHP by the number and description inside curl_errno() and curl_error, respectively. Obviously, if such an error exists, you exit the script.</p>
<p><span style="color: #008000;">$dom = new DOMDocument();<br />
@$dom-&gt;loadHTML($html);</span></p>
<p>Next, you create a document model of your HTML (that you grabbed from the remote server) and set it up as a DOM object.</p>
<p><span style="color: #008000;">$xpath = new DOMXPath($dom);<br />
$href = $xpath-&gt;evaluate(&#8221;/html/body//a&#8221;);</span></p>
<p><strong>Use XPATH to grab all the links on the page.</strong></p>
<p><span style="color: #008000;">for ($i = 0; $i &lt; $href-&gt;length; $i++) {</span></p>
<pre><span style="color: #008000;"> 	$data = $href-&gt;item($i);</span></pre>
<pre><span style="color: #008000;">        $url = $data-&gt;getAttribute('href');</span></pre>
<pre><span style="color: #008000;"> 	$query = "INSERT INTO links (url, gathered_from) VALUES ('$url', '$gathered_from')";</span></pre>
<pre><span style="color: #008000;"> 	mysql_query($query) or die('Error, insert query failed');</span></pre>
<pre><span style="color: #008000;">        echo "Successful Link Harvest: ".$url;</span></pre>
<pre><span style="color: #008000;"> 	}</span></pre>
<p><span style="color: #008000;">}</span></p>
<p><strong>Dump all the links into the database</strong>, as well as the URL they are gathered from, just so you never go back there again. A more intelligent system might have a separate table for URLs already visited, as well as a normalized relationship between the two.</p>
<p>Going a step further than just grabbing the links enables you to harvest images or entire HTML documents as well. This is kind of where you start when building a search engine. Creating your own <a href="http://www.all1martpro.com" target="_blank">search engine</a> may seem naively ambitious, and this little bit of code may inspire you a bit.</p>
<p>Source:- <a href="http://www.developer.com" target="_blank">http://www.developer.com</a></p>
<p><a href="http://www.all1social.com" target="_blank">http://www.all1social.com</a></p>
<p><a href="http://www.all1martpro.com" target="_blank">http://www.all1martpro.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.all1sourcetech.com/build-php-link-scraper-curl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>4 Steps to Consume Web Services using Ajax</title>
		<link>http://www.all1sourcetech.com/4-steps-consume-web-services-ajax/</link>
		<comments>http://www.all1sourcetech.com/4-steps-consume-web-services-ajax/#comments</comments>
		<pubDate>Thu, 04 Mar 2010 11:20:14 +0000</pubDate>
		<dc:creator>Naggie</dc:creator>
				<category><![CDATA[Microsoft Technology]]></category>
		<category><![CDATA[Purely Technical]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[ASP]]></category>
		<category><![CDATA[ASP developers]]></category>
		<category><![CDATA[ASP framework]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[ASP.NET code]]></category>
		<category><![CDATA[customer ID]]></category>

		<guid isPermaLink="false">http://www.all1sourcetech.com/?p=1001</guid>
		<description><![CDATA[Normally the browser Ajax controls calls the ASP.NET code and the ASP.NET code consumes the web service, but there are scenarios where you would like to call the web services directly from the Ajax JavaScript functions rather than calling via the behind code.
Here, you can get the same following 4 steps-
Step 1: Create your Customer [...]]]></description>
			<content:encoded><![CDATA[<p>Normally the <strong>browser Ajax</strong> controls calls the <a href="http://www.all1martpro.com" target="_blank">ASP.NET code</a> and the ASP.NET code consumes the web service, but there are scenarios where you would like to call the web services directly from the Ajax <a href="http://www.all1tunes.com" target="_blank">JavaScript</a> functions rather than calling via the behind code.</p>
<p>Here, you can get the same following 4 steps-</p>
<p><strong>Step 1: <span style="color: #800000;">Create your Customer Class </span></strong></p>
<p>The first step is to create the <a href="http://www.all1press.com" target="_blank">customer</a> class as shown below. So the customer class has 4 properties on customer id, first name, address and designation.</p>
<p><span style="color: #0000ff;"><strong>public </strong></span><strong>class Customers</strong><br />
<strong>{</strong><br />
<strong><span style="color: #99cc00;">// private properties </span></strong><br />
<strong>private int _intCustomerID;</strong><br />
<span style="color: #0000ff;"><strong>private string</strong></span><strong> _strFirstName;</strong><br />
<span style="color: #0000ff;"><strong>private string</strong></span><strong> _strAddress;</strong><br />
<span style="color: #0000ff;"><strong>private string</strong></span><strong> _strDesignation;</strong><br />
<strong><br />
</strong></p>
<p><strong><span style="color: #99cc00;">// Public property and</span> </strong><br />
<span style="color: #0000ff;"><strong>public</strong></span><strong> </strong><span style="color: #0000ff;"><strong>int </strong></span><strong>CustomerID</strong><br />
<strong>{</strong><br />
<span style="color: #0000ff;"><strong>get</strong></span><br />
<strong>{</strong><br />
<span style="color: #0000ff;"><strong>return </strong></span><strong>_intCustomerID;</strong><br />
<strong>}</strong><br />
<span style="color: #0000ff;"><strong>set</strong></span><br />
<strong>{</strong><br />
<strong>_intCustomerID = value;</strong><br />
<strong>}</strong><br />
<strong>}</strong><br />
<span style="color: #0000ff;"><strong>public string </strong></span><strong>FirstName</strong><br />
<strong>{</strong><br />
<span style="color: #0000ff;"><strong>get</strong></span><br />
<strong>{</strong><br />
<span style="color: #0000ff;"><strong>return </strong></span><strong>_strFirstName;</strong><br />
<strong>}</strong><br />
<span style="color: #0000ff;"><strong>set</strong></span><br />
<strong>{</strong><br />
<strong>_strFirstName = value;</strong><br />
<strong>}</strong><br />
<strong>}</strong></p>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 770px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">public class Customers</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 770px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">{</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 770px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">// private properties</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 770px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">private int _intCustomerID;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 770px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">private string _strFirstName;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 770px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">private string _strAddress;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 770px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">private string _strDesignation;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 770px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">// Public property and</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 770px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">public int CustomerID</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 770px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">{</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 770px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">get</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 770px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">{</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 770px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">return _intCustomerID;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 770px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">}</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 770px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">set</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 770px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">{</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 770px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">_intCustomerID = value;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 770px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">}</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 770px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">}</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 770px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">public string FirstName</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 770px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">{</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 770px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">get</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 770px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">{</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 770px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">return _strFirstName;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 770px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">}</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 770px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">set</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 770px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">{</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 770px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">_strFirstName = value;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 770px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">}</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 770px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">}</div>
<p><strong>Step 2: <span style="color: #800000;">Create your Web Service</span></strong></p>
<p>The next step is to create the web service which exposes the customer class to UI. Here is a simple web service which has encapsulated customer collection. In the constructor, we are loading some dummy data into the list of customers as shown in the below code snippet:</p>
<p><strong>   [System.Web.Script.Services.ScriptService]</strong><br />
<strong><span style="color: #0000ff;">public class </span>Customer : System.Web.Services.WebService {</strong></p>
<p><strong><span style="color: #99cc00;">// Customer collection</span></strong><br />
<strong>List&lt;Customers&gt; listcust = <span style="color: #0000ff;">new </span>List&lt;Customers&gt;();</strong><br />
<strong><span style="color: #0000ff;">public </span>Customer () </strong><br />
<strong>{</strong><br />
<strong><span style="color: #99cc00;">//Load some dummy data in to customer collection.</span></strong><br />
<strong>listcust.Clear();</strong></p>
<p><strong>Customers cust = <span style="color: #0000ff;">new </span>Customers();</strong><br />
<strong>cust.CustomerID = 1;</strong><br />
<strong>cust.FirstName = &#8220;Dan&#8221;;</strong><br />
<strong>cust.Address = &#8220;Live in UK&#8221;;</strong><br />
<strong>cust.Designation = &#8220;Software Developer&#8221;;</strong><br />
<strong>listcust.Add(cust);</strong></p>
<p><strong>cust = <span style="color: #0000ff;">new </span>Customers();</strong><br />
<strong>cust.CustomerID = 2;</strong><br />
<strong>cust.FirstName = &#8220;Sheen&#8221;;</strong><br />
<strong>cust.Address = &#8220;Live in Austrailia&#8221;;</strong><br />
<strong>cust.Designation = &#8220;Web Designer&#8221;;</strong><br />
<strong>listcust.Add(cust);</strong></p>
<p><strong>cust = <span style="color: #0000ff;">new </span>Customers();</strong><br />
<strong>cust.CustomerID = 3;</strong><br />
<strong>cust.FirstName = &#8220;Koraine&#8221;;</strong><br />
<strong>cust.Address = &#8220;Live in London&#8221;;</strong><br />
<strong>cust.Designation = &#8220;Architect&#8221;;</strong><br />
<strong>listcust.Add(cust);</strong><br />
<strong>}</strong></p>
<p><strong><span style="color: #99cc00;">// This function exposes all customers to the end client’</span></strong><br />
<strong>[WebMethod]</strong><br />
<strong><span style="color: #0000ff;">public </span>List&lt;Customers&gt; LoadCustomers()</strong><br />
<strong>{</strong><br />
<strong><span style="color: #0000ff;">return </span>listcust;</strong><br />
<strong>}</strong></p>
<p><strong><span style="color: #99cc00;">// This function helps us to get customer object based in ID</span></strong><br />
<strong>[WebMethod]</strong><br />
<strong><span style="color: #0000ff;">public </span>Customers LoadSingleCustomers(<span style="color: #0000ff;">int </span>_customerid)</strong><br />
<strong>{</strong><br />
<strong><span style="color: #0000ff;">return </span>(Customers)listcust[_customerid-1];</strong><br />
<strong>}</strong></p>
<p>Two functions have been exposed with the web service, one which gives out a list of customers and another which gives out individual customer data based on customer id.</p>
<p><strong>Step 3: <span style="color: #800000;">Reference your Web Service using the asp:servicereference</span></strong></p>
<p>Using the ‘<span style="color: #ff0000;">asp:ServiceReference</span>’, the path to the ASMX file will be pointed as shown in the below code snippet. This will generate the <a href="http://www.all1social.com" target="_blank">JavaScript proxy</a> which can be used to call the customer object.</p>
<pre><strong>&lt;asp:ScriptManager <span style="color: #ff0000;">ID</span>="<span style="color: #0000ff;">ScriptManager1</span>" <span style="color: #ff0000;">runat</span>="<span style="color: #0000ff;">server</span>"&gt;</strong></pre>
<pre><strong>    &lt;Services&gt;</strong></pre>
<pre><strong>        &lt;asp:ServiceReference <span style="color: #ff0000;">Path</span>="<span style="color: #0000ff;">Customer.asmx</span>" /&gt;</strong></pre>
<pre><strong>    &lt;/Services&gt;</strong></pre>
<pre><strong>&lt;/asp:ScriptManager&gt;</strong></pre>
<p><strong>Step 4: <span style="color: #800000;">Call the Webservice and the JavaScript Code</span></strong></p>
<p>Once you have defined the proxy, you can now call the ‘Customer’ proxy directly to make method calls.</p>
<p><strong>function LoadAll() </strong><br />
<strong>{</strong><br />
<strong>Customer.LoadCustomers(LoadCustomerToSelectOption, ErrorHandler, TimeOutHandler);</strong><br />
<strong>}</strong></p>
<p>When you call the JavaScript proxy object, then you need to provide three functions; the first function (‘LoadCustomerToSelectOption’) will be called when the web service finishes and returns data. The data will be returned in the fill variable which will then be looped and added to the customer combo box.</p>
<p><strong>function LoadCustomerToSelectOption(Fill)</strong><br />
<strong>{</strong><br />
<strong><span style="color: #0000ff;">var </span>select = document.getElementById(&#8221;<span style="color: #800000;">cmbCustomers</span>&#8220;);</strong><br />
<strong><br />
</strong></p>
<p><strong><span style="color: #0000ff;">for </span>(<span style="color: #0000ff;">var </span>i = 0; i &lt; Fill.length; i++) </strong><br />
<strong>{</strong><br />
<strong><span style="color: #0000ff;">var </span>value = <span style="color: #0000ff;">new </span>Option(Fill[i].FirstName, Fill[i].CustomerID);</strong><br />
<strong>select.options.add(value);</strong><br />
<strong>}</strong><br />
<strong>}</strong></p>
<p>There are two more functions which are attached; one which handles error and the other which handles time out.</p>
<p><strong>function ErrorHandler(result) </strong><br />
<strong>{</strong><br />
<strong><span style="color: #0000ff;">var </span>msg = result.get_exceptionType() + &#8220;<span style="color: #800000;">\r\n</span>&#8220;;</strong><br />
<strong>msg += result.get_message() + &#8220;<span style="color: #800000;">\r\n</span>&#8220;;</strong><br />
<strong>msg += result.get_stackTrace();</strong><br />
<strong>alert(msg);</strong><br />
<strong>}</strong><br />
<strong>function TimeOutHandler(result) </strong><br />
<strong>{</strong><br />
<strong>alert(&#8221;<span style="color: #800000;">Timeout </span>:&#8221; + result);</strong><br />
<strong>}</strong></p>
<p><a href="http://www.all1martpro.com" target="_blank">http://www.all1martpro.com</a><br />
<a href="http://get-a-designer.com/" target="_blank">http://get-a-designer.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.all1sourcetech.com/4-steps-consume-web-services-ajax/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Improving CSS With .LESS</title>
		<link>http://www.all1sourcetech.com/improving-css/</link>
		<comments>http://www.all1sourcetech.com/improving-css/#comments</comments>
		<pubDate>Thu, 04 Mar 2010 10:52:46 +0000</pubDate>
		<dc:creator>Naggie</dc:creator>
				<category><![CDATA[Opensource]]></category>
		<category><![CDATA[Purely Technical]]></category>
		<category><![CDATA[.LESS]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[css rules]]></category>
		<category><![CDATA[http handler]]></category>
		<category><![CDATA[style sheet]]></category>
		<category><![CDATA[Syntax]]></category>
		<category><![CDATA[web developer]]></category>

		<guid isPermaLink="false">http://www.all1sourcetech.com/?p=998</guid>
		<description><![CDATA[CSS, or Cascading Style Sheets, is a syntax used to describe the look and the feel of the elements in a web page. CSS allows a web developer to separate the document content &#8211; the HTML, text, and images &#8211; from the presentation of that content. Such separation makes the markup in a page easier [...]]]></description>
			<content:encoded><![CDATA[<p><strong>CSS</strong>, or <a href="http://www.all1martpro.com" target="_blank"><strong>Cascading Style Sheets</strong></a>, is a syntax used to describe the look and the feel of the elements in a web page. CSS allows a <a href="http://www.all1tunes.com" target="_blank">web developer</a> to separate the document content &#8211; the HTML, text, and images &#8211; from the presentation of that content. Such separation makes the markup in a page easier to read, understand, and update; it can result in reduced bandwidth as the style information can be specified in a separate file and cached by the browser; and makes site-wide changes easier to apply. </p>
<p>Many style sheets include repeated styling information because CSS does not allow the use of variables. Such repetition makes the resulting style sheet lengthier and harder to read; it results in more rules that need to be changed when the website is redesigned to use a new primary color. </p>
<p>In order to specify the inherited <a href="http://www.all1press.com" target="_blank">CSS rules</a>, such as indicating that the elements in h1 elements should not be underlined, requires creating a single selector name, like h1 a. Ideally, CSS would allow for nested rules, enabling you to define the rules directly within the h1 rules.</p>
<p><strong>.LESS</strong> is a free, <a href="http://www.all1social.com" target="_blank">open-source</a> port of Ruby&#8217;s LESS library. LESS (and .LESS, by extension) is a parser that allows web developers to create style sheets using new and improved language features, including variables, operations, mixins, and nested rules. </p>
<p>Behind the scenes, .LESS converts the enhanced CSS rules into standard CSS rules. This conversion can happen automatically and on-demand through the use of an HTTP Handler, or done manually as part of the build process. Moreover, .LESS can be configured to automatically minify the resulting CSS, saving bandwidth and making the end user&#8217;s experience a snappier one.</p>
<p><a href="http://get-a-designer.com/" target="_blank">http://get-a-designer.com</a></p>
<p><a href="http://www.all1sourcetech.com" target="_blank">http://www.all1sourcetech.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.all1sourcetech.com/improving-css/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Converting HTML to PDF Using Java and Qt</title>
		<link>http://www.all1sourcetech.com/converting-html-pdf-java-qt/</link>
		<comments>http://www.all1sourcetech.com/converting-html-pdf-java-qt/#comments</comments>
		<pubDate>Thu, 04 Mar 2010 10:32:30 +0000</pubDate>
		<dc:creator>Naggie</dc:creator>
				<category><![CDATA[Editorial]]></category>
		<category><![CDATA[Purely Technical]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[pdf]]></category>

		<guid isPermaLink="false">http://www.all1sourcetech.com/?p=996</guid>
		<description><![CDATA[Here is the code:
import com.trolltech.qt.core.*;
import com.trolltech.qt.gui.*;
import com.trolltech.qt.webkit.*;
class html2pdf extends QWebView
{
private QPrinter printer = new QPrinter();
public html2pdf()
{
loadFinished.connect(this, \&#8221;loadDone()\&#8221;);
setHtml(\&#8221;This is &#60;b&#62;HTML&#60;/b&#62;\&#8221;);
// Or use load() to convert html page from url to pdf
}
public void loadDone()
{
printer.setPageSize(QPrinter.PageSize.A4);
printer.setOutputFormat(QPrinter.OutputFormat.PdfFormat);
printer.setOutputFileName(\&#8221;test.pdf\&#8221;);
print(printer);
System.out.println(\&#8221;Done\&#8221;);
QApplication.exit();
}
public static void main(String args[])
{
QApplication.initialize(args);
html2pdf h2p = new html2pdf();
h2p.show();
QApplication.exec();
}
}


import com.trolltech.qt.core.*;
import com.trolltech.qt.gui.*;
import com.trolltech.qt.webkit.*;
 
class html2pdf extends QWebView
{
private QPrinter printer = new QPrinter();
 
public html2pdf()
{
loadFinished.connect(this, \&#8221;loadDone()\&#8221;);
setHtml(\&#8221;This [...]]]></description>
			<content:encoded><![CDATA[<p>Here is the code:</p>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">import com.trolltech.qt.core.*;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">import com.trolltech.qt.gui.*;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">import com.trolltech.qt.webkit.*;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">class html2pdf extends QWebView</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">{</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">private QPrinter printer = new QPrinter();</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">public html2pdf()</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">{</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">loadFinished.connect(this, \&#8221;loadDone()\&#8221;);</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">setHtml(\&#8221;This is &lt;b&gt;HTML&lt;/b&gt;\&#8221;);</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">// Or use load() to convert html page from url to pdf</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">}</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">public void loadDone()</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">{</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">printer.setPageSize(QPrinter.PageSize.A4);</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">printer.setOutputFormat(QPrinter.OutputFormat.PdfFormat);</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">printer.setOutputFileName(\&#8221;test.pdf\&#8221;);</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">print(printer);</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">System.out.println(\&#8221;Done\&#8221;);</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">QApplication.exit();</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">}</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">public static void main(String args[])</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">{</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">QApplication.initialize(args);</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">html2pdf h2p = new html2pdf();</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">h2p.show();</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">QApplication.exec();</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">}</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">}</div>
<div><strong><br />
</strong></div>
<div><strong>import com.trolltech.qt.core.*;</strong></div>
<div><strong>import com.trolltech.qt.gui.*;</strong></div>
<div><strong>import com.trolltech.qt.webkit.*;</strong></div>
<div><strong> </strong></div>
<div><strong>class html2pdf extends QWebView</strong></div>
<div><strong>{</strong></div>
<div><strong>private QPrinter printer = new QPrinter();</strong></div>
<div><strong> </strong></div>
<div><strong>public html2pdf()</strong></div>
<div><strong>{</strong></div>
<div><strong>loadFinished.connect(this, \&#8221;loadDone()\&#8221;);</strong></div>
<div><strong>setHtml(\&#8221;This is &lt;b&gt;HTML&lt;/b&gt;\&#8221;);</strong></div>
<div><strong> // Or use load() to convert html page from url to pdf</strong></div>
<div><strong>}</strong></div>
<div><strong> </strong></div>
<div><strong>public void loadDone()</strong></div>
<div><strong>{</strong></div>
<div><strong>printer.setPageSize(QPrinter.PageSize.A4);</strong></div>
<div><strong>printer.setOutputFormat(QPrinter.OutputFormat.PdfFormat);</strong></div>
<div><strong>printer.setOutputFileName(\&#8221;test.pdf\&#8221;);</strong></div>
<div><strong>print(printer);</strong></div>
<div><strong>System.out.println(\&#8221;Done\&#8221;);</strong></div>
<div><strong>QApplication.exit();</strong></div>
<div><strong>}</strong></div>
<div><strong> </strong></div>
<div><strong>public static void main(String args[])</strong></div>
<div><strong>{</strong></div>
<div><strong>QApplication.initialize(args);</strong></div>
<div><strong>html2pdf h2p = new html2pdf();</strong></div>
<div><strong>h2p.show();</strong></div>
<div><strong>QApplication.exec();</strong></div>
<div><strong>}</strong></div>
<div><strong>}</strong></div>
<div></div>
<div></div>
<p><a href="http://www.all1social.com" target="_blank">http://www.all1social.com</a></p>
<p><a href="http://www.all1martpro.com" target="_blank">http://www.all1martpro.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.all1sourcetech.com/converting-html-pdf-java-qt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to restart a windows service using VBScript</title>
		<link>http://www.all1sourcetech.com/restart-windows-service-vbscript/</link>
		<comments>http://www.all1sourcetech.com/restart-windows-service-vbscript/#comments</comments>
		<pubDate>Thu, 04 Mar 2010 10:27:07 +0000</pubDate>
		<dc:creator>Shweta</dc:creator>
				<category><![CDATA[Editorial]]></category>
		<category><![CDATA[Purely Technical]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[VBScript]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[wscript]]></category>

		<guid isPermaLink="false">http://www.all1sourcetech.com/?p=992</guid>
		<description><![CDATA[You can restart a windows service with the use of VBScript as shown in the below code snippet:
Set oshell = createobject(&#8221;Wscript.Shell&#8220;)
oshell.run&#8221;cmd.exe&#8221;
wscript.sleep 500
oshell.sendkeys &#8220;net stop &#8220;&#8221;Your service name here&#8220;&#8221;"+(&#8221;{Enter}&#8221;)
wscript.sleep 5000
oshell.sendkeys &#8220;net start &#8220;&#8221;Your service name here&#8220;&#8221;"+(&#8221;{Enter}&#8221;)
wscript.sleep 5000
oshell.sendkeys &#8220;exit&#8220;+(&#8221;{Enter}&#8221;)
 set oshell = nothing
 WScript.Quit
`
http://www.all1press.com
http://www.all1tunes.com
]]></description>
			<content:encoded><![CDATA[<p>You can restart a <a href="http://www.all1martpro.com" target="_blank">windows service</a> with the use of VBScript as shown in the below code snippet:</p>
<p><strong>Set oshell = createobject(&#8221;</strong><span style="color: #993300;"><strong>Wscript.Shell</strong></span><strong>&#8220;)<br />
oshell.run&#8221;</strong><span style="color: #993300;"><strong>cmd.exe</strong></span><strong>&#8221;<br />
wscript.sleep </strong><span style="color: #993300;"><strong>500</strong></span><strong><br />
oshell.sendkeys &#8220;</strong><span style="color: #993300;"><strong>net stop</strong></span><strong> &#8220;&#8221;</strong><span style="color: #993300;"><strong>Your service name here</strong></span><strong>&#8220;&#8221;"+(&#8221;{</strong><span style="color: #993300;"><strong>Enter</strong></span><strong>}&#8221;)<br />
wscript.sleep </strong><span style="color: #993300;"><strong>5000</strong></span><strong><br />
oshell.sendkeys &#8220;</strong><span style="color: #993300;"><strong>net start</strong></span><strong> &#8220;&#8221;</strong><span style="color: #993300;"><strong>Your service name here</strong></span><strong>&#8220;&#8221;"+(&#8221;{</strong><span style="color: #993300;"><strong>Enter</strong></span><strong>}&#8221;)<br />
wscript.sleep </strong><span style="color: #993300;"><strong>5000</strong></span><strong><br />
oshell.sendkeys &#8220;</strong><span style="color: #993300;"><strong>exit</strong></span><strong>&#8220;+(&#8221;{</strong><span style="color: #993300;"><strong>Enter</strong></span><strong>}&#8221;)</strong></p>
<p><strong> set oshell = nothing</strong></p>
<p><strong> WScript.Quit</strong></p>
<p>`<br />
<a href="http://www.all1press.com" target="_blank">http://www.all1press.com</a></p>
<p><a href="http://www.all1tunes.com" target="_blank">http://www.all1tunes.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.all1sourcetech.com/restart-windows-service-vbscript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to restart a GSM Modem using VBScript-</title>
		<link>http://www.all1sourcetech.com/restart-gsm-modem-vbscript/</link>
		<comments>http://www.all1sourcetech.com/restart-gsm-modem-vbscript/#comments</comments>
		<pubDate>Wed, 03 Mar 2010 10:38:30 +0000</pubDate>
		<dc:creator>Suzanne</dc:creator>
				<category><![CDATA[Editorial]]></category>
		<category><![CDATA[Purely Technical]]></category>
		<category><![CDATA[GSM]]></category>
		<category><![CDATA[modem]]></category>
		<category><![CDATA[program]]></category>
		<category><![CDATA[Script code]]></category>
		<category><![CDATA[VBScript]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.all1sourcetech.com/?p=988</guid>
		<description><![CDATA[Now you can restart a GSM Modem with the use of VBScript-
1. Copy the script code and save as a .vbs file.
2. Open hyperterminal and setup the modem settings, for this example save the hyperterminal file as c:\example\example.ht
3. Add the below vbs file to your c:\program Files\Windows NT directory and execute.
Important: If you saved the [...]]]></description>
			<content:encoded><![CDATA[<p>Now you can restart <strong>a GSM Modem</strong> with the use of VBScript-</p>
<p>1. Copy the <a href="http://www.all1tunes.com" target="_blank">script code</a> and save as a <strong>.vbs file</strong>.<br />
2. Open hyperterminal and setup the <a href="http://www.all1press.com" target="_blank">modem</a> settings, for this example save the hyperterminal file as <strong>c:\example\example.ht</strong><br />
3. Add the below vbs file to your <strong>c:\program Files\Windows NT directory </strong>and execute.</p>
<p>Important: If you saved the .ht as anything other than example.ht in c:\example rename the file in script below as well.</p>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 450px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Set oshell = createobject(&#8221;Wscript.Shell&#8221;)</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 450px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">oshell.run&#8221;cmd.exe&#8221;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 450px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">wscript.sleep 500</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 450px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">oshell.sendkeys &#8220;hypertrm.exe c:\example\example.ht&#8221;+(&#8221;{Enter}&#8221;)</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 450px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">wscript.sleep 1500</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 450px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">oshell.sendkeys &#8220;at{+}cfun=1&#8243; + (&#8221;{Enter}&#8221;)</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 450px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">wscript.sleep 4000</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 450px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">oshell.sendkeys&#8221;at&#8221; + (&#8221;{Enter}&#8221;)</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 450px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">wscript.sleep 1500</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 450px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">oshell.sendkeys &#8220;at{+}cfun=1&#8243; + (&#8221;{Enter}&#8221;)</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 450px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">wscript.sleep 4000</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 450px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">oshell.sendkeys&#8221;at&#8221; + (&#8221;{Enter}&#8221;)</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 450px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">wscript.sleep 1500</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 450px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">oshell.sendkeys&#8221;%f&#8221;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 450px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">wscript.sleep 1500</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 450px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">oshell.sendkeys&#8221;x&#8221;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 450px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">wscript.sleep 1500</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 450px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">oshell.sendkeys(&#8221;{Enter}&#8221;)</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 450px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">wscript.sleep 1500</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 450px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">oshell.sendkeys&#8221;exit&#8221;+(&#8221;{Enter}&#8221;)</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 450px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">set oshell = nothing</div>
<p><strong>Set oshell = createobject(&#8221;Wscript.Shell&#8221;)</strong><br />
     <strong> oshell.run&#8221;cmd.exe&#8221;</strong><br />
     <strong> wscript.sleep 500</strong><br />
     <strong> oshell.sendkeys &#8220;hypertrm.exe c:\example\example.ht&#8221;+(&#8221;{Enter}&#8221;)</strong><br />
     <strong> wscript.sleep 1500</strong><br />
     <strong> oshell.sendkeys &#8220;at{+}cfun=1&#8243; + (&#8221;{Enter}&#8221;)</strong><br />
     <strong> wscript.sleep 4000</strong><br />
     <strong> oshell.sendkeys&#8221;at&#8221; + (&#8221;{Enter}&#8221;)</strong><br />
     <strong> wscript.sleep 1500</strong><br />
     <strong> oshell.sendkeys &#8220;at{+}cfun=1&#8243; + (&#8221;{Enter}&#8221;)</strong><br />
     <strong> wscript.sleep 4000</strong><br />
     <strong> oshell.sendkeys&#8221;at&#8221; + (&#8221;{Enter}&#8221;)</strong><br />
     <strong> wscript.sleep 1500</strong><br />
     <strong> oshell.sendkeys&#8221;%f&#8221;</strong><br />
     <strong> wscript.sleep 1500</strong><br />
     <strong> oshell.sendkeys&#8221;x&#8221;</strong><br />
     <strong> wscript.sleep 1500</strong><br />
     <strong> oshell.sendkeys(&#8221;{Enter}&#8221;)</strong><br />
     <strong> wscript.sleep 1500</strong><br />
     <strong> oshell.sendkeys&#8221;exit&#8221;+(&#8221;{Enter}&#8221;)</strong><br />
     <strong> set oshell = nothing</strong></p>
<p><a href="http://www.all1social.com" target="_blank">http://www.all1social.com</a><br />
<a href="http://www.all1martpro.com" target="_blank">http://www.all1martpro.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.all1sourcetech.com/restart-gsm-modem-vbscript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to Make an Image Map</title>
		<link>http://www.all1sourcetech.com/image-map/</link>
		<comments>http://www.all1sourcetech.com/image-map/#comments</comments>
		<pubDate>Wed, 03 Mar 2010 10:02:34 +0000</pubDate>
		<dc:creator>Naggie</dc:creator>
				<category><![CDATA[Editorial]]></category>
		<category><![CDATA[Purely Technical]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[creating an image]]></category>
		<category><![CDATA[image map]]></category>
		<category><![CDATA[map design]]></category>
		<category><![CDATA[web design]]></category>
		<category><![CDATA[web script]]></category>

		<guid isPermaLink="false">http://www.all1sourcetech.com/?p=977</guid>
		<description><![CDATA[An image map is a picture in which areas within the picture are links. Creating an image involves using the &#60;img alt=&#8221;" /&#62;,&#60;map&#62;, and &#60;area /&#62; tags. &#60;/map&#62;
Steps to creating an image map-

Select the image on which you would like to make multiple links. Click on the rectangular hotspot tool found in the Properties Inspector. [...]]]></description>
			<content:encoded><![CDATA[<p>An image map is a picture in which areas within the picture are links. <a href="http://www.all1tunes.com" target="_blank">Creating an image</a> involves using the &lt;img alt=&#8221;" /&gt;,&lt;map&gt;, and &lt;area /&gt; tags. &lt;/map&gt;</p>
<p><strong>Steps to creating an image map-</strong></p>
<ul>
<li>Select the image on which you would like to make <a href="http://www.all1press.com" target="_blank">multiple links</a>. Click on the rectangular hotspot tool found in the Properties Inspector. Select the rectangle tool and drag the pointer over the image to create a rectangular hotspot. You can also choose the oval or polygon hotspot tool to make an oval or polygon selection.</li>
<li>In the hotspot Property inspector&#8217;s Link field, click the folder <a href="http://www.all1social.com" target="_blank">icon to browse</a> to the file you want opened when the hotspot is clicked. Alternatively, type the file name.</li>
<li>Repeat the above steps to define additional hotspots in the image map.</li>
<li>That&#8217;s it! You have now successfully created an image map.</li>
</ul>
<p>For example-</p>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 248px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;div&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 248px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;map name=&#8221;map1&#8243;&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 248px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;area title=&#8221;Contacts&#8221; shape=&#8221;RECT&#8221; coords=&#8221;6,116,97,184&#8243; href=&#8221;contacts.html&#8221; alt=&#8221;Contacts&#8221; /&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 248px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;area title=&#8221;Products&#8221; shape=&#8221;CIRCLE&#8221; coords=&#8221;251,143,47&#8243; href=&#8221;products.html&#8221; alt=&#8221;Products&#8221; /&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 248px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;area title=&#8221;New!&#8221; shape=&#8221;POLY&#8221; coords=&#8221;150,217, 190,257, 150,297,110,257&#8243; href=&#8221;new.html&#8221; alt=&#8221;New!&#8221; /&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 248px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;/map&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 248px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;img usemap=&#8221;#map1&#8243; src=&#8221;testmap.gif&#8221; border=&#8221;0&#8243; alt=&#8221;map of GH site&#8221; width=&#8221;300&#8243; height=&#8221;300&#8243; /&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 248px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">[ &lt;a href="contacts.html"&gt;Contacts&lt;/a&gt; ]</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 248px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">[ &lt;a href="products.html"&gt;Products&lt;/a&gt; ]</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 248px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">[ &lt;a href="new.html"&gt;New!&lt;/a&gt; ]&lt;/div&gt;</div>
<p><strong>&lt;DIV ALIGN=CENTER&gt;</strong></p>
<p><strong>&lt;MAP NAME=&#8221;map1&#8243;&gt;</strong></p>
<p><strong>&lt;AREA</strong></p>
<p><strong> HREF=&#8221;contacts.html&#8221; ALT=&#8221;Contacts&#8221; TITLE=&#8221;Contacts&#8221;</strong></p>
<p><strong> SHAPE=RECT COORDS=&#8221;6,116,97,184&#8243;&gt;</strong></p>
<p><strong>&lt;AREA</strong></p>
<p><strong> HREF=&#8221;products.html&#8221; ALT=&#8221;Products&#8221; TITLE=&#8221;Products&#8221;</strong></p>
<p><strong> SHAPE=CIRCLE COORDS=&#8221;251,143,47&#8243;&gt;</strong></p>
<p><strong>&lt;AREA</strong></p>
<p><strong> HREF=&#8221;new.html&#8221; ALT=&#8221;New!&#8221; TITLE=&#8221;New!&#8221;</strong></p>
<p><strong> SHAPE=POLY COORDS=&#8221;150,217, 190,257, 150,297,110,257&#8243;&gt;</strong></p>
<p><strong>&lt;/MAP&gt;</strong></p>
<p><strong>&lt;IMG SRC=&#8221;testmap.gif&#8221;</strong></p>
<p><strong> ALT=&#8221;map of GH site&#8221; BORDER=0 WIDTH=300 HEIGHT=300</strong></p>
<p><strong> USEMAP=&#8221;#map1&#8243;&gt;&lt;BR&gt;</strong></p>
<p><strong>[ &lt;A HREF="contacts.html" ALT="Contacts"&gt;Contacts&lt;/A&gt; ]</strong></p>
<p><strong>[ &lt;A HREF="products.html" ALT="Products"&gt;Products&lt;/A&gt; ]</strong></p>
<p><strong>[ &lt;A HREF="new.html"      ALT="New!"&gt;New!&lt;/A&gt; ]</strong></p>
<p><strong>&lt;/DIV&gt;</strong></p>
<p>Using this, you can create an image map.</p>
<p><a href="http://www.all1social.com" target="_blank">http://www.all1social.com</a><br />
<a href="http://www.all1martpro.com" target="_blank">http://www.all1martpro.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.all1sourcetech.com/image-map/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP 5.2.13 Release Announcement</title>
		<link>http://www.all1sourcetech.com/php-5213-release-announcement/</link>
		<comments>http://www.all1sourcetech.com/php-5213-release-announcement/#comments</comments>
		<pubDate>Wed, 03 Mar 2010 09:48:42 +0000</pubDate>
		<dc:creator>Naggie</dc:creator>
				<category><![CDATA[New Product Release]]></category>
		<category><![CDATA[Purely Technical]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[php 5.2.13]]></category>
		<category><![CDATA[PHP 5.2.x]]></category>
		<category><![CDATA[php script]]></category>
		<category><![CDATA[safe mode]]></category>

		<guid isPermaLink="false">http://www.all1sourcetech.com/?p=974</guid>
		<description><![CDATA[ PHP 5.2.13 has been released, focusing on improving the stability of the PHP 5.2.x branch with over 40 bug fixes, some of which are security related.
All users of PHP 5.2 are recommended to upgrade to this release.
Security Enhancements and Fixes in PHP 5.2.13:

Fixed safe mode validation inside tempnam() when the directory path does not [...]]]></description>
			<content:encoded><![CDATA[<p><strong> PHP 5.2.13</strong> has been released, focusing on improving the stability of the <a href="http://www.all1martpro.com" target="_blank">PHP 5.2.x</a> branch with over 40 bug fixes, some of which are security related.</p>
<p>All users of PHP 5.2 are recommended to upgrade to this release.</p>
<p><strong>Security Enhancements and Fixes in PHP 5.2.13:</strong></p>
<ul>
<li>Fixed safe mode validation inside tempnam() when the <a href="http://www.all1tunes.com" target="_blank">directory path</a> does not end with a /). (Martin Jansen)</li>
<li>Fixed a possible open_basedir/safe_mode bypass in the session extension identified by Grzegorz Stachowiak. (Ilia)</li>
<li>Improved LCG entropy. (Rasmus, Samy Kamkar)</li>
</ul>
<p><strong>Key enhancements in PHP 5.2.13 include:</strong></p>
<ul>
<li>Fixed bug #50940 Custom content-length set incorrectly in <a href="http://www.all1press.com" target="_blank">Apache</a> sapis. </li>
<li>Fixed bug #50847 (strip_tags() removes all tags greater then 1023 bytes long). </li>
<li>Fixed bug #50661 (DOMDocument::loadXML does not allow UTF-16). </li>
<li>Fixed bug #50632 (filter_input() does not return default value if the variable does not exist). </li>
<li>Fixed bug #50540 (Crash while running ldap_next_reference test cases). </li>
<li>Fixed bug #49851 (http wrapper breaks on 1024 char long headers). </li>
</ul>
<p><a href="http://get-a-designer.com/" target="_blank">http://get-a-designer.com</a><br />
<a href="http://www.all1sourcetech.com" target="_blank">http://www.all1sourcetech.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.all1sourcetech.com/php-5213-release-announcement/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Plugin-  WP-Status.net 1.0</title>
		<link>http://www.all1sourcetech.com/plugin-wpstatusnet-10/</link>
		<comments>http://www.all1sourcetech.com/plugin-wpstatusnet-10/#comments</comments>
		<pubDate>Tue, 02 Mar 2010 13:00:02 +0000</pubDate>
		<dc:creator>Naggie</dc:creator>
				<category><![CDATA[New Product Release]]></category>
		<category><![CDATA[Purely Technical]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[status.net]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[wp-plugin]]></category>

		<guid isPermaLink="false">http://www.all1sourcetech.com/?p=970</guid>
		<description><![CDATA[WP-Status.net 1.0, the WordPress plugin will push a status update to the Status.net servers and the specified Twitter accounts each time a new blog post is published.
It supports an unlimited number of accounts on an unlimited number of servers. The plugin can be configured to post to different accounts on the same Status.net server.
The links [...]]]></description>
			<content:encoded><![CDATA[<p><strong>WP-Status.net 1.0</strong>, the <a href="http://www.all1martpro.com" target="_blank">WordPress plugin</a> will push a status update to the Status.net servers and the specified <a href="http://www.all1tunes.com" target="_blank">Twitter</a> accounts each time a new blog post is published.</p>
<p>It supports an unlimited number of accounts on an unlimited number of servers. The plugin can be configured to post to different accounts on the same Status.net server.</p>
<p>The links to the blog can be shortened via one of seven different URL shortening services.</p>
<p><strong>Installation</strong>: Unpack and upload it to the /wp-content/plugins/ directory.<br />
Activate the plugin through the &#8216;Plugins&#8217; menu in WordPress.<br />
<strong>Requirements</strong>: WordPress 2.7.0 or higher</p>
<p><strong>Language</strong>: PHP</p>
]]></content:encoded>
			<wfw:commentRss>http://www.all1sourcetech.com/plugin-wpstatusnet-10/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[PHP]Sending MySQL data.</title>
		<link>http://www.all1sourcetech.com/phpsending-mysql-data/</link>
		<comments>http://www.all1sourcetech.com/phpsending-mysql-data/#comments</comments>
		<pubDate>Sat, 27 Feb 2010 10:45:30 +0000</pubDate>
		<dc:creator>Suzanne</dc:creator>
				<category><![CDATA[Editorial]]></category>
		<category><![CDATA[Purely Technical]]></category>
		<category><![CDATA[Database]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[MySQL database]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[php code]]></category>

		<guid isPermaLink="false">http://www.all1sourcetech.com/?p=965</guid>
		<description><![CDATA[&#60;?Php
$db_host = "1.3.3.7"; // mySQL database host
$db_user = "dbplz"; // mySQL database user
$db_password = "rofl"; // mySQL database password
$db_name = "dbplz"; // the name of your mySQL database


//connect to our database.
  mysql_connect($db_host,$db_user,$db_password) or die(mysql_error());
// Select the database.
  mysql_select_db($db_name) or die(mysql_error());
//Define the data as $query
$query = "INSERT INTO tablename (row1, row2, row3, row4)
VALUES ('$variable1','$variable2','$variable3','$variable4')";
  mysql_query($query);
  mysql_close();


// [...]]]></description>
			<content:encoded><![CDATA[<pre><strong>&lt;?Php</strong></pre>
<pre><strong>$db_host = "1.3.3.7"; // mySQL database host</strong></pre>
<pre><strong>$db_user = "dbplz"; // mySQL database user</strong></pre>
<pre><strong>$db_password = "rofl"; // mySQL database password</strong></pre>
<pre><strong>$db_name = "dbplz"; // the name of your mySQL database</strong></pre>
<pre><strong>
</strong></pre>
<pre><strong>//connect to our database.</strong></pre>
<pre><strong>  mysql_connect($db_host,$db_user,$db_password) or die(mysql_error());</strong></pre>
<pre><strong>// Select the database.</strong></pre>
<pre><strong>  mysql_select_db($db_name) or die(mysql_error());</strong></pre>
<pre><strong>//Define the data as $query</strong></pre>
<pre><strong>$query = "INSERT INTO tablename (row1, row2, row3, row4)</strong></pre>
<pre><strong>VALUES ('$variable1','$variable2','$variable3','$variable4')";</strong></pre>
<pre><strong>  mysql_query($query);</strong></pre>
<pre><strong>  mysql_close();</strong></pre>
<pre><strong>
</strong></pre>
<pre><strong>// it's almost always imperative to strip tags or the data usually doesn't send properly.</strong></pre>
<pre><strong>$variable = strip_tags($_POST['variable'], '');</strong></pre>
<pre><strong>//and now send the data</strong></pre>
<pre><strong>  mysql_query($query);</strong></pre>
<pre><strong>  mysql_close();</strong></pre>
<pre><strong>?&gt;</strong></pre>
<p><a href="http://www.all1martpro.com" target="_blank">http://www.all1martpro.com</a></p>
<p><a href="http://www.all1sourcetech.com" target="_blank">http://www.all1sourcetech.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.all1sourcetech.com/phpsending-mysql-data/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>HyperSQL 1.7.0- Database engines</title>
		<link>http://www.all1sourcetech.com/hypersql-170-database-engines/</link>
		<comments>http://www.all1sourcetech.com/hypersql-170-database-engines/#comments</comments>
		<pubDate>Sat, 27 Feb 2010 10:38:01 +0000</pubDate>
		<dc:creator>Naggie</dc:creator>
				<category><![CDATA[New Product Release]]></category>
		<category><![CDATA[Purely Technical]]></category>
		<category><![CDATA[code listing]]></category>
		<category><![CDATA[html source]]></category>
		<category><![CDATA[hypersql]]></category>
		<category><![CDATA[java source]]></category>
		<category><![CDATA[javadoc]]></category>
		<category><![CDATA[Source code]]></category>

		<guid isPermaLink="false">http://www.all1sourcetech.com/?p=962</guid>
		<description><![CDATA[HyperSQL is like a doxygen for SQL, hypermapping SQL views, procedures, packages and functions to HTML source code listings and showing all code locations where these are used. The internal &#8220;where used&#8221; functionality also scans C++ and Java source files.
key features of &#8220;HyperSQL&#8220;:

flexible configuration by use of .ini files
generates nicely formatted HTML files, CSS adjustable [...]]]></description>
			<content:encoded><![CDATA[<p><strong>HyperSQL </strong>is like a doxygen for SQL, hypermapping SQL views, procedures, packages and functions to <a href="http://www.all1tunes.com" target="_blank">HTML source code</a> listings and showing all code locations where these are used. The internal &#8220;where used&#8221; functionality also scans <strong>C++</strong> and <strong>Java source </strong>files.</p>
<p><strong>key features of &#8220;</strong><a href="http://www.all1press.com" target="_blank"><strong>HyperSQL</strong></a><strong>&#8220;:</strong></p>
<ul>
<li>flexible configuration by use of .ini files</li>
<li>generates nicely formatted HTML files, CSS adjustable by use of .css files</li>
<li>parses SQL, C++ and Java files according to file extensions you configured</li>
<li>generates hyperlinked listings of all objects found (SQL views, packages, functions, procedures, etc.)</li>
<li>hyperlinks <a href="http://www.all1martpro.com" target="_blank">object</a> names to their appearance in the source code</li>
<li>generates &#8220;where used&#8221; lists, to show where your objects have been used by other objects (if they have) &#8211; helps you to find unused code if not, or example usages if found</li>
</ul>
<p><strong>Newly included</strong>:</p>
<ul>
<li>option <strong>blind_offset</strong> added (to control parsing for &#8220;anonymous JavaDoc segments&#8221;)</li>
<li><strong>code reorganization:</strong> outsourced some<strong> code to modules</strong> (hyperjdoc, hypercore, hypercode)</li>
<li>&#8220;describing&#8221; JavaDoc elements (with just one &#8220;<strong>text</strong>&#8221; option) can now span multiple lines</li>
<li>converting crash when configured <strong>top_level_directory</strong> did not exist into a standard exit with proper error message</li>
<li>fixed the additional empty lines in <strong>code listings</strong></li>
<li>new keyword <strong>include_source</strong> (section Process) to make the inclusion of source code optional</li>
</ul>
<p><strong>Language: Python</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.all1sourcetech.com/hypersql-170-database-engines/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HTML tool: eLyXer 0.4.1</title>
		<link>http://www.all1sourcetech.com/html-tool-elyxer-041/</link>
		<comments>http://www.all1sourcetech.com/html-tool-elyxer-041/#comments</comments>
		<pubDate>Sat, 27 Feb 2010 10:13:53 +0000</pubDate>
		<dc:creator>Naggie</dc:creator>
				<category><![CDATA[Editorial]]></category>
		<category><![CDATA[Purely Technical]]></category>
		<category><![CDATA[css2-compatible]]></category>
		<category><![CDATA[elyxer 0.4.1]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[html converter]]></category>
		<category><![CDATA[lyx version]]></category>
		<category><![CDATA[Mozilla Firefox]]></category>
		<category><![CDATA[Safari]]></category>
		<category><![CDATA[unicode]]></category>
		<category><![CDATA[xhtml]]></category>

		<guid isPermaLink="false">http://www.all1sourcetech.com/?p=956</guid>
		<description><![CDATA[
eLyXer 0.4.1 is a LyX to HTML converter, with a focus on flexibility and elegant output. LyX is a wonderful text editor which produces beautiful PDF files. Internally it exports documents to LaTeX, and from there to PDF. It can convert documents generated with LyX versions from 1.5.5 to 1.6.2 into valid HTML pages.
The output requires [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" src="http://webscripts.softpedia.com/thumbnails/eLyXer-thumb.png" alt="eLyXer thumb  HTML tool: eLyXer 0.4.1" width="160" height="110" title=" HTML tool: eLyXer 0.4.1" /></p>
<p><strong>eLyXer 0.4.1</strong> is a LyX to <a href="http://www.all1martpro.com" target="_blank">HTML converter</a>, with a focus on flexibility and elegant output. LyX is a wonderful text editor which produces beautiful PDF files. Internally it exports documents to LaTeX, and from there to PDF. It can convert documents generated with <a href="http://www.all1tunes.com" target="_blank">LyX versions</a> from 1.5.5 to 1.6.2 into valid HTML pages.</p>
<p>The output requires XHTML, CSS2 and Unicode; therefore a CSS2-compatible browser is required.</p>
<p>Minimum browser versions for some popular programs are: <a href="http://www.all1press.com" target="_blank">Microsoft</a> Internet Explorer 7, Mozilla Firefox 3, Safari 3 and Chrome 1. It requires Python 2.3.4 or higher</p>
<p><strong>It consists of –</strong></p>
<ul>
<li>Select the translation based on document language.</li>
<li>Added em-dash — such as in this sentence, ■, \textup.</li>
<li>Added option &#8211;converter inkscape to use Inkscape as SVG converter.</li>
<li>Solved bug when numbering unordered unique parts such as Part* (thanks, Geremy!).</li>
<li>Show error instead of crashing when included document does not exist.</li>
<li>Support for all box styles. In CSS: switched to outline-style instead of border for boxes.</li>
<li>Support for vertical space insets.</li>
<li>Support for references inside paragraphs and formatted references.</li>
<li>Listings are now converted using &lt;pre&gt;<span style="font-family: Consolas, Monaco, 'Courier New', Courier, monospace; line-height: 18px; font-size: 12px; white-space: pre;"> tags, instead of &lt;code&gt;<code>. They are also justified left.</code></span></li>
<li><span style="font-family: monospace; line-height: 18px; font-size: 12px; white-space: pre;">Solved bug that prevented numbered listings to appear numbered (thanks, Sam!).</span></li>
<li><span style="font-family: monospace; line-height: 18px; font-size: 12px; white-space: pre;">Support for generic Flex insets, including Flex CharStyle: MenuItem.</span></li>
<li><span style="font-family: monospace; line-height: 18px; font-size: 12px; white-space: pre;">All   entities are now generated as the Unicode U+00A0 character.</span></li>
<li><span style="font-family: monospace; line-height: 18px; font-size: 12px; white-space: pre;">New option &#8211;iso885915 to generate a document with ISO-8859-15 encoding.</span></li>
<li><span style="font-family: monospace; line-height: 18px; font-size: 12px; white-space: pre;">Support for Sam Liddicott’s Newfangle module for literate programming.</span></li>
<li><span style="font-family: monospace; line-height: 18px; font-size: 12px; white-space: pre;">Updated the developer guide for potential contributors; added link from the main page.</span></li>
<li><span style="font-family: monospace; line-height: 18px; font-size: 12px; white-space: pre;">Support for \underbrace and \overbrace.</span></li>
</ul>
<pre><code>

</code></pre>
<p><a href="http://get-a-designer.com/" target="_blank">http://get-a-designer.com</a></p>
<p><a href="http://www.all1sourcetech.com" target="_blank">http://www.all1sourcetech.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.all1sourcetech.com/html-tool-elyxer-041/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HTML Tools: Haml 2.3.0</title>
		<link>http://www.all1sourcetech.com/html-tools-haml-230/</link>
		<comments>http://www.all1sourcetech.com/html-tools-haml-230/#comments</comments>
		<pubDate>Fri, 26 Feb 2010 10:54:11 +0000</pubDate>
		<dc:creator>Suzanne</dc:creator>
				<category><![CDATA[Purely Technical]]></category>
		<category><![CDATA[ASP]]></category>
		<category><![CDATA[Haml 2.3.0]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Mac OS]]></category>
		<category><![CDATA[markup]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.all1sourcetech.com/?p=946</guid>
		<description><![CDATA[Haml 2.3.0 is a markup language, which is used to describe the HTML of any web document easily and simply, without the use of inline code.
It is compiled into XHTML, similarly to ERB, and attempts to fix many flaws in templating engines like explicitly coding HTML into the template.
Haml itself is a description of the [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Haml 2.3.0</strong> is a <a href="http://www.all1martpro.com" target="_blank">markup</a> language, which is used to describe the HTML of any web document easily and simply, without the use of <a href="http://www.all1social.com" target="_blank">inline code</a>.</p>
<p>It is compiled into <strong>XHTML</strong>, similarly to ERB, and attempts to fix many flaws in templating engines like explicitly <strong>coding HTML into the template</strong>.</p>
<p>Haml itself is a description of the HTML, with code to generate <a href="http://www.all1press.com" target="_blank">dynamic content</a>. And it functions as a replacement for inline <a href="http://www.all1tunes.com" target="_blank">page templating systems</a> such as PHP, ASP, and ERB.</p>
<p>Example:<br />
The <strong>#foo Hello World! line of code</strong> will output this HTML line of code: <strong>&lt;div id=&#8221;foo&#8221;&gt;Helo World!&lt;/div&gt;</strong><strong><br />
</strong></p>
<p>Automatically, Haml handled the end tag and tag defining. For CSS stylings, SASS does the same thing as Haml does for HTML. SASS is bundled with Haml by default.</p>
<p>Platform: Windows/ Linux/ Mac OS/ BSD/ Solaris<br />
Language: Ruby</p>
<p><a href="http://www.all1martpro.com" target="_blank">http://www.all1martpro.com</a></p>
<p><a href="http://www.all1sourcetech.com" target="_blank">http://www.all1sourcetech.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.all1sourcetech.com/html-tools-haml-230/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apache Commons Transaction 1.2</title>
		<link>http://www.all1sourcetech.com/apache-commons-transaction-12/</link>
		<comments>http://www.all1sourcetech.com/apache-commons-transaction-12/#comments</comments>
		<pubDate>Fri, 26 Feb 2010 10:18:50 +0000</pubDate>
		<dc:creator>Naggie</dc:creator>
				<category><![CDATA[New Product Release]]></category>
		<category><![CDATA[Purely Technical]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[Apache Transaction 1.2]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Java development]]></category>
		<category><![CDATA[Mac OS]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.all1sourcetech.com/?p=939</guid>
		<description><![CDATA[Apache Commons Transaction 1.2 has been updated for download.
Apache Commons Transaction 1.2 is the Java library, which contains implementations for multi level locks, transactional collections and transactional file access
Commons Transaction aims at providing standardized, lightweight, well tested and efficient implementations of utility classes commonly used in transactional Java development.

Initially there are implementations for multi level [...]]]></description>
			<content:encoded><![CDATA[<p>Apache Commons Transaction 1.2 has been updated for download.</p>
<p><a href="http://www.all1martpro.com" target="_blank">Apache Commons Transaction 1.2</a> is the Java library, which contains implementations for multi level locks, transactional collections and transactional file access</p>
<p>Commons Transaction aims at providing standardized, lightweight, well tested and efficient <a href="http://www.all1press.com" target="_blank">implementations of utility</a> classes commonly used in transactional <a href="http://www.all1social.com" target="_blank">Java development</a>.</p>
<p><img class="alignnone" src="http://webscripts.softpedia.com/thumbnails/Apache-Commons-Transaction-thumb.png" alt="Apache Commons Transaction thumb Apache Commons Transaction 1.2" width="160" height="110" title="Apache Commons Transaction 1.2" /></p>
<p>Initially there are implementations for multi level locks, transactional collections and transactional file access.</p>
<p>There may be additional implementations when the common need for them becomes obvious, however, the complete component shall remain compatible to JDK1.2 and should have minimal dependencies.</p>
<p>Platform: Windows / Linux / <a href="http://www.all1tunes.com" target="_blank">Mac OS</a> / BSD / Solaris</p>
<p>Language: Java</p>
<p><a href="http://get-a-designer.com/" target="_blank">http://get-a-designer.com</a></p>
<p><a href="http://www.all1sourcetech.com" target="_blank">http://www.all1sourcetech.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.all1sourcetech.com/apache-commons-transaction-12/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Site Authentication Required, Except Default.aspx</title>
		<link>http://www.all1sourcetech.com/site-authentication-required-defaultaspx/</link>
		<comments>http://www.all1sourcetech.com/site-authentication-required-defaultaspx/#comments</comments>
		<pubDate>Fri, 26 Feb 2010 06:45:42 +0000</pubDate>
		<dc:creator>Suzanne</dc:creator>
				<category><![CDATA[Microsoft Technology]]></category>
		<category><![CDATA[Purely Technical]]></category>
		<category><![CDATA[Authenticated users]]></category>
		<category><![CDATA[Authentication]]></category>
		<category><![CDATA[Forms authentication]]></category>
		<category><![CDATA[Login.aspx]]></category>
		<category><![CDATA[protect  site]]></category>
		<category><![CDATA[web.config file]]></category>

		<guid isPermaLink="false">http://www.all1sourcetech.com/?p=936</guid>
		<description><![CDATA[What happens when you need to protect your whole site so that only Authenticated users can access your site.
To allow ONLY authenticated access to your site using Forms authentication you can add a section like this on e to your application’s web.config file.
&#60;authentication mode="Forms"&#62;
    &#60;forms loginUrl="Login.aspx" name="Login" protection="All"/&#62;
&#60;/authentication&#62;
&#60;authorization&#62;
    &#60;deny users="?"/&#62;
&#60;/authorization&#62;
The problem is that it seems [...]]]></description>
			<content:encoded><![CDATA[<p>What happens when<span style="color: #993366;"> you need to protect your whole site so that only Authenticated users can access your site.</span></p>
<p>To allow ONLY authenticated access to your site using<a title="forms authentication" href="http://www.all1martpro.com" target="_blank"> Forms authentication </a>you can add a section like this on e to your application’s <a title="web.config file" href="http://www.all1martpro.com" target="_blank">web.config file.</a></p>
<pre><strong>&lt;authentication mode="Forms"&gt;</strong></pre>
<pre><strong>    &lt;forms loginUrl="Login.aspx" name="Login" protection="All"/&gt;</strong></pre>
<pre><strong>&lt;/authentication&gt;</strong></pre>
<pre><strong>&lt;authorization&gt;</strong></pre>
<pre><strong>    &lt;deny users="?"/&gt;</strong></pre>
<pre><strong>&lt;/authorization&gt;</strong></pre>
<p>The problem is that it seems lots of folks don’t want users to automatically redirect to the Login.aspx page when they navigate to their site home page.</p>
<p>To require authentication for all the pages in your<br />
<a title=" web application" href="http://www.all1social.com" target="_blank"> web application </a>EXCEPT the home page (Default.aspx))</p>
<p>Also add a location section to your web.config file that<span style="color: #993366;"> <strong>explicitly allows anonymous users to access JUST the default.aspx page.</strong></span></p>
<pre><strong>&lt;location path="default.aspx"&gt;</strong></pre>
<pre><strong>    &lt;system.web&gt;</strong></pre>
<pre><strong>      &lt;authorization&gt;</strong></pre>
<pre><strong>         &lt;allow users="*"/&gt;</strong></pre>
<pre><strong>      &lt;/authorization&gt;</strong></pre>
<pre><strong>    &lt;/system.web&gt;</strong></pre>
<pre><strong>&lt;/location&gt;</strong></pre>
<p>You can use the web.config location element to specify folders as well as pages which makes it a very powerful construct.</p>
<input id="gwProxy" type="hidden" />
<input id="jsProxy" onclick="jsCall();" type="hidden" />
<p><a href="http://www.all1sourcetech.com" target="_blank">http://www.all1sourcetech.com</a><br />
<a href="http://www.all1tunes.com" target="_blank">http://www.all1tunes.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.all1sourcetech.com/site-authentication-required-defaultaspx/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Postback Text Processing with the AJAX Modal Dialog</title>
		<link>http://www.all1sourcetech.com/postback-text-processing-ajax-modal-dialog/</link>
		<comments>http://www.all1sourcetech.com/postback-text-processing-ajax-modal-dialog/#comments</comments>
		<pubDate>Fri, 26 Feb 2010 06:28:36 +0000</pubDate>
		<dc:creator>Suzanne</dc:creator>
				<category><![CDATA[Microsoft Technology]]></category>
		<category><![CDATA[Purely Technical]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[AJAX Editor Control]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[ModalPopup control]]></category>
		<category><![CDATA[ModalPopupExtender]]></category>
		<category><![CDATA[Text Processing]]></category>

		<guid isPermaLink="false">http://www.all1sourcetech.com/?p=932</guid>
		<description><![CDATA[In this case the developer wanted to use an AJAX Editor Control inside a ModalPopup control.
This isn’t a problem but, the user needed to clicking the OK button to cause a post-back so that he could execute some server –side logic.
The ”Ok” Button is an ASP.NET control but adding a Click Event Handler for the [...]]]></description>
			<content:encoded><![CDATA[<p>In this case the developer wanted to use an <a title="AJAX Editor Control" href="http://www.all1social.com" target="_blank">AJAX Editor Control </a>inside a ModalPopup control.</p>
<p>This isn’t a problem but, the user needed to clicking the OK button to cause a post-back so that he could execute some server –side logic.</p>
<p>The ”Ok” Button is an <a title="ASP.NET " href="http://www.all1social.com" target="_blank">ASP.NET </a>control but adding a Click Event Handler for the button didn’t solve the problem because it didn’t get executed when the use Clicked on the “Ok” button.</p>
<p>Normally the ModalPopupExtender would be used like this.</p>
<pre>    <strong>&lt;ajaxToolkit:ModalPopupExtender ID="ModalPopupExtender1" runat="server"</strong></pre>
<pre><strong>                 TargetControlID="LinkButton1"</strong></pre>
<pre><strong>                 PopupControlID="Panel1"</strong></pre>
<pre><strong>                 BackgroundCssClass="modalBackground"</strong></pre>
<pre><strong>                 DropShadow="true"</strong></pre>
<pre><strong>     1.)         OkControlID="OkButton"</strong></pre>
<pre><strong>     2.)         OnOkScript="onOk()"</strong></pre>
<pre><strong>                 CancelControlID="CancelButton" /&gt;</strong></pre>
<p>Line number 1 tells the control to catch the click event for the Ok Button Control instance and line 2 specifies when CLIENT SIDE JavaScript code to execute when the control specifies in line 1 is clicked.</p>
<p>The post-back doesn’t happen (even if the ASP.NET Button control has a click event handler defined in code behind because the control doesn’t propagate it.)</p>
<p>So <span style="color: #993366;"><strong>Just delete those two lines</strong> !</span></p>
<p>It turns out that they are optional and if you delete them the click event is not trapped and the code behind will execute as expected.</p>
<p>So just nake it look like this:</p>
<pre>    <strong>&lt;ajaxToolkit:ModalPopupExtender ID="ModalPopupExtender1" runat="server"</strong></pre>
<pre><strong>                 TargetControlID="LinkButton1"</strong></pre>
<pre><strong>                 PopupControlID="Panel1"</strong></pre>
<pre><strong>                 BackgroundCssClass="modalBackground"</strong></pre>
<pre><strong>                 DropShadow="true"</strong></pre>
<pre><strong>                 CancelControlID="CancelButton" /&gt;</strong></pre>
<p><a href="http://www.all1sourcetech.com" target="_blank">http://www.all1sourcetech.com</a></p>
<p><a href="http://www.all1martpro.com" target="_blank">http://www.all1martpro.com</a></p>
<input id="gwProxy" type="hidden" />
<input id="jsProxy" onclick="jsCall();" type="hidden" />
<input id="gwProxy" type="hidden" />
<input id="jsProxy" onclick="jsCall();" type="hidden" />
]]></content:encoded>
			<wfw:commentRss>http://www.all1sourcetech.com/postback-text-processing-ajax-modal-dialog/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to Add Breadcrumbs without Plugin and Best Practice</title>
		<link>http://www.all1sourcetech.com/add-breadcrumbs-plugin-practice/</link>
		<comments>http://www.all1sourcetech.com/add-breadcrumbs-plugin-practice/#comments</comments>
		<pubDate>Thu, 25 Feb 2010 11:17:03 +0000</pubDate>
		<dc:creator>Naggie</dc:creator>
				<category><![CDATA[Purely Technical]]></category>
		<category><![CDATA[Breadcrumbs]]></category>
		<category><![CDATA[code insertion]]></category>
		<category><![CDATA[google search]]></category>
		<category><![CDATA[navigations]]></category>
		<category><![CDATA[plugin]]></category>

		<guid isPermaLink="false">http://www.all1sourcetech.com/?p=929</guid>
		<description><![CDATA[Breadcrumb is a navigation aid used in user interfaces. It gives users a way to keep track of their locations. On websites that have a lot of pages, breadcrumb navigation can greatly enhance the way users find their way around.
In terms of usability, breadcrumbs reduce the number of actions a website visitor needs to take [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Breadcrumb</strong> is a <span style="color: #000080;">navigation aid used in </span><a href="http://www.all1tunes.com/" target="_blank"><span style="color: #000080;">user interfaces</span></a>. It gives users a way to keep track of their locations. On websites that have a lot of pages, <a href="http://www.all1press.com" target="_blank">breadcrumb navigation</a> can greatly enhance the way users find their way around.</p>
<p>In terms of usability, breadcrumbs reduce the number of actions a website visitor needs to take in order to get to a higher-level page, and they improve the find ability of website sections and pages.</p>
<p><strong>Benefits of Using Breadcrumbs-</strong></p>
<ul>
<li><strong>Convenient for users</strong>- Breadcrumbs are used primarily to give users a secondary means of navigating a website. By offering a breadcrumb trail for all pages on a large multi-level website, users can navigate to higher-level categories more easily.</li>
<li><strong>Reduces clicks or actions to return to higher-level pages</strong>- Instead of using the browser’s “Back” button or the website’s primary navigation to return to a higher-level page, users can now use the <a href="http://www.all1social.com" target="_blank">breadcrumbs</a> with a fewer number of clicks.</li>
<li><strong>Doesn’t usually hog screen space</strong>- Because they’re typically horizontally oriented and plainly styled, breadcrumb trails don’t take up a lot of space on the page. The benefit is that they have little to no negative impact in terms of content overload, and they outweigh any negatives if used properly.</li>
<li><strong>Reduces bounce rates</strong>- Breadcrumb trails can be a great way to entice first-time visitors to peruse a website after having viewed the landing page. For example, say a user arrives on a page through a Google search, seeing a breadcrumb trail may tempt that user to click to higher-level pages to view related topics of interests. This, in turn, reduces the overall website bounce rate.</li>
</ul>
<p><strong>When we don’t need to use the breadcrumb</strong><br />
A common mistake in implementing breadcrumbs is using them when there is no benefit.<br />
<img class="aligncenter" src="http://www.dynamicwp.net/wp-content/uploads/2009/12/pic2mistake.png" alt="pic2mistake How to Add Breadcrumbs without Plugin and Best Practice" width="490" height="196" title="How to Add Breadcrumbs without Plugin and Best Practice" /></p>
<p>In the above example. The (1) primary navigation, (2) breadcrumb trail and (3) secondary navigation are very close together. The breadcrumb trail in this application offers users no added convenience because the secondary navigation for lower-level pages sits right below it. Additionally, clicking on the second-level link in the breadcrumb trail (”<strong>Music</strong>”) takes you back to the first tab (”<strong>Listen</strong>”), which mistakenly suggests that the first tab is on a higher level than the other two (”<strong>Search</strong>” and “<strong>Artist hall of fame</strong>”).</p>
<p><strong>Add breadcrumb-</strong></p>
<p><strong></strong><br />
You can easily add them via several good plugins (ex. Yoast Breadcrumbs), but sometimes you want to build breadcrumbs into a theme without using a plugin.</p>
<p><strong>Step: 1.</strong> <span style="color: #000080;"><strong>Created a php file called breadcrumbs.php and inserted the following code…</strong></span></p>
<p><span style="color: #008000;">/*Breadcrumbs*/<br />
function the_breadcrumb() {<br />
echo &#8216;You are here: &#8216;;<br />
if (!is_home()) {<br />
echo &#8216;</span><a href="';          echo get_option('home');          echo '?phpMyAdmin=IRV7Xa3MPvAoZ-AWDkV3jRY6ow3"><span style="color: #008000;">&#8216;;<br />
echo &#8216;Home&#8217;;<br />
echo &#8220;</span></a><span style="color: #008000;"> » &#8220;;<br />
if (is_category() || is_single()) {<br />
if (is_single()) {<br />
echo the_title();<br />
}<br />
} elseif (is_page()) {<br />
echo the_title();<br />
}<br />
elseif (is_tag()) {<br />
single_tag_title();<br />
}<br />
elseif (is_day()) {<br />
echo &#8220;Archive for &#8220;; the_time(&#8217;F jS, Y&#8217;);<br />
}<br />
elseif (is_month()) {<br />
echo &#8220;Archive for &#8220;; the_time(&#8217;F, Y&#8217;);<br />
}<br />
elseif (is_year()) {<br />
echo &#8220;Archive for &#8220;; the_time(&#8217;Y');<br />
}<br />
elseif (is_author()) {<br />
echo &#8220;Author Archive&#8221;;<br />
}<br />
elseif (isset($_GET['paged']) &amp;&amp; !empty($_GET['paged'])) {<br />
echo &#8220;Blog Archives&#8221;;<br />
}<br />
elseif (is_search()) {<br />
echo &#8220;Search Results&#8221;;<br />
}<br />
elseif (is_404()) {<br />
echo &#8220;404 Error&#8221;;<br />
}<br />
}else{<br />
echo &#8216;</span><a href="';         echo get_option('home');         echo '?phpMyAdmin=IRV7Xa3MPvAoZ-AWDkV3jRY6ow3"><span style="color: #008000;">&#8216;;<br />
echo &#8216;Home&#8217;;<br />
echo &#8220;</span></a><span style="color: #008000;">&#8220;;<br />
}<br />
}<br />
?&gt;<br />
/*End of Breadcrumbs*/</span></p>
<p><span style="color: #000080;"><strong>2. Add this line…whereever you want to include the breadcrumb in your website</strong></span></p>
<p><span style="color: #000080;"><span style="color: #008000;">&lt;?php the_breadcrumb(); ?&gt;</span></span></p>
<p><a href="http://get-a-designer.com/" target="_blank">http://get-a-designer.com</a></p>
<p><a href="http://www.all1sourcetech.com" target="_blank">http://www.all1sourcetech.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.all1sourcetech.com/add-breadcrumbs-plugin-practice/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WP Google-buzz v2.1.0</title>
		<link>http://www.all1sourcetech.com/wp-googlebuzz/</link>
		<comments>http://www.all1sourcetech.com/wp-googlebuzz/#comments</comments>
		<pubDate>Thu, 25 Feb 2010 10:54:32 +0000</pubDate>
		<dc:creator>Naggie</dc:creator>
				<category><![CDATA[New Product Release]]></category>
		<category><![CDATA[Purely Technical]]></category>
		<category><![CDATA[admin]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Google Buzz]]></category>
		<category><![CDATA[insertion of code]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.all1sourcetech.com/?p=925</guid>
		<description><![CDATA[ Beautiful Google buzz integration to wordpress + 7 different admin panel options (Settings -&#62; WP Google-buzz) + 14 diff button images + mouse over effects.
Automatically displays Google Buzz button for every post and pages. Google Buzz is shaping up to be an interesting new way to share content with your Gmail friends, so why [...]]]></description>
			<content:encoded><![CDATA[<p><span style="color: #000080;"><strong> Beautiful </strong></span><a href="http://www.all1martpro.com" target="_blank"><span style="color: #000080;"><strong><span style="color: #0000ff;">Google buzz</span></strong></span></a><span style="color: #000080;"><strong> integration</strong></span> to wordpress <span style="color: #008000;">+ 7 different admin panel options (Settings -&gt; WP Google-buzz) + 14 diff button images + mouse over effects</span>.</p>
<p>Automatically displays Google <a href="http://www.all1tunes.com" target="_blank">Buzz button</a> for every post and pages. Google Buzz is shaping up to be an interesting new way to share content with your Gmail friends, so why not have a <a href="http://www.all1social.com" target="_blank">button for sharing</a> blog posts/pages to the service? To make it work, you&#8217;ll need to make sure you&#8217;ve set up Google Reader and included that in your Connected Sites on Buzz. Ultimate all in one Google Buzz buttons. Beautiful popup window option included.</p>
<p><strong>Features-</strong></p>
<ul>
<li>Show Google-buzz button before/after post content</li>
<li>Manual insertion of code: Use this: <span style="color: #008000;">&lt;?php if(function_exists(&#8217;add_wp_google_buzz&#8217;)) { add_wp_google_buzz(); } ?&gt;</span></li>
<li>13 different beautiful Google Buzz button images</li>
<li><span style="color: #008000;">rel=&#8221;nofollow&#8221;</span> option for buzz links</li>
<li><span style="color: #008000;">Show/Hide option</span> to show Google Buzz button on page</li>
<li><span style="color: #008000;">float = left/right</span> option</li>
<li>NEW: Popup window option</li>
</ul>
<p><a href="http://www.all1martpro.com" target="_blank">http://www.all1martpro.com</a></p>
<p><a href="http://get-a-designer.com/" target="_blank">http://get-a-designer.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.all1sourcetech.com/wp-googlebuzz/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Newly released plugins from WordPress-</title>
		<link>http://www.all1sourcetech.com/newly-released-plugins-wordpress/</link>
		<comments>http://www.all1sourcetech.com/newly-released-plugins-wordpress/#comments</comments>
		<pubDate>Thu, 25 Feb 2010 10:40:06 +0000</pubDate>
		<dc:creator>Naggie</dc:creator>
				<category><![CDATA[Purely Technical]]></category>
		<category><![CDATA[Technical News]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[online]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[wordpress-plugin]]></category>
		<category><![CDATA[wordpress.com]]></category>

		<guid isPermaLink="false">http://www.all1sourcetech.com/?p=921</guid>
		<description><![CDATA[WordPress has released new plugins that can help you to make your work easier, use it.
Mloovi Translate Widget
The Mloovi widget allows you to easily add links to 52 different language versions of your blog and RSS feeds.
Online Backup
The plugin allows online backup as well as email backups both on demand and scheduled. Put your backups [...]]]></description>
			<content:encoded><![CDATA[<p>WordPress has released <a href="http://www.all1martpro.com" target="_blank">new plugins</a> that can help you to make your work easier, use it.</p>
<p><strong>Mloovi <a href="http://www.all1tunes.com" target="_blank">Translate Widget</a></strong><br />
The Mloovi widget allows you to easily add links to 52 different language versions of your blog and RSS feeds.</p>
<p><strong>Online Backup</strong><br />
The plugin allows <a href="http://www.all1Press.com" target="_blank">online backup</a> as well as email backups both on demand and scheduled. Put your backups on auto pilot with 50 MiB of free space and encryption. Save time and protect your blog from lost info. You will need to register for a free account.</p>
<p><strong>WP Comment Pages</strong><br />
Your users can <a href="http://www.all1social.com" target="_blank">link directly</a> to an interesting comment, instead of the whole article.</p>
<p><strong>InvestorGuide.com Stock Ticker Link</strong><br />
This plugin automatically looks for ticker symbols like (AAPL) or (GOOG) and link the tickers to research pages at InvestorGuide.com</p>
<p><strong>WordPress Exploit Scanner</strong><br />
This plugin searches the files on your website, and the posts and comments tables of your database for anything suspicious. It also examines your list of active plugins for unusual filenames.</p>
<p><a href="http://get-a-designer.com/" target="_blank">http://get-a-designer.com</a></p>
<p><a href="http://www.all1sourcetech.com" target="_blank">http://www.all1sourcetech.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.all1sourcetech.com/newly-released-plugins-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Creating Audio (Sound) Files for a Web Page</title>
		<link>http://www.all1sourcetech.com/creating-audio-sound-files-web-page/</link>
		<comments>http://www.all1sourcetech.com/creating-audio-sound-files-web-page/#comments</comments>
		<pubDate>Thu, 25 Feb 2010 05:32:45 +0000</pubDate>
		<dc:creator>Suzanne</dc:creator>
				<category><![CDATA[Opensource]]></category>
		<category><![CDATA[Purely Technical]]></category>
		<category><![CDATA[.wav files]]></category>
		<category><![CDATA[audio files]]></category>
		<category><![CDATA[autostart]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[hidden]]></category>
		<category><![CDATA[loop]]></category>
		<category><![CDATA[microphone]]></category>
		<category><![CDATA[speakers]]></category>
		<category><![CDATA[web page]]></category>

		<guid isPermaLink="false">http://www.all1sourcetech.com/?p=914</guid>
		<description><![CDATA[If you&#8217;re using Windows 95+ and have a microphone and speakers, you can create your own audio files to place on your web page.
In Windows XP+, click on &#8220;Start&#8221; and go to &#8220;All Programs&#8221; &#8211; &#8220;Accessories&#8221; &#8211; &#8220;Entertainment&#8221; &#8211; &#8220;Sound Recorder.&#8221;
In Windows Vista, click on the round Windows logo button on the bottom left hand [...]]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;re using Windows 95+ and have a microphone and speakers, you can create your own <a title="audio files" href="http://www.all1Press.com" target="_blank">audio files </a>to place on your <a title="web page" href="http://www.all1Press.com" target="_blank">web page</a>.</p>
<p>In Windows XP+, click on &#8220;<strong>Start</strong>&#8221; and go to &#8220;<strong>All Programs</strong>&#8221; &#8211; &#8220;<strong>Accessories</strong>&#8221; &#8211; &#8220;<strong>Entertainment</strong>&#8221; &#8211; &#8220;<strong>Sound Recorder.</strong>&#8221;</p>
<p>In Windows Vista, click on the round Windows logo button on the bottom left hand side of your desktop and go to &#8220;<strong>All Programs</strong>&#8221; &#8211; &#8220;<strong>Accessories</strong>&#8221; &#8211; &#8220;<strong>Sound Recorder.</strong>&#8221;</p>
<p>You can record your own .wav files to be placed within your web page for your visitors to hear.</p>
<p>Once you&#8217;ve created your sound file and uploaded it to your server,<strong> place the following code within your web page </strong>where you would like the control panel to appear. This code is compatible with both Internet Explorer and Netscape Navigator.</p>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td><strong>&lt;EMBED   src=<span style="color: #ff0000;">&#8220;yourfile.wav</span>&#8221;   autostart=&#8221;false&#8221; loop=&#8221;false&#8221;   hidden=&#8221;false&#8221;&gt;</strong><strong><br />
</strong></p>
<p><strong>&lt;noembed&gt;<br />
&lt;bgsound src=&#8221;<span style="color: #ff0000;">yourfile.wav</span>&#8221;   loop=&#8221;1&#8243;&gt; &lt;/noembed&gt;</strong></td>
</tr>
</tbody>
</table>
<p>Change the text indicated in red to your sound file.</p>
<p>The &#8220;<strong>autostart</strong>&#8221; determines whether or not the sound will play when the page loads. &#8220;True&#8221; specifies that the sound will start on load and &#8220;False&#8221; specifies that the sound will not start on load.</p>
<p>The &#8220;<strong>loop</strong>&#8221; determines how the sound should be played. &#8220;False&#8221; specifies that the sound should not loop and will play it through one time. &#8220;True&#8221; specifies that the sound should loop and play continuously. It is highly recommended that you leave this set on false.</p>
<p>The &#8220;<strong>hidden</strong>&#8221; specifies whether or not the music&#8217;s control panel should be displayed. &#8220;True&#8221; specifies that the control panel should be hidden. &#8220;False&#8221; specifies that the control panel should be displayed. It is highly recommended that you leave this set on false. This will enable your visitors to stop the sound if they prefer.</p>
<input id="gwProxy" type="hidden" />
<input id="jsProxy" onclick="jsCall();" type="hidden" />
<p><a href="http://www.all1sourcetech.com" target="_blank">http://www.all1sourcetech.com</a></p>
<p><a href="http://www.all1martpro.com" target="_blank">http://www.all1martpro.com</a></p>
<input id="gwProxy" type="hidden" />
<input id="jsProxy" onclick="jsCall();" type="hidden" />
]]></content:encoded>
			<wfw:commentRss>http://www.all1sourcetech.com/creating-audio-sound-files-web-page/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wordpress New Plugin- oEmbed for BuddyPress</title>
		<link>http://www.all1sourcetech.com/wordpress-plugin-oembed-buddypress/</link>
		<comments>http://www.all1sourcetech.com/wordpress-plugin-oembed-buddypress/#comments</comments>
		<pubDate>Fri, 19 Feb 2010 12:17:18 +0000</pubDate>
		<dc:creator>Naggie</dc:creator>
				<category><![CDATA[Opensource]]></category>
		<category><![CDATA[Purely Technical]]></category>
		<category><![CDATA[buddypress]]></category>
		<category><![CDATA[embedded content]]></category>
		<category><![CDATA[network]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[youtube]]></category>

		<guid isPermaLink="false">http://www.all1sourcetech.com/?p=909</guid>
		<description><![CDATA[Wordpress.org has introduced new plugin through which you can easily share your favorite content from sites like YouTube, Flickr, Hulu and more on your BuddyPress network.
oEmbed for BuddyPress utilizes Wordpress&#8217; own oEmbed class, so by default, you can share content from the following sites:

YouTube
Blip.tv
Vimeo
DailyMotion
Flickr
Hulu
Viddler
Qik
Revision3
Photobucket
Scribd
Wordpress.tv

How do you use the plugin? Simple! Input any URL from one [...]]]></description>
			<content:encoded><![CDATA[<p>Wordpress.org has introduced new plugin through which you can easily share your favorite content from sites like YouTube, Flickr, Hulu and more on your <a href="http://www.all1social.com" target="_blank">BuddyPress network</a>.</p>
<p>oEmbed for BuddyPress utilizes Wordpress&#8217; own oEmbed class, so by default, you can share content from the following sites:</p>
<ul>
<li>YouTube</li>
<li>Blip.tv</li>
<li>Vimeo</li>
<li>DailyMotion</li>
<li>Flickr</li>
<li>Hulu</li>
<li>Viddler</li>
<li>Qik</li>
<li>Revision3</li>
<li>Photobucket</li>
<li>Scribd</li>
<li>Wordpress.tv</li>
</ul>
<p>How do you use the plugin? Simple! Input any URL from one of the listed sites above into an activity update or forum post in <a href="http://www.all1martpro.com" target="_blank">BuddyPress</a>.</p>
<p>When the update is posted, the URL automatically transforms into the embedded content.</p>
<p><a href="http://www.all1Press.com" target="_blank">http://www.all1Press.com</a></p>
<p><a href="http://www.all1tunes.com" target="_blank">http://www.all1tunes.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.all1sourcetech.com/wordpress-plugin-oembed-buddypress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Visual Studio 2010 clean application level web.config</title>
		<link>http://www.all1sourcetech.com/visual-studio-2010-clean-application-level-webconfig/</link>
		<comments>http://www.all1sourcetech.com/visual-studio-2010-clean-application-level-webconfig/#comments</comments>
		<pubDate>Fri, 19 Feb 2010 11:52:28 +0000</pubDate>
		<dc:creator>Naggie</dc:creator>
				<category><![CDATA[Microsoft Technology]]></category>
		<category><![CDATA[Purely Technical]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[asp.net chart control]]></category>
		<category><![CDATA[asp.net technology]]></category>
		<category><![CDATA[Visual Studio 2010]]></category>
		<category><![CDATA[web application]]></category>
		<category><![CDATA[web.config]]></category>

		<guid isPermaLink="false">http://www.all1sourcetech.com/?p=906</guid>
		<description><![CDATA[Introducing new small improvement that has been made in Visual Studio 2010 &#38; .NET 4 to reduce the size of the ASP.NET application level web.config 3.0 and 3.5 web.config
As ASP.NET technology evolved, the application level Web.config had new things added to it. Since the earlier frameworks were using the same set of machine level configuration [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Introducing new small improvement</strong> that has been made in Visual Studio 2010 &amp; .NET 4 to reduce the size of the <strong>ASP.NET application</strong> level web.config 3.0 and 3.5 web.config</p>
<p>As <a href="http://www.all1Press.com" target="_blank">ASP.NET technology</a> evolved, the application level Web.config had new things added to it. Since the earlier frameworks were using the same set of machine level configuration files, incremental feature that was added subsequent to the 2.0 release resulted in additional config settings included in the file.<br />
.NET 4 web.config</p>
<p>With .NET 4, the web.config is tremendously reduced in size to improve the simplicity  of ASP.NET</p>
<p>The config settings have been moved down to the machine config file. This includes registers all of the ASP.NET tag sections, handlers, modules and settings for the following:<br />
•	ASP.NET AJAX<br />
•	ASP.NET Dynamic Data<br />
•	ASP.NET Routing<br />
•	ASP.NET Chart Control</p>
<p>You can look at the trimmed down web.config by creating a .Net 4 &#8216;ASP.NET Empty Web Application&#8217; in <a href="http://www.all1martpro.com" target="_blank">Visual Studio 2010</a>.</p>
<p>Following is the web.config file for .NET 4 C# &#8216;ASP.NET Empty Web Application&#8217;:</p>
<p style="text-align: center;"><img class="aligncenter" src="http://blogs.msdn.com/blogfiles/webdevtools/WindowsLiveWriter/VisualStudio2010cleanweb.config_13513/image_thumb.png" alt="image thumb Visual Studio 2010 clean application level web.config" width="644" height="229" title="Visual Studio 2010 clean application level web.config" /></p>
<p>The config file above has settings to tell ASP.NET to enable debugging by default for the application and provides the version of .NET framework to use.</p>
<p><a href="http://www.all1tunes.com" target="_blank">http://www.all1tunes.com</a></p>
<p><a href="http://www.all1social.com" target="_blank">http://www.all1social.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.all1sourcetech.com/visual-studio-2010-clean-application-level-webconfig/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to separate the trackbacks and pingbacks from comments?</title>
		<link>http://www.all1sourcetech.com/separate-trackbacks-pingback-comments/</link>
		<comments>http://www.all1sourcetech.com/separate-trackbacks-pingback-comments/#comments</comments>
		<pubDate>Thu, 18 Feb 2010 10:33:28 +0000</pubDate>
		<dc:creator>Suzanne</dc:creator>
				<category><![CDATA[Opensource]]></category>
		<category><![CDATA[Purely Technical]]></category>
		<category><![CDATA[PHP 5.2]]></category>
		<category><![CDATA[php 5.2.12]]></category>
		<category><![CDATA[pingbacks]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[trackbacks]]></category>

		<guid isPermaLink="false">http://www.all1sourcetech.com/?p=860</guid>
		<description><![CDATA[Comments on blogs are often criticized as lacking authority, since anyone can post anything using any name they like: there&#8217;s no verification process to ensure that the person is who they claim to be. Trackbacks and Pingbacks both aim to provide some verification to blog commenting.
But having trackbacks, pingbacks and comments all mixed up in [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Comments on blogs</strong> are often criticized as lacking authority, since anyone can post anything using any name they like: there&#8217;s no verification process to ensure that the person is who they claim to be. <strong>Trackbacks</strong> and <strong>Pingbacks</strong> both aim to provide some verification to blog commenting.</p>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">But having trackbacks, pingbacks and comments all mixed up in one place can get really messy and confusing. Let’s separate the trackbacks and the pingbacks from comments-</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;strong&gt;&lt;?php if ($comments) : ?&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>&lt;ol&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>&lt;?php foreach ($comments as $comment) : ?&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>&lt;li id=&#8221;comment-&lt;?php comment_ID() ?&gt;&#8221; class=&#8217;commentItem&#8217;&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>&lt;!&#8211; THE COMMENT LAYOUT &#8211;&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>&lt;/li&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>&lt;?php endforeach; /* end for each comment */ ?&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>&lt;/ol&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;?php endif; ?&gt;&lt;/strong&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Above we can see a stripped version of an ordinary comment loop which will show comments, trackbacks and pingbacks all in one place. Let’s change that.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;strong&gt;&lt;?php if ($comments) : ?&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>&lt;ol&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>&lt;?php foreach ($comments as $comment) : ?&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>&lt;?php</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>$commentType = get_comment_type();</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>if($commentType == &#8216;comment&#8217;) :</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>?&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>&lt;li id=&#8221;comment-&lt;?php comment_ID() ?&gt;&#8221; class=&#8217;commentItem&#8217;&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>&lt;!&#8211; THE COMMENT LAYOUT &#8211;&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>&lt;/li&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>&lt;?php endif;/* end if comment check */ ?&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>&lt;?php endforeach; /* end for each comment */ ?&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>&lt;/ol&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;?php endif; ?&gt;&lt;/strong&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">get_comment_type is a function that returns “comment”, “trackback” or “pingback” depending what type the current comment is.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Now just copy paste the same code again and just change “if($commentType == ‘comment’)” toif($commentType != ‘comment’) which is the opposite of “==” and change the class from“commentItem” to “trackbackItem” so you can easily make different styles.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;strong&gt;&lt;?php if ($comments) : ?&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>&lt;ol&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>&lt;?php foreach ($comments as $comment) : ?&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>&lt;?php</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>$commentType = get_comment_type();</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>if($commentType != &#8216;comment&#8217;) :</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>?&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>&lt;li id=&#8221;comment-&lt;?php comment_ID() ?&gt;&#8221; class=&#8217;trackbackItem&#8217;&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>&lt;!&#8211; THE PINGS LAYOUT &#8211;&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>&lt;/li&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>&lt;?php endif;/* end if NOT comment check */ ?&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>&lt;?php endforeach; /* end for each comment */ ?&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>&lt;/ol&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;?php endif; ?&gt;&lt;/strong&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Making the layout for pingbacks/trackbacks is very simple, there is only 1 function we are going to use, comment_author_link(). It just echoes the trackback/pingbacks link and that’s all we need.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;strong&gt;&lt;li id=&#8221;comment-&lt;?php comment_ID() ?&gt;&#8221; class=&#8217;trackbackItem&#8217;&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>&lt;?php comment_author_link(); ?&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;/li&gt;&lt;/strong&gt;</div>
<p><strong><span style="color: #800000;">Having trackbacks, pingbacks and comments all mixed up in one place can get really messy and confusing. Let’s separate the trackbacks and the pingbacks from comments-</span></strong></p>
<p><strong>&lt;?php if ($comments) : ?&gt;</strong></p>
<p><span style="white-space: pre;"><strong> </strong></span><strong>&lt;ol&gt;</strong></p>
<p><span style="white-space: pre;"><strong> </strong></span><strong>&lt;?php foreach ($comments as $comment) : ?&gt;</strong></p>
<p><span style="white-space: pre;"><strong> </strong></span><strong>&lt;li id=&#8221;comment-&lt;?php comment_ID() ?&gt;&#8221; class=&#8217;commentItem&#8217;&gt;</strong></p>
<p><span style="white-space: pre;"><strong> </strong></span><strong>&lt;!&#8211; THE COMMENT LAYOUT &#8211;&gt;</strong></p>
<p><span style="white-space: pre;"><strong> </strong></span><strong>&lt;/li&gt;</strong></p>
<p><span style="white-space: pre;"><strong> </strong></span><strong>&lt;?php endforeach; /* end for each comment */ ?&gt;</strong></p>
<p><span style="white-space: pre;"><strong> </strong></span><strong>&lt;/ol&gt;</strong></p>
<p><strong>&lt;?php endif; ?&gt;</strong></p>
<p><span style="color: #ff0000;">Above we can see a stripped version of an ordinary comment loop which will show comments, trackbacks and pingbacks all in one place. Let’s change that.</span></p>
<p><strong>&lt;?php if ($comments) : ?&gt;</strong></p>
<p><span style="white-space: pre;"><strong> </strong></span><strong>&lt;ol&gt;</strong></p>
<p><span style="white-space: pre;"><strong> </strong></span><strong>&lt;?php foreach ($comments as $comment) : ?&gt;</strong></p>
<p><span style="white-space: pre;"><strong> </strong></span><strong>&lt;?php</strong></p>
<p><span style="white-space: pre;"><strong> </strong></span><strong>$commentType = get_comment_type();</strong></p>
<p><span style="white-space: pre;"><strong> </strong></span><strong>if($commentType == &#8216;comment&#8217;) :</strong></p>
<p><span style="white-space: pre;"><strong> </strong></span><strong>?&gt;</strong></p>
<p><span style="white-space: pre;"><strong> </strong></span><strong>&lt;li id=&#8221;comment-&lt;?php comment_ID() ?&gt;&#8221; class=&#8217;commentItem&#8217;&gt;</strong></p>
<p><span style="white-space: pre;"><strong> </strong></span><strong>&lt;!&#8211; THE COMMENT LAYOUT &#8211;&gt;</strong></p>
<p><span style="white-space: pre;"><strong> </strong></span><strong>&lt;/li&gt;</strong></p>
<p><span style="white-space: pre;"><strong> </strong></span><strong>&lt;?php endif;/* end if comment check */ ?&gt;</strong></p>
<p><span style="white-space: pre;"><strong> </strong></span><strong>&lt;?php endforeach; /* end for each comment */ ?&gt;</strong></p>
<p><span style="white-space: pre;"><strong> </strong></span><strong>&lt;/ol&gt;</strong></p>
<p><strong>&lt;?php endif; ?&gt;</strong></p>
<p><strong><span style="color: #ff0000;">get_comment_type</span></strong><span style="color: #ff0000;"> is a function that returns “comment”, “trackback” or “pingback” depending what type the current comment is.</span></p>
<p>Now just copy paste the same code again and just change “if($commentType == ‘comment’)” toif($commentType != ‘comment’) which is the opposite of “==” and change the class from“commentItem” to “trackbackItem” so you can easily make different styles.</p>
<p><strong>&lt;?php if ($comments) : ?&gt;</strong></p>
<p><span style="white-space: pre;"><strong> </strong></span><strong>&lt;ol&gt;</strong></p>
<p><span style="white-space: pre;"><strong> </strong></span><strong>&lt;?php foreach ($comments as $comment) : ?&gt;</strong></p>
<p><span style="white-space: pre;"><strong> </strong></span><strong>&lt;?php</strong></p>
<p><span style="white-space: pre;"><strong> </strong></span><strong>$commentType = get_comment_type();</strong></p>
<p><span style="white-space: pre;"><strong> </strong></span><strong>if($commentType != &#8216;comment&#8217;) :</strong></p>
<p><span style="white-space: pre;"><strong> </strong></span><strong>?&gt;</strong></p>
<p><span style="white-space: pre;"><strong> </strong></span><strong>&lt;li id=&#8221;comment-&lt;?php comment_ID() ?&gt;&#8221; class=&#8217;trackbackItem&#8217;&gt;</strong></p>
<p><span style="white-space: pre;"><strong> </strong></span><strong>&lt;!&#8211; THE PINGS LAYOUT &#8211;&gt;</strong></p>
<p><span style="white-space: pre;"><strong> </strong></span><strong>&lt;/li&gt;</strong></p>
<p><span style="white-space: pre;"><strong> </strong></span><strong>&lt;?php endif;/* end if NOT comment check */ ?&gt;</strong></p>
<p><span style="white-space: pre;"><strong> </strong></span><strong>&lt;?php endforeach; /* end for each comment */ ?&gt;</strong></p>
<p><span style="white-space: pre;"><strong> </strong></span><strong>&lt;/ol&gt;</strong></p>
<p><strong>&lt;?php endif; ?&gt;</strong></p>
<p><span style="color: #ff0000;">Making the layout for pingbacks/trackbacks is very simple, there is only 1 function we are going to use, comment_author_link(). It just echoes the trackback/pingbacks link and that’s all we need</span>.</p>
<p><strong>&lt;li id=&#8221;comment-&lt;?php comment_ID() ?&gt;&#8221; class=&#8217;trackbackItem&#8217;&gt;</strong></p>
<p><span style="white-space: pre;"><strong> </strong></span><strong>&lt;?php comment_author_link(); ?&gt;</strong></p>
<p><strong>&lt;/li&gt;</strong></p>
<p><a href="http://www.all1Press.com" target="_blank">http://www.all1Press.com</a></p>
<p><a href="http://www.all1martpro.com" target="_blank">http://www.all1martpro.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.all1sourcetech.com/separate-trackbacks-pingback-comments/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>How can you reduce writing foreach() cycles?</title>
		<link>http://www.all1sourcetech.com/reduce-writing-foreach-cycles/</link>
		<comments>http://www.all1sourcetech.com/reduce-writing-foreach-cycles/#comments</comments>
		<pubDate>Thu, 18 Feb 2010 09:45:00 +0000</pubDate>
		<dc:creator>Naggie</dc:creator>
				<category><![CDATA[Editorial]]></category>
		<category><![CDATA[Purely Technical]]></category>
		<category><![CDATA[application]]></category>
		<category><![CDATA[callback]]></category>
		<category><![CDATA[object-oriented]]></category>
		<category><![CDATA[php 5.3]]></category>
		<category><![CDATA[php4]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.all1sourcetech.com/?p=852</guid>
		<description><![CDATA[Php 5.3 – helps you to reduce writing foreach() cycles
At least in php. Php 5.3 has a solution that will reduce the average number of iteration structures you need to write: closures applied by plain old array functions.
There are some array functions which have already been supported at least from Php 4, and that take [...]]]></description>
			<content:encoded><![CDATA[<p>Php 5.3 – helps you to reduce writing foreach() cycles</p>
<p>At least in php. Php 5.3 has a <a href="http://www.all1Press.com" target="_blank">solution</a> that will reduce the average number of iteration structures <strong>you need to write: <span style="color: #800000;">closures applied by plain old array function</span></strong><strong>s</strong>.</p>
<p>There are some array functions which have already been supported at least from Php 4, and that take as an argument a callback whose formal parameters have to be one or two elements of the array. Let’s talk about <span style="color: #800000;">array_map</span>(), <span style="color: #800000;">array_reduce</span>(), <span style="color: #800000;">array_filter()</span> and <span style="color: #800000;">uasort() </span>(or similar custom sorting function.) These functions abstract away a foreach() cycle by applying a particular computation to all the <a href="http://www.all1social.com" target="_blank">elements of an array</a>.</p>
<p>Back in Php 4 and Php 5.2, specifying a callback was cumbersome: you had to define an external function and then passing its name as a string; or passing an array containing an object or the class name plus the method name in case of a public (possibly static) method.</p>
<p>In Php 5.3, callbacks may also be specified as anonymous functions, defined in the middle of other code. These closures are first class citizens, and are treated as you would treat a variable, by passing it around as a method parameter. While I am not a fan of mixing up <a href="http://www.all1martpro.com" target="_blank">object-oriented</a> and functional programming, closures can be a time saver which capture very well the intent of low-level processing code, avoiding the foreach() noise.</p>
<p><strong><?php<br />
// obviously only the prime numbers less than 20<br />
$primeNumbers = array(2, 3, 5, 7, 11, 13, 17, 19);</p>
<p>// <span style="color: #800000;">array_map()</span> applies a function to every element of an array,<br />
// returning the result<br />
$square = function($number) {<br />
    return $number * $number;<br />
};<br />
$squared = array_map($square, $primeNumbers);<br />
echo &#8220;The squares of those prime numbers are: &#8220;,<br />
     implode(&#8217;, &#8216;, $squared), &#8220;\n&#8221;;</p>
<p>// <span style="color: #800000;">array_reduce()</span> applies a function recursively to pair<br />
// of elements, reducing the array to a single value.<br />
// there is the native array_sum(), but the application of<br />
// a custom function is the interesting part<br />
$sum = function($a, $b) {<br />
    return $a + $b;<br />
};<br />
$total = array_reduce($primeNumbers, $sum);<br />
echo &#8220;The sum of those prime numbers is &#8220;, $total, &#8220;.\n&#8221;;</p>
<p>// <span style="color: #800000;">array_filter()</span> produces an array containing<br />
// the elements that satisfy the given predicate<br />
$even = function($number) {<br />
    return $number % 2 == 0;<br />
};<br />
$evenPrimes = array_filter($primeNumbers, $even);<br />
echo &#8220;The even prime numbers are: &#8220;,<br />
     implode(&#8217;, &#8216;, $evenPrimes), &#8220;.\n&#8221;;</p>
<p>// <span style="color: #800000;">uasort()</span> customize the sorting by value,<br />
// maintaining the association with keys<br />
// there is the native asort(), but again the customization<br />
// of the function is more interesting<br />
$compare = function($a, $b) {<br />
    if ($a == $b) {<br />
        return 0;<br />
    }<br />
    return ($a > $b) ? -1 : 1;<br />
};<br />
uasort($primeNumbers, $compare);<br />
echo &#8220;The given numbers in descending order are: &#8220;,<br />
     implode(&#8217;, &#8216;, $primeNumbers), &#8220;.\n&#8221;;</strong></p>
<p><a href="http://www.all1Press.com" target="_blank">http://www.all1Press.com</a></p>
<p><a href="http://www.all1tunes.com" target="_blank">http://www.all1tunes.com</a></p>
<p><a href="http://www.all1sourcetech.com" target="_blank">http://www.all1sourcetech.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.all1sourcetech.com/reduce-writing-foreach-cycles/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux group LiMo growing, Adobe joins</title>
		<link>http://www.all1sourcetech.com/linux-group-limo-growing-adobe-joins/</link>
		<comments>http://www.all1sourcetech.com/linux-group-limo-growing-adobe-joins/#comments</comments>
		<pubDate>Wed, 17 Feb 2010 11:14:41 +0000</pubDate>
		<dc:creator>Naggie</dc:creator>
				<category><![CDATA[Linux Technology]]></category>
		<category><![CDATA[Purely Technical]]></category>
		<category><![CDATA[Technical News]]></category>
		<category><![CDATA[Adobe flash]]></category>
		<category><![CDATA[BlackBerry]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Linux LiMo]]></category>
		<category><![CDATA[Nokia Symbian]]></category>
		<category><![CDATA[operating system]]></category>
		<category><![CDATA[RIM]]></category>
		<category><![CDATA[smartphone]]></category>
		<category><![CDATA[Software development]]></category>
		<category><![CDATA[software platform]]></category>
		<category><![CDATA[vodafone]]></category>
		<category><![CDATA[Windows software]]></category>

		<guid isPermaLink="false">http://www.all1sourcetech.com/?p=835</guid>
		<description><![CDATA[US Software firm Adobe along with other three firms on Monday has joined the wireless Linux group LiMo, underlying the growing role of the Linux computer operating system in cellphones.
For software platforms on cellphones, the market is led by the Nokia’s Symbian operating system, but it has lost much ground over the last year to [...]]]></description>
			<content:encoded><![CDATA[<p><strong>US Software</strong> firm Adobe along with other three firms on Monday has joined the wireless Linux group LiMo, underlying the growing role of the Linux computer operating system in cellphones.</p>
<p>For software platforms on cellphones, the market is led by the Nokia’s Symbian <a href="http://www.all1Press.com" target="_blank">operating system</a>, but it has lost much ground over the last year to Apple Inc and Research in Motion, maker of the BlackBerry.</p>
<p>Linux, the computer operating system, is starting to win traction with Google Inc using Linux to build its Android platform, and Nokia rolling out its top-of-the-range model N900 using <a href="http://www.all1tunes.com" target="_blank">Linux Maemo</a>.</p>
<p>According to head of LiMo, Morgan Gillis, there has been a step change for Linux in mobile. No other operating system now matches the vendor coverage of Linux &#8212; it is being commercially deployed by virtually all leading mobile device vendors from the largest downwards.</p>
<p>LiMo, a non-profit foundation, hopes to benefit from its focus on giving greater say over <a href="http://www.all1social.com" target="_blank">software development</a> to telecoms operators.</p>
<p>The role of top operators in the platform &#8211; Vodafone uses it in its 360 offering &#8211; is a key attraction for Adobe, whose Flash is among the world&#8217;s most widely used web-based computer programs, and it has some 1.6 million developers.</p>
<p>Vodafone and other operators have strongly pledged for a smaller number of operating systems, as supporting them is a timely and costly exercise. However, in recent years, the number of large operating systems has increased, with new players like Apple and Google entering the mobile market.</p>
<p>In a latest twist Samsung Electronics &#8212; the world&#8217;s second largest handset maker and one of the key members of LiMo &#8211; unveiled in late 2009 its own <a href="http://www.all1martpro.com" target="_blank">smartphone</a> platform.</p>
<p>Linux is the most popular type of free or so-called open source computer operating system which is available to the public to be used, revised and shared. Linux suppliers earn money selling improvements and technical services, and Linux competes directly with Microsoft, which charges for its Windows software and opposes freely sharing its code.</p>
<p>Japanese electronics firms NEC and Panasonic, and Israeli firm Else unveiled on Monday a total of seven new phones running on LiMo software.</p>
<p><a href="http://get-a-designer.com/" target="_blank">http://get-a-designer.com</a></p>
<p><a href="http://www.all1sourcetech.com" target="_blank">http://www.all1sourcetech.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.all1sourcetech.com/linux-group-limo-growing-adobe-joins/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Balesio FileMinimizer Suite 6.0</title>
		<link>http://www.all1sourcetech.com/balesio-fileminimizer-suite-60/</link>
		<comments>http://www.all1sourcetech.com/balesio-fileminimizer-suite-60/#comments</comments>
		<pubDate>Tue, 16 Feb 2010 11:58:39 +0000</pubDate>
		<dc:creator>Naggie</dc:creator>
				<category><![CDATA[Microsoft Technology]]></category>
		<category><![CDATA[New Product Release]]></category>
		<category><![CDATA[Purely Technical]]></category>
		<category><![CDATA[Technical News]]></category>
		<category><![CDATA[FILEminimizer]]></category>
		<category><![CDATA[FileMinimizer Suite 6.0]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Office documents]]></category>
		<category><![CDATA[simple-to-use]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.all1sourcetech.com/?p=814</guid>
		<description><![CDATA[
If your hard disk is clogged with massive photos and Microsoft Office documents, or if you&#8217;re looking for a better way to share those large files, consider FileMinimizer Suite 6.0. This simple-to-use software reduces photo sizes by approximately 90 percent with little noticeable degradation of on-screen quality, and typically it shrinks Office files by at [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="aligncenter" src="http://images.pcworld.com/reviews/graphics/products/uploaded/400907_g1.jpg" alt="400907 g1 Balesio FileMinimizer Suite 6.0" width="606" height="502" title="Balesio FileMinimizer Suite 6.0" /></p>
<p>If your hard disk is clogged with massive photos and <a href="http://www.all1Press.com" target="_blank">Microsoft</a> Office documents, or if you&#8217;re looking for a better way to share those large files, consider FileMinimizer Suite 6.0. This <a href="http://www.all1martpro.com" target="_blank">simple-to-use</a> software reduces photo sizes by approximately 90 percent with little noticeable degradation of on-screen quality, and typically it shrinks Office files by at least 25 percent, with no quality loss.</p>
<p><strong>FileMinimizer</strong> does not create .zip archives containing your data; the files it creates retain their original format and are usable just as the originals are, so .jpg files remain .jpg files, .ppt files remain .ppt files, and so on. It handles Excel, PowerPoint, and Word files, as well as an assortment of image file formats (such as .jpg, .png, .gif, .tif, .bmp, and .emf).</p>
<p>The basic operation couldn&#8217;t be simpler. Choose the files that you want to compress and select the <a href="http://www.all1social.com" target="_blank">compression strength</a> (low, standard, or strong), and FileMinimizer quickly goes about its work, taking only a few seconds to compress each individual file.</p>
<p>By default it keeps your original file and creates a new one, appending the text &#8216;(FILEminimizer)&#8217; to the name. However, you can tell the program to overwrite your original file, and you can also have the utility apply a different name rather than appending the &#8216;(FILEminimizer)&#8217; label.</p>
<p><a href="http://get-a-designer.com/" target="_blank">http://get-a-designer.com</a></p>
<p><a href="http://www.all1sourcetech.com" target="_blank">http://www.all1sourcetech.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.all1sourcetech.com/balesio-fileminimizer-suite-60/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ametrine Audio 2010 Fire and Ice Update &#8211; ASSiGN</title>
		<link>http://www.all1sourcetech.com/ametrine-audio-2010-fire-and-ice-update-assign/</link>
		<comments>http://www.all1sourcetech.com/ametrine-audio-2010-fire-and-ice-update-assign/#comments</comments>
		<pubDate>Mon, 15 Feb 2010 11:36:54 +0000</pubDate>
		<dc:creator>Naggie</dc:creator>
				<category><![CDATA[Editorial]]></category>
		<category><![CDATA[Purely Technical]]></category>
		<category><![CDATA[Technical News]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[hand held solutions]]></category>
		<category><![CDATA[IIS]]></category>
		<category><![CDATA[Joomla]]></category>
		<category><![CDATA[LAMP-Linux]]></category>
		<category><![CDATA[MS-SQL & .NET]]></category>
		<category><![CDATA[MySQL & PHP]]></category>
		<category><![CDATA[SugarCRM]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.all1sourcetech.com/?p=783</guid>
		<description><![CDATA[
Ametrine Audio has announced the release of Fire and Ice, a new synthesizer powered by the Wusik-Engine. The concept was to make a synth with two personalities: The &#8220;Fire&#8221; section covers basses, stab, synth and lead sounds, whilst the &#8220;Ice&#8221; section features pads, keys, organs, bell-tones and arps. 160 main presets are included with 250 [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright" title="Ametrine Audio 2010 Fire and Ice Update" src="http://imgcentre.com/img/uploads/big/04a886b3a8.jpeg" alt=" Ametrine Audio 2010 Fire and Ice Update   ASSiGN" width="327" height="281" /></p>
<p><strong>Ametrine Audio</strong> has announced the release of Fire and Ice, a new synthesizer powered by the Wusik-Engine. The concept was to make a synth with two personalities: The &#8220;Fire&#8221; section covers basses, stab, synth and lead sounds, whilst the &#8220;Ice&#8221; section features pads, keys, organs, bell-tones and arps. 160 main presets are included with 250 variations. Two brand new skins have also been developed for the Fire and Ice.</p>
<p>Fire and IceFire and Ice is available for <a href="http://www.all1Press.com" target="_blank">Windows</a> in the VST format.</p>
<p><strong>Summary:</strong></p>
<ul>
<li>Powered by the Wusik-Engine.</li>
<li>160 main presets with 250 variations.</li>
<li>Custom made Bass, Stab, Synth, Lead, pads, Keys, Organs, Bell-tones and Arpeggio sounds:</li>
</ul>
<p>-Bass and Stabs 44<br />
-Synth and Leads 23<br />
-Arp and Wave-sequences 20<br />
-Pads and Strings 30<br />
-Bell-tones 21<br />
-Keys and Organs 22</p>
<ul>
<li>Windows Platform Only</li>
</ul>
<p><strong>System requirements:</strong></p>
<p>Windows 95/98/ME/2000/NT/XP/Vista, 128 MB RAM Recommended.</p>
<p>4.2 GB free hard disc space, VST compatible host <a href="http://www.all1martpro.com" target="_blank">software</a>.</p>
<p>(Works Great in Logic Audio 5.5)</p>
<p><strong>Install Note-</strong></p>
<ul>
<li>Run WusikStation or FireAndIce</li>
<li>Drug&amp;Drop WusikPACK file to it.</li>
</ul>
<p><a href="http://www.all1Press.com" target="_blank">http://www.all1Press.com</a></p>
<p><a href="http://www.all1tunes.com" target="_blank">http://www.all1tunes.com</a></p>
<p><a href="http://www.all1social.com" target="_blank">http://www.all1social.com</a></p>
<p><a href="http://www.all1martpro.com" target="_blank">http://www.all1martpro.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.all1sourcetech.com/ametrine-audio-2010-fire-and-ice-update-assign/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apache Beehive project retired</title>
		<link>http://www.all1sourcetech.com/apache-beehive-project-retired/</link>
		<comments>http://www.all1sourcetech.com/apache-beehive-project-retired/#comments</comments>
		<pubDate>Thu, 11 Feb 2010 11:48:41 +0000</pubDate>
		<dc:creator>Suzanne</dc:creator>
				<category><![CDATA[Opensource]]></category>
		<category><![CDATA[Purely Technical]]></category>
		<category><![CDATA[Apache Attic]]></category>
		<category><![CDATA[Apache Software]]></category>
		<category><![CDATA[Beehive Project]]></category>
		<category><![CDATA[development tool]]></category>
		<category><![CDATA[Java programming]]></category>
		<category><![CDATA[Java Web framework]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[project management]]></category>
		<category><![CDATA[Web Flow]]></category>

		<guid isPermaLink="false">http://www.all1sourcetech.com/?p=550</guid>
		<description><![CDATA[An Apache Software Foundation open source project, Beehive is providing a Java programming model that has been retired due to inactivity, according to the foundation.
Based on the former BEA Weblogic Workshop development tool runtime, Beehive was built on J2EE and the Struts Java Web framework; it used annotations to reduce coding.
According to project management committee [...]]]></description>
			<content:encoded><![CDATA[<p>An <span style="color: #000080;"><strong>Apache Software Foundation open source project</strong></span>, <span style="color: #ff0000;"><strong>Beehive</strong></span> <span style="color: #ff6600;">is providing a Java programming model that has been retired due to inactivity</span>, according to the foundation.</p>
<p>Based on the former BEA Weblogic Workshop development tool runtime, Beehive was built on J2EE and the Struts Java Web framework; it used annotations to reduce coding.</p>
<p>According to project management committee chair for the <a href="http://www.all1Press.com" target="_blank">Beehive project</a>, Eddie O’Neil, it&#8217;s a project that had been at Apache for several years.</p>
<p>&#8220;Over time, the rate of contributions to the project declined, and it just slowed down and we didn&#8217;t do any more releases of it,&#8221; O&#8217;Neil said.</p>
<p>The project has been moved to The Apache Attic, where discontinued projects go.  The project got more mature, and it just kind of finished, according to O&#8217;Neil.</p>
<p>In 2008, Oracle acquired BEA but the acquisition had no bearing on the discontinuance of the project. O’Neil added that Beehive already had been fairly inactive prior to the deal.</p>
<p>Apache is suggesting alternatives to Beehive technologies.</p>
<p>Beehive NetUI/Page Flow users can switch to Struts 2 or Spring Web Flow while Beehive Controls users can move to Spring Beans. Users of Beehive WSM (<a href="http://www.all1martpro.com" target="_blank">Web service metadata</a>) can switch to Axis2&#8217;s implementation of Java Specification Request 181, which is entitled, &#8220;Web Services <a href="http://www.all1social.com" target="_blank">Metadata</a> for the Java Platform.&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.all1sourcetech.com/apache-beehive-project-retired/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IBM launches eight-core Power7 processor, servers</title>
		<link>http://www.all1sourcetech.com/ibm-launches-eight-core-power7-processor-servers/</link>
		<comments>http://www.all1sourcetech.com/ibm-launches-eight-core-power7-processor-servers/#comments</comments>
		<pubDate>Wed, 10 Feb 2010 12:04:11 +0000</pubDate>
		<dc:creator>Naggie</dc:creator>
				<category><![CDATA[New Product Release]]></category>
		<category><![CDATA[Purely Technical]]></category>
		<category><![CDATA[Technical News]]></category>
		<category><![CDATA[Colocation]]></category>
		<category><![CDATA[communications systems]]></category>
		<category><![CDATA[IBM]]></category>
		<category><![CDATA[Power 6 System]]></category>
		<category><![CDATA[Power 7 Chip]]></category>
		<category><![CDATA[process optimization]]></category>
		<category><![CDATA[solution design]]></category>
		<category><![CDATA[solution development]]></category>
		<category><![CDATA[systems design]]></category>
		<category><![CDATA[VMware]]></category>

		<guid isPermaLink="false">http://www.all1sourcetech.com/?p=513</guid>
		<description><![CDATA[On Monday, IBM launched its latest Power7 processor, which adds more cores and improved multithreading capabilities to boost the performance of servers requiring high up time.
According to IBM, the Power7 chip has up to eight cores, with each core able to run four threads. A Power7 chip can run 32 tasks simultaneously, which is quadruple [...]]]></description>
			<content:encoded><![CDATA[<p>On Monday, IBM launched its latest Power7 processor, which adds more cores and improved multithreading capabilities to boost the performance of servers requiring high up time.</p>
<p>According to IBM, the Power7 chip has up to eight cores, with each core able to run four threads. A Power7 chip can run 32 tasks simultaneously, which is quadruple the number of cores on the older Power6 chip. The Power7 will also run up to eight times more threads than Power6 cores.</p>
<p>During a press event in New York on Monday, Ross Mauri, general manager of IBM&#8217;s Power Systems unit, said Power7 chips will run between 3.0GHz and 4.14GHz. The chip will come with four, six or eight cores.</p>
<p>The chips are being made using the 45-nm process technology. The company has made memory-level improvements that should enable the processor to execute tasks faster.</p>
<p>Power7 systems will deliver twice the performance of older <a href="http://www.all1tunes.com" target="_blank">Power6 systems</a>, but be four times more energy efficient, according to Mauri. The systems will run operating systems including AIX and enterprise Linux offered by Red Hat and Suse.</p>
<p>The new chip also has <a href="http://www.all1social.com" target="_blank">TurboCore technology</a>, which allows customers to crank up the speed of active cores for performance gains. The technology also puts memory and bandwidth from eight cores behind the four active cores to drive up the performance gains per core.</p>
<p>The company also launched four Power7-based servers. IBM Power 780 and Power 770 high-end servers are based on modular designs and come with up to 64 Power7 cores. The IBM Power 755 will support up to 32 Power7 cores. The company also launched the 750 Express server. The Power 750 Express and 755 will ship on Feb. 19, while the Power 770 and 780 will become available on March 16.</p>
<p>In addition to boosting performance, the Power7 servers can save more energy. A technology called Unique Intelligent Energy allows parts of a system to be switched off to reduce power drawn. The technology also allows the processor clock speed to be cranked down on a single server or across a pool of multiple servers, which can reduce power consumed.</p>
<p>Representative of IBM declined to provide server pricing, and said it would be competitively priced. Rod Adkins, senior vice president of IBM’s Systems and Technology group, said the servers will deliver better performance and bang for the buck than existing <a href="http://www.all1martpro.com" target="_blank">Power6 systems</a>. </p>
<p>IBM officials called the chip the &#8220;world&#8217;s fastest processor,&#8221; but emphasized that system performance will be measured by the ability to deliver &#8220;intelligent&#8221; performance.</p>
<p>Adkins said, “As we conceived this Power7 system&#8230; raw performance was a given. What you will see is a tremendous focus around &#8230; intelligent performance”. He also added that a mass of data will flood servers as computing expands to devices like mobile devices and smart meters. </p>
<p>This data will need to be collected, processed and analyzed on the fly. For example, collecting data will allow utilities to instantly analyze energy usage patterns, and new ways to acquire energy from multiple sources.</p>
<p><a href="http://www.all1Press.com" target="_blank">http://www.all1Press.com</a></p>
<p><a href="http://www.all1sourcetech.com" target="_blank">http://www.all1sourcetech.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.all1sourcetech.com/ibm-launches-eight-core-power7-processor-servers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Secured connection for accessing Wordpress admin pages</title>
		<link>http://www.all1sourcetech.com/secured-connection-for-accessing-wordpress-admin-pages/</link>
		<comments>http://www.all1sourcetech.com/secured-connection-for-accessing-wordpress-admin-pages/#comments</comments>
		<pubDate>Wed, 10 Feb 2010 05:51:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Opensource]]></category>
		<category><![CDATA[Purely Technical]]></category>
		<category><![CDATA[SSL]]></category>
		<category><![CDATA[Wordpress Admin]]></category>
		<category><![CDATA[Wordpress SSL]]></category>
		<category><![CDATA[WP admin]]></category>
		<category><![CDATA[wp config]]></category>

		<guid isPermaLink="false">http://www.all1sourcetech.com/?p=496</guid>
		<description><![CDATA[Paste this code into wp-config.php file
define(&#8217;FORCE_SSL_ADMIN&#8217;, true);
]]></description>
			<content:encoded><![CDATA[<p>Paste this code into wp-config.php file</p>
<p>define(&#8217;FORCE_SSL_ADMIN&#8217;, true);</p>
]]></content:encoded>
			<wfw:commentRss>http://www.all1sourcetech.com/secured-connection-for-accessing-wordpress-admin-pages/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Product Arrival- Have it!</title>
		<link>http://www.all1sourcetech.com/new-product-arrival-have-it/</link>
		<comments>http://www.all1sourcetech.com/new-product-arrival-have-it/#comments</comments>
		<pubDate>Mon, 25 Jan 2010 08:20:03 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Company Activity]]></category>
		<category><![CDATA[Editorial]]></category>
		<category><![CDATA[Expert's Opinions]]></category>
		<category><![CDATA[Linux Technology]]></category>
		<category><![CDATA[Marketing]]></category>
		<category><![CDATA[Microsoft Technology]]></category>
		<category><![CDATA[New Product]]></category>
		<category><![CDATA[New Product Release]]></category>
		<category><![CDATA[Opensource]]></category>
		<category><![CDATA[Product Details]]></category>
		<category><![CDATA[Product Launch]]></category>
		<category><![CDATA[Product Reviews]]></category>
		<category><![CDATA[Product Support]]></category>
		<category><![CDATA[Purely Technical]]></category>
		<category><![CDATA[Team's Blogs]]></category>
		<category><![CDATA[Upcoming Events]]></category>
		<category><![CDATA[application provider]]></category>
		<category><![CDATA[e-com websites]]></category>
		<category><![CDATA[e-commerce solution]]></category>
		<category><![CDATA[ERP solution]]></category>
		<category><![CDATA[IT company India]]></category>
		<category><![CDATA[music community]]></category>
		<category><![CDATA[online shopping cart]]></category>
		<category><![CDATA[online Social community]]></category>
		<category><![CDATA[social networking]]></category>
		<category><![CDATA[technology blogs]]></category>

		<guid isPermaLink="false">http://www.all1sourcetech.com/?p=205</guid>
		<description><![CDATA[All1Martpro.com is an e-commerce solution/application provider, which is so flexible that it can provide you any design with its fully-featured eCommerce engine. All1Martpro.com is so perfect to sell your Goods online and drive your business to new heights. Being an eCommerce application provider, it powers large Online Shops providing the Performance, Usability and Security that [...]]]></description>
			<content:encoded><![CDATA[<p><strong>All1Martpro.com</strong> is an <strong>e-commerce solution/application provider</strong>, which is so flexible that it can provide you any design with its fully-featured eCommerce engine. All1Martpro.com is so perfect to sell your Goods online and drive your business to new heights. Being an <a href="http://www.all1tunes.com" target="_blank">eCommerce application provider</a>, it powers large Online Shops providing the Performance, Usability and Security that you expect from professional Software.</p>
<p>All1Mart provides you the core system and the Framework that you can use, helping you to use easily a complete <a href="http://www.all1social.com" target="_blank">Shopping Cart Solution</a> within your own dynamic Website (&#8221;Portal&#8221;), together with many other Plug-Ins, called Components and Modules, like Forums, FAQ, Guestbooks, Galleries&#8230;&#8230;..</p>
<p><strong>Features</strong>-</p>
<p>All1Martpro.com offers a lot of Features, some of the standard Features are listed here. You can extend the<br />
<a href="http://www.all1martpro.com" target="_blank">Functionality of All1Martpro</a> using Plugins, Components, and Templates to make them do what you need.</p>
<p><strong>General Features</strong><br />
	Ability to use Secure Sockets Layer (https) Encryption (128-bit)<br />
	Flexibility in Tax Models<br />
   o	Model 1: ShipTo Address-based Tax Calculation<br />
   o	Model 2: Store Address-based Tax Calculation<br />
   o	Model 3: EU Mode (Store Owner based Tax Calculation when Customer comes from an EU Country)<br />
	Shoppers can manage their User Accounts (registration required)<br />
	Shipping Address Management<br />
	Able to view the Order History (previous orders and order details)<br />
	Order Confirmation Mail is sent to Shopper and Store Owner<br />
	Capability to change the Multiple Currencies (you can allow Customers to change the Currency and buy using an alternative Currency)<br />
	Multiple Languages.</p>
<p><a href="http://get-a-designer.com/" target="_blank">http://get-a-designer.com</a></p>
<p><a href="http://www.all1sourcetech.com" target="_blank">http://www.all1sourcetech.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.all1sourcetech.com/new-product-arrival-have-it/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

